Bah rien que du classique dans la gestion du volet de la piscine.
La chose intéressante serait les boutons d’actions dans Telegram, en dessous du message indiquant qu’il faut fermer le volet piscine. Il est ainsi possible d’actionner le volet depuis telegram, et sans ouvrir HA :

Autrement :
-
input_select.volet_piscine_mode_ouverture est un sélecteur qui indique le type de fonctionnement de la gestion du volet : inactif (pas d’alertes ni d’actions), manuel (alerte seulement) et automatique (ouverture automatique en fonction de la température).
-
input_boolean.piscine_flag_fermeture_volet_actif est un flag permettant de maitriser le temps de réenclenchement de l’alerte et de ne pas l’avoir toutes les 10mn. Une automatisation le remet à true au bout de n heures, et il est possible de le forcer.
Script de demande fermeture
alias: 'Piscine : pilotage fermeture volet'
description: Fermeture du volet en fonction mode et températures abri + eau
trigger:
- platform: state
entity_id: sensor.fibaro_piscine_temperature_abri
condition:
- condition: state
entity_id: input_boolean.piscine_flag_fermeture_volet_actif
state: 'on'
- condition: numeric_state
entity_id: sensor.fibaro_piscine_temperature_eau
below: '35'
above: '12'
- condition: numeric_state
entity_id: sensor.fibaro_piscine_temperature_abri
below: '60'
above: '12'
- condition: state
entity_id: input_select.volet_piscine_etat
state: open
for: '00:10:00'
- condition: template
value_template: >-
{%if states('sensor.fibaro_piscine_temperature_abri')|float <
(states('sensor.fibaro_piscine_temperature_eau')|float) %} true {% else %}
false {%endif%}
- condition: not
conditions:
- condition: state
entity_id: input_select.volet_piscine_mode_ouverture
state: Inactif
action:
- service: notify.message_warning_groupe
data:
message: >-
Merci de fermer le volet.
Température eau : {{states('sensor.fibaro_piscine_temperature_eau')}} °C
Température abri : {{states('sensor.fibaro_piscine_temperature_abri')}}
°C
data:
inline_keyboard:
- Ignore:/piscine_ignore_ferme, Ferme volet:/piscine_ferme
- service: input_boolean.turn_off
target:
entity_id: input_boolean.piscine_flag_fermeture_volet_actif
data: {}
mode: single
Call back si on appuie sur Fermer dans telegram
alias: 'Piscine : fermeture par telegram'
description: Traite la réponse de demande de fermeture du volet par telegram
trigger:
- platform: event
event_type: telegram_callback
event_data:
command: /piscine_ferme
action:
- service: cover.close_cover
target:
entity_id: cover.ipx800_volet_piscine
data: {}
- service: telegram_bot.edit_replymarkup
data:
message_id: last
chat_id: '{{ trigger.event.data.chat_id }}'
inline_keyboard: null
- service: notify.message_warning_groupe
data:
message: Volet piscine fermé.
initial_state: true
mode: single
Call back si on appuie sur Annuler dans Telegram
alias: 'Piscine : ignorer demande fermeture telegram'
description: Enlève bouton et réactive l'alerte sur fermeture
trigger:
- platform: event
event_type: telegram_callback
event_data:
command: /piscine_ignore_ferme
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.piscine_flag_fermeture_volet_actif
data: {}
- service: telegram_bot.answer_callback_query
data:
callback_query_id: '{{ trigger.event.data.id }}'
message: Ok
- service: telegram_bot.edit_replymarkup
data:
message_id: last
chat_id: '{{ trigger.event.data.chat_id }}'
inline_keyboard: null
mode: single
Et enfin le script d’ouverture
alias: 'Piscine : pilotage ouverture volet'
description: Ouverture du volet en fonction mode et températures abri + eau
trigger:
- platform: state
entity_id: sensor.fibaro_piscine_temperature_abri
condition:
- condition: state
entity_id: input_boolean.piscine_flag_ouverture_volet_actif
state: 'on'
- condition: numeric_state
entity_id: sensor.fibaro_piscine_temperature_eau
below: '30'
above: '12'
- condition: numeric_state
entity_id: sensor.fibaro_piscine_temperature_abri
below: '60'
above: '12'
- condition: state
entity_id: input_select.volet_piscine_etat
state: close
for: '00:10:00'
- condition: template
value_template: >-
{%if states('sensor.fibaro_piscine_temperature_abri')|float >
(states('sensor.fibaro_piscine_temperature_eau')|float + 2) %} true {%
else %} false {%endif%}
- condition: not
conditions:
- condition: state
entity_id: input_select.volet_piscine_mode_ouverture
state: Inactif
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.volet_piscine_mode_ouverture
state: Automatique
sequence:
- service: cover.open_cover
target:
entity_id: cover.ipx800_volet_piscine
data: {}
- service: notify.message_info_groupe
data:
message: >-
Ouverture automatique du volet.
Température eau :
{{states('sensor.fibaro_piscine_temperature_eau')}} °C
Température abri :
{{states('sensor.fibaro_piscine_temperature_abri')}} °C
default:
- service: notify.message_warning_groupe
data:
message: >-
Merci d'ouvrir le volet.
Température eau :
{{states('sensor.fibaro_piscine_temperature_eau')}} °C
Température abri :
{{states('sensor.fibaro_piscine_temperature_abri')}} °C
- service: input_boolean.turn_off
target:
entity_id: input_boolean.piscine_flag_ouverture_volet_actif
data: {}
mode: single