Hello, I’m considering purchasing a Solax inverter and I have a question. Does the application work with local communication via Modbus with the X3-HYB-G4 inverter of the newer PRO series (power range 4-15 kW)?
Thank you in advance for your answer and have a nice day everyone.
Hello, I recently purchased a Solax X1-VAST-10K hybrid inverter and I’m unsure which mode to choose. I can see the inverter in Modbus mode, but it’s not suitable because it has four MPPT inputs and two battery inputs. Perhaps there’s an update available for your application. Thank you.
Do you have a Mesh WiFi system (e.g. Deco)? In that case, the inverter and/or the Homey can roam between nodes, which temporarily drops the connection. In many mesh systems, you can “lock” the inverter and Homey to the node that’s closest to the device. This prevents them from disconnecting to roam to another node.
Nah, running full Unify network, and yes, critical clients are locked to their AP’s. The dongle is known for stopping the Modbus server from time to time on WiFi. Does not respond to ping on 502 when it breaks either.
Just configured an Elfin w11 and put a network cable in S485 port on my Solax X1 boost Air mini.
On my elfin I used blue and blue/white wire to connect from RS485. I already installed the elfin, static IP and it online on my 2.4g network.
Hoever, when I try to add a “modbus G3 device” through this app, it says device not available after I added it.
Any solutions?
I mamaged to setup Cloud Connection before and itnworks for reading Solax values, but I want to use Modbus now to also be able to change Solax settings ( foto example limit inverter exportation when Energy price is negative)
I have a Solax X3-6.0-T-D (X3-MIC-6.0-G2) inverter, no hybrid / battery. Using a Pocket WiFi 2.0 dongle, works well with SolaxCloud.
Tried adding to Homey via cloud. Created the App Code from developer.solaxcloud.com — device gets added but shows “Device unavailable — reading ‘soc’”. Right credential, or is something else needed to connect via cloud?
I tried Modbus as well but seems like my 2.0 Dongle doesn’t support modbus. Would it work if I change my dongle to a 3.0? When trying to add the device in Homey via Modbus it looks like that the only options are hybrid units. Is my inverter supported at all?
Running X3 Ultra 20K with double batteries, WiFi dongle and ModBus.
The inverter does not respond to action cards to change manual mode like Forced Charge etc. Flow runs and checks green but no change in inverter. Charger use modes timeout’s most of the time.
Also, when testing the unlock buttons I only get errors that the repair mode can not be started. What am I missing?
I would like to know more about RAM-mode. I have gone through most of the documentation but still fall short on some stuff. I have managed to get the inverter (Solax Ultra) to respond to some remote settings but for my use (maximum charge current during cheap periods) the RAM mode seems to override the internal settings for main breaker limit which is not usable for that application. I understand that the protocol supports a lot more setting available through RAM mode than what is presented at the moment. Anyone more experienced in the use of the available cards än modes? I’m having no luck with the standard Charger Mode cards. No response from the inverter.
Hi, thanks for the request. I’d like to add the X3-MIC G2, and I need a few details first.
Which inverter do you have? Is it an X3-MIC G2, an X3-PRO G2, or something else? Please include the exact model name and, if you can, the firmware (ARM) version from the inverter or SolaXCloud.
How do you connect to it? The app talks to inverters over Modbus TCP. SolaX documents the MIC G2 only as Modbus RTU over RS485 (V2.7, 9600 baud), so I need to know which of these you use:
• a SolaX dongle (Pocket WiFi, LAN or 4G) with Modbus TCP enabled, or
• an RS485-to-TCP gateway (for example Waveshare or USR) wired to the inverter.
Please also tell me the dongle or gateway model and its firmware version.
Does it respond on Modbus TCP? If you can, test with a Modbus tool (for example modpoll or QModMaster) against port 502, unit ID 1. Read input registers (function 0x04) from address 0x0400, 20 registers, and send me the raw values. If that returns data, the app can read the inverter directly. If it errors or times out, the dongle probably doesn’t pass these registers through, and we’d need a different approach.
What do you want from it?
• Monitoring only: PV strings, AC phases, temperature, yield, faults, and meter feed-in if you have a meter or CT.
• Or also control, such as an output power limit?
Can you test a beta build? I don’t have a MIC G2 to test on, so I’d build it from the SolaX protocol document and need you to check it on your device and report back.
What RAM mode does
RAM mode is a temporary remote control of the inverter. Nothing is saved in the inverter’s memory, so it’s safe to change often. The app keeps re-sending the command. If the app stops, or the timeout runs out, the inverter goes back to its normal work mode.
What the app offers
Active power (mode 1): you set a charge or discharge power in W.
Push power (modes 4 and 5): feeds power out, or zero.
Self-consume (modes 6 and 7): charge and discharge, or charge only.
The protocol has more modes (target SOC, target energy), but the app doesn’t offer them yet.
Why it doesn’t fit “max charge current”
No RAM mode has a charge current setting. They work with power (W), and in that case the inverter does its own power control. That is most likely why your main breaker limit gets overridden.
What you can do
Use Active power (mode 1) with a positive power, for example the charge power you want during the cheap period. Keep it below your breaker limit yourself.
The real “max charge current” is a separate register (BatChargeMaxCurrent). It is saved in the inverter’s memory, so changing it a few times a day is fine, but not every minute. The app has no Flow card for it yet. I can add one if you want.
Charger Mode cards not responding
The card does nothing if the inverter is in Idle or Standby.
Turn on auto_unlock in the device settings if your inverter is locked.
With use_ram_control on, only Self-Use and Back-Up are sent as RAM commands. The other modes are written normally.
Check the Homey app log for errors when the card runs.
If it still fails, post the log and your inverter’s run mode, and I’ll take a look.
Green in a Flow only means the command was sent. It does not mean the inverter accepted it.
“Repair mode cannot be started” is Homey’s generic message when a button action fails. Here it means the Modbus write to the inverter timed out or was rejected. It doesn’t mean a repair mode is missing.
Enable Auto Unlock in the device settings. Then press Unlock (Default) once. If it still doesn’t work, try Unlock (Advanced).
Force charge and Force discharge only work when the work mode is Manual. Set the work mode to Manual first, then send the force command. They also won’t work while the inverter is in Idle or Standby.
Turn off Remote control (RAM) if you use Manual or Force modes. It only covers Self-Use and Back-Up.
The WiFi dongle is the likely weak point. Timeouts are common with it, and reads can work while writes fail.
◦ Make sure nothing else polls it at the same time (Home Assistant, another Homey).
◦ Give it a fixed IP and raise the poll interval to 30 s or more.
◦ A Pocket LAN (cable) or a Modbus TCP gateway is much more reliable for writes.
If it still fails, please post the app log from the moment you press Unlock.
“Device unavailable – reading ‘soc’”
Your inverter isn’t the problem, and a battery isn’t required. The message means the SolaxCloud API answered, but with no inverter data (an empty result). The app then fails on the first value it reads, which happens to be soc. This usually comes down to one of these:
• Wrong API for the credential. The app has two cloud drivers:
◦ Solax (Cloud V1) uses the older Token ID from the Solax Cloud web portal (Service → API).
◦ Solax Cloud V2 uses the new developer portal at developer.solaxcloud.com (an App Code or Client ID/Secret).
Your credential comes from developer.solaxcloud.com, so make sure you add the device with the Cloud V2 driver. If you used V1, remove the device and re-add it with V2.
• Wrong serial number. For the cloud you need the serial number of the inverter (for example the one starting with H34… or similar on the inverter label). The Wi-Fi dongle’s serial (SW…) is a different number and returns no data. Check which one you entered.
• Wrong region or server. Check that the region you pick matches the one your SolaxCloud account is on (EU, US or China).
• Rate limit. The cloud API allows only a limited number of requests. If you’ve retried many times, wait a few minutes and try again.
If it still fails after that, send me the Homey app log. Open the app’s settings and look at the log output right after adding the device. I’ll then see exactly what the cloud returns.
Modbus and the dongle
You’re right that the Pocket WiFi 2.0 doesn’t offer Modbus TCP. Modbus TCP needs a Pocket WiFi/LAN/4G module 3.0 with the Modbus TCP firmware. But changing the dongle won’t get your inverter listed. The Modbus drivers in this app cover the hybrid/battery range (G3, G4, G4 PRO, X3-IES, X3-Ultra) and their battery/feed-in/load sub-devices. The grid-tied X3-MIC G2 uses a different register map. It isn’t implemented in the app, so a 3.0 dongle alone won’t help.
Is your inverter supported?
For now, only through the cloud. Monitoring (PV power per string, AC power, yield) should work via the Cloud V2 driver once the issue above is fixed. Battery values will simply stay empty on your inverter. Local Modbus support for X3-MIC G2 isn’t there yet, but I’ve noted it as a request.