Daikin Altherma Hea...
 
Notifications
Clear all

Daikin Altherma Heating Controls using Onecta Integration via Home Assistant

1 Posts
1 Users
0 Reactions
14 Views
(@phil-bell)
New Member Member
Joined: 8 months ago
Posts: 1
Topic starter  

Ok so likely not setting the world on fire here for revolutionary controls but it may help some, especially here in the UK, where Octopus are installing a lot of these Dainkin units.

so they have 2 modes, LWT which runs and balances temps of a heat curve and ignores internal temps. It’s very efficient but doesn’t balance internal comfort without a lot of tinkering.
Then Madoka mode that uses the internal thermostat and constantly messes about with the heat pump, is not great at efficiency but does do comfort well.

So, behold. LWT with some internal reference for the best of both.

\
alias: Heat Pump - Adjust Heat Curve Offset based on Room Temp
triggers:

  • minutes: /30
    trigger: time_pattern
    conditions:
  • condition: numeric_state
    entity_id: sensor.altherma_heat_pump_climatecontrol_room_temperature
    above: 0
    actions:
  • variables:
    room_temp: >
    {{ states(‘sensor.altherma_heat_pump_climatecontrol_room_temperature’) |
    float(21) }}
    current_counter: |
    {{ states(‘input_number.heat_curve_offset_counter’) | float(0) }}
  • choose:
    • conditions:
      • condition: numeric_state
        entity_id: sensor.altherma_heat_pump_climatecontrol_room_temperature
        above: 21.5
      • condition: numeric_state
        entity_id: sensor.altherma_heat_pump_climatecontrol_leaving_water_temperature
        above: 30
        sequence:
      • variables:
        new_value: |
        {% set next = current_counter - 1 %} {% if next < -5 %}
        -5
        {% else %}
        {{ next | int }}
        {% endif %}
      • target:
        entity_id: input_number.heat_curve_offset_counter
        data:
        value: “{{ new_value }}”
        action: input_number.set_value
    • conditions:
      • condition: numeric_state
        entity_id: sensor.altherma_heat_pump_climatecontrol_room_temperature
        below: 20.5
        sequence:
      • variables:
        new_value: |
        {% set next = current_counter + 1 %} {% if next > 5 %}
        5
        {% else %}
        {{ next | int }}
        {% endif %}
      • target:
        entity_id: input_number.heat_curve_offset_counter
        data:
        value: “{{ new_value }}”
        action: input_number.set_value
    • conditions:
      • condition: numeric_state
        entity_id: sensor.altherma_heat_pump_climatecontrol_room_temperature
        above: 20.5
      • condition: numeric_state
        entity_id: sensor.altherma_heat_pump_climatecontrol_room_temperature
        below: 21.5
        sequence:
      • target:
        entity_id: input_number.heat_curve_offset_counter
        data:
        value: 0
        action: input_number.set_value
  • target:
    entity_id: climate.heating_leaving_water_offset
    data:
    temperature: “{{ states(‘input_number.heat_curve_offset_counter’) | int }}”
    action: climate.set_temperature
    mode: single
    \\

This automation will reference the internal thermostat every 30 minutes and then tweak the flow temperature by 1 up or down to help keep the room temp within the ideal mark of 20.5 and 21.5 degrees C.
Its max adjustment is +/- 5 to the flow temperature.

It also needs a helper to track that adjustment value which you can drop into your configuration.yaml

\
input_number:
heat_curve_offset_counter:
name: Heat Curve Offset Counter
min: -5
max: 5
step: 1
mode: box
initial: 0
\\

This has been keeping my house warm now for a good few weeks and stopping the house over heating whilst keeping the heat pump running slow and steady. Give it a look if you’re interested.



   
Quote
Share:

Join Us!

Latest Posts

Click to access the login or register cheese
x  Powerful Protection for WordPress, from Shield Security
This Site Is Protected By
ShieldPRO