Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweak 31DA for ClimaRad #148

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
4 changes: 3 additions & 1 deletion src/ramses_tx/parsers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2170,7 +2170,9 @@ def parser_31da(payload: str, msg: Message) -> PayDictT._31DA:
**parse_outdoor_temp(payload[26:30]), # 1290?
**parse_capabilities(payload[30:34]),
**parse_bypass_position(payload[34:36]), # 22F7-ish
**parse_supply_fan_speed(payload[40:42]),
**parse_supply_fan_speed(
payload[40:42]
), # VenturaV1x: 0x00|08|14|28|7E repeated in [40:42]
silverailscolo marked this conversation as resolved.
Show resolved Hide resolved
**parse_remaining_mins(payload[42:46]), # mins, ~22F3[2:6]
**parse_post_heater(payload[46:48]),
**parse_pre_heater(payload[48:50]),
Expand Down
62 changes: 62 additions & 0 deletions tests/tests/parsers/code_31da.log
Original file line number Diff line number Diff line change
Expand Up @@ -300,3 +300,65 @@
# Siber DF EVO 2
2024-06-21T04:47:19.545913 ... I --- 32:137185 --:------ 32:137185 31DA 030 00EF007FFFEFEF080607D809480737F002AA02344000005CEF7FFF7FFF00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.26, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 20.54, 'supply_temp': 20.08, 'indoor_temp': 23.76, 'outdoor_temp': 18.47, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'post_heater'], 'bypass_position': 0.85, 'supply_fan_speed': 0.32, 'remaining_mins': 0, 'post_heat': 0.46, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
2024-06-21T04:49:59.398298 ... I --- 32:137185 --:------ 32:137185 31DA 030 00EF007FFFEFEF086C07CC09380730F002A0023440000068EF7FFF7FFF00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.26, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 21.56, 'supply_temp': 19.96, 'indoor_temp': 23.60, 'outdoor_temp': 18.40, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'post_heater'], 'bypass_position': 0.80, 'supply_fan_speed': 0.32, 'remaining_mins': 0, 'post_heat': 0.52, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}

# Vasco D60 HRU
# speed is actually in 31D9[4:6]
2024-10-15T12:46:03.623447 082 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF058506EE0773051FA800EF0232320000EF00051902EE00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.25, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 14.13, 'supply_temp': 17.74, 'indoor_temp': 19.07, 'outdoor_temp': 13.11, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.25, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 13.05, 'exhaust_flow': 7.5}
2024-10-15T13:53:09.930437 083 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF05F8075207B705B1A800EF0232320000EF000263018400 # {'hvac_id': '00', 'exhaust_fan_speed': 0.25, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 15.28, 'supply_temp': 18.74, 'indoor_temp': 19.75, 'outdoor_temp': 14.57, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.25, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 6.11, 'exhaust_flow': 3.88}
2024-10-15T13:21:16.306823 084 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF05CC07220795057AA800EF0232320000EF0003CC026300 # {'hvac_id': '00', 'exhaust_fan_speed': 0.25, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 14.84, 'supply_temp': 18.26, 'indoor_temp': 19.41, 'outdoor_temp': 14.02, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.25, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 9.72, 'exhaust_flow': 6.11}
2024-10-15T15:45:21.214426 086 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF062C7FFF7FFF05AAA800EF0128280000EF007FFF7FFF00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.2, 'fan_info': 'speed 1, low', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 15.8, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': 14.5, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.2, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': None, 'exhaust_flow': None}
2024-10-15T22:54:16.347179 085 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF04D0070507A30443A800EF011E1E0000EF0002EE020F00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.15, 'fan_info': 'speed 1, low', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 12.32, 'supply_temp': 17.97, 'indoor_temp': 19.55, 'outdoor_temp': 10.91, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.15, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 7.5, 'exhaust_flow': 5.27}
# fan manual 2
2024-10-18T13:37:05.811916 087 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF082C07F9081C082BA800EF0232320000EF00051902B600 # {'hvac_id': '00', 'exhaust_fan_speed': 0.25, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 20.92, 'supply_temp': 20.41, 'indoor_temp': 20.76, 'outdoor_temp': 20.91, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.25, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 13.05, 'exhaust_flow': 6.94}
# Rainy, speed 2
2024-10-21T13:21:55.233373 094 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF06CA077307C00692A800EF0232320000EF00053502EE00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.25, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 17.38, 'supply_temp': 19.07, 'indoor_temp': 19.84, 'outdoor_temp': 16.82, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.25, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 13.33, 'exhaust_flow': 7.5}

# ClimaRad VenturaV1x
# .I + 31DA 030 00 EF 00 029C 00 EF 070D 7FFF 0833 07A8 BE09001F 0000 000000008500850000 (auto)
# .I + 31DA 030 00 EF 00 02C8 00 EF 07AA 7FFF 07CB 05F0 BE09001F 0808 000000008500850000 (speed 1)
# .I + 31DA 030 00 EF 00 023B 00 EF 0751 7FFF 0732 055A BE09001F 1414 000000008500850000 (speed 2)
# .I + 31DA 030 00 EF 00 019F 00 EF 067A 7FFF 0807 074E BE09001F 0000 000000008500850000 (auto)
# .I + 31DA 030 00 EF 00 0195 F7 EF 0621 7FFF 0846 0773 BE09001F 0000 000000008500850000 (wake up button press, no changes)
# .I + 31DA 030 00 EF 00 01AB 3E EF 0572 7FFF 07BC 06EA BE09001F 0000 000000008500850000
# airQ? | | | | | no ascii |_|___(00|08|14){2}
# Deduction: | | | | |___0502-07F7 << 0-255 = speed% ?
# CO2?___hexStr4 ___| | | |___055A-0813=hexStr4
# not RH 00|08|52|9A|D3___| |___0300-D7CA_ << 0-255 = ?
# | | |
# temp2 temp3 temp4 -- assigned based on value lo>hi for a HRU
# 12ao_v parser reports:
2024-10-18T00:03:42.690880 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00024300EF06E77FFF08190775BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 579, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 17.67, 'supply_temp': None, 'indoor_temp': 20.73, 'outdoor_temp': 19.09, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
2024-10-18T00:03:42.690881 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00029C00EF070D7FFF083307A8BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 668, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 18.05, 'supply_temp': None, 'indoor_temp': 20.99, 'outdoor_temp': 19.6, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'} # auto
2024-10-18T00:03:42.690882 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF0002C800EF07AA7FFF07CB05F0BE09001F0808000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.04, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 712, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 19.62, 'supply_temp': None, 'indoor_temp': 19.95, 'outdoor_temp': 15.2, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.04, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'} # speed 1
2024-10-18T00:03:42.690883 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00023B00EF07517FFF0732055ABE09001F1414000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.1, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 571, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 18.73, 'supply_temp': None, 'indoor_temp': 18.42, 'outdoor_temp': 13.7, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.1, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'} # speed 2
2024-10-18T00:03:42.690884 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00019F00EF067A7FFF0807074EBE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 415, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 16.58, 'supply_temp': None, 'indoor_temp': 20.55, 'outdoor_temp': 18.7, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'} # auto, not blowing
2024-10-18T00:03:42.690885 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF000195F7EF06217FFF08460773BE09001F0000000000008500850000 # 1st button press = no changes
2024-10-18T00:03:42.690886 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF0001AB3EEF05727FFF07BC06EABE09001F0000000000008500850000 #
2024-10-18T01:13:47.239622 065 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00022C00EF06D67FFF08070767BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 556, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 17.5, 'supply_temp': None, 'indoor_temp': 20.55, 'outdoor_temp': 18.95, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
# Compare 'indoor_temp': 20.55, 'exhaust_temp': 18.95 with temperatures in 12A0 at same time:
# 2024-10-18T01:13:47.417683 064 I --- 37:153226 --:------ 37:153226 12A0 021 003F08077FFF0001EF7FFF7FFF00024E06D6055D00
# [{'hvac_idx': '00', 'indoor_humidity': 0.65, 'temperature': 19.33, 'dewpoint_temp': None},
# {'hvac_idx': '01', 'rel_humidity': None},
# {'hvac_idx': '02', 'outdoor_humidity': 0.71, 'temperature': 18.73, 'dewpoint_temp': 13.44}]
# Selector string:
# My VenturaV1x: BE09001F = BE 09 00 1F = d 190 9 0 31 (1F = Fan Info)
# Another HVC: F800EF18 = F8 00 EF 18 = d 248 0 NA 24
# An unidentified HVC (picked up from the neighbours' house):
2024-10-21T00:03:43.334878 084 I --- 37:125482 --:------ 37:125482 31DA 030 00EF007FFF4BEF7FFF7FFF7FFF7FFFF800EF18C8000000EFEF7FFF7FFF00 # {'hvac_id': '00', 'exhaust_fan_speed': 1.0, 'fan_info': 'auto', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': 0.75, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
# Same, Rainy:
2024-10-21T13:25:18.172659 084 I --- 37:125482 --:------ 37:125482 31DA 030 00EF007FFF41EF7FFF7FFF7FFF7FFFF800EF183C000000EFEF7FFF7FFF00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.3, 'fan_info': 'auto', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': 0.65, 'outdoor_humidity': None, 'exhaust_temp': None, 'supply_temp': None, 'indoor_temp': None, 'outdoor_temp': None, 'speed_capabilities': ['off', 'low_med_high', 'timer', 'boost', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': None, 'exhaust_flow': None}
# D60 same moment:
2024-10-21T13:21:55.233373 094 I --- 32:022222 --:------ 32:022222 31DA 030 00EF007FFFEFEF06CA077307C00692A800EF0232320000EF00053502EE00 # {'hvac_id': '00', 'exhaust_fan_speed': 0.25, 'fan_info': 'speed 2, medium', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temp': 17.38, 'supply_temp': 19.07, 'indoor_temp': 19.84, 'outdoor_temp': 16.82, 'speed_capabilities': ['off', 'timer', 'auto'], 'bypass_position': None, 'supply_fan_speed': 0.25, 'remaining_mins': 0, 'post_heat': None, 'pre_heat': 0.0, 'supply_flow': 13.33, 'exhaust_flow': 7.5}
# Ventura cont. Rainy cf. D60 'exhaust_temp': 17.38, 'supply_temp': 19.07, 'indoor_temp': 19.84, 'outdoor_temp': 16.82 matching temps
2024-10-21T13:19:33.347521 060 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00019E00EF06E57FFF07FF0763BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 414, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 17.65, 'supply_temp': None, 'indoor_temp': 20.47, 'outdoor_temp': 18.91, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
2024-10-21T13:29:34.002088 061 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00019F00EF06E17FFF07FB0764BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 415, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 17.61, 'supply_temp': None, 'indoor_temp': 20.43, 'outdoor_temp': 18.92, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
# Manual speed 2, same temps, note CO2 level (CO2 sensor in room: 681 ppm = 0x02A9) so 415 is something else (HexStr2)
2024-10-21T13:49:35.331599 061 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00019E00EF06E17FFF08020766BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 414, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 17.61, 'supply_temp': None, 'indoor_temp': 20.5, 'outdoor_temp': 18.94, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
# 12A0 from same HRU at same moment: # 2024-10-21T13:49:35.480133 060 I --- 37:153226 --:------ 37:153226 12A0 [snip] # [{'hvac_idx': '00', 'indoor_humidity': 0.65, 'temperature': 20.5, 'dewpoint_temp': None}, {'hvac_idx': '01', 'rel_humidity': None}, {'hvac_idx': '02', 'outdoor_humidity': 0.78, 'temperature': 17.61, 'dewpoint_temp': 13.81}]
# Next boosting speed 5 (in 12A0): rising CO2 is clearly wrong, temp dropping indoors OK
2024-10-21T14:39:38.823617 061 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00028700EF076E7FFF075C0617BE09001F7E7E000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.63, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 647, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 19.02, 'supply_temp': None, 'indoor_temp': 18.84, 'outdoor_temp': 15.59, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.63, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
# Down to speed 3
2024-10-21T14:59:40.122477 061 I --- 37:153226 --:------ 37:153226 31DA 030 00EF00023900EF07597FFF07390620BE09001F2828000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.2, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 569, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 18.81, 'supply_temp': None, 'indoor_temp': 18.49, 'outdoor_temp': 15.68, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.2, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
# Back to Auto, 1h later
2024-10-21T16:19:45.476345 061 I --- 37:153226 --:------ 37:153226 31DA 030 00EF0001BD00EF06FD7FFF07CA0743BE09001F0000000000008500850000 # {'hvac_id': '00', 'exhaust_fan_speed': 0.0, 'fan_info': '-unknown 0x1F-', '_unknown_fan_info_flags': [0, 0, 0], 'air_quality': None, 'co2_level': 445, 'indoor_humidity': 0.0, 'outdoor_humidity': None, 'exhaust_temp': 17.89, 'supply_temp': None, 'indoor_temp': 19.94, 'outdoor_temp': 18.59, 'speed_capabilities': ['off', 'timer', 'boost', 'auto', 'speed_4', 'speed_5', 'auto_night', 'pre_heater'], 'bypass_position': 0.0, 'supply_fan_speed': 0.0, 'remaining_mins': 0, 'post_heat': 0.0, 'pre_heat': 0.0, 'supply_flow_fault': 'unreliable', 'exhaust_flow_fault': 'unreliable'}
# speed is correct, exhaust_temp rises to room temp when no fresh air passing, actual outdoor_temp is now in fact 15.3C (independent sensor), room_temp = 20.2C (independent sensor, see 12A0)