HomeConnect devices do not seem to report back their energy or water consumption. But the consumption per load / cycle is indicated in Siemens / Bosch documentation. So, I thought I can create my own sensor to calculate the consumption:
- trigger:
- trigger: state
entity_id: sensor.kitchen_dishwasher_program_progress
sensor:
- name: "Dishwasher Energy Consumed"
icon: "mdi:lightning-bolt"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
unique_id: "sensor.kitchen_dishwasher_energy_consumed"
state: >
{% set delta = (trigger.to_state.state | float(0)) - (trigger.from_state.state | float(0)) %}
{% set current = (states.sensor.kitchen_dishwasher_energy_consumed.state | float(0)) %}
{% set act_prgm = states.select.kitchen_dishwasher_active_program.state %}
{% set frst = trigger.from_state.state %}
{% set prgms = { "dishcare_dishwasher_program_intensiv_70": 1.6, "dishcare_dishwasher_program_eco_50": 1.2 } %}
{% if delta > 0.0 and frst != 'unknown' and frst != 'unavailable' and act_prgm != 'unknown' and act_prgm != 'unavailable' and prgms[act_prgm] != 'unknown' and prgms[act_prgm] != 'unavailable' %} %}
{{ current + (delta * prgms[act_prgm])/100 | round(3) }}
{% else %}
{{ current | round(3) }}
{% endif %}
The problem is: It always reports zero. I have tested the same config with my car, and it works:
- trigger:
- trigger: state
entity_id: sensor.snowwhite_energy_added
sensor:
- name: "Snowwhite Charge Added"
icon: "mdi:ev-station"
device_class: "energy"
state_class: "total_increasing"
unit_of_measurement: "kWh"
unique_id: "sensor.snowwhite_charge_added"
state: >
{% set delta = (trigger.to_state.state | float(0)) - (trigger.from_state.state | float(0)) %}
{% set current = (states.sensor.snowwhite_charge_added.state | float(0)) %}
{% set loc = states.device_tracker.snowwhite_location_tracker.state %}
{% set frst = trigger.from_state.state %}
{% if delta > 0 and frst != 'unknown' and frst != 'unavailable' and loc == 'home' %}
{{ current + delta | round(2) }}
{% else %}
{{ current | round(2) }}
{% endif %}
Looking at the chart for the trigger sensor, it looks like something it should work, but it doesn’t:
What is going on here? What am I missing? How can I troubleshoot this?