Compare commits
2 Commits
2c00babf4d
...
6431315462
Author | SHA1 | Date |
---|---|---|
Jarno Rankinen | 6431315462 | |
Jarno Rankinen | 11debcecc5 |
|
@ -1,12 +1,390 @@
|
||||||
automation:
|
automation:
|
||||||
## Max heating
|
|
||||||
- alias: Penguin Max Heating input
|
## FAN / HEATER CONTROL AUTOMATIONS
|
||||||
|
## THESE WILL AFFECT THE BEHAVIOUR OF THE UNIT
|
||||||
|
- alias: Penguin Auto Heater Disable v0.2.0
|
||||||
|
description: |-
|
||||||
|
Temperature is 0.5 over setpoint and outside temperature over 10
|
||||||
|
-> heater off
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- sensor.penguin_temperature_delta
|
||||||
|
for:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 0
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
above: 0.5
|
||||||
|
condition:
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_intake_air
|
||||||
|
above: 10
|
||||||
|
value_template: " {{ states['sensor.penguin_intake_air'].state }}"
|
||||||
|
- condition: state
|
||||||
|
entity_id: sun.sun
|
||||||
|
state: above_horizon
|
||||||
|
action:
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 15
|
||||||
|
seconds: 0
|
||||||
|
milliseconds: 0
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_intake_air
|
||||||
|
above: 10
|
||||||
|
value_template: "{{ states['sensor.penguin_intake_air'].state }}"
|
||||||
|
- service: rest_command.penguin_heater_disable
|
||||||
|
data: { }
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_after_heater
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
- service: rest_command.penguin_circulation_adaptive
|
||||||
|
data: { }
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin Auto Heater Enable v0.2.0
|
||||||
|
description: |-
|
||||||
|
Temperature below setpoint
|
||||||
|
-> heater on
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
below: 0
|
||||||
|
- platform: sun
|
||||||
|
event: sunset
|
||||||
|
offset: 0
|
||||||
|
enabled: true
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- service: rest_command.penguin_heater_enable
|
||||||
|
data: { }
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_after_heater
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin Auto Heating increase v0.2.0
|
||||||
|
description: |-
|
||||||
|
Temperature 0.2 below setpoint
|
||||||
|
-> circulation fan to manual
|
||||||
|
-> max heating on
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
below: -0.2
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 15
|
||||||
|
seconds: 0
|
||||||
|
milliseconds: 0
|
||||||
|
enabled: true
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
below: -0.2
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_fan_control
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_max_heating_on
|
||||||
|
data: { }
|
||||||
|
- service: rest_command.penguin_circulation_manual
|
||||||
|
data: { }
|
||||||
|
enabled: false
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
- service: rest_command.penguin_max_heating_on
|
||||||
|
data: { }
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin Auto Heating decrease v0.2.0
|
||||||
|
description: |-
|
||||||
|
Temperature 0.2 over setpoint
|
||||||
|
-> adaptive circulation on (fan should go to minimum allowed)
|
||||||
|
This works sometimes, sometimes doesn't, you may want to disable this
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
above: 0.2
|
||||||
|
condition:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_fan_control
|
||||||
|
state: "on"
|
||||||
|
action:
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 15
|
||||||
|
seconds: 0
|
||||||
|
milliseconds: 0
|
||||||
|
enabled: true
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
above: 0.2
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_fan_control
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_circulation_adaptive
|
||||||
|
data: { }
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin Auto Max Heating v0.2.0
|
||||||
|
description: |-
|
||||||
|
Temperature 0.3 below setpoint
|
||||||
|
-> Max heat and max circulation (adaptive circulation on, with max heating means max fan setting)
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
below: -0.3
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 15
|
||||||
|
seconds: 0
|
||||||
|
milliseconds: 0
|
||||||
|
enabled: true
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_temperature_delta
|
||||||
|
below: -0.3
|
||||||
|
value_template: "{{ states['sensor.penguin_temperature_delta'].state }}"
|
||||||
|
enabled: true
|
||||||
|
- service: rest_command.penguin_max_heating_off
|
||||||
|
data: { }
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_fan_control
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_circulation_adaptive
|
||||||
|
data: { }
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
- service: rest_command.penguin_max_heating_on
|
||||||
|
data: { }
|
||||||
|
mode: single
|
||||||
|
|
||||||
|
## DASHBOARD TOGGLE/SETTING RELATED AUTOMATIONS
|
||||||
|
## REQUIRED FOR e.g. SETTING THE TEMPERATURE SETPOINT VIA HA AND OTHER ACTIONS
|
||||||
|
- alias: Penguin After Heater Input v0.2.0
|
||||||
|
description: "Actions to take when input_boolean.penguin_after_heater is toggled"
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.penguin_after_heater
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_after_heater
|
||||||
|
state: "on"
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_after_heater_enabled
|
||||||
|
state: "off"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_heater_enable
|
||||||
|
data: { }
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_after_heater
|
||||||
|
state: "off"
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_after_heater_enabled
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_heater_disable
|
||||||
|
data: { }
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin boost input v0.2.0
|
||||||
|
description: "Actions when toggling input_boolean.penguin_boost"
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.penguin_boost
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_boost
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_boost_on
|
||||||
|
data: { }
|
||||||
|
else:
|
||||||
|
- service: rest_command.penguin_boost_off
|
||||||
|
data: { }
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_boost
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_boost
|
||||||
|
else:
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_boost
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin circulation fan mode sensor v0.2.0
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- binary_sensor.penguin_circulation_adaptive
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_circulation_adaptive
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
||||||
|
else:
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 2
|
||||||
|
milliseconds: 0
|
||||||
|
- service: homeassistant.update_entity
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: sensor.penguin_circulation_fan_pct
|
||||||
|
- service: homeassistant.update_entity
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: sensor.penguin_operating_mode
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin circulation fan mode v0.2.0
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.penguin_circulation_fan_adaptive
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_circulation_adaptive
|
||||||
|
data: { }
|
||||||
|
else:
|
||||||
|
- service: rest_command.penguin_circulation_manual
|
||||||
|
data: { }
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin max cooling input v0.2.0
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.penguin_max_cooling
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_max_cooling
|
||||||
|
state: "on"
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_max_cooling
|
||||||
|
state: "off"
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_room_temperature_1
|
||||||
|
above: input_number.penguin_temperature_setting_helper
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_max_cooling_on
|
||||||
|
data: { }
|
||||||
|
else: [ ]
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_max_cooling
|
||||||
|
state: "off"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_max_cooling_off
|
||||||
|
data: { }
|
||||||
|
- if:
|
||||||
|
- condition: numeric_state
|
||||||
|
entity_id: sensor.penguin_room_temperature_1
|
||||||
|
below: input_number.penguin_temperature_setting_helper
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.penguin_max_cooling
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_max_cooling
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin max cooling sensor v0.2.0
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- binary_sensor.penguin_max_cooling
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_max_cooling
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_max_cooling
|
||||||
|
else:
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.penguin_max_cooling
|
||||||
|
mode: single
|
||||||
|
- alias: Penguin Max Heating input v0.2.0
|
||||||
description: ""
|
description: ""
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
- input_boolean.penguin_max_heating
|
- input_boolean.penguin_max_heating
|
||||||
condition: []
|
condition: [ ]
|
||||||
action:
|
action:
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
|
@ -20,15 +398,15 @@ automation:
|
||||||
below: input_number.penguin_temperature_setting_helper
|
below: input_number.penguin_temperature_setting_helper
|
||||||
then:
|
then:
|
||||||
- service: rest_command.penguin_max_heating_on
|
- service: rest_command.penguin_max_heating_on
|
||||||
data: {}
|
data: { }
|
||||||
else: []
|
else: [ ]
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: input_boolean.penguin_max_heating
|
entity_id: input_boolean.penguin_max_heating
|
||||||
state: "off"
|
state: "off"
|
||||||
then:
|
then:
|
||||||
- service: rest_command.penguin_max_heating_off
|
- service: rest_command.penguin_max_heating_off
|
||||||
data: {}
|
data: { }
|
||||||
- if:
|
- if:
|
||||||
- condition: numeric_state
|
- condition: numeric_state
|
||||||
entity_id: sensor.penguin_room_temperature_1
|
entity_id: sensor.penguin_room_temperature_1
|
||||||
|
@ -38,17 +416,17 @@ automation:
|
||||||
state: "on"
|
state: "on"
|
||||||
then:
|
then:
|
||||||
- service: input_boolean.turn_off
|
- service: input_boolean.turn_off
|
||||||
data: {}
|
data: { }
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.penguin_max_heating
|
entity_id: input_boolean.penguin_max_heating
|
||||||
mode: single
|
mode: single
|
||||||
- alias: Penguin Max Heating sensor
|
- alias: Penguin Max Heating sensor v0.2.0
|
||||||
description: ""
|
description: ""
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
- binary_sensor.penguin_max_heating
|
- binary_sensor.penguin_max_heating
|
||||||
condition: []
|
condition: [ ]
|
||||||
action:
|
action:
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
|
@ -56,184 +434,141 @@ automation:
|
||||||
state: "on"
|
state: "on"
|
||||||
then:
|
then:
|
||||||
- service: input_boolean.turn_on
|
- service: input_boolean.turn_on
|
||||||
data: {}
|
data: { }
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.penguin_max_heating
|
entity_id: input_boolean.penguin_max_heating
|
||||||
else:
|
else:
|
||||||
- service: input_boolean.turn_off
|
- service: input_boolean.turn_off
|
||||||
data: {}
|
data: { }
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.penguin_max_heating
|
entity_id: input_boolean.penguin_max_heating
|
||||||
mode: single
|
mode: single
|
||||||
|
- alias: Penguin overpressure input v0.2.0
|
||||||
|
|
||||||
## Max cooling
|
|
||||||
- alias: Penguin max cooling sensor
|
|
||||||
description: ""
|
description: ""
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
- binary_sensor.penguin_max_cooling
|
- input_boolean.penguin_overpressure
|
||||||
condition: []
|
condition: [ ]
|
||||||
action:
|
action:
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: binary_sensor.penguin_max_cooling
|
entity_id: input_boolean.penguin_overpressure
|
||||||
|
state: "on"
|
||||||
|
then:
|
||||||
|
- service: rest_command.penguin_overpressure_on
|
||||||
|
data: { }
|
||||||
|
else:
|
||||||
|
- service: rest_command.penguin_overpressure_off
|
||||||
|
data: { }
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 5
|
||||||
|
milliseconds: 0
|
||||||
|
- if:
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.penguin_overpressure
|
||||||
state: "on"
|
state: "on"
|
||||||
then:
|
then:
|
||||||
- service: input_boolean.turn_on
|
- service: input_boolean.turn_on
|
||||||
data: {}
|
data: { }
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.penguin_max_cooling
|
entity_id: input_boolean.penguin_overpressure
|
||||||
else:
|
else:
|
||||||
- service: input_boolean.turn_off
|
- service: input_boolean.turn_off
|
||||||
data: {}
|
data: { }
|
||||||
target:
|
target:
|
||||||
entity_id: input_boolean.penguin_max_cooling
|
entity_id: input_boolean.penguin_overpressure
|
||||||
mode: single
|
mode: single
|
||||||
- alias: Penguin max cooling input
|
- alias: Penguin SNC input v0.2.0
|
||||||
description: ""
|
|
||||||
trigger:
|
|
||||||
- platform: state
|
|
||||||
entity_id:
|
|
||||||
- input_boolean.penguin_max_cooling
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.penguin_max_cooling
|
|
||||||
state: "on"
|
|
||||||
- condition: state
|
|
||||||
entity_id: binary_sensor.penguin_max_cooling
|
|
||||||
state: "off"
|
|
||||||
- condition: numeric_state
|
|
||||||
entity_id: sensor.penguin_room_temperature_1
|
|
||||||
above: input_number.penguin_temperature_setting_helper
|
|
||||||
then:
|
|
||||||
- service: rest_command.penguin_max_cooling_on
|
|
||||||
data: {}
|
|
||||||
else: []
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.penguin_max_cooling
|
|
||||||
state: "off"
|
|
||||||
then:
|
|
||||||
- service: rest_command.penguin_max_cooling_off
|
|
||||||
data: {}
|
|
||||||
- if:
|
|
||||||
- condition: numeric_state
|
|
||||||
entity_id: sensor.penguin_room_temperature_1
|
|
||||||
below: input_number.penguin_temperature_setting_helper
|
|
||||||
- condition: state
|
|
||||||
entity_id: input_boolean.penguin_max_cooling
|
|
||||||
state: "on"
|
|
||||||
then:
|
|
||||||
- service: input_boolean.turn_off
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: input_boolean.penguin_max_cooling
|
|
||||||
mode: single
|
|
||||||
|
|
||||||
|
|
||||||
## Circulation fan mode
|
|
||||||
- alias: Penguin circulation fan mode
|
|
||||||
description: ""
|
description: ""
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id:
|
entity_id:
|
||||||
- input_boolean.penguin_circulation_fan_adaptive
|
- input_boolean.penguin_snc
|
||||||
condition: []
|
condition: [ ]
|
||||||
action:
|
action:
|
||||||
- if:
|
- if:
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
entity_id: input_boolean.penguin_snc
|
||||||
state: "on"
|
state: "on"
|
||||||
then:
|
then:
|
||||||
- service: rest_command.penguin_circulation_adaptive
|
- service: rest_command.penguin_snc_enable
|
||||||
data: {}
|
data: { }
|
||||||
- if:
|
else:
|
||||||
- condition: state
|
- service: rest_command.penguin_snc_disable
|
||||||
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
data: { }
|
||||||
state: "off"
|
mode: single
|
||||||
then:
|
- alias: Penguin temperature down v0.2.0
|
||||||
- service: rest_command.penguin_circulation_manual
|
description: ""
|
||||||
data: {}
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_button.penguin_temperature_down
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- service: input_number.decrement
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_number.penguin_temperature_setting_helper
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 3
|
||||||
|
milliseconds: 0
|
||||||
|
- service: rest_command.penguin_temperature_set
|
||||||
|
data: { }
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 1
|
||||||
|
milliseconds: 0
|
||||||
|
- service: homeassistant.update_entity
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: sensor.penguin_temperature_setting
|
||||||
|
mode: restart
|
||||||
|
- alias: Penguin temperature up v0.2.0
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_button.penguin_temperature_up
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- service: input_number.increment
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: input_number.penguin_temperature_setting_helper
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 3
|
||||||
|
milliseconds: 0
|
||||||
|
- service: rest_command.penguin_temperature_set
|
||||||
|
data: { }
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 1
|
||||||
|
milliseconds: 0
|
||||||
|
- service: homeassistant.update_entity
|
||||||
|
data: { }
|
||||||
|
target:
|
||||||
|
entity_id: sensor.penguin_temperature_setting
|
||||||
|
mode: restart
|
||||||
|
- alias: Penguin Temperature setting updater v0.2.0
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- sensor.penguin_temperature_setting
|
||||||
|
condition: [ ]
|
||||||
|
action:
|
||||||
|
- service: input_number.set_value
|
||||||
|
data:
|
||||||
|
value: "{{ states('sensor.penguin_temperature_setting') }}"
|
||||||
|
target:
|
||||||
|
entity_id: input_number.penguin_temperature_setting_helper
|
||||||
mode: single
|
mode: single
|
||||||
- alias: Penguin circulation fan mode sensor
|
|
||||||
description: ""
|
|
||||||
trigger:
|
|
||||||
- platform: state
|
|
||||||
entity_id:
|
|
||||||
- binary_sensor.penguin_circulation_adaptive
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- if:
|
|
||||||
- condition: state
|
|
||||||
entity_id: binary_sensor.penguin_circulation_adaptive
|
|
||||||
state: "on"
|
|
||||||
then:
|
|
||||||
- service: input_boolean.turn_on
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
|
||||||
else:
|
|
||||||
- service: input_boolean.turn_off
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: input_boolean.penguin_circulation_fan_adaptive
|
|
||||||
mode: single
|
|
||||||
|
|
||||||
|
|
||||||
## Target temperature setting automations
|
|
||||||
- alias: Penguin temperature down
|
|
||||||
description: ""
|
|
||||||
trigger:
|
|
||||||
- platform: state
|
|
||||||
entity_id:
|
|
||||||
- input_button.penguin_temperature_down
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- service: rest_command.penguin_temperature_down
|
|
||||||
data: {}
|
|
||||||
- service: input_number.decrement
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: input_number.penguin_temperature_setting_helper
|
|
||||||
- service: homeassistant.update_entity
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: sensor.penguin_temperature_setting
|
|
||||||
mode: single
|
|
||||||
- alias: Penguin Temperature setting updater
|
|
||||||
description: ""
|
|
||||||
trigger:
|
|
||||||
- platform: state
|
|
||||||
entity_id:
|
|
||||||
- sensor.penguin_temperature_setting
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- service: input_number.set_value
|
|
||||||
data:
|
|
||||||
value: "{{ states('sensor.penguin_temperature_setting') }}"
|
|
||||||
target:
|
|
||||||
entity_id: input_number.penguin_temperature_setting_helper
|
|
||||||
mode: single
|
|
||||||
- alias: Penguin temperature up
|
|
||||||
description: ""
|
|
||||||
trigger:
|
|
||||||
- platform: state
|
|
||||||
entity_id:
|
|
||||||
- input_button.penguin_temperature_up
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- service: rest_command.penguin_temperature_up
|
|
||||||
data: {}
|
|
||||||
- service: input_number.increment
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: input_number.penguin_temperature_setting_helper
|
|
||||||
- service: homeassistant.update_entity
|
|
||||||
data: {}
|
|
||||||
target:
|
|
||||||
entity_id: sensor.penguin_temperature_setting
|
|
||||||
mode: single
|
|
|
@ -1,5 +1,6 @@
|
||||||
views:
|
views:
|
||||||
- title: Penguin
|
- title: Pingvin
|
||||||
|
icon: mdi:penguin
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
|
@ -24,6 +25,11 @@ views:
|
||||||
- entity: input_boolean.penguin_after_heater
|
- entity: input_boolean.penguin_after_heater
|
||||||
name: Heating allowed
|
name: Heating allowed
|
||||||
secondary_info: last-changed
|
secondary_info: last-changed
|
||||||
|
- entity: input_boolean.penguin_snc
|
||||||
|
icon: mdi:snowflake-thermometer
|
||||||
|
name: Summer Night Cooling
|
||||||
|
- entity: input_boolean.penguin_fan_control
|
||||||
|
name: Circulation Fan Control
|
||||||
state_color: true
|
state_color: true
|
||||||
- square: false
|
- square: false
|
||||||
columns: 4
|
columns: 4
|
||||||
|
@ -122,8 +128,6 @@ views:
|
||||||
name: Outside air 24h avg
|
name: Outside air 24h avg
|
||||||
- entity: sensor.penguin_supply_air_hrc
|
- entity: sensor.penguin_supply_air_hrc
|
||||||
name: Intake after HRC
|
name: Intake after HRC
|
||||||
- entity: sensor.penguin_supply_air_humidity
|
|
||||||
name: Intake humidity
|
|
||||||
- entity: sensor.penguin_supply_air
|
- entity: sensor.penguin_supply_air
|
||||||
name: Supply air
|
name: Supply air
|
||||||
- entity: sensor.penguin_return_water
|
- entity: sensor.penguin_return_water
|
||||||
|
@ -141,5 +145,9 @@ views:
|
||||||
name: HRC Efficiency intake
|
name: HRC Efficiency intake
|
||||||
- entity: sensor.penguin_hrc_efficiency_extract
|
- entity: sensor.penguin_hrc_efficiency_extract
|
||||||
name: HRC Efficiency extract
|
name: HRC Efficiency extract
|
||||||
|
- entity: sensor.penguin_intake_fan_pct
|
||||||
|
name: Intake fan speed
|
||||||
|
- entity: sensor.penguin_exhaust_fan_pct
|
||||||
|
name: Exhaust fan speed
|
||||||
title: Measurements
|
title: Measurements
|
||||||
title: Heating & Ventilation
|
title: Heating & Ventilation
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
views:
|
views:
|
||||||
- title: Penguin
|
- title: Pingvin
|
||||||
|
icon: mdi:penguin
|
||||||
cards:
|
cards:
|
||||||
- type: vertical-stack
|
- type: vertical-stack
|
||||||
cards:
|
cards:
|
||||||
|
@ -24,6 +25,11 @@ views:
|
||||||
- entity: input_boolean.penguin_after_heater
|
- entity: input_boolean.penguin_after_heater
|
||||||
name: Lämmitys sallittu
|
name: Lämmitys sallittu
|
||||||
secondary_info: last-changed
|
secondary_info: last-changed
|
||||||
|
- entity: input_boolean.penguin_snc
|
||||||
|
icon: mdi:snowflake-thermometer
|
||||||
|
name: Kesäyöjäähdytys
|
||||||
|
- entity: input_boolean.penguin_fan_control
|
||||||
|
name: Kiertoilman hallinta
|
||||||
state_color: true
|
state_color: true
|
||||||
- square: false
|
- square: false
|
||||||
columns: 4
|
columns: 4
|
||||||
|
@ -122,8 +128,6 @@ views:
|
||||||
name: Ulkoilma 24h keskiarvo
|
name: Ulkoilma 24h keskiarvo
|
||||||
- entity: sensor.penguin_supply_air_hrc
|
- entity: sensor.penguin_supply_air_hrc
|
||||||
name: Tuloilma LTO jälkeen
|
name: Tuloilma LTO jälkeen
|
||||||
- entity: sensor.penguin_supply_air_humidity
|
|
||||||
name: Tuloilma kosteus
|
|
||||||
- entity: sensor.penguin_supply_air
|
- entity: sensor.penguin_supply_air
|
||||||
name: Tuloilma
|
name: Tuloilma
|
||||||
- entity: sensor.penguin_return_water
|
- entity: sensor.penguin_return_water
|
||||||
|
@ -141,5 +145,9 @@ views:
|
||||||
name: LTO hyötysuhde tuloilma
|
name: LTO hyötysuhde tuloilma
|
||||||
- entity: sensor.penguin_hrc_efficiency_extract
|
- entity: sensor.penguin_hrc_efficiency_extract
|
||||||
name: LTO hyötysuhde poistoilma
|
name: LTO hyötysuhde poistoilma
|
||||||
|
- entity: sensor.penguin_intake_fan_pct
|
||||||
|
name: Puhallin tuloilma
|
||||||
|
- entity: sensor.penguin_exhaust_fan_pct
|
||||||
|
name: Puhallin poistoilma
|
||||||
title: Mittaukset
|
title: Mittaukset
|
||||||
title: Lämmitys & IV
|
title: Lämmitys & IV
|
||||||
|
|
|
@ -9,7 +9,7 @@ input_boolean:
|
||||||
name: Penguin Overpressure
|
name: Penguin Overpressure
|
||||||
icon: mdi:fireplace
|
icon: mdi:fireplace
|
||||||
penguin_boost:
|
penguin_boost:
|
||||||
name: Penguin Overpressure
|
name: Penguin Boost
|
||||||
icon: mdi:fan-plus
|
icon: mdi:fan-plus
|
||||||
penguin_max_cooling:
|
penguin_max_cooling:
|
||||||
name: Penguin Max Cooling
|
name: Penguin Max Cooling
|
||||||
|
@ -17,6 +17,12 @@ input_boolean:
|
||||||
penguin_after_heater:
|
penguin_after_heater:
|
||||||
name: Penguin After Heater
|
name: Penguin After Heater
|
||||||
icon: mdi:heating-coil
|
icon: mdi:heating-coil
|
||||||
|
penguin_snc:
|
||||||
|
name: Penguin Summer Night Cooling
|
||||||
|
icon: mdi:snowflake-thermometer
|
||||||
|
penguin_fan_control:
|
||||||
|
name: Penguin Fan Control
|
||||||
|
icon: mdi:fan-alert
|
||||||
input_button:
|
input_button:
|
||||||
penguin_temperature_up:
|
penguin_temperature_up:
|
||||||
name: Penguin temperature up
|
name: Penguin temperature up
|
||||||
|
@ -30,3 +36,4 @@ input_number:
|
||||||
min: 20
|
min: 20
|
||||||
max: 30
|
max: 30
|
||||||
unit_of_measurement: "°C"
|
unit_of_measurement: "°C"
|
||||||
|
step: 0.5
|
|
@ -28,6 +28,14 @@ rest:
|
||||||
value_template: "{{ value_json['fan_pct'] }}"
|
value_template: "{{ value_json['fan_pct'] }}"
|
||||||
unit_of_measurement: "%"
|
unit_of_measurement: "%"
|
||||||
icon: mdi:fan
|
icon: mdi:fan
|
||||||
|
- name: "Penguin intake fan pct"
|
||||||
|
value_template: "{{ value_json['fan_pct_in'] }}"
|
||||||
|
unit_of_measurement: "%"
|
||||||
|
icon: mdi:fan
|
||||||
|
- name: "Penguin exhaust fan pct"
|
||||||
|
value_template: "{{ value_json['fan_pct_ex'] }}"
|
||||||
|
unit_of_measurement: "%"
|
||||||
|
icon: mdi:fan
|
||||||
- name: "Penguin HRC efficiency intake"
|
- name: "Penguin HRC efficiency intake"
|
||||||
value_template: "{{ value_json['hrc_efficiency_in'] }}"
|
value_template: "{{ value_json['hrc_efficiency_in'] }}"
|
||||||
unit_of_measurement: "%"
|
unit_of_measurement: "%"
|
||||||
|
@ -36,10 +44,6 @@ rest:
|
||||||
value_template: "{{ value_json['hrc_efficiency_ex'] }}"
|
value_template: "{{ value_json['hrc_efficiency_ex'] }}"
|
||||||
unit_of_measurement: "%"
|
unit_of_measurement: "%"
|
||||||
icon: mdi:recycle
|
icon: mdi:recycle
|
||||||
- name: "Penguin days until service"
|
|
||||||
value_template: "{{ value_json['days_until_service'] }}"
|
|
||||||
unit_of_measurement: "pv"
|
|
||||||
icon: mdi:calendar
|
|
||||||
- name: "Penguin supply air"
|
- name: "Penguin supply air"
|
||||||
value_template: "{{ value_json['measurements']['supply_heated'] }}"
|
value_template: "{{ value_json['measurements']['supply_heated'] }}"
|
||||||
unit_of_measurement: "°C"
|
unit_of_measurement: "°C"
|
||||||
|
@ -99,6 +103,9 @@ rest:
|
||||||
- name: "Penguin after heater enabled"
|
- name: "Penguin after heater enabled"
|
||||||
value_template: "{{ value_json['coils'][54]['value'] }}"
|
value_template: "{{ value_json['coils'][54]['value'] }}"
|
||||||
icon: mdi:heating-coil
|
icon: mdi:heating-coil
|
||||||
|
- name: "Penguin summer night cooling enabled"
|
||||||
|
value_template: "{{ value_json['coils'][12]['value'] }}"
|
||||||
|
icon: mdi:heating-coil
|
||||||
|
|
||||||
template:
|
template:
|
||||||
- sensor:
|
- sensor:
|
||||||
|
|
Loading…
Reference in New Issue