Open marcofl opened 2 months ago
Update, during reproducing the logs with 0.5.2 it worked again.
TL;DR: I think it is an issue with the configuration assistant that adds all possible monitored values and that might be "too much" for the wallbox pulsar to send, even when tested individually the measurands are accepted. but that's just an educated guess.
logs from 0.5.2 during charging:
2024-05-01 11:39:04.764 INFO (MainThread) [ocpp] WallboxPulsar: receive message [2,"1014383070","MeterValues",{"meterValue": [{"timestamp": "2024-05-01T09:39:04Z","sampledValue": [{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Power.Active.Import","unit": "W","value": "3297.6"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Power.Offered","unit": "W","value": "9699"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L1","measurand": "Current.Import","unit": "A","value": "14.4"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L2","measurand": "Current.Import","unit": "A","value": "0.0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L3","measurand": "Current.Import","unit": "A","value": "0.0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Current.Offered","unit": "A","value": "14"} ]} ],"connectorId": 1,"transactionId": 1714556302}]
This time it was no fresh install of 0.5.2 but an update from 0.4.42 without re-adding the integration in hass. maybe there is something wrong with the config? how can I check that?
core.config_entries part after migration from 0.4.42 to 0.5.2:
{
"entry_id": "93201235d8ad407b5f9fe734dd74b0fd",
"version": 1,
"minor_version": 1,
"domain": "ocpp",
"title": "hass",
"data": {
"host": "0.0.0.0",
"port": 9000,
"ssl": false,
"ssl_certfile_path": "/config/fullchain.pem",
"ssl_keyfile_path": "/config/privkey.pem",
"csid": "hass",
"cpid": "WallboxPulsar",
"max_current": 16,
"meter_interval": 60,
"idle_interval": 900,
"websocket_close_timeout": 10,
"websocket_ping_tries": 2,
"websocket_ping_interval": 20,
"websocket_ping_timeout": 20,
"skip_schema_validation": false,
"force_smart_charging": false,
"monitored_variables": "Power.Active.Import,Power.Offered,Current.Import,Current.Offered"
},
and when I delete and re-add & reconfigure (WebUI) the integration with only the same 4 monitored variables, it lookes like this:
{
"entry_id": "79b0dddf5e847ea5277519000d5e370e",
"version": 1,
"minor_version": 1,
"domain": "ocpp",
"title": "hass",
"data": {
"host": "0.0.0.0",
"port": 9000,
"ssl": false,
"ssl_certfile_path": "/config/fullchain.pem",
"ssl_keyfile_path": "/config/privkey.pem",
"csid": "hass",
"cpid": "WallboxPulsar",
"max_current": 16,
"monitored_variables": "Current.Export,Current.Import,Current.Offered,Energy.Active.Export.Interval,Energy.Active.Export.Register,Energy.Active.Import.Interval,Energy.Active.Import.Register,Energy.Reactive.Export.Interval,Energy.Reactive.Export.Register,Energy.Reactive.Import.Interval,Energy.Reactive.Import.Register,Frequency,Power.Active.Export,Power.Active.Import,Power.Factor,Power.Offered,Power.Reactive.Export,Power.Reactive.Import,RPM,SoC,Temperature,Voltage",
"meter_interval": 60,
"idle_interval": 900,
"websocket_close_timeout": 10,
"websocket_ping_tries": 2,
"websocket_ping_interval": 20,
"websocket_ping_timeout": 20,
"skip_schema_validation": false,
"force_smart_charging": false
},
and then during charging, it doesn't work anymore:
2024-05-01 11:51:05.886 INFO (MainThread) [ocpp] WallboxPulsar: receive message [2,"478819625","MeterValues",{"meterValue": [{"timestamp": "2024-05-01T09:51:05Z","sampledValue": [{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L1","measurand": "Current.Export","unit": "A","value": "0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L2","measurand": "Current.Export","unit": "A","value": "0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L3","measurand": "Current.Export","unit": "A","value": "0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L1","measurand": "Current.Import","unit": "A","value": "14.4"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L2","measurand": "Current.Import","unit": "A","value": "0.0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","phase": "L3","measurand": "Current.Import","unit": "A","value": "0.0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Current.Offered","unit": "A","value": "14"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Energy.Active.Export.Interval","unit": "Wh","value": "0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Energy.Active.Export.Register","unit": "Wh","value": "0"},{"format": "Raw","location": "Outlet","context": "Sample.Periodic","measurand": "Energy.Active.Import.Interval","unit": "Wh","value": "54.2"} ]} ],"connectorId": 1,"transactionId": 1714556988}]
no Power.Active.Import
and then, when I manually change the core.config_entries to:
"monitored_variables": "Power.Active.Import,Power.Offered,Current.Import,Current.Offered"
it works again with 0.5.2.
In v0.5.x, the ocpp integration tries try to autodetect the monitored variables by adding them one by one, skipping those that result in an error from the charger. It appears the Wallbox does not send an error, even though it does not support the (large) list of measurands. We should give the user the option to do manual configuration to work around this.
Changing the monitored_variables and restarting home assistant solved the same issue for me, thanks @marcofl :)
Same here for a Entratek Power Dot Fix (which is an IoCharger IOCAH10-22T). With the default behaviour of 0.5x the measurands have reduced to voltage only. I tried all_measurands = MEASURANDS before and it did not fix it.
Used ssh to change /config/.storage/core.config_entries as follows. "monitored_variables": "Current.Import,Current.Offered,Energy.Active.Import.Interval,Energy.Active.Import.Register,Power.Active.Import,Temperature,Voltage,SoC",
Now the measureands work again. Homeassistant reports on restart that a reboot is required. A reboot is required to apply MeterValuesSampledData=Current.Import,Current.Offered,Energy.Active.Import.Interval,Energy.Active.Import.Register,Power.Active.Import,Temperature,Voltage,SoC Booted wallbox and homeassistant multiple times. Message does not vanish. Seems to me another issue with the wallbox firmware, which I can ignore.
P.S.: This fixes https://github.com/lbbrhzn/ocpp/issues/1124
Describe the bug Since 0.5.x I can't get some measurands from my Wallbox Pulsar Plus (Firmware 6.4.41) like Power.Active.Import - it simply stays at 0 during charging.
I'm now back on 0.4.42 and it works again. I can't say whether it happend after the firmware upgrade or after the update from 0.4.x to 0.5.x
To Reproduce Steps to reproduce the behavior:
Expected behavior Power.Active.Import gets update during charging
Screenshots log from 0.4.42 during charging:
new wallbox connection with 0.4.42:
0.5.2 init on new connection:
Additional context I also tried to switch to
all_measurands = MEASURANDS
in api.py, but that didn't fix it or gave me more insights in the debug log.Thanks in advance, and I'm happy to buy you a coffee 🙂