emsesp / EMS-ESP32

ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps
https://emsesp.github.io/docs
GNU Lesser General Public License v3.0
548 stars 96 forks source link

HA errors and warnings under EMS-ESP32 v3.4.0b10 #419

Closed vmonkey closed 2 years ago

vmonkey commented 2 years ago

Bug description I receive several errors and warnings in HA MQTT integration after upgrading to 3.4.0b10 from b9. I also tried removing and re-adding MQTT, multiple restarts of EMS-ESP and HA.

Logger: homeassistant.components.mqtt.select Source: components/mqtt/select.py:148 Integration: MQTT (documentation, issues) First occurred: 13:37:01 (2456 occurrences) Last logged: 14:28:01 Invalid option for select.thermostat_hc1_set_summer_mode: '' (valid options: ['summer', 'auto', 'winter']) Invalid option for select.thermostat_hc1_control_mode: '' (valid options: ['off', 'optimized', 'simple', 'mpc', 'room', 'power', 'constant']) Invalid option for select.thermostat_hc1_program: '' (valid options: ['prog_1', 'prog_2']) Invalid option for select.thermostat_hc2_mode: '' (valid options: ['manual', 'auto']) Invalid option for select.thermostat_hc2_heating_type: '' (valid options: ['off', 'radiator', 'convector', 'floor'])

Logger: homeassistant.helpers.template Source: helpers/template.py:1822 First occurred: 13:37:01 (14736 occurrences) Last logged: 14:28:01 Template variable warning: 'dict object' has no attribute 'summersetmode' when rendering '{{value_json.hc1.summersetmode}}' Template variable warning: 'dict object' has no attribute 'controlmode' when rendering '{{value_json.hc1.controlmode}}' Template variable warning: 'dict object' has no attribute 'program' when rendering '{{value_json.hc1.program}}' Template variable warning: 'dict object' has no attribute 'mode' when rendering '{{value_json.hc2.mode}}' Template variable warning: 'dict object' has no attribute 'heatingtype' when rendering '{{value_json.hc2.heatingtype}}'

Logger: homeassistant.components.mqtt.number Source: components/mqtt/number.py:185 Integration: MQTT (documentation, issues) First occurred: 13:37:01 (8596 occurrences) Last logged: 14:28:01 Payload '{"wwmode":"own_prog","datetime":"14:23:40 28.03.2022","floordry":"off","dampedoutdoortemp":14.2,"floordrytemp":0,"building":"medium","minexttemp":-10,"wwdisinfectday":"tu","hc1":{"fastheatup":0},"hc2":{"summersetmode":"auto","summermode":"off","controlmode":"simple","program":"prog_1","tempautotemp":-1,"fastheatup":0,"nofrosttemp":2}}' is not a Number Payload '{"wwmode":"own_prog","datetime":"14:24:40 28.03.2022","floordry":"off","dampedoutdoortemp":14.2,"floordrytemp":0,"building":"medium","minexttemp":-10,"wwdisinfectday":"tu","hc1":{"fastheatup":0},"hc2":{"summersetmode":"auto","summermode":"off","controlmode":"simple","program":"prog_1","tempautotemp":-1,"fastheatup":0,"nofrosttemp":2}}' is not a Number Payload '{"wwmode":"own_prog","datetime":"14:25:40 28.03.2022","floordry":"off","dampedoutdoortemp":14.2,"floordrytemp":0,"building":"medium","minexttemp":-10,"wwdisinfectday":"tu","hc1":{"fastheatup":0},"hc2":{"summersetmode":"auto","summermode":"off","controlmode":"simple","program":"prog_1","tempautotemp":-1,"fastheatup":0,"nofrosttemp":2}}' is not a Number Payload '{"wwmode":"own_prog","datetime":"14:26:42 28.03.2022","floordry":"off","dampedoutdoortemp":14.2,"floordrytemp":0,"building":"medium","minexttemp":-10,"wwdisinfectday":"tu","hc1":{"fastheatup":0},"hc2":{"summersetmode":"auto","summermode":"off","controlmode":"simple","program":"prog_1","tempautotemp":-1,"fastheatup":0,"nofrosttemp":2}}' is not a Number Payload '{"wwmode":"own_prog","datetime":"14:27:43 28.03.2022","floordry":"off","dampedoutdoortemp":14.2,"floordrytemp":0,"building":"medium","minexttemp":-10,"wwdisinfectday":"tu","hc1":{"fastheatup":0},"hc2":{"summersetmode":"auto","summermode":"off","controlmode":"simple","program":"prog_1","tempautotemp":-1,"fastheatup":0,"nofrosttemp":2}}' is not a Number

Logger: homeassistant.components.mqtt.climate Source: components/mqtt/climate.py:567 Integration: MQTT (documentation, issues) First occurred: 13:37:01 (614 occurrences) Last logged: 14:28:01 Could not parse temperature from

Prior to the upgrade, none of the errors was reported.

Steps to reproduce Interface EMS-ESP32 with HA (2022.3.7) via MQTT.

Expected behavior No error/warning reported

Device information { "System": { "version": "3.4.0b10", "uptime": "000+01:02:28.822", "uptime (seconds)": 3748, "freemem": 159, "reset reason": "Software reset CPU / Software reset CPU", "temperature sensors": 0 }, "Network": { "connection": "WiFi", "hostname": "ems-esp", "SSID": "hodnekrabic", "BSSID": "D8:07:B6:C8:96:B6", "RSSI": -52, "MAC": "7C:87:CE:49:A3:14", "IPv4 address": "192.168.68.113/255.255.255.0", "IPv4 gateway": "192.168.68.1", "IPv4 nameserver": "0.0.0.0" }, "Status": { "bus status": "connected", "bus protocol": "HT3", "bus telegrams received (rx)": 4132, "bus reads (tx)": 1101, "bus writes (tx)": 0, "bus incomplete telegrams": 0, "bus reads failed": 0, "bus writes failed": 0, "bus rx line quality": 100, "bus tx line quality": 100, "MQTT status": "connected", "MQTT publishes": 1960, "MQTT publish fails": 0, "temperature sensors": 0, "temperature sensor reads": 0, "temperature sensor fails": 0, "analog sensors": 0, "API calls": 0, "API fails": 0 }, "Devices": [ { "type": "Boiler", "name": "Condens 2500/Logamax/Logomatic/Cerapur Top/Greenstar/Generic HT3", "device id": "0x08", "product id": 95, "version": "18.14", "entities": 64, "handlers received": "0x10 0x11 0x15 0x1C 0x18 0x19 0x1A 0x35 0x34", "handlers fetched": "0x14 0x16 0x33", "handlers pending": "0xC2 0x26 0x2A" }, { "type": "Thermostat", "name": "RC300/RC310/Moduline 3000/1010H/CW400/Sense II", "device id": "0x10", "product id": 158, "version": "18.05", "entities": 64, "handlers received": "0x06 0xA2 0x02BB 0x02BC 0x02BD 0x02BE 0x02BF 0x02C0 0x031D 0x0267", "handlers fetched": "0x02A5 0x02B9 0x02AF 0x029B 0x02A6 0x02BA 0x02B0 0x029C 0x02F5 0x031B 0x023A 0x0240", "handlers pending": "0xA3 0x12 0x0471 0x0472 0x02A7 0x02B1 0x029D 0x0473 0x02A8 0x02B2 0x029E 0x0474 0x02A9 0x02B3 0x029F 0x0475 0x02AA 0x02B4 0x02A0 0x0476 0x02AB 0x02B5 0x02A1 0x0477 0x02AC 0x02B6 0x02A2 0x0478 0x031E" }, { "type": "Mixer", "name": "MM100", "device id": "0x21", "product id": 160, "version": "24.05", "entities": 4, "handlers received": "0x02D8" }, { "type": "Controller", "name": "HT3", "device id": "0x09", "product id": 95, "version": "18.14", "entities": 0 } ] }

MichaelDvP commented 2 years ago

Wait for next version, this is a side effect from sorting entities and the creation of nested mqtt (nests are recreated). As first aid you can switch mqtt to individual topics.

proddy commented 2 years ago

checking in PR now