diff --git a/README.md b/README.md index 4e298c9..9dbba0d 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,14 @@ should be enough length in the wires to move the lid with the switch connected o - There are so many variations for HASS configs, that definite instructions are hard to do. - All the YAMLs are intended to be copy-pasted to `configuration.yaml` (or files included to configuration.yaml) + - Contents of `homeassistant/automations.yaml` to automations.yaml in your HA `config/` folder + - Contents of `homeassistant/homeassistant-rest.yaml` and `homeassistant/helpers.yaml` to configuration.yaml in your HA `config/` folder + - Replace IP_ADDRESS with the correct IP address, for example with sed: `sed -i 's/IP_ADDRESS/192.168.4.5/g' configuration.yaml` + - If you set a different port for enervent-ctrl, use `sed -i 's/IP_ADDRESS:8888/192.168.4.5:9999/g' configuration.yaml` + - Dashboard: + - create an empty dashboard + - opening the YAML editor in the HA Lovelace UI + - copy the contents from `homeassistant/dashboard-en/fi.yaml` to the editor as-is. - Change the IP address, port, username and password according to your configuration - Restart Home Assistant (A full reload doesn't seem to be enough for all REST integration features to update) diff --git a/homeassistant/automations.yaml b/homeassistant/automations.yaml index 2a222ba..226bb3b 100644 --- a/homeassistant/automations.yaml +++ b/homeassistant/automations.yaml @@ -1,574 +1,572 @@ -automation: +## 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 - ## 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: +## 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 - - 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: + 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 - 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 + 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 - 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 + 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 - 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 + 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 - 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 + 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 - 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 + else: + - service: input_boolean.turn_off + data: { } + target: 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: "" - trigger: - - platform: state - entity_id: - - input_boolean.penguin_max_heating - condition: [ ] - action: - - if: - - condition: state + mode: single +- alias: Penguin Max Heating input v0.2.0 + description: "" + trigger: + - platform: state + entity_id: + - input_boolean.penguin_max_heating + condition: [ ] + action: + - if: + - condition: state + entity_id: input_boolean.penguin_max_heating + state: "on" + - condition: state + entity_id: binary_sensor.penguin_max_heating + state: "off" + - condition: numeric_state + entity_id: sensor.penguin_room_temperature_1 + below: input_number.penguin_temperature_setting_helper + then: + - service: rest_command.penguin_max_heating_on + data: { } + else: [ ] + - if: + - condition: state + entity_id: input_boolean.penguin_max_heating + state: "off" + then: + - service: rest_command.penguin_max_heating_off + data: { } + - if: + - condition: numeric_state + entity_id: sensor.penguin_room_temperature_1 + above: input_number.penguin_temperature_setting_helper + - condition: state + entity_id: input_boolean.penguin_max_heating + state: "on" + then: + - service: input_boolean.turn_off + data: { } + target: entity_id: input_boolean.penguin_max_heating - state: "on" - - condition: state - entity_id: binary_sensor.penguin_max_heating - state: "off" - - condition: numeric_state - entity_id: sensor.penguin_room_temperature_1 - below: input_number.penguin_temperature_setting_helper - then: - - service: rest_command.penguin_max_heating_on - data: { } - else: [ ] - - if: - - condition: state + mode: single +- alias: Penguin Max Heating sensor v0.2.0 + description: "" + trigger: + - platform: state + entity_id: + - binary_sensor.penguin_max_heating + condition: [ ] + action: + - if: + - condition: state + entity_id: binary_sensor.penguin_max_heating + state: "on" + then: + - service: input_boolean.turn_on + data: { } + target: entity_id: input_boolean.penguin_max_heating - state: "off" - then: - - service: rest_command.penguin_max_heating_off - data: { } - - if: - - condition: numeric_state - entity_id: sensor.penguin_room_temperature_1 - above: input_number.penguin_temperature_setting_helper - - condition: state + else: + - service: input_boolean.turn_off + data: { } + target: entity_id: input_boolean.penguin_max_heating - state: "on" - then: - - service: input_boolean.turn_off - data: { } - target: - entity_id: input_boolean.penguin_max_heating - mode: single - - alias: Penguin Max Heating sensor v0.2.0 - description: "" - trigger: - - platform: state - entity_id: - - binary_sensor.penguin_max_heating - condition: [ ] - action: - - if: - - condition: state - entity_id: binary_sensor.penguin_max_heating - state: "on" - then: - - service: input_boolean.turn_on - data: { } - target: - entity_id: input_boolean.penguin_max_heating - else: - - service: input_boolean.turn_off - data: { } - target: - entity_id: input_boolean.penguin_max_heating - mode: single - - alias: Penguin overpressure input v0.2.0 - description: "" - trigger: - - platform: state - entity_id: - - input_boolean.penguin_overpressure - condition: [ ] - action: - - if: - - condition: state + mode: single +- alias: Penguin overpressure input v0.2.0 + description: "" + trigger: + - platform: state + entity_id: + - input_boolean.penguin_overpressure + condition: [ ] + action: + - if: + - condition: state + 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" + then: + - service: input_boolean.turn_on + data: { } + target: 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" - then: - - service: input_boolean.turn_on - data: { } - target: - entity_id: input_boolean.penguin_overpressure - else: - - service: input_boolean.turn_off - data: { } - target: - entity_id: input_boolean.penguin_overpressure - mode: single - - alias: Penguin SNC input v0.2.0 - description: "" - trigger: - - platform: state - entity_id: - - input_boolean.penguin_snc - condition: [ ] - action: - - if: - - condition: state - entity_id: input_boolean.penguin_snc - state: "on" - then: - - service: rest_command.penguin_snc_enable - data: { } - else: - - service: rest_command.penguin_snc_disable - data: { } - mode: single - - alias: Penguin temperature down v0.2.0 - description: "" - 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 \ No newline at end of file + else: + - service: input_boolean.turn_off + data: { } + target: + entity_id: input_boolean.penguin_overpressure + mode: single +- alias: Penguin SNC input v0.2.0 + description: "" + trigger: + - platform: state + entity_id: + - input_boolean.penguin_snc + condition: [ ] + action: + - if: + - condition: state + entity_id: input_boolean.penguin_snc + state: "on" + then: + - service: rest_command.penguin_snc_enable + data: { } + else: + - service: rest_command.penguin_snc_disable + data: { } + mode: single +- alias: Penguin temperature down v0.2.0 + description: "" + 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 \ No newline at end of file