Archived
more automation included
This commit is contained in:
@@ -1,70 +0,0 @@
|
|||||||
- alias: DHW Boiler Heater Relay Automation
|
|
||||||
description: >-
|
|
||||||
This automation makes sure the boiler auxiliary heater only works when the
|
|
||||||
boost is required and the heatpump aux heater is not on
|
|
||||||
triggers:
|
|
||||||
- trigger: state
|
|
||||||
entity_id:
|
|
||||||
- binary_sensor.dhw_use_boiler_aux_heater
|
|
||||||
conditions: []
|
|
||||||
actions:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: binary_sensor.dhw_use_boiler_aux_heater
|
|
||||||
state: "on"
|
|
||||||
then:
|
|
||||||
- type: turn_on
|
|
||||||
device_id: b6129664e9bea24cdab57a9c743b885d
|
|
||||||
entity_id: 1b7e7c5bd07a3823f8df13b623f95e0a
|
|
||||||
domain: switch
|
|
||||||
else:
|
|
||||||
- type: turn_off
|
|
||||||
device_id: b6129664e9bea24cdab57a9c743b885d
|
|
||||||
entity_id: 1b7e7c5bd07a3823f8df13b623f95e0a
|
|
||||||
domain: switch
|
|
||||||
mode: single
|
|
||||||
|
|
||||||
- alias: DHW Manage PV Thermostat
|
|
||||||
description: Controls shadow thermostat based on PV excess availability
|
|
||||||
mode: restart
|
|
||||||
trigger:
|
|
||||||
# Trigger when PV power becomes sufficient (with delay)
|
|
||||||
- platform: state
|
|
||||||
entity_id: binary_sensor.dhw_pv_power_enough_for_aux_heater
|
|
||||||
to: "on"
|
|
||||||
for:
|
|
||||||
minutes: "{{ states('input_number.dhw_pv_excess_usage_start_delay')|int }}"
|
|
||||||
id: "turn_on"
|
|
||||||
|
|
||||||
# Trigger when PV power becomes insufficient (with delay)
|
|
||||||
- platform: state
|
|
||||||
entity_id: binary_sensor.dhw_pv_power_enough_for_aux_heater
|
|
||||||
to: "off"
|
|
||||||
for:
|
|
||||||
minutes: "{{ states('input_number.dhw_pv_excess_usage_stop_delay')|int }}"
|
|
||||||
id: "turn_off"
|
|
||||||
action:
|
|
||||||
- choose:
|
|
||||||
- conditions:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.dhw_use_excess_pv_for_aux_heater
|
|
||||||
state: "on"
|
|
||||||
- condition: trigger
|
|
||||||
id: "turn_on"
|
|
||||||
sequence:
|
|
||||||
- service: climate.set_temperature
|
|
||||||
target:
|
|
||||||
entity_id: climate.dhw_pv_excess_heating
|
|
||||||
data:
|
|
||||||
temperature: "{{ states('input_number.dhw_pv_target_temperature') | float }}"
|
|
||||||
hvac_mode: "heat"
|
|
||||||
|
|
||||||
- conditions:
|
|
||||||
- condition: trigger
|
|
||||||
id: "turn_off"
|
|
||||||
sequence:
|
|
||||||
- service: climate.set_hvac_mode
|
|
||||||
target:
|
|
||||||
entity_id: climate.dhw_pv_excess_heating
|
|
||||||
data:
|
|
||||||
hvac_mode: "off"
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
- platform: generic_thermostat
|
|
||||||
name: "DHW PV Excess Heating"
|
|
||||||
heater: input_boolean.boiler_pv_dummy_heater
|
|
||||||
target_sensor: sensor.boiler_temp
|
|
||||||
min_temp: 10
|
|
||||||
max_temp: 70
|
|
||||||
cold_tolerance: 1
|
|
||||||
hot_tolerance: 0.5
|
|
||||||
min_cycle_duration:
|
|
||||||
minutes: 2
|
|
||||||
initial_hvac_mode: "off"
|
|
||||||
precision: 0.1
|
|
||||||
|
|
||||||
- platform: generic_thermostat
|
|
||||||
name: "Boiler Temperature"
|
|
||||||
heater: input_boolean.boiler_pv_dummy_heater # Uses the dummy switch
|
|
||||||
target_sensor: sensor.boiler_temp # Or whatever sensor you're using from heatpump
|
|
||||||
min_temp: 10
|
|
||||||
max_temp: 70
|
|
||||||
cold_tolerance: 4.0
|
|
||||||
hot_tolerance: 1.0
|
|
||||||
min_cycle_duration:
|
|
||||||
minutes: 2
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
dhw_aux_heater_manual_override:
|
|
||||||
name: "DHW Aux Heater Manual Override"
|
|
||||||
icon: mdi:water-boiler
|
|
||||||
|
|
||||||
dhw_allow_aux_heater_usage:
|
|
||||||
name: "DHW Allow Aux Heater Usage"
|
|
||||||
icon: mdi:check-circle
|
|
||||||
|
|
||||||
dhw_use_excess_pv_for_aux_heater:
|
|
||||||
name: "DHW Use Excess PV for Aux Heater"
|
|
||||||
icon: mdi:solar-power
|
|
||||||
|
|
||||||
dhw_allow_aux_heater_in_all_modes:
|
|
||||||
name: "DHW Allow Aux Heater in All Modes"
|
|
||||||
icon: mdi:thermostat
|
|
||||||
|
|
||||||
# Dummy switch for shadow thermostat
|
|
||||||
boiler_pv_dummy_heater:
|
|
||||||
name: "Boiler PV Dummy Heater"
|
|
||||||
icon: mdi:flash
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
dhw_aux_heater_cut_off_temperature_threshold:
|
|
||||||
name: "DHW Aux Heater Cut-off Temperature Threshold"
|
|
||||||
min: 50
|
|
||||||
max: 85
|
|
||||||
step: 1
|
|
||||||
unit_of_measurement: "°C"
|
|
||||||
icon: mdi:thermometer-high
|
|
||||||
|
|
||||||
dhw_aux_heater_temperature_threshold:
|
|
||||||
name: "DHW Aux Heater Temperature Threshold"
|
|
||||||
min: 1
|
|
||||||
max: 15
|
|
||||||
step: 0.5
|
|
||||||
unit_of_measurement: "°C"
|
|
||||||
icon: mdi:thermometer-lines
|
|
||||||
|
|
||||||
dhw_pv_target_temperature:
|
|
||||||
name: "DHW PV Target Temperature"
|
|
||||||
min: 40
|
|
||||||
max: 70
|
|
||||||
step: 1
|
|
||||||
unit_of_measurement: "°C"
|
|
||||||
icon: mdi:solar-power
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
- binary_sensor:
|
|
||||||
|
|
||||||
- name: "DHW: Use Boiler Aux Heater"
|
|
||||||
unique_id: "dhw_config_use_boiler_aux_heater"
|
|
||||||
state: >
|
|
||||||
{% set manual_on = states('input_boolean.dhw_aux_heater_manual_override') == 'on' %}
|
|
||||||
{% set hp_aux_off = states('sensor.heat_pump_auxiliary_heater') != 'on' %}
|
|
||||||
{% set boiler_aux_allowed = states('input_boolean.dhw_allow_aux_heater_usage') == 'on' %}
|
|
||||||
{% set boiler_temp_ok = states('sensor.boiler_temp')|float < states('input_number.dhw_aux_heater_cut_off_temperature_threshold')|float %}
|
|
||||||
{# allowed checks if the resistance is permitted to run, mostly to check we're not running both boiler and HP resistance at the same time #}
|
|
||||||
{% set allowed = hp_aux_off and boiler_aux_allowed and boiler_temp_ok %}
|
|
||||||
{# here go various other conditions that influence the decision to run the boiler auxiliary heater #}
|
|
||||||
{# PV Excess to boiler - now using shadow thermostat #}
|
|
||||||
{% set pv_excess = states('input_boolean.dhw_use_excess_pv_for_aux_heater') == 'on' and
|
|
||||||
state_attr('climate.dhw_pv_excess_heating', 'hvac_action') == 'heating' %}
|
|
||||||
{% set thermostat_activity_boost = state_attr('climate.boiler_temperature','preset_mode') == 'activity' and
|
|
||||||
state_attr('climate.boiler_temperature','hvac_action') == 'heating'%}
|
|
||||||
{% set thermostat_normal_boost = states('input_boolean.dhw_allow_aux_heater_in_all_modes') == 'on' and
|
|
||||||
state_attr('climate.boiler_temperature','hvac_action') == 'heating'%}
|
|
||||||
{{ manual_on or
|
|
||||||
(allowed and (
|
|
||||||
pv_excess or
|
|
||||||
thermostat_activity_boost or
|
|
||||||
thermostat_normal_boost
|
|
||||||
)) }}
|
|
||||||
|
|
||||||
- name: "DHW: PV Power Enough for Aux Heater "
|
|
||||||
unique_id: "dhw_pv_power_enough_for_aux_heater"
|
|
||||||
state: >
|
|
||||||
{% set phase_buffer = states('input_number.dhw_pv_excess_usage_buffer')|float / 3 %}
|
|
||||||
{% set phase_heater_power= states('input_number.dhw_aux_heater_power')|float /3 %}
|
|
||||||
{% set turn_on_threshold = -1*(phase_buffer+phase_heater_power) %}
|
|
||||||
{% if is_state('switch.boiler_heater_relay_switch_0', 'on') %}
|
|
||||||
{{ states('sensor.deye_12_external_ct1_power')|float <= 0
|
|
||||||
and states('sensor.deye_12_external_ct2_power')|float <= 0
|
|
||||||
and states('sensor.deye_12_external_ct3_power')|float <= 0 }}
|
|
||||||
{% else %}
|
|
||||||
{{ states('sensor.deye_12_external_ct1_power')|float < turn_on_threshold
|
|
||||||
and states('sensor.deye_12_external_ct2_power')|float < turn_on_threshold
|
|
||||||
and states('sensor.deye_12_external_ct3_power')|float < turn_on_threshold }}
|
|
||||||
{% endif %}
|
|
||||||
device_class: power
|
|
||||||
Reference in New Issue
Block a user