Closed Kars-de-Jong closed 7 months ago
I have an issue too after upgrading home assistant core to 2024.3.0 The solax integration doesnt finds any devices or entities.. before updationg, it worked fine.
Same here. I see these error messages in the log:
All of my entities are unavailable since the update. I've tried to roll back to a backup and they're unavailable there too. I not that the update says that the integration won't start until after HA starts. My impression is that it is not starting at all now.
I had the same problem. Go to the ethernet cable, disconnect it and plug it back in. Than reload the integration. It worked for me
I had the same problem. Go to the ethernet cable, disconnect it and plug it back in. Than reload the integration. It worked for me
Unfortunately disconnecting and reconnecting hasn't worked for me, rolling back to the older version didn't work,. Restarting Home Assistant and checking the configuration of the integration made no difference. I've checked that it is pointing at the right USB device as sometimes it's the case that it switched from USB1 to USB0. It was on the correct USB port.
For me worked the following: Re-start of the inverter and reload of the Solay integration afterwards.
Encountered this too. Restarting HA did not help, had to restart the whole VM with HAOS.
EDIT: happens again.
@tsunami-ad @Chawiby @tom3606 @cewbdex Please create another issue for this. It does not match this issue. My inverter is detected correctly. The issue is that the integration is reading registers that are not present on my inverter / with my firmware version.
Is it? I don't think so, 0x300 is serial number, I would say it's your custom name.
@cewbdex I don't agree, 0x300 just happens to be the first register in the block that is defined which includes the registers for rtc, firmwareversion_dsp and/or firmwareversion_arm:
2024-03-07 10:03:24.866 INFO (MainThread) [custom_components.solax_modbus.sensor] adding register 0x300 seriesnumber to block with start 0x300
2024-03-07 10:03:24.866 INFO (MainThread) [custom_components.solax_modbus.sensor] adding register 0x318 rtc to block with start 0x300
2024-03-07 10:03:24.866 INFO (MainThread) [custom_components.solax_modbus.sensor] adding register 0x33d firmwareversion_dsp to block with start 0x300
2024-03-07 10:03:24.866 INFO (MainThread) [custom_components.solax_modbus.sensor] adding register 0x33e firmwareversion_arm to block with start 0x300
Register 0x300 itself can be read just fine:
2024-03-07 10:03:24.847 INFO (MainThread) [custom_components.solax_modbus.plugin_solax] Read SolaX X3-MIC 0x300 serial number before potential swap: UM08T2xxxxxxxx
I started seeing this yesterday after I tried reinstalling the Solax integration to fix the problems with 2024.03.4 before it was updated.
Now I am on version 2024.03.6 but getting the following error, I have tried power cycling the inverter and the Raspberry PI:
Logger: custom_components.solax_modbus.plugin_solax Source: custom_components/solax_modbus/plugin_solax.py:68 integration: SolaX Inverter Modbus (documentation, issues) First occurred: 15:00:30 (1 occurrences) Last logged: 15:00:30
SolaX: attempt to read serialnumber failed at 0x0 data: None Traceback (most recent call last): File "/config/custom_components/solax_modbus/plugin_solax.py", line 68, in async_read_serialnr inverter_data = await hub.async_read_holding_registers(unit=hub._modbus_addr, address=address, count=7) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/solax_modbus/init.py", line 401, in async_read_holding_registers return await self._client.read_holding_registers(address, count, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/pymodbus/client/base.py", line 167, in async_execute self.send(packet) File "/usr/local/lib/python3.12/site-packages/pymodbus/transport/transport.py", line 391, in send self.transport.write(data) # type: ignore[attr-defined] ^^^^^^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'write'
@jimbaxter That is not the same as the issue I reported here. I haven't tried any newer version yet because the change logs don't indicate any fixes yet.
@wills106 Could you please have a look?
I have created a new ticket for my issue at https://github.com/wills106/homeassistant-solax-modbus/issues/814
I have just released #794b1 which tries to prevent the Integration from reading 0x33D and 0x33E I'm not sure if I need to blacklist your Inverter as UM08T2 due to the byteswap bug in some X3 MIC's
@wills106 Probably yes, I also saw the serial "swapped" in the device info page when I ran 2024.03.1. I will test this tomorrow when the sun is back up. Thanks!
The changes are also in 2024.03.7b1 which may be easier to install through HACS as it's using a conventional numbering system for the release name.
@wills106 I tested 2024.03.7b1, it still has the same problem. I then manually updated the two blacklist entries to UM08T2 and now it works.
But like I said, the serial number is also shown in the wrong order on the device info page, so I think you should correct it at the source when reading, then it should also be fine in the blacklist.
I can't properly test it but does 2024.03.7b2 swap the serial for you?
@wills106 I will check this again tomorrow, when the sun is up.
I have found a way to better test it and I believe 2024.03.7b3 should work better.
@kajik2 do you still need to invert the serial number in the blacklists like Kars mentions?
Edit: Does your Inverter have the serial number starting MU802T? Or a different X3 MIC Gen1?
@kajik2 do you still need to invert the serial number in the blacklists like Kars mentions?
Edit: Does your Inverter have the serial number starting MU802T? Or a different X3 MIC Gen1?
i made a mistake, it doesn't work for me, but i have solax pocket wifi
@kajik2 Which Inverter do you own including the first 4-6 digits of the serial?
@kajik2 Which Inverter do you own including the first 4-6 digits of the serial?
X3-Hybrid-G4 - H34A10
@kajik2 Your issue isn't related to this issue then.
This issue revolves around the fact some early X3 MIC's are missing certain registers.
The X3 MIC uses a completely different register set to the Hybrids.
Try HA 2024.03.2 and Integration 2024.03.7bx
@kajik2 Your issue isn't related to this issue then.
This issue revolves around the fact some early X3 MIC's are missing certain registers.
The X3 MIC uses a completely different register set to the Hybrids.
Try HA 2024.03.2 and Integration 2024.03.7bx
Should i start a new issue? It hasn't worked for about a week. Through several versions. Last I had HA 2024.3.2 and 2024.03.7b3
@
I have found a way to better test it and I believe 2024.03.7b3 should work better.
@wills106 Thanks, this version works for me and shows the serial number correctly on the device info page.
The only minor thing I noticed is that the log message now also shows the serial number correctly, but still says "before potential swap":
2024-03-23 06:55:13.567 INFO (MainThread) [custom_components.solax_modbus.plugin_solax] Read SolaX X3-MIC 0x300 serial number before potential swap: MU802Txxxxxxxx
I'll reword that in the next release as I moved the swap code to a different location.
I'll close this issue down then.
Can you try 2024.03.7b4 to make sure it loads correctly and still displays your Serial correctly?
2024.03.7b3 incorrectly byte swapped AC & Hybrid Inverters by mistake. So I want to make sure 2024.03.7b4 still works correctly on the MIC's
@wills106 Checking it now.
2024.03.7b4 works fine for me, with the correct serial number shown on the device info page.
Describe the bug
I have a SolaX X3-MIC. It was not entirely clear to me whether the change announced in release 2024.02.5 was applicable to me, so I decided to remove the integration before upgrading and then adding it again, just to be sure.
After restarting and re-adding the integration, the entities remained unavailable.
The log file shows this info which seems relevant:
2024-03-07 10:03:35.039 INFO (MainThread) [custom_components.solax_modbus] read_error : SolaX X3-MIC cannot read holding registers at device 1 position 0x300 NoneType: None
It probably has something to do with the new rtc, firmwareversion_dsp and/or firmwareversion_arm registers.
Integration Version
2024.03.1
Homeassistant core version
2024.1.6
Inverter brand
SolaX Power
Plugin used
plugin_solax.py
Serial prefix
MU802T
Inverter firmware versions
Internal code: A:33 D1:30 D2:02
Connection Method
USR-N510
Dongle firmware
N/A
Detailed Error Log
Logs from version 2024.03.1:
For reference, logs from version 2024.02.2 which does work:
Additional context
No response