From: Giorgio Ravera Date: Tue, 29 Dec 2020 15:08:24 +0000 (+0100) Subject: Added additional Netatmo features (boost / away mode / on-off) X-Git-Url: http://git.giorgioravera.it/?a=commitdiff_plain;h=299c1be96365895d258aedf549e51ed6f8e249fd;p=homeassistant.git Added additional Netatmo features (boost / away mode / on-off) --- 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_away.yaml b/packages/netatmo/netatmo_away.yaml new file mode 100644 index 00000000..ddd04ee8 --- /dev/null +++ b/packages/netatmo/netatmo_away.yaml @@ -0,0 +1,80 @@ +###################################################################### +# Netatmo Package - Script +###################################################################### + +script: + ###################################################################### + # Away Mode On + ###################################################################### + climate_away_mode_on: + sequence: + - service: climate.set_preset_mode + data: + entity_id: + - climate.netatmo_cucina + - climate.netatmo_sala + - climate.netatmo_studio + - climate.netatmo_bagno + - climate.netatmo_camera_da_letto + preset_mode: away + + ###################################################################### + # Away Mode Off + ###################################################################### + climate_away_mode_off: + sequence: + - service: climate.set_hvac_mode + data: + entity_id: + - climate.netatmo_cucina + - climate.netatmo_sala + - climate.netatmo_studio + - climate.netatmo_bagno + - climate.netatmo_camera_da_letto + hvac_mode: auto + +###################################################################### +# Netatmo Package - Automations +###################################################################### + +automation: + ###################################################################### + # Sync with central heating + ###################################################################### + - alias: "Termosifoni: Sincronizzazione con Riscaldamento Centralizzato" + + trigger: + - platform: state + entity_id: input_boolean.central_heating + to: 'on' + - platform: state + entity_id: input_boolean.central_heating + to: 'off' + + condition: [] + + action: + - choose: + # Switch On + - conditions: + - condition: state + entity_id: input_boolean.central_heating + state: "off" + sequence: + - service: script.turn_on + data: + entity_id: script.climate_away_mode_on + # Switch Off + - conditions: + - condition: and + conditions: + - condition: state + entity_id: input_boolean.central_heating + state: "on" + - condition: state + entity_id: input_boolean.home_mode_away + state: 'off' + sequence: + - service: script.turn_on + data: + entity_id: script.climate_away_mode_off 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_engine.yaml b/packages/netatmo/netatmo_engine.yaml deleted file mode 100644 index 25568a61..00000000 --- a/packages/netatmo/netatmo_engine.yaml +++ /dev/null @@ -1,97 +0,0 @@ -###################################################################### -# Netatmo Package - Script -###################################################################### - -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 - ###################################################################### - climate_away_mode_on: - sequence: - - service: climate.set_preset_mode - data: - entity_id: - - climate.netatmo_cucina - - climate.netatmo_sala - - climate.netatmo_studio - - climate.netatmo_bagno - - climate.netatmo_camera_da_letto - preset_mode: away - - ###################################################################### - # Away Mode Off - ###################################################################### - climate_away_mode_off: - sequence: - - service: climate.set_hvac_mode - data: - entity_id: - - climate.netatmo_cucina - - climate.netatmo_sala - - climate.netatmo_studio - - climate.netatmo_bagno - - climate.netatmo_camera_da_letto - hvac_mode: auto - -###################################################################### -# Netatmo Package - Automations -###################################################################### - -automation: - - ###################################################################### - # Sync with central heating - ###################################################################### - - alias: "Termosifoni: Sincronizzazione con Riscaldamento Centralizzato" - - trigger: - - platform: state - entity_id: input_boolean.central_heating - to: 'on' - - platform: state - entity_id: input_boolean.central_heating - to: 'off' - - condition: [] - - action: - - choose: - # Switch On - - conditions: - - condition: state - entity_id: input_boolean.central_heating - state: "off" - sequence: - - service: script.turn_on - data: - entity_id: script.climate_away_mode_on - # Switch Off - - conditions: - - condition: and - conditions: - - condition: state - entity_id: input_boolean.central_heating - state: "on" - - condition: state - entity_id: input_boolean.home_mode_away - state: 'off' - sequence: - - service: script.turn_on - data: - entity_id: script.climate_away_mode_off 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 %}