-
-
Notifications
You must be signed in to change notification settings - Fork 7
Description
I have an EVAC connected via WiFi. Very regularly, all the sensors will show as 'unknown'.
You can remove the EVAC and re-install it (it's on ID:2 on my system) and it will typically read the sensors again ; though quite often it will display an error that it failed to add the system.
What I did notice however, is that if I query the EVAC via modbus, I always get a value ; and usually right after that HA Sigen EVAC gets updated with the right value.
client = ModbusTcpClient("192.168.10.71", port=502)
client.connect()
# Charging energy
result = client.read_input_registers(32001, count=2, slave=2)
if not result.isError():
print("EV Lifetime energy", client.convert_from_registers(result.registers, ModbusTcpClient.DATATYPE.UINT32) * 10)
else:
print("Couldn't read EV Lifetime energy")
# Charging power
result = client.read_input_registers(32003, count=2, slave=2)
if not result.isError():
print("EV Charging Power", client.convert_from_registers(result.registers, ModbusTcpClient.DATATYPE.UINT32))
else:
print("Couldn't read EV Charging Power")
Somehow, the Sigen integration regularly fails to be able to read the EVAC, and when you query the EVAC directly via modbus it makes the HA integration work again.
I suspect that the sigen integration times out too quickly, while the code above will wait for much longer and properly wake the EVAC which then will respond to the integration.