Edit 31st October 2022:
This custom_component has started to become a Universal Solar Inverter over Modbus RS485 / TCP Integration. Supporting Multiple brands of Inverters. Universal Solar Inverter over Modbus RS485 / TCP custom_component (AlphaESS, Growatt, Sofar, SolaX, Solinteg, Solis, SRNE, Swatten, TIGO TSI & Qcells Q.Volt Hyb) - #794 by wills106
EDIT 12th August 2021: Development of a custom_componet has begun, please see post 227 onwards Universal Solar Inverter over Modbus RS485 / TCP custom_component (AlphaESS, Growatt, Sofar, SolaX, Solinteg, Solis, SRNE, Swatten, TIGO TSI & Qcells Q.Volt Hyb) - #227 by wills106
I thought I would share how I am getting Data from my SolaX X1-Hybrid Inverter.
I do not have a Pocket WiFi dongle, but my Inverter does have a built in LAN connection.
I can connect to the Cloud through this LAN port, but I can not connect to the Local API that @squishykid Integration is using SolaX Power - Home Assistant
After performing an Intense Nmap scan I found out that port 502 is open on my Inverter.
This port is Modbus over TCP
I found what the Modbus registers are in Hex and converted them to decimal to use with HA built in Modbus Integration as the Integration Supports serial this will possibly work connected to the RS485 port if your Inverter does not have built in LAN?
As you are directly talking to the inverter you can update values as quick or slow as you want.
I am only reading values at the moment, but you can program the Inverter / Battery over Modbus.
I have setup the integration as a package so just drop the solax.yaml file into your packages folder.
There are some values that I don’t understand yet, but they are commented.
If you want an entity card with all values copy this into your card
entities:
- entity: sensor.solax_inverter_voltage
- entity: sensor.solax_inverter_current
- entity: sensor.solax_inverter_power
- entity: sensor.solax_pv1_voltage
- entity: sensor.solax_pv2_voltage
- entity: sensor.solax_pv1_current
- entity: sensor.solax_pv2_current
- entity: sensor.solax_inverter_frequency
- entity: sensor.solax_inner_temp
- entity: sensor.solax_run_mode_template
- entity: sensor.solax_pv1_power
- entity: sensor.solax_pv2_power
- entity: sensor.solax_pv_total_power
- entity: sensor.solax_battery_voltage
- entity: sensor.solax_battery_current
- entity: sensor.solax_battery_power
- entity: sensor.solax_charger_board_temperature
- entity: sensor.solax_charger_battery_temperature
- entity: sensor.solax_charger_boost_temperature
- entity: sensor.solax_battery_capacity
- entity: sensor.solax_battery_energy_charged
- entity: sensor.solax_bms_warning
- entity: sensor.solax_battery_energy_discharged
- entity: sensor.solax_battery_state_of_health
- entity: sensor.solax_inverter_fault
- entity: sensor.solax_charger_fault
- entity: sensor.solax_manager_fault
- entity: sensor.solax_measured_power
- entity: sensor.solax_feed_in_energy
- entity: sensor.solax_consumed_energy
- entity: sensor.solax_eps_voltage
- entity: sensor.solax_eps_current
- entity: sensor.solax_eps_va
- entity: sensor.solax_eps_frequency
- entity: sensor.solax_energy_today
- entity: sensor.solax_energy_total
- entity: sensor.solax_battery_temperature
- entity: sensor.solax_solar_energy_total
type: entities
Let me know how you get on and if you find out what some of the unknown values mean / do.