Liste/Idéee d'automatisation

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 :

image

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

1 « J'aime »