Egyras / HeishaMon

Panasonic Aquarea air-water H, J, K and L series protocol decrypt
241 stars 121 forks source link

Heishamon does not register updates on TOP values #253

Closed MrLivelong closed 2 months ago

MrLivelong commented 2 years ago

Hello everyone, First of all I want to thank the developers for this great product.

but I’m here because I have an issue. It looks like my heishamon does not get any updates on TOP values. The console shows it receives new data but no TOP is updated. After a reboot the Heishamon continues normal operation until the issue starts happening again. C48DCE03-99C0-4B2C-B3B0-7374299BF80E

IgorYbema commented 2 years ago

Are you using 'listen only mode' as an option next to the official CZ-TAW1 module ? because i'm missing the 'Requesting new panasonic data' log line.

MrLivelong commented 2 years ago

Yes that’s correct. I want to use the CZ-TAW1 so the installer can monitor the system as well.

IgorYbema commented 2 years ago

Trying to understand why this could happen. Are you sure the TOP's aren't updated in the heishamon webpage also? Could you enable hex debug so I can check if indeed the received values aren't changing?

MrLivelong commented 2 years ago

There are some differences between Home Assistant and Heishamon Web. For example: outdoor temperature is in Heishamon 24C and in HA 27C.

The basic info: Wifi signal: 84% Memory free: 66% Correct received data: 0.00% MQTT reconnects: 2 Uptime: 0 days 23 hours 25 minutes 51 seconds

Here you find a snippet from the HEX data. Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 96 data: 95 96 9C 48 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C8 Checksum and header received ok! Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 49 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C8 Checksum and header received ok! received TOP52 Defrost_Temp: 21 received TOP64 High_Pressure: 14.4 Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 48 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C9 Checksum and header received ok! received TOP64 High_Pressure: 14.2 Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 49 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C8 Checksum and header received ok! received TOP64 High_Pressure: 14.4 Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 48 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C9 Checksum and header received ok! received TOP64 High_Pressure: 14.2 Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 48 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C9 Checksum and header received ok! Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 49 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C8 Checksum and header received ok! received TOP64 High_Pressure: 14.4 Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 48 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C9 Checksum and header received ok! received TOP64 High_Pressure: 14.2 Received 203 bytes data data: 71 C8 01 10 56 55 61 49 00 55 00 01 00 00 00 00 00 00 00 00 59 15 11 55 56 16 55 55 55 29 00 00 data: 00 00 00 00 00 00 7B 85 80 80 B4 71 71 83 99 00 00 00 00 00 00 00 00 00 00 00 80 85 1F 8A 85 85 data: D0 7B 78 1F 7E 1F 1F 79 79 8D 8D B7 A3 80 8F B7 A3 7B 8F 96 8A 78 8F 8A 94 9E 8F 8A 94 9E 85 8F data: 8A 0B 5B 78 C1 1F 7E 7C 1F 7C 7E 00 00 00 55 65 55 21 87 15 55 05 0C 12 65 01 00 00 00 00 00 00 data: 00 32 D4 0B 87 84 73 90 0C 84 84 94 00 AF 98 94 94 32 32 9E A3 32 32 32 7B 9E 95 95 97 95 97 95 data: 95 96 9C 49 01 01 01 00 00 22 00 01 01 01 01 79 79 01 01 8C 03 00 D4 01 00 01 00 00 01 00 00 0A data: 02 01 01 01 01 01 01 02 00 00 C8 Checksum and header received ok! received TOP64 High_Pressure: 14.4

IgorYbema commented 2 years ago

So it seems that heishamon is receiving new values. It is probably just the MQTT server which is having a problem. Or HA which isn't connecting correclty to MQTT. Next step in debugging is to manually listen to the MQTT topics if the values are updated there.

MrLivelong commented 2 years ago

Well, there is a big difference after a reboot of Heishamon:

Heishamon stats: Uptime: 0 days 0 hours 1 minute 5 seconds ## Free memory: 71% 25648 bytes ## Wifi: 90% ## Mqtt reconnects: 1 ## Correct data: 100.00% Received 203 bytes data Checksum and header received ok! Received 203 bytes data Checksum and header received ok! received TOP0 Heatpump_State: 1 received TOP1 Pump_Flow: 0.13 received TOP2 Force_DHW_State: 0 received TOP3 Quiet_Mode_Schedule: 0 received TOP4 Operating_Mode_State: 3 received TOP5 Main_Inlet_Temp: 22 received TOP6 Main_Outlet_Temp: 21 received TOP7 Main_Target_Temp: 30 received TOP8 Compressor_Freq: 0 received TOP9 DHW_Target_Temp: 52 received TOP10 DHW_Temp: 47 received TOP11 Operations_Hours: 467 received TOP12 Operations_Counter: 907 received TOP13 Main_Schedule_State: 0 received TOP14 Outside_Temp: 26 received TOP15 Heat_Energy_Production: 0 received TOP16 Heat_Energy_Consumption: 0 received TOP17 Powerful_Mode_Time: 0 received TOP18 Quiet_Mode_Level: 0 received TOP19 Holiday_Mode_State: 0 received TOP20 ThreeWay_Valve_State: 0 received TOP21 Outside_Pipe_Temp: 25 received TOP22 DHW_Heat_Delta: -8 received TOP23 Heat_Delta: 10 received TOP24 Cool_Delta: 5 received TOP25 DHW_Holiday_Shift_Temp: -15 received TOP26 Defrosting_State: 0 received TOP27 Z1_Heat_Request_Temp: -5 received TOP28 Z1_Cool_Request_Temp: 5 received TOP29 Z1_Heat_Curve_Target_High_Temp: 55 received TOP30 Z1_Heat_Curve_Target_Low_Temp: 35 received TOP31 Z1_Heat_Curve_Outside_High_Temp: 15 received TOP32 Z1_Heat_Curve_Outside_Low_Temp: 0 received TOP33 Room_Thermostat_Temp: 23 received TOP34 Z2_Heat_Request_Temp: 0 received TOP35 Z2_Cool_Request_Temp: 0 received TOP36 Z1_Water_Temp: -78 received TOP37 Z2_Water_Temp: -78 received TOP38 Cool_Energy_Production: 0 received TOP39 Cool_Energy_Consumption: 0 received TOP40 DHW_Energy_Production: 0 received TOP41 DHW_Energy_Consumption: 0 received TOP42 Z1_Water_Target_Temp: 30 received TOP43 Z2_Water_Target_Temp: 35 received TOP44 Error: No error received TOP45 Room_Holiday_Shift_Temp: -15 received TOP46 Buffer_Temp: -78 received TOP47 Solar_Temp: -78 received TOP48 Pool_Temp: -78 received TOP49 Main_Hex_Outlet_Temp: 22 received TOP50 Discharge_Temp: 22 received TOP51 Inside_Pipe_Temp: 22 received TOP52 Defrost_Temp: 23 received TOP53 Eva_Outlet_Temp: 23 received TOP54 Bypass_Outlet_Temp: 24 received TOP55 Ipm_Temp: 31 received TOP56 Z1_Temp: 21 received TOP57 Z2_Temp: -128 received TOP58 DHW_Heater_State: 0 received TOP59 Room_Heater_State: 0 received TOP60 Internal_Heater_State: 0 received TOP61 External_Heater_State: 0 received TOP62 Fan1_Motor_Speed: 0 received TOP63 Fan2_Motor_Speed: 0 received TOP64 High_Pressure: 14.6 received TOP65 Pump_Speed: 0 received TOP66 Low_Pressure: 0 received TOP67 Compressor_Current: 0.0 received TOP68 Force_Heater_State: 0 received TOP69 Sterilization_State: 0 received TOP70 Sterilization_Temp: 65 received TOP71 Sterilization_Max_Time: 30 received TOP72 Z1_Cool_Curve_Target_High_Temp: 15 received TOP73 Z1_Cool_Curve_Target_Low_Temp: 10 received TOP74 Z1_Cool_Curve_Outside_High_Temp: 30 received TOP75 Z1_Cool_Curve_Outside_Low_Temp: 20 received TOP76 Heating_Mode: 0 received TOP77 Heating_Off_Outdoor_Temp: 22 received TOP78 Heater_On_Outdoor_Temp: -8 received TOP79 Heat_To_Cool_Temp: 15 received TOP80 Cool_To_Heat_Temp: 10 received TOP81 Cooling_Mode: 0 received TOP82 Z2_Heat_Curve_Target_High_Temp: 55 received TOP83 Z2_Heat_Curve_Target_Low_Temp: 35 received TOP84 Z2_Heat_Curve_Outside_High_Temp: 15 received TOP85 Z2_Heat_Curve_Outside_Low_Temp: -5 received TOP86 Z2_Cool_Curve_Target_High_Temp: 15 received TOP87 Z2_Cool_Curve_Target_Low_Temp: 10 received TOP88 Z2_Cool_Curve_Outside_High_Temp: 30 received TOP89 Z2_Cool_Curve_Outside_Low_Temp: 20 received TOP90 Room_Heater_Operations_Hours: 0 received TOP91 DHW_Heater_Operations_Hours: 0 received TOP92 Heat_Pump_Model: 255 received TOP93 Pump_Duty: 0 received TOP94 Zones_State: 0 received TOP95 Max_Pump_Duty: 130 received TOP96 Heater_Delay_Time: 30 received TOP97 Heater_Start_Delta: -4 received TOP98 Heater_Stop_Delta: -2 received TOP99 Buffer_Installed: 0 received TOP100 DHW_Installed: 1 received TOP101 Solar_Mode: 0 received TOP102 Solar_On_Delta: 10 received TOP103 Solar_Off_Delta: 5 received TOP104 Solar_Frost_Protection: 5 received TOP105 Solar_High_Limit: 80 Heishamon stats: Uptime: 0 days 0 hours 1 minute 10 seconds ## Free memory: 62% 22408 bytes ## Wifi: 86% ## Mqtt reconnects: 1 ## Correct data: 100.00% Received 203 bytes data Checksum and header received ok! Heishamon stats: Uptime: 0 days 0 hours 1 minute 15 seconds ## Free memory: 67% 24072 bytes ## Wifi: 88% ## Mqtt reconnects: 1 ## Correct data: 100.00% Received 203 bytes data Checksum and header received ok!

You see a lot of TOP updates.

Home Assistant does update after the reboot as well. image

If you still think the problem is with MQTT, I will troubleshoot MQTT but I doubt it because of the big differences in logging after a reboot.

IgorYbema commented 2 years ago

After reboot it updates all TOP's once and after that it will only update the TOP's which changes. And within setting you have the setting "How often all heatpump values are retransmitted to MQTT broker:" , normally 300 seconds. After this time all TOP's will be retransmitted again even if they didn't change. You can make this shorter but not to fast as every update takes some time to process.

MrLivelong commented 2 years ago

Thats not what I see in HA: 2022-06-30 13_56_25-Overzicht – Home Assistant and 4 more pages - Xcellent - Microsoft​ Edge In the last 6 hours it has not changed any value until I restarted the Heishamon. On the other hand, when I compare the log before a restart and after, I see a lot more "received TOPXX" rows (see comments above). Doesn't that mean that before restart, Heishamon cannot receive those TOPXX values but after restart it can?

IgorYbema commented 2 years ago

It does receive them but it doesn't send them if they don't change (and after reset it sends all, that's why you see those TOPs in the long log list) You see in the dump with the hex that only this one changes received TOP64 High_Pressure: 14.2 and on time: received TOP52 Defrost_Temp: 21

And if the values do change in heishamon web interface (and in the logs there) but aren't updating in HA, there most be something wrong with mqtt.

Make sure you check if the values are still updated in the logs and the web interface when you see flatlines in HA. If those are still update, you need to focuse on mqtt or HA.

MrLivelong commented 2 years ago

That explains a lot. Thanks! I will check the interface, logs and HA and post the progress here.

dionisi commented 2 years ago

@MrLivelong Did you find the problem? I have a similar issue and values in HA are updated only when HA or MQTT broker is restarted

geduxas commented 2 years ago

@MrLivelong Did you find the problem? I have a similar issue and values in HA are updated only when HA or MQTT broker is restarted

I don't think that it is related.. do you get values updated to heishamon?

dionisi commented 2 years ago

The problem was with my MQTT server, not the heishamon itself. Please disregard my last question.

MrLivelong commented 2 years ago

For the last couple of weeks it is running stable. I am not sure of the cause of the issues but it could be that it was overflowing by the amount of requests. I had misunderstood the tab 'WP MQTT' of the intergration in Node Red (see: https://github.com/edterbak/NodeRed_Heishamon_control). I had turned on all the values.

Maybe someone can confirm or deny my guessing.

For now I will close this issue. I am still happy with Heishamon and all the effort.