SolaX Solar Inverter Setup Guide

Hey Guys

Just checked and both my X1 Boost Mini and X1 Hybrid connect as admin/admin on their own wifi SSID and when connected to my home SSID i can connect on that IP with admin/admin

I know, Should really change it :slight_smile:

I have contacted Solax support regarding those issues. It appears they have made some changes to the api. Now changes can be made trough the api. Therefore they have decided to lock the api down and to not supply credentials.

The Dutch office knows about a lot of interest in the api and wants the developers to open up the api. I have made a official request but it isn’t on the roadmap yet.

Therefore I have done some debugging and testing and had success on two ways.

Using some man in the middle sniffing I have found a way to read the real-time data from the inverter using a http request to 5.8.8.8. It reports a JSON string including all data. This only works however when connected to the AP of the inverter, no reply on the local IP. For some reason the app disconnects itself and the windows 10 notebook doesn’t reconnect automatically so it runs for a day or so, then needs to be reconnected.

I also did some digging into the Solax cloud. I have managed to pull the data from SolaxCloud using node-red into my influxdb.

However I found the inverter only reports once every 5 minutes. So far it’s working flawless besides the 5 min latency. It also allows you to get some historical data.

When I have a little more time, I will test if I can connect a RPi to the Solax AP to test if that’s more reliable (auto reconnecting) then a Windows 10 client.

If anyone is interested in my node-red flows, please let me know.

3 Likes

Hi rtenklooster

Great work, shame they have locked down the api. So basically I should not run a firmware update :slight_smile:

If you could post your node-red flows that way others who have the newer devices/firmware can get the info

The 5min delay in my mind is not exactly “RealTime” as per the Solax Portal labels it :frowning:

I saw this post and managed to set up my solax panels with the guide of hotswapster. Few questions:

  • i see the node-red dashboard but all is 0. Is that allright?
  • i use mosquito mqtt broker and connected within node-red.
  • is there a mqtt vieuwer i can use?
  • and what is the best way to insert the mqtt in which yaml and how?

Thanks

Hi rtenklooster,
could you share the information regarding to pull data from solaxcloud en the node-red flows?
I have the same problem with directly connecting to my inverter.
I use a mqtt broker and set it up within Home Assistent, so i think with your information i would get it to work.

Hi Erwin,
I’m sorry it took me so long :wink: thanks for the reminder.

solax.yaml (12.6 KB)

The flow is attached, just open it with notepad or something like that.
The following items have to be customized in order to make it work.

USERNAME : the username (case sensitive) for the solax cloud site
PASSWORD: the password for the solax cloud site
SITEID: The ID of the site, you can find this ID by enabling the second debug switch.
InverterSN: you can find this serial number on the solax cloud site
WifiSN: the serial number of the WiFi dongle (printed on sticker)

That’s it. I’ve added some debugging, so you will receive a push message when the solax inverter is offline.

1 Like

Hi @rtenklooster, could you show me how could I get the SITEID, please?
I don’t know where is the second debug switch (in the solarcloud web, or directly in the inverter?)

Thanks

Hi @dj_janker,

  1. Deploy the code from rtenklooster
  2. Edit “Get Token” node with your Solax username and password
  3. Site ID will automatically be pulled from the Solax server

Hi @Erwin_Vos,
sorry I don’t get notifications so didn’t see your post. Did you get everything sorted?

I’ve figured out how to use node-red projects now so will post my code to GitHub soon. I’ve made some further enhancements and also figured out some of the status codes.

Hi hotswapster,

Thnx to the help from rtenklooster i got it working.
It is now a combination of node-red which is reading my inverter and redirect the data to ha for showing it. Seperated the data is send to influxdb from node-red also. Grafana then i use to show graphs.

Thnx for asking. And if you like i can show it but 95% is copied from rtenklooster.

Hi, I newbie in node-red and mqtt.
I’m using the @rtenklooster flow, but I only receive; TypeError: Cannot read property ‘tokenId’ of null

Any idea about what’s wrong?

I think my credentials are goods

Thanks

Best regards.

That’s sound familiar. When you receive the error, there is a chinese message. Put that in google translate and you will see what they mean. I dont exactly know anymore but i thought that you have to fll in an other field as that is in the yaml

You are right. I receive: 查询出错!For input string: "MYSITEID it means: Query error! For input string: "MYSITEID

I think I only need get MYSITEID, and the flow it will work.

You receive the error on the Get inverterinfo?
If it doesn’t you can maybe give me in which fase it failt. I can check my config.
You also want to use grafana?
And publish the data in HA?

Yes, I think I get the error on the Get inverterinfo.
As you can see in the screenshot, my flow is the same from rtenklooster, where I deleted the influxdb and server nodes:

I customized the node info with my:
USERNAME : the username for the solax cloud site
PASSWORD: the password for the solax cloud site
InverterSN: you can find this serial number on the solax cloud site
WifiSN: the serial number of the WiFi dongle (printed on sticker)

I didn’t replace the SITEID on Get inverterinfo node, because I don’t know where I can find it.

I don’t need to use grafana or publish the data in HA. As you can see I can send the data to Jeedom, so in enough at the moment…

NOTE: the code of my Get inverterinfo node is: 47.254.152.24:6080/proxy//mysite/getInverterInfo?siteId=MYSITEID&tokenId={{{tokenId}}}

I am still on the old firmware and still working like a charm with node-red

If I could get the new firmware is it worth it?

@dj_janker
when you do a debug on Get siteID you see “siteIds”. this is your number you have to fill in. Not siteId

under result - 0 you see siteIds

@matthewjporter
what do you mean with old and new firmware?

@Erwin_Vos

Apparently the API on the inverters have been changed and a new firmware has been put on the newer shipped units than mine.

I am still able to get the stream direct from the inverters and convert into a json to use direct in node-red without having to get the feed from the online portal

Hi guys! I followed the guide till the Step 5, but even after 10 minutes my data doesn’t appear on the Emoncms site, what’s the problem? I have the automation set and it’s apparently sending the data correctly to the site, but that’s not the case!

Hi, I can’t get SITEID yet.
I don’t know if it’s a problem of the new inverters.