emsesp / EMS-ESP

ESP8266 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
306 stars 97 forks source link

Home assistant throws "no attribute" warning #756

Closed mglatz closed 3 years ago

mglatz commented 3 years ago

Bug description A clear and concise description of what the bug is. Mention which EMS-ESP version you're using.

after update to HA core version "core-2021.4.0" and supervisor to version "supervisor-2021.03.9" I sudenly get lots of these warnings in home-assistant.log:

WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPump2Mod' when rendering '{{value_json.heatingPump2Mod}}' If I'm not mistaking I get one for each ems-esp sensor and since I pool them on change, I see 1000's errors. I don't think it has negative effect on UI, I see all the values updated. The warnings and their count is annoying though.

Steps to reproduce update HA to latest version

Device information

{
  "System": {
    "version": "2.2.0",
    "uptime": "000+00:18:31.299",
    "freemem": 43,
    "fragmem": 2
  },
  "Settings": {
    "enabled": "1",
    "publish_time_boiler": 0,
    "publish_time_thermostat": 0,
    "publish_time_solar": 0,
    "publish_time_mixer": 10,
    "publish_time_other": 0,
    "publish_time_sensor": 0,
    "mqtt_format": 3,
    "mqtt_qos": 0,
    "mqtt_retain": "0",
    "tx_mode": 1,
    "ems_bus_id": 11,
    "master_thermostat": 0,
    "rx_gpio": 13,
    "tx_gpio": 15,
    "dallas_gpio": 14,
    "dallas_parasite": "0",
    "led_gpio": 2,
    "hide_led": "0",
    "api_enabled": "1",
    "bool_format": 3,
    "analog_enabled": "0"
  },
  "Status": {
    "bus": "connected",
    "bus protocol": "HT3",
    "#telegrams received": 461,
    "#read requests sent": 133,
    "#write requests sent": 41,
    "#incomplete telegrams": 0,
    "#tx fails": 3,
    "rx line quality": 100,
    "tx line quality": 100,
    "#MQTT publish fails": 0,
    "#dallas sensors": 0
  },
  "Devices": [
    {
      "type": "Boiler",
      "name": "Condens 2500/Logamax/Logomatic/Cerapur Top/Greenstar/Generic HT3 (DeviceID:0x08, ProductID:95, Version:18.13)",
      "handlers": "0x10 0x11 0x14 0x15 0x16 0x18 0x19 0x1A 0x1C 0x2A 0x33 0x34 0x35 0xD1 0xE3 0xE4 0xE5 0xE6 0xE9 0xEA 0x494 0x495"
    },
    {
      "type": "Controller",
      "name": "HT3 (DeviceID:0x09, ProductID:95, Version:18.13)",
      "handlers": ""
    }
  ]
}

Additional context Also tried with version 2.2.1, with same result.

nagyrobi commented 3 years ago

Lastly I see from your GH you've done some work on HA configs and Python. Why not help out and take a look at getting a real interface into HA using both APIs as suggested earlier in #756 (comment)?

I'd love to but as far as I can see I can't compete with your code quality and the level required/imposed by HA lately. I'm self learning stuff and try to do my best but I'm aftaid my knowledge and experience is limited compared to the task.

MichaelDvP commented 3 years ago

Anyway, I thought of another workaround. Change EMS-ESP to publish all the boiler values in the MQTT payload, even if they are not present. This will stop the HA MQTT Discovery component from complaining but will give you a lot of void sensors with no values.

@proddy What do you think to publish as novalue? I'm afraid publishing "-" will also trigger complains if a number is expected.

Another possible workaround is to publish the HA-config a bit later and only for the topics with value., e.g.

    if (Helpers::hasValue(sysPress_)) {
        Mqtt::register_mqtt_ha_sensor(nullptr, nullptr, F_(syspress_), device_type(), F_(syspress), F_(bar), nullptr);
    }

and

        if (!mqtt_ha_config_ && uuid::get_uptime_sec() > 60) {
            register_mqtt_ha_config();

If HA complains publishes before ha-config is done, we need to delay the publish to. But sensors with no value after one minute will then never have a HA-config, or you need to trigger a new HA-config publish with call system publish ha

BTW: @nagyrobi :Checkboxes on the web will not work, there are only the sensors with value listed and it's to low memory to remember the lot of checkboxes.

bbqkees commented 3 years ago

@nagyrobi can you send me an email via the webshop (or let me know your order ID here)?

nagyrobi commented 3 years ago

@bbqkees Order #6001

proddy commented 3 years ago

@MichaelDvP you're right, having null/empty values will not work for numbers. The only option is to indeed delay the registration of the HA Discovery topics until we're sure we have all the values in.

Buderus probably have an EMS telegram that informs the client of the capabilities, but like everything it's propriety and top-secret and we'll never get to see it.

nagyrobi commented 3 years ago

Ok, if checkboxes is too much: since the need for registration is only once, instead of the delay, I'd suggest to put a button on the web interface to let the user trigger it when it finds it appropriate. Let the user decide when to press the button, based on the values seen in the user interface. If some boilers need more time to publish some values, no probelm, a simple sentence could be put on to let the user know that it's worth waiting a bit more before registering the system to HA.

No need to re-register anymore at every boot.

Or even more simple, in the web interface put a clickable link "Register to HA" for every sensor (since only with value listed can be seen) so the user can select one by one which ones he wants to have in HA anyway - in many cases some may not want the entire sensor collection to be present in HA. Every link would just run an indvidual register_mqtt_ha_sensor when clicked for that sensor. Eventually a "Register all visible" link at the bottom (near "Scan devices") to register all visible sensors on the page with one click.

This could be simply made to be part of the set-up process, so added to the manual/wiki would make it pretty clear and straightforward for everyone what to do.

proddy commented 3 years ago

I prefer the time'd approach. Adding another button to the UI and all the back-end trigger code is going to eat every more memory, although I do like the idea.

MichaelDvP commented 3 years ago

@proddy I think nearly noone likes to hit buttons after each restart, timed is much better. The value check has only to be done for boiler, the and maybe dampedoutdoortemp in thermostat, all other values are filtered by flags, also boiler can be flagged for the data_info (only heatpump).

But you can add a single button only triggering call system publish ha, this will republish the all ha-registers and rescans the topics with values at this time.

bbqkees commented 3 years ago

Having to wait a few minutes before all data is gathered and the discovery is sent out is fine. If you setup a Gateway, make your settings and then reboot you still need to login to HA etc afterwards, that additional time here is neglible. Waiting a few minutes and then BAM all your actual devices in HA automatically is much, much quicker and more convenient than creating all devices manually or messing with the yaml files yourself.

nagyrobi commented 3 years ago

noone likes to hit buttons after each restart

In my understanding configuration is once in a lifetime. Unless you deliberately delete from MQTT integrations list the device, you never have to click that button again.

MichaelDvP commented 3 years ago

In my understanding configuration is once in a lifetime. Unless you deliberately delete from MQTT integrations list the device, you never have to click that button again.

Again: the 8266 is on it's limit, there is no more space to store a lot of values.

I've updated the v2-dev branch to, what i think, is possible and working. I don't have HA and can not test this.

nagyrobi commented 3 years ago

Which is the v2-dev branch? I wanted to give it a test run...

MichaelDvP commented 3 years ago

https://github.com/emsesp/EMS-ESP/releases/tag/latest

nagyrobi commented 3 years ago

Log still fills with

2021-04-17 10:26:51 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'errorcode' when rendering '{{value_json.errorcode}}'
2021-04-17 10:26:51 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'errorcode' when rendering '{{value_json.errorcode}}'
km4lin commented 3 years ago

Log still fills with

2021-04-17 10:26:51 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'errorcode' when rendering '{{value_json.errorcode}}'
2021-04-17 10:26:51 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'errorcode' when rendering '{{value_json.errorcode}}'

Same here :cry:

nagyrobi commented 3 years ago

Also noticing slowlyness during HA boot with this firmware on.

proddy commented 3 years ago

I believe errorcode comes from the thermostat and it always comes later, which is why you would get an error when starting EMS-ESP. You should see it in the web UI and also the thermostat_data topic. What we can do there is always put a value in the MQTT payload. It's a minor thing.

the slowness, what do you mean?

MichaelDvP commented 3 years ago

Hm, we read errorcode on start from thermostat, it should come up. Maybe the Junkers thermostat does not have A2-telegram? @nagyrobi , @km4lin Could you check in terminal the output of read 10 a2, @km4lin Please mentions also your thermostat product ID.

Is this now the only value giving HA complains?

nagyrobi commented 3 years ago

read 10 a2 000+01:13:32.097 N 6: [emsesp] Thermostat(0x10) -> Me(0x0B), RCError(0xA2), data: <empty>

nagyrobi commented 3 years ago

This is also present in the main doc["val_tpl"] = FJSON("{{value_json.errorcode}}"); and I think that's what causes slowlyness at HA resrtart (loading MQTT plaftorm takes more than 10 seconds etc.).

I replaced it simple "OK" string and behaves a whole lot smoother. Somebody assumed that errorcode is always valid. Similarly I see problem on doc["val_tpl"] = FJSON("{{value_json.serviceCode}}"); in boiler.cpp. Replacing with a static string stabilizes startup.

MichaelDvP commented 3 years ago

Thanks, i'll change the val_tpl to dateTime and check the errorCode for value.

nagyrobi commented 3 years ago

Note that dateTime also comes in later on the Thermostat. Boiler doesn't have it.

DeepCoreSystem commented 3 years ago

I have a workaround for this issue: As I upgraded HA to 2021.04.5, I also got these warnings. But I disabled all variables that are not filled by EMS-ESP in the Entities table in HA. Since then no more warnings.

nagyrobi commented 3 years ago

Note @mglatz @ekivel this is for the ESP32 only. If you're actively using v2 today and want to stay ahead of new features I strongly recommend you buy an ESP32 (4 euros on Ali, see here)

I updated to ESP32 and unfortunately the results are bad. Two issues: Only the boiler is detected: kép On ESP8266 I have: kép

Second issue, I get much more TX errors than I had with ESP8266: kép Previously I had both at quality 100%.

I use a 5V 2A USB power supply connected directly to ESP32 USB port. Moved the jumper inside to jack position to ensure no power goes reverse direction to the bus.

Is it possible to connect only a power supply to the jack, and use bus only for data? Is it OK like that? (my boiler has no jack nowhere) What's the correct pinout for the jack as power input only, and what's the recommended voltage?

nagyrobi commented 3 years ago

Ohh and the no attribute warnings came back (esp32), +3 more interesting errors:

2021-04-30 22:59:30 ERROR (MainThread) [homeassistant.util.logging] Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'Shower Active', 'unique_id': 'shower_active', 'state_topic': 'ems-esp/shower_active', 'payload_on': 'on', 'payload_off': 'off', 'device': {'identifiers': ['ems-esp-boiler']}, 'platform': 'mqtt'},)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 160, in async_discover
    config = schema(discovery_payload)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict
    return base_validate(path, iteritems(data), out)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping
    raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: extra keys not allowed @ data['payload_on']

2021-04-30 22:59:31 ERROR (MainThread) [homeassistant.util.logging] Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'tapwateractive', 'unique_id': 'tapwater_active', 'state_topic': 'ems-esp/tapwater_active', 'payload_on': 'on', 'payload_off': 'off', 'device': {'identifiers': ['ems-esp-boiler']}, 'platform': 'mqtt'},)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 160, in async_discover
    config = schema(discovery_payload)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict
    return base_validate(path, iteritems(data), out)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping
    raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: extra keys not allowed @ data['payload_on']

2021-04-30 22:59:31 ERROR (MainThread) [homeassistant.util.logging] Exception in async_discover when dispatching 'mqtt_discovery_new_sensor_mqtt': ({'name': 'heatingactive', 'unique_id': 'heating_active', 'state_topic': 'ems-esp/heating_active', 'payload_on': 'on', 'payload_off': 'off', 'device': {'identifiers': ['ems-esp-boiler']}, 'platform': 'mqtt'},)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mqtt/mixins.py", line 160, in async_discover
    config = schema(discovery_payload)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 272, in __call__
    return self._compiled([], data)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 594, in validate_dict
    return base_validate(path, iteritems(data), out)
  File "/usr/local/lib/python3.8/site-packages/voluptuous/schema_builder.py", line 432, in validate_mapping
    raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: extra keys not allowed @ data['payload_on']

2021-04-30 22:59:32 WARNING (MainThread) [homeassistant.loader] You are using a custom integration opensprinkler which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'selFlowTemp' when rendering '{{value_json.selFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'selBurnPow' when rendering '{{value_json.selBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPumpMod' when rendering '{{value_json.heatingPumpMod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPump2Mod' when rendering '{{value_json.heatingPump2Mod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'outdoorTemp' when rendering '{{value_json.outdoorTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'curFlowTemp' when rendering '{{value_json.curFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'retTemp' when rendering '{{value_json.retTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'switchTemp' when rendering '{{value_json.switchTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'sysPress' when rendering '{{value_json.sysPress}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilTemp' when rendering '{{value_json.boilTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'exhaustTemp' when rendering '{{value_json.exhaustTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'flameCurr' when rendering '{{value_json.flameCurr}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingTemp' when rendering '{{value_json.heatingTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMax' when rendering '{{value_json.pumpModMax}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMin' when rendering '{{value_json.pumpModMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpDelay' when rendering '{{value_json.pumpDelay}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPeriod' when rendering '{{value_json.burnMinPeriod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPower' when rendering '{{value_json.burnMinPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMaxPower' when rendering '{{value_json.burnMaxPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOn' when rendering '{{value_json.boilHystOn}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOff' when rendering '{{value_json.boilHystOff}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setFlowTemp' when rendering '{{value_json.setFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setBurnPow' when rendering '{{value_json.setBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'curBurnPow' when rendering '{{value_json.curBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnStarts' when rendering '{{value_json.burnStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnWorkMin' when rendering '{{value_json.burnWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatWorkMin' when rendering '{{value_json.heatWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'UBAuptime' when rendering '{{value_json.UBAuptime}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCode' when rendering '{{value_json.serviceCode}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCodeNumber' when rendering '{{value_json.serviceCodeNumber}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeControl' when rendering '{{value_json.upTimeControl}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompHeating' when rendering '{{value_json.upTimeCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompCooling' when rendering '{{value_json.upTimeCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompWw' when rendering '{{value_json.upTimeCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingStarts' when rendering '{{value_json.heatingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'coolingStarts' when rendering '{{value_json.coolingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsTotal' when rendering '{{value_json.nrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompTotal' when rendering '{{value_json.nrgConsCompTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompHeating' when rendering '{{value_json.nrgConsCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompWw' when rendering '{{value_json.nrgConsCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompCooling' when rendering '{{value_json.nrgConsCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppTotal' when rendering '{{value_json.nrgSuppTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppHeating' when rendering '{{value_json.nrgSuppHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppWw' when rendering '{{value_json.nrgSuppWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppCooling' when rendering '{{value_json.nrgSuppCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsTotal' when rendering '{{value_json.auxElecHeatNrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsHeating' when rendering '{{value_json.auxElecHeatNrgConsHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsDHW' when rendering '{{value_json.auxElecHeatNrgConsDHW}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceMessage' when rendering '{{value_json.maintenanceMessage}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceDate' when rendering '{{value_json.maintenanceDate}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'selFlowTemp' when rendering '{{value_json.selFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'selBurnPow' when rendering '{{value_json.selBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPumpMod' when rendering '{{value_json.heatingPumpMod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPump2Mod' when rendering '{{value_json.heatingPump2Mod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'outdoorTemp' when rendering '{{value_json.outdoorTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'curFlowTemp' when rendering '{{value_json.curFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'retTemp' when rendering '{{value_json.retTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'switchTemp' when rendering '{{value_json.switchTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'sysPress' when rendering '{{value_json.sysPress}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilTemp' when rendering '{{value_json.boilTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'exhaustTemp' when rendering '{{value_json.exhaustTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'flameCurr' when rendering '{{value_json.flameCurr}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingTemp' when rendering '{{value_json.heatingTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMax' when rendering '{{value_json.pumpModMax}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMin' when rendering '{{value_json.pumpModMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpDelay' when rendering '{{value_json.pumpDelay}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPeriod' when rendering '{{value_json.burnMinPeriod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPower' when rendering '{{value_json.burnMinPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMaxPower' when rendering '{{value_json.burnMaxPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOn' when rendering '{{value_json.boilHystOn}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOff' when rendering '{{value_json.boilHystOff}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setFlowTemp' when rendering '{{value_json.setFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setBurnPow' when rendering '{{value_json.setBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'curBurnPow' when rendering '{{value_json.curBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnStarts' when rendering '{{value_json.burnStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnWorkMin' when rendering '{{value_json.burnWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatWorkMin' when rendering '{{value_json.heatWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'UBAuptime' when rendering '{{value_json.UBAuptime}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCode' when rendering '{{value_json.serviceCode}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCodeNumber' when rendering '{{value_json.serviceCodeNumber}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeControl' when rendering '{{value_json.upTimeControl}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompHeating' when rendering '{{value_json.upTimeCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompCooling' when rendering '{{value_json.upTimeCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompWw' when rendering '{{value_json.upTimeCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingStarts' when rendering '{{value_json.heatingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'coolingStarts' when rendering '{{value_json.coolingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsTotal' when rendering '{{value_json.nrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompTotal' when rendering '{{value_json.nrgConsCompTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompHeating' when rendering '{{value_json.nrgConsCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompWw' when rendering '{{value_json.nrgConsCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompCooling' when rendering '{{value_json.nrgConsCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppTotal' when rendering '{{value_json.nrgSuppTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppHeating' when rendering '{{value_json.nrgSuppHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppWw' when rendering '{{value_json.nrgSuppWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppCooling' when rendering '{{value_json.nrgSuppCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsTotal' when rendering '{{value_json.auxElecHeatNrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsHeating' when rendering '{{value_json.auxElecHeatNrgConsHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsDHW' when rendering '{{value_json.auxElecHeatNrgConsDHW}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceMessage' when rendering '{{value_json.maintenanceMessage}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceDate' when rendering '{{value_json.maintenanceDate}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSelTemp' when rendering '{{value_json.wWSelTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSetTemp' when rendering '{{value_json.wWSetTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWType' when rendering '{{value_json.wWType}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWComfort' when rendering '{{value_json.wWComfort}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWFlowTempOffset' when rendering '{{value_json.wWFlowTempOffset}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWMaxPower' when rendering '{{value_json.wWMaxPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWDisinfectionTemp' when rendering '{{value_json.wWDisinfectionTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCircMode' when rendering '{{value_json.wWCircMode}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCurTemp' when rendering '{{value_json.wWCurTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCurTemp2' when rendering '{{value_json.wWCurTemp2}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCurFlow' when rendering '{{value_json.wWCurFlow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStorageTemp1' when rendering '{{value_json.wWStorageTemp1}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStorageTemp2' when rendering '{{value_json.wWStorageTemp2}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSetPumpPower' when rendering '{{value_json.wWSetPumpPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'mixerTemp' when rendering '{{value_json.mixerTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'tankMiddleTemp' when rendering '{{value_json.tankMiddleTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStarts' when rendering '{{value_json.wWStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStarts2' when rendering '{{value_json.wWStarts2}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWWorkM' when rendering '{{value_json.wWWorkM}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'selFlowTemp' when rendering '{{value_json.selFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'selBurnPow' when rendering '{{value_json.selBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPumpMod' when rendering '{{value_json.heatingPumpMod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPump2Mod' when rendering '{{value_json.heatingPump2Mod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'outdoorTemp' when rendering '{{value_json.outdoorTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'curFlowTemp' when rendering '{{value_json.curFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'retTemp' when rendering '{{value_json.retTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'switchTemp' when rendering '{{value_json.switchTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'sysPress' when rendering '{{value_json.sysPress}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilTemp' when rendering '{{value_json.boilTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'exhaustTemp' when rendering '{{value_json.exhaustTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'flameCurr' when rendering '{{value_json.flameCurr}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingTemp' when rendering '{{value_json.heatingTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMax' when rendering '{{value_json.pumpModMax}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMin' when rendering '{{value_json.pumpModMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpDelay' when rendering '{{value_json.pumpDelay}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPeriod' when rendering '{{value_json.burnMinPeriod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPower' when rendering '{{value_json.burnMinPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMaxPower' when rendering '{{value_json.burnMaxPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOn' when rendering '{{value_json.boilHystOn}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOff' when rendering '{{value_json.boilHystOff}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setFlowTemp' when rendering '{{value_json.setFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setBurnPow' when rendering '{{value_json.setBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'curBurnPow' when rendering '{{value_json.curBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnStarts' when rendering '{{value_json.burnStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnWorkMin' when rendering '{{value_json.burnWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatWorkMin' when rendering '{{value_json.heatWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCode' when rendering '{{value_json.serviceCode}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCodeNumber' when rendering '{{value_json.serviceCodeNumber}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeControl' when rendering '{{value_json.upTimeControl}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompHeating' when rendering '{{value_json.upTimeCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompCooling' when rendering '{{value_json.upTimeCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompWw' when rendering '{{value_json.upTimeCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingStarts' when rendering '{{value_json.heatingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'coolingStarts' when rendering '{{value_json.coolingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsTotal' when rendering '{{value_json.nrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompTotal' when rendering '{{value_json.nrgConsCompTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompHeating' when rendering '{{value_json.nrgConsCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompWw' when rendering '{{value_json.nrgConsCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompCooling' when rendering '{{value_json.nrgConsCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppTotal' when rendering '{{value_json.nrgSuppTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppHeating' when rendering '{{value_json.nrgSuppHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppWw' when rendering '{{value_json.nrgSuppWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppCooling' when rendering '{{value_json.nrgSuppCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsTotal' when rendering '{{value_json.auxElecHeatNrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsHeating' when rendering '{{value_json.auxElecHeatNrgConsHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsDHW' when rendering '{{value_json.auxElecHeatNrgConsDHW}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceMessage' when rendering '{{value_json.maintenanceMessage}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceDate' when rendering '{{value_json.maintenanceDate}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSelTemp' when rendering '{{value_json.wWSelTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSetTemp' when rendering '{{value_json.wWSetTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWType' when rendering '{{value_json.wWType}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWComfort' when rendering '{{value_json.wWComfort}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWFlowTempOffset' when rendering '{{value_json.wWFlowTempOffset}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWMaxPower' when rendering '{{value_json.wWMaxPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWDisinfectionTemp' when rendering '{{value_json.wWDisinfectionTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCircMode' when rendering '{{value_json.wWCircMode}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCurTemp' when rendering '{{value_json.wWCurTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCurTemp2' when rendering '{{value_json.wWCurTemp2}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCurFlow' when rendering '{{value_json.wWCurFlow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStorageTemp1' when rendering '{{value_json.wWStorageTemp1}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStorageTemp2' when rendering '{{value_json.wWStorageTemp2}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSetPumpPower' when rendering '{{value_json.wWSetPumpPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'mixerTemp' when rendering '{{value_json.mixerTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'tankMiddleTemp' when rendering '{{value_json.tankMiddleTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStarts' when rendering '{{value_json.wWStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWStarts2' when rendering '{{value_json.wWStarts2}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWWorkM' when rendering '{{value_json.wWWorkM}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPumpMod' when rendering '{{value_json.heatingPumpMod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingPump2Mod' when rendering '{{value_json.heatingPump2Mod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'outdoorTemp' when rendering '{{value_json.outdoorTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'retTemp' when rendering '{{value_json.retTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'switchTemp' when rendering '{{value_json.switchTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'sysPress' when rendering '{{value_json.sysPress}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilTemp' when rendering '{{value_json.boilTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'exhaustTemp' when rendering '{{value_json.exhaustTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'flameCurr' when rendering '{{value_json.flameCurr}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingTemp' when rendering '{{value_json.heatingTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMax' when rendering '{{value_json.pumpModMax}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpModMin' when rendering '{{value_json.pumpModMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'pumpDelay' when rendering '{{value_json.pumpDelay}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPeriod' when rendering '{{value_json.burnMinPeriod}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMinPower' when rendering '{{value_json.burnMinPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnMaxPower' when rendering '{{value_json.burnMaxPower}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOn' when rendering '{{value_json.boilHystOn}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'boilHystOff' when rendering '{{value_json.boilHystOff}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setFlowTemp' when rendering '{{value_json.setFlowTemp}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'setBurnPow' when rendering '{{value_json.setBurnPow}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnStarts' when rendering '{{value_json.burnStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'burnWorkMin' when rendering '{{value_json.burnWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatWorkMin' when rendering '{{value_json.heatWorkMin}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'serviceCode' when rendering '{{value_json.serviceCode}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeControl' when rendering '{{value_json.upTimeControl}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompHeating' when rendering '{{value_json.upTimeCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompCooling' when rendering '{{value_json.upTimeCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'upTimeCompWw' when rendering '{{value_json.upTimeCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'heatingStarts' when rendering '{{value_json.heatingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'coolingStarts' when rendering '{{value_json.coolingStarts}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsTotal' when rendering '{{value_json.nrgConsTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompTotal' when rendering '{{value_json.nrgConsCompTotal}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompHeating' when rendering '{{value_json.nrgConsCompHeating}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompWw' when rendering '{{value_json.nrgConsCompWw}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgConsCompCooling' when rendering '{{value_json.nrgConsCompCooling}}'
2021-04-30 22:59:38 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppTotal' when rendering '{{value_json.nrgSuppTotal}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppHeating' when rendering '{{value_json.nrgSuppHeating}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppWw' when rendering '{{value_json.nrgSuppWw}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'nrgSuppCooling' when rendering '{{value_json.nrgSuppCooling}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsTotal' when rendering '{{value_json.auxElecHeatNrgConsTotal}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsHeating' when rendering '{{value_json.auxElecHeatNrgConsHeating}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'auxElecHeatNrgConsDHW' when rendering '{{value_json.auxElecHeatNrgConsDHW}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceMessage' when rendering '{{value_json.maintenanceMessage}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'maintenanceDate' when rendering '{{value_json.maintenanceDate}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSelTemp' when rendering '{{value_json.wWSelTemp}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWSetTemp' when rendering '{{value_json.wWSetTemp}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWType' when rendering '{{value_json.wWType}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWComfort' when rendering '{{value_json.wWComfort}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWFlowTempOffset' when rendering '{{value_json.wWFlowTempOffset}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWMaxPower' when rendering '{{value_json.wWMaxPower}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWDisinfectionTemp' when rendering '{{value_json.wWDisinfectionTemp}}'
2021-04-30 22:59:39 WARNING (MainThread) [homeassistant.helpers.template] Template variable warning: 'dict object' has no attribute 'wWCircMode' when rendering '{{value_json.wWCircMode}}'
proddy commented 3 years ago

Note @mglatz @ekivel this is for the ESP32 only. If you're actively using v2 today and want to stay ahead of new features I strongly recommend you buy an ESP32 (4 euros on Ali, see here)

I updated to ESP32 and unfortunately the results are bad. Two issues: Only the boiler is detected: kép On ESP8266 I have: kép

Second issue, I get much more TX errors than I had with ESP8266: kép Previously I had both at quality 100%.

I use a 5V 2A USB power supply connected directly to ESP32 USB port. Moved the jumper inside to jack position to ensure no power goes reverse direction to the bus.

Is it possible to connect only a power supply to the jack, and use bus only for data? Is it OK like that? (my boiler has no jack nowhere) What's the correct pinout for the jack as power input only, and what's the recommended voltage?

@nagyrobi check that you're using the same Tx Mode. Then go to console and capture a few logs to see why the Tx is failing, either the telegrams are being cut short or there is extra noise on the EMS line. And if it continues, create a new GH issue specifically for this problem so we can help you fix it.

proddy commented 3 years ago

Ohh and the no attribute warnings came back (esp32), +3 more interesting errors:

The MQTT format and how it integrates into HA is different in v3. You will need to use something like MQTT Explorer and delete everything under under ems-esp (if you used the retain flag before) and also all the entries under homeassistant. Then restart the EMS-ESP.

nagyrobi commented 3 years ago

You will need to use something like MQTT Explorer and delete everything under under ems-esp (if you used the retain flag before)

Thank you, that fixed the extra 3 errors. Sharing how I fixed this, for others coming here by search:

show retained messages

mosquitto_sub -h YOUR.MQTT.BROKER.IP -u <your_login_data> -P <your_login_data> -v -t '#' --retained-only`

remove all retained messages belonging to some of the found ems-esp retained topics:

mosquitto_sub -h YOUR.MQTT.BROKER.IP -u <your_login_data> -P <your_login_data> -v -t homeassistant/climate/&s/# --remove-retained --retained-only
mosquitto_sub -h YOUR.MQTT.BROKER.IP -u <your_login_data> -P <your_login_data> -v -t homeassistant/binary_sensor/ems-esp/# --remove-retained --retained-only
mosquitto_sub -h YOUR.MQTT.BROKER.IP -u <your_login_data> -P <your_login_data> -v -t homeassistant/sensor/ems-esp/# --remove-retained --retained-only
nagyrobi commented 3 years ago

@nagyrobi check that you're using the same Tx Mode. Then go to console and capture a few logs to see why the Tx is failing, either the telegrams are being cut short or there is extra noise on the EMS line. And if it continues, create a new GH issue specifically for this problem so we can help you fix it.

The TX mode on ESP8266 was 1 - Default. On ESP32 it was set EMS (there's no default). I changed to EMS+ or HC3 and no more TX errors. But it's not detected anymore as Condens 2500/Logamax/Logomatic/Cerapur Top/Greenstar/Generic HT3 like before and the boiler shows strangely 41°C for outside temperature... And still getting tons of Template variable warning: 'dict object' has no attribute

kép

nagyrobi commented 3 years ago

I have a workaround for this issue: As I upgraded HA to 2021.04.5, I also got these warnings. But I disabled all variables that are not filled by EMS-ESP in the Entities table in HA. Since then no more warnings.

Upgraded to ESP32 and still the same... floods of logs...

@DeepCoreSystem how do you know exactly which entities should be disabled? For example, for this message:

Template variable warning: 'dict object' has no attribute 'wWStarts2' when rendering '{{value_json.wWStarts2}}'

how do I find which is the entity which should be disabled??

MichaelDvP commented 3 years ago

@nagyrobi

nagyrobi commented 3 years ago

I deleted everything from MQTT as per described 3 posts above. I double-checked a few moments ago there's no retained value stored in MQTT except status online (which is OK) In HA in Intergations > MQTT > I deleted all the autodiscovered stuff. Where else should I look for??

nagyrobi commented 3 years ago

The problem is caused by EMS-ESP32 for sure, because if I disable Home Assistant MQTT Discovery in MQTT Settings and restart both HA and the ESP32, no more log flood happens.

proddy commented 3 years ago

ok, I'll look into it. Can you tell which version of EMS-ESP, Home Assistant and the MQTT broker you are using?

nagyrobi commented 3 years ago

I even tried to rename Base and Client ID in in MQTT Settings (hoping that if someting's still cached, new things would come in to different topics but no change).

Things are getting worse now I get 141 log entries per second...

nagyrobi commented 3 years ago

I also filed an issue to HA because it's really painful to see such generic error messages without a hint to what entity/script/whatever generates them.

nagyrobi commented 3 years ago

My Publish Intervals are set to 0 (on change is enough for me), if that matters... Edit: did factory reset the ESP32 and still flood after manually reconfiguring everything.

nagyrobi commented 3 years ago

boiler shows strangely 41°C for outside temperature...

This was indeed likely to wrong browser cache, thanks @MichaelDvP .

MichaelDvP commented 3 years ago

EMS-ESP v3.0.1

The fix for this HA-issue is only in the dev-branch, also the change to lower case is there.

proddy commented 3 years ago

from the screenshot it doesn't look lik v3.0.1 as it has the 'update value' feature in the Web UI?

nagyrobi commented 3 years ago

I also tried the EMS-ESP-3_0_3b4-ESP32.bin yesterday, but log flow was still present, the whole UI was very laggy. I assume the browser cached that interface. I'm on 3.0.1 now.

Is there another binary I could try?

MichaelDvP commented 3 years ago

There are also changes in the UI in 3.0.3b4, you have to reload in browser after update to make it work, and as @proddy wrote already:

The MQTT format and how it integrates into HA is different in v3. You will need to use something like MQTT Explorer and delete everything under under ems-esp (if you used the retain flag before) and also all the entries under homeassistant. Then restart the EMS-ESP.

nagyrobi commented 3 years ago

I thought that this issue us severe enough to remove the binaries causing it from the downloads list... Leaving this running for a few hours can fill the disk completely....

Is there any downloadable binary anywhere with a fix containing this log flood?

proddy commented 3 years ago

@nagyrobi for now you can just supress the log warnings in HA using https://github.com/emsesp/EMS-ESP/issues/756#issuecomment-816111797

while I'll help you fix it.

proddy commented 3 years ago

@nagyrobi can you use something like mqtt explorer and show me the homeassistant entries? I think maybe there is a mismatch. For example this is mine:

Screenshot 2021-05-01 191247

nagyrobi commented 3 years ago

@proddy thank you for your help. I've build myself a binary from the ESP32 dev branch and that has indeed fixed the warnings flood in HA log file.

May I suggest, in order to avoid confusion, to withdraw the current (3.0.1) version from the recommended download link for ESP32 and put there a patched binary which contains only this fix. I am aware that the dev branch contains lots of other new features too, which probably are not yet ready to be released, this is why I think that pushing only this fix against 3.0.1 would be great for everybody. Maybe this could be done for ESP8266 version too with that partial fix discussed above.

I've read the discussion above again, but I assumed that as soon as the solution was found, the fix was pushed immediately into the ESP32 release (as it was found almost instantly in a day or two), and as it turned out this was not the case. Very frustrating, sorry for my misunderstanding - for non-native English speakers things may not be so trivial.

proddy commented 3 years ago

yes we need to do more frequent releases. Most of us live off the dev branch and always adding new stuff.

nagyrobi commented 3 years ago

This is a very severe issue. In cases like this, quickfix-releases are needed.