# ems-esp # Aktuelle Warmwassertemperatur: sensor.boiler_dhw_current_intern_temperature # Soll Warmwassertemperatur: sensor.boiler_dhw_set_temperature # Soll Warmwassertemperatur: (einstellen) number.boiler_dhw_comfort_switch_off # DHW Heizen aktiv: binary_sensor.boiler_dhw_charging # sh15t # MPPT Total Power: sensor.sh15t_mppt_total_power # Total Export Active Power: sensor.sh15t_total_export_active_power template: - sensor: - name: "DHW Boost available" state: > {% set dhw_temp = states('sensor.boiler_dhw_current_intern_temperature') | float %} {% set dhw_setpoint = states('sensor.boiler_dhw_set_temperature') | float %} {% set temp_diff = dhw_setpoint - dhw_temp %} {{ temp_diff > 5 }} - name: "DHW Boost Demand" state: > {% set excess = states('sensor.sh15t_total_export_active_power') | float %} {% set dhw_available = states('sensor.dhw_boost_available') %} {% set wp_power = states('input_number.dhw_pv_min_excess') | float %} {{ excess > wp_power and dhw_available }} - binary_sensor: - name: "DHW PV Boost active" state: > {{ states('input_boolean.dhw_pv_boost_enabled') == 'on' and states('sensor.dhw_boost_demand') }} input_boolean: dhw_pv_boost_enabled: name: "DHW PV Boost enabled" icon: mdi:water-boiler-auto initial: false input_number: dhw_pv_boost_temp: name: "DHW PV Boost Setpoint temperature" min: 45 max: 65 step: 1 unit_of_measurement: "°C" initial: 60 dhw_pv_min_excess: name: "Minimal PV Excess for DHW" min: 1 max: 5 step: 0.1 unit_of_measurement: "kW" initial: 2 input_datetime: dhw_pv_boost_start: name: "PV-Boost Earliest Start Time" has_time: true initial: "10:00:00" dhw_pv_boost_end: name: "PV-Boost Latest End Time" has_time: true initial: "17:00:00" # automation: # - id: 'dhw_pv_boost_start' # alias: "DHW PV-Boost Start" # trigger: # - platform: numeric_state # entity_id: sensor.sh15t_total_export_active_power # above: input_number.dhw_pv_min_excess # for: # minutes: 5 # condition: # - condition: state # entity_id: input_boolean.dhw_pv_boost_enabled # state: 'on' # - condition: time # after: input_datetime.dhw_pv_boost_start # before: input_datetime.dhw_pv_boost_end # - condition: numeric_state # entity_id: sensor.boiler_dhw_current_intern_temperature # below: input_number.dhw_pv_boost_temp # - condition: state # entity_id: binary_sensor.boiler_dhw_charging # state: 'off' # action: # - service: number.set_value # target: # entity_id: number.boiler_dhw_set_temperature # data: # value: "{{ states('input_number.dhw_pv_boost_temp') }}" # - service: switch.turn_on # target: # entity_id: switch.boiler_dhw_comfort # - service: script.cobe_haus_benachrichtigung # data: # message: "DHW PV-Boost started - Excess: {{ states('sensor.sh15t_total_export_active_power') }}kW" # title: "COBE Haus - DHW PV-Boost" # - id: 'dhw_pv_boost_stop' # alias: "DHW PV-Boost Stop" # trigger: # - platform: numeric_state # entity_id: sensor.sh15t_total_export_active_power # below: 1.0 # for: # minutes: 10 # - platform: numeric_state # entity_id: sensor.boiler_dhw_current_intern_temperature # above: input_number.dhw_pv_boost_temp # - platform: time # at: input_datetime.dhw_pv_boost_end # condition: # - condition: state # entity_id: binary_sensor.dhw_pv_boost_aktiv # state: 'on' # action: # - service: number.set_value # target: # entity_id: number.boiler_dhw_set_temperature # data: # value: 50 # - service: switch.turn_off # target: # entity_id: switch.boiler_dhw_comfort # - service: script.cobe_haus_benachrichtigung # data: # message: "DHW PV-Boost stopped - Temperature reached or excess too low" # title: "COBE Haus - DHW PV-Boost"