Energy consumption of the Lambda

Unfortunately, the Lambda heat pump only passes on the total amount of energy consumed via the modbus interface. It would be interesting to know how many kWh are required for heating and how many kWh for hot water.

As the Lambda passes on the total consumption via a Modbus register “hp1_compressor_power_consumption_accumulated” and the status via another “hp1_operating_state”, the consumption can be calculated.

The status for heating is 1, the status for hot water is 2.

If we now write the “hp1_compressor_power_consumption_accumulated” into a helper when the status of the Register changes to 1 (heating) and save the value again in a helper when the status changes from 1 to another value, we can calculate the difference and thus the energy consumed for this heating process.
Now add a sensor for the total kWh and we can differentiate the energy consumption by type.
To ensure that the value is the same as the value in the lambda interface, we can read the lambda out on the display and set this value as the start value for the sum sensor via the DevTools.

Not soooo difficult. As always, the code is in my git repro. https://github.com/GuidoJeuken-6512/HomeAssistant/tree/main

Here are the sensors:

Sensors

input_number:

  eu08l_energy_hot_water_sum:

    name: “energy_hot_water_sum”

    step: 0.1

    min: 0

    max: 9999999

    unit_of_measurement: “kWh”

  eu08l_energy_hot_water_start:

    name: “energy_hot_water_start”

    step: 0.1

    min: 0

    max: 9999999

    initial: 0

    unit_of_measurement: “kWh”

  eu08l_energy_hot_water_end:

    name: “energy_hot_water_end”

    step: 0.1

    min: 0

    max: 9999999

    initial: 0

    unit_of_measurement: “kWh”

##### Heating Enery Consumption

  eu08l_energy_heating_sum:

    name: “energy_heating_sum”

    step: 0.1

    min: 0

    max: 9999999

    unit_of_measurement: “kWh”

  eu08l_energy_heating_start:

    name: “energy_heating_start”

    step: 0.1

    min: 0

    max: 9999999

    initial: 0

    unit_of_measurement: “kWh”

  eu08l_energy_heating_end:

    name: “energy_heating_end”

    step: 0.1

    min: 0

    max: 9999999

    initial: 0

    unit_of_measurement: “kWh”

And here is the automation. For the second automation to calculate the energy for the hot water, simply adjust the sensors and the trigger.

Automatisation

  – id: ‘1728483475534’

    alias: Heating kWh

    description: ”

    triggers:

    – trigger: state

      entity_id:

      – sensor.eu08l_hp1_operating_state

      from: ‘1’

      id: from2

    – trigger: state

      entity_id:

      – sensor.eu08l_hp1_operating_state

      id: to2

      to: ‘1’

    conditions: []

    actions:

    – choose:

      – conditions:

        – condition: trigger

          id:

          – to2

        sequence:

        – action: input_number.set_value

          metadata: {}

          data:

            value: ‘{{states(”sensor.eu08l_hp1_compressor_power_consumption_accumulated”)

              | float(0) /1000}}’

          target:

            entity_id: input_number.eu08l_energy_heating_start

      – conditions:

        – condition: trigger

          id:

          – from2

        sequence:

        – action: input_number.set_value

          metadata: {}

          data:

            value: ‘{{states(”sensor.eu08l_hp1_compressor_power_consumption_accumulated”)

              | float(0) /1000}}’

          target:

            entity_id: input_number.eu08l_energy_heating_end

        – action: input_number.set_value

          metadata: {}

          data:

            value: ‘{{states(”input_number.eu08l_energy_heating_sum”) | float(0) + (states(”input_number.eu08l_energy_heating_end”)

              |float(0) – states(”input_number.eu08l_energy_heating_start”) |float(0)

              ) | float(0)}}’

          target:

            entity_id: input_number.eu08l_energy_heating_sum

    mode: single

I have not yet built a nice dashboard for this, but here are all the values in the view.

Leave a Comment