From 299c1be96365895d258aedf549e51ed6f8e249fd Mon Sep 17 00:00:00 2001 From: Giorgio Ravera Date: Tue, 29 Dec 2020 16:08:24 +0100 Subject: [PATCH] Added additional Netatmo features (boost / away mode / on-off) --- .storage/lovelace.lovelace_dispositivi | 29 ++-- ...{netatmo_engine.yaml => netatmo_away.yaml} | 17 --- packages/netatmo/netatmo_boost.yaml | 131 ++++++++++++++++++ packages/netatmo/netatmo_on_off.yaml | 90 ++++++++++++ 4 files changed, 242 insertions(+), 25 deletions(-) rename packages/netatmo/{netatmo_engine.yaml => netatmo_away.yaml} (83%) create mode 100644 packages/netatmo/netatmo_boost.yaml create mode 100644 packages/netatmo/netatmo_on_off.yaml diff --git a/.storage/lovelace.lovelace_dispositivi b/.storage/lovelace.lovelace_dispositivi index 99940b04..f682f4a5 100644 --- a/.storage/lovelace.lovelace_dispositivi +++ b/.storage/lovelace.lovelace_dispositivi @@ -198,30 +198,43 @@ "image": "/local/images/devices/netatmo_valve.png" }, { - "type": "custom:battery-state-card", - "title": "Batteria Valvole Netatmo", + "type": "custom:bar-card", "entities": [ { "entity": "sensor.valve_cucina_battery", - "name": "Cucina" + "name": "Cucina", + "width": "85%" }, { "entity": "sensor.valve_sala_battery", - "name": "Sala" + "name": "Sala", + "width": "85%" }, { "entity": "sensor.valve_studio_battery", - "name": "Studio" + "name": "Studio", + "width": "85%" }, { "entity": "sensor.valve_bagno_battery", - "name": "Bagno" + "name": "Bagno", + "width": "85%" }, { "entity": "sensor.valve_camera_da_letto_battery", - "name": "Camera" + "name": "Camera", + "width": "85%" } - ] + ], + "title": "Batteria Valvole Netatmo", + "show_header_toggle": false, + "state_color": false, + "positions": { + "icon": "off", + "indicator": "off", + "name": "outside", + "value": "outside" + } }, { "type": "entities", diff --git a/packages/netatmo/netatmo_engine.yaml b/packages/netatmo/netatmo_away.yaml similarity index 83% rename from packages/netatmo/netatmo_engine.yaml rename to packages/netatmo/netatmo_away.yaml index 25568a61..ddd04ee8 100644 --- a/packages/netatmo/netatmo_engine.yaml +++ b/packages/netatmo/netatmo_away.yaml @@ -3,22 +3,6 @@ ###################################################################### script: - ###################################################################### - # Activating Valve Boost - ###################################################################### - climate_valve_boost: - alias: "Valvole: Boost" - sequence: - - service: climate.set_preset_mode - data_template: - entity_id: "{{ entity_id }}" - preset_mode: boost - - delay: 300 - - service: climate.set_hvac_mode - data_template: - entity_id: "{{ entity_id }}" - hvac_mode: auto - ###################################################################### # Away Mode On ###################################################################### @@ -54,7 +38,6 @@ script: ###################################################################### automation: - ###################################################################### # Sync with central heating ###################################################################### diff --git a/packages/netatmo/netatmo_boost.yaml b/packages/netatmo/netatmo_boost.yaml new file mode 100644 index 00000000..3df179c4 --- /dev/null +++ b/packages/netatmo/netatmo_boost.yaml @@ -0,0 +1,131 @@ +###################################################################### +# Netatmo Package - Boost Engine Script +###################################################################### + +input_boolean: + boost_valvola_cucina: + name: Boost Valvola Cucina + initial: off + icon: mdi:thermometer-plus + boost_valvola_sala: + name: Boost Valvola Sala + initial: off + icon: mdi:thermometer-plus + boost_valvola_studio: + name: Boost Valvola Studio + initial: off + icon: mdi:thermometer-plus + boost_valvola_bagno: + name: Boost Valvola Bagno + initial: off + icon: mdi:thermometer-plus + boost_valvola_camera_da_letto: + name: Boost Valvola Camera + initial: off + icon: mdi:thermometer-plus + +###################################################################### +# Netatmo Package - Boost Engine Script +###################################################################### + +script: + ###################################################################### + # Activating Valve Boost + ###################################################################### + climate_valve_boost: + alias: "Termosifoni: Boost" + sequence: + - service: climate.set_preset_mode + data_template: + entity_id: "{{ entity_id }}" + preset_mode: boost + - delay: 300 + - service: climate.turn_on + data_template: + entity_id: "{{ entity_id }}" + +###################################################################### +# Netatmo Package - Boost Engine Automations +###################################################################### + +automation: + ###################################################################### + # Automation: Start Boost + ###################################################################### + - id: netatmo_enable_boost + alias: "Termosifoni: Attivazione Boost" + mode: parallel + + trigger: + platform: state + entity_id: input_boolean.boost_valvola_cucina, + input_boolean.boost_valvola_sala, + input_boolean.boost_valvola_studio, + input_boolean.boost_valvola_bagno, + input_boolean.boost_valvola_camera_da_letto + to: 'on' + + variables: + entity_id: >- + {% if trigger.entity_id == 'input_boolean.boost_valvola_cucina' %} + climate.netatmo_cucina + {% elif trigger.entity_id == 'input_boolean.boost_valvola_sala' %} + climate.netatmo_sala + {% elif trigger.entity_id == 'input_boolean.boost_valvola_studio' %} + climate.netatmo_studio + {% elif trigger.entity_id == 'input_boolean.boost_valvola_bagno' %} + climate.netatmo_bagno + {% elif trigger.entity_id == 'input_boolean.boost_valvola_camera_da_letto' %} + climate.netatmo_camera_da_letto + {% endif %} + + action: + - service: climate.set_preset_mode + data_template: + entity_id: "{{ entity_id }}" + preset_mode: boost + - delay: 300 + - service: climate.turn_on + data_template: + entity_id: "{{ entity_id }}" + - service: input_boolean.turn_off + data_template: + entity_id: "{{ trigger.entity_id }}" + + ###################################################################### + # Automation: Stop Boost + ###################################################################### + - id: netatmo_disable_boost + alias: "Termosifoni: Disattivazione Boost" + mode: parallel + + trigger: + platform: state + entity_id: input_boolean.boost_valvola_cucina, + input_boolean.boost_valvola_sala, + input_boolean.boost_valvola_studio, + input_boolean.boost_valvola_bagno, + input_boolean.boost_valvola_camera_da_letto + to: 'off' + + variables: + entity_id: >- + {% if trigger.entity_id == 'input_boolean.boost_valvola_cucina' %} + climate.netatmo_cucina + {% elif trigger.entity_id == 'input_boolean.boost_valvola_sala' %} + climate.netatmo_sala + {% elif trigger.entity_id == 'input_boolean.boost_valvola_studio' %} + climate.netatmo_studio + {% elif trigger.entity_id == 'input_boolean.boost_valvola_bagno' %} + climate.netatmo_bagno + {% elif trigger.entity_id == 'input_boolean.boost_valvola_camera_da_letto' %} + climate.netatmo_camera_da_letto + {% endif %} + + action: + - service: climate.turn_on + data_template: + entity_id: "{{ entity_id }}" + - service: input_boolean.turn_off + data_template: + entity_id: "{{ trigger.entity_id }}" diff --git a/packages/netatmo/netatmo_on_off.yaml b/packages/netatmo/netatmo_on_off.yaml new file mode 100644 index 00000000..0856f9d3 --- /dev/null +++ b/packages/netatmo/netatmo_on_off.yaml @@ -0,0 +1,90 @@ +###################################################################### +# Netatmo Package - On/Off Engine - Input Boolean +###################################################################### + +input_boolean: + valvola_cucina: + name: Valvola Cucina + initial: on + icon: mdi:thermometer + valvola_sala: + name: Valvola Sala + initial: on + icon: mdi:thermometer + valvola_studio: + name: Valvola Studio + initial: on + icon: mdi:thermometer + valvola_bagno: + name: Valvola Bagno + initial: on + icon: mdi:thermometer + valvola_camera_da_letto: + name: Valvola Camera + initial: on + icon: mdi:thermometer + +###################################################################### +# Netatmo Package - On/Off Engine - Automations +###################################################################### + +automation: + ###################################################################### + # Switch On Valve + ###################################################################### + - alias: "Termosifoni: Accensione" + + trigger: + platform: state + entity_id: input_boolean.valvola_cucina, + input_boolean.valvola_sala, + input_boolean.valvola_studio, + input_boolean.valvola_bagno, + input_boolean.valvola_camera_da_letto + to: 'on' + + action: + - service: climate.turn_on + data_template: + entity_id: > + {% if trigger.entity_id == 'input_boolean.valvola_cucina' %} + climate.netatmo_cucina + {% elif trigger.entity_id == 'input_boolean.valvola_sala' %} + climate.netatmo_sala + {% elif trigger.entity_id == 'input_boolean.valvola_studio' %} + climate.netatmo_studio + {% elif trigger.entity_id == 'input_boolean.valvola_bagno' %} + climate.netatmo_bagno + {% elif trigger.entity_id == 'input_boolean.valvola_camera_da_letto' %} + climate.netatmo_camera_da_letto + {% endif %} + + ###################################################################### + # Switch Off Valve + ###################################################################### + - alias: "Termosifoni: Spegnimento" + + trigger: + platform: state + entity_id: input_boolean.valvola_cucina, + input_boolean.valvola_sala, + input_boolean.valvola_studio, + input_boolean.valvola_bagno, + input_boolean.valvola_camera_da_letto + to: 'off' + + action: + - service: climate.turn_off + data_template: + entity_id: > + {% if trigger.entity_id == 'input_boolean.valvola_cucina' %} + climate.netatmo_cucina + {% elif trigger.entity_id == 'input_boolean.valvola_sala' %} + climate.netatmo_sala + {% elif trigger.entity_id == 'input_boolean.valvola_studio' %} + climate.netatmo_studio + {% elif trigger.entity_id == 'input_boolean.valvola_bagno' %} + climate.netatmo_bagno + {% elif trigger.entity_id == 'input_boolean.valvola_camera_da_letto' %} + climate.netatmo_camera_da_letto + {% endif %} -- 2.47.3