@wills106 sensor.solax_x3_mic_today_s_yield and sensor.solax_x3_mic_total_yield should be available without Modbus Meter (at least, they used to work for me).
So there is a regression, even though there is nothing showing in the logs.
Wills…
Updates on my Gen2 Solax. Having left a decent interval for any bugs to be dealt with, I deleted the integration and installed 2023.
Everything pretty much worked again straight off (a couple of identity ID’s changed and dealt with).
Some entities are disabled by default and had to be enabled… then report correctly. These all seem to be entities that rely on a bidirectional meter connected to the inverter:-
sensor.solax_battery_output_energy_total
sensor.solax_battery_input_energy_total
sensor.solax_grid_import_total
sensor.solax_grid_export_total
sensor.solax_total_solar_energy
As discussed previously, I think two of the entities are somewhat misnamed:
‘Today’s Solar Energy’ is actually Today’s Yield…solar plus battery.
‘Total Solar Energy’ is actually all energy…solar plus battery, since commissioning.
Interestingly, ‘Solax Today’s Yield’ DOES appear to be a running total of solar yield alone. This is not reported in the Solax portal, so I need to wait for a zero sun day to verify.
I see that the scaling issue that I noted at #984 was fixed a couple of weeks ago
I added a further battery two days ago and the act of temporarily disconnecting batteries has ‘reset’ the count of battery input and output energy (although old values still there in HA history of course).
Thanks also for the tip (GitHub pages) about having to re-unlock the inverter after a power cycle…this was indeed necessary to enable the charge period settings etc again.
Occasionally I will lose communication with the inverter (powerline LAN to garage), or HA will freeze. I’ve found it quite useful to have the RTC displayed at the top of the info screen, as seeing it increment every 10 secs is a quick confirmation that data is live.
I have just released 2023.03.1 I have added in an extra newblock before the New Modbus Meter registers. Does that restore the functionality of “Total Yield”
I’ll double check with another Gen2 owner to see if their registers match your description or not.
It’s been a while since I have worked on the Gen2. @matthewjporter Are you able to check your registers? I don’t know if it’s a difference between the Inverter sizing or if yours is wrong as well?
Are there any plans to add support for Solax EV Chargers?
I have my X3-EVC-11K connected with the Solax X3 G4 inverter by Modbus but I don’t see any values related to the charger in the integration. No clue how the cooperation between the EV Charger and the Inverter works though.
As I don’t have EV yet I can’t test it either so I am just curious whether anything is planned in this direction or whether someone already have something working.
@wills106 Tested release 2023.03.1, total yield is there but I lost the frequency and voltage measurements, they now have status “unknown”.
After waiting about 4 minutes, they did get updated. Did something change in the update frequency?
I configured the integration to poll every 30 seconds. Could it be that it slows down overall polling because of the failed reads of the new registers?
After looking at the code, I’m pretty sure that’s it.
The only thing that’s changed recently for X3-MIC’s is the Newblocks moved around. I had a duplicate for the same register. So it could have introduced a delay.
Does the Beta 2023.03.2b1 prevent those sensors from being unknow for a while at the start? So they start reading sooner.
Having a slower poll rate will cause the Integration to be Unknown for longer.
I wouldn’t recommend going lower than 5s on the X3-MIC though.
@wills106 The delay (for every poll!) is caused by the fact that at every poll, reading of the block of registers at offset 0x435 fails, which causes read_modbus_block to return False, which in turn causes read_modbus_registers_all to return False, which then causes slowdown to be set to 10 in async_refresh_modbus_data. So instead of polling every 30 seconds, it will effectively poll every 300 seconds.
maybe we can add an extra attribute that allows us to to ignore an attribute if reading it fails.
I will have a look in the code how easy / difficult this would be
having two versions for solax seems to be difficult to maintain