Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
forçage On ou Off des actionneurs sur Home Assistant via MQTT
#1
Bonjour, 
Après maj de la version routeur V09-01, j'ai implémenté le forçage on/off du triac d'un de mes routeurs via MQTT sur Home assistant en suivant 
les explications très claires. J'ai implémenté un bouton qui change d'état dans Home assistant, nickel dans ce sens.
Par contre, celui ci ne revient pas à l'état initial avec la période prévue sur l'actionneur, normal car l'ordre ayant été effectué, il n'y a pas de retour d'action vers home assistant.
Une idée de solution, n'étant pas un pro de Home assistant ?

Cordialement Gilles B
Répondre
#2
Mettez un input_button pour qu'il agisse comme un bouton poussoir et non un switch/interrupteur qui garde l'état.

Cdlt

André
Répondre
#3
Merci pour la bonne idée ;-)
cdlt Gilles
Répondre
#4
Bonjour,
Après avoir dans un premier temps mis un input bouton, style bouton poussoir, j'ai persévéré car je pense qu'il reste intéressant de savoir coté Home assistant lorsque une action déportée au niveau du routeur est en cours ou pas... J'ai donc développé une automatisation utilisant un switch qui s'active en page d'accueil de HA et se désactive au bout de 30 minutes (délai de l'action), changeant ainsi d'état et donc de couleur au niveau de Home assistant synchro avec l'action sur le routeur.
Pour ceux que cela intéresse voilà le code yaml :
alias: Forcage CE ON
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.inter_cde_ce
    from: "off"
    to: "on"
condition: []
action:
  - service: mqtt.publish
    metadata: {}
    data:
      qos: 0
      retain: false
      topic: TriacRad
      payload_template: "{\"tOnOff\":30}"
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - service: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.inter_cde_ce
mode: single


Pièces jointes Miniature(s)
   
Répondre
#5
(05-06-2024, 11:13 AM)Sgb31 a écrit : Bonjour,
Après avoir dans un premier temps mis un input bouton, style bouton poussoir, j'ai persévéré car je pense qu'il reste intéressant de savoir coté Home assistant lorsque une action déportée au niveau du routeur est en cours ou pas... J'ai donc développé une automatisation utilisant un switch qui s'active en page d'accueil de HA et se désactive au bout de 30 minutes (délai de l'action), changeant ainsi d'état et donc de couleur au niveau de Home assistant synchro avec l'action sur le routeur.
Pour ceux que cela intéresse voilà le code yaml :
alias: Forcage CE ON
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.inter_cde_ce
    from: "off"
    to: "on"
condition: []
action:
  - service: mqtt.publish
    metadata: {}
    data:
      qos: 0
      retain: false
      topic: TriacRad
      payload_template: "{\"tOnOff\":30}"
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - service: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.inter_cde_ce
mode: single

Merci pour ton code !!
Je m'en suis inspiré mais j'ai plutôt créé un input.select permettant de choisir les différents mode de fonctionnement du routeur entre marche forcée On / Off / Auto le tout intégré dans 1 automation avec des ID pour traiter les différents cas de figure.

alias: Forçage CE buanderie select
description: ""
trigger:
  - platform: state
    entity_id:
      - input_select.forcage_ce_buanderie
    to: "On"
    id: Forcée à On
  - platform: state
    entity_id:
      - input_select.forcage_ce_buanderie
    to: "Off"
    id: Forcée à Off
  - platform: state
    entity_id:
      - input_select.forcage_ce_buanderie
    id: Forcée à Auto
    to: Auto
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Forcée à On
        sequence:
          - service: mqtt.publish
            metadata: {}
            data:
              payload_template: "{\"tOnOff\":{{states('input_number.forcee_b_slider')}}}"
              topic: CE_buanderie
          - service: timer.start
            metadata: {}
            data:
              duration: 00:{{states.input_number.forcee_b_slider.state | int}}:00
            target:
              entity_id: timer.forcee_b_decompte
          - delay:
              hours: 0
              minutes: "{{states.input_number.forcee_b_slider.state | int}}"
              seconds: 0
              milliseconds: 0
          - service: input_select.select_option
            metadata: {}
            data:
              option: Auto
            target:
              entity_id: input_select.forcage_ce_buanderie
      - conditions:
          - condition: trigger
            id:
              - Forcée à Off
        sequence:
          - service: mqtt.publish
            metadata: {}
            data:
              topic: CE_buanderie
              payload_template: >-
                {"tOnOff":{{
                -1*states('input_number.forcee_b_slider')|float(0)}}}
          - service: timer.start
            metadata: {}
            data:
              duration: 00:{{states.input_number.forcee_b_slider.state | int}}:00
            target:
              entity_id: timer.forcee_b_decompte
          - delay:
              hours: 0
              minutes: "{{states.input_number.forcee_b_slider.state | int}}"
              seconds: 0
              milliseconds: 0
          - service: input_select.select_option
            metadata: {}
            data:
              option: Auto
            target:
              entity_id: input_select.forcage_ce_buanderie
      - conditions:
          - condition: trigger
            id:
              - Forcée à Auto
        sequence:
          - service: mqtt.publish
            metadata: {}
            data:
              payload_template: "{\"tOnOff\":0}"
              topic: CE_buanderie
mode: single

Un petit aperçu par la même occasion de l'interface dans Home Asssistant ;o)
   
Installation :
- 1 routeur solaire en v9.03 pour un cumulus de 3 kw
- 1 routeur solaire en v9.03 pour un cumulus de 1,5 kw
- 1 afficheur distant ;
Production solaire de 5,1 kW données d'entrée Enphase
Données remontées en MQTT dans Home Assistant.
Répondre
#6
Bonjour,
Je cherche mon chemin , j’ai lu qu’il y a une Doc détaillée mais impossible de mettre la main dessus .

Je fait fonctionner ce routeur (dont je salue encore l’ingéniosité de son créateur ) avec le relais SSR.
Je dispose d’heure creuse/pleine donc sur le planificateur j’ai forcé la marche durant les heures creuses.

Le problème c’est que mon chauffe eau est chaud dès 7h du matin quand le soleil n’a pas encore sorti ses rayons d’argent

Mon idée est de piloter « forcer » la marche ou l’arrêt durant les heures creuses d’après les prévisions météo sous Home assistant
Pour ce faire j’ai besoin de ces 2 boutons sur home assistant. Pourrais je avoir un peu d’aide sur ce point ?
Merci
Répondre
#7
(12-07-2024, 04:28 PM)Maxime a écrit :
(05-06-2024, 11:13 AM)Sgb31 a écrit : Bonjour,
Après avoir dans un premier temps mis un input bouton, style bouton poussoir, j'ai persévéré car je pense qu'il reste intéressant de savoir coté Home assistant lorsque une action déportée au niveau du routeur est en cours ou pas... J'ai donc développé une automatisation utilisant un switch qui s'active en page d'accueil de HA et se désactive au bout de 30 minutes (délai de l'action), changeant ainsi d'état et donc de couleur au niveau de Home assistant synchro avec l'action sur le routeur.
Pour ceux que cela intéresse voilà le code yaml :
alias: Forcage CE ON
description: ""
trigger:
  - platform: state
    entity_id:
      - input_boolean.inter_cde_ce
    from: "off"
    to: "on"
condition: []
action:
  - service: mqtt.publish
    metadata: {}
    data:
      qos: 0
      retain: false
      topic: TriacRad
      payload_template: "{\"tOnOff\":30}"
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
  - service: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.inter_cde_ce
mode: single

Merci pour ton code !!
Je m'en suis inspiré mais j'ai plutôt créé un input.select permettant de choisir les différents mode de fonctionnement du routeur entre marche forcée On / Off / Auto le tout intégré dans 1 automation avec des ID pour traiter les différents cas de figure.

alias: Forçage CE buanderie select
description: ""
trigger:
  - platform: state
    entity_id:
      - input_select.forcage_ce_buanderie
    to: "On"
    id: Forcée à On
  - platform: state
    entity_id:
      - input_select.forcage_ce_buanderie
    to: "Off"
    id: Forcée à Off
  - platform: state
    entity_id:
      - input_select.forcage_ce_buanderie
    id: Forcée à Auto
    to: Auto
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Forcée à On
        sequence:
          - service: mqtt.publish
            metadata: {}
            data:
              payload_template: "{\"tOnOff\":{{states('input_number.forcee_b_slider')}}}"
              topic: CE_buanderie
          - service: timer.start
            metadata: {}
            data:
              duration: 00:{{states.input_number.forcee_b_slider.state | int}}:00
            target:
              entity_id: timer.forcee_b_decompte
          - delay:
              hours: 0
              minutes: "{{states.input_number.forcee_b_slider.state | int}}"
              seconds: 0
              milliseconds: 0
          - service: input_select.select_option
            metadata: {}
            data:
              option: Auto
            target:
              entity_id: input_select.forcage_ce_buanderie
      - conditions:
          - condition: trigger
            id:
              - Forcée à Off
        sequence:
          - service: mqtt.publish
            metadata: {}
            data:
              topic: CE_buanderie
              payload_template: >-
                {"tOnOff":{{
                -1*states('input_number.forcee_b_slider')|float(0)}}}
          - service: timer.start
            metadata: {}
            data:
              duration: 00:{{states.input_number.forcee_b_slider.state | int}}:00
            target:
              entity_id: timer.forcee_b_decompte
          - delay:
              hours: 0
              minutes: "{{states.input_number.forcee_b_slider.state | int}}"
              seconds: 0
              milliseconds: 0
          - service: input_select.select_option
            metadata: {}
            data:
              option: Auto
            target:
              entity_id: input_select.forcage_ce_buanderie
      - conditions:
          - condition: trigger
            id:
              - Forcée à Auto
        sequence:
          - service: mqtt.publish
            metadata: {}
            data:
              payload_template: "{\"tOnOff\":0}"
              topic: CE_buanderie
mode: single

Un petit aperçu par la même occasion de l'interface dans Home Asssistant ;o)

Bonjour Maxime,

Serait il possible de savoir comment tu as créé ton device dans HA? As tu mis du code dans mqtt: du configuration.yaml pour qu'ils remontent correctement?

Pour ma part, je ne vois pas comment mapper mes routeurs à ton: input_select.forcage_ce_buanderie 

Pour l'instant j'ai dans device ceci:
   

Merci beaucoup!!!
ESP32 (v12.05): 1 Source UxIx3, 3 routeurs avec 1 SSR sur le CE (ESP Externe) dont 2 avec Sonde température, 1 routeur avec 2 SSRs: Pompe Piscine et PAC
16 panneaux 445WC avec Enphase 7 tri-phasé avec une idée d'extension de qqs PVs plug&play sur le pool house sous HomeAssistant 
Répondre
#8
Bonjour,

Qui pourrait m'aider à créer les bonnes entrées dans le configuration.yaml car je ne vois pas les routeurs remontés automatiquement dans HA?

Voila ce que j'ai essayé: 
   

Voici la conf d'un des routeurs:
   

et ce que j'obtiens dans MQTT:
   

Merci d'avance
XabiX
ESP32 (v12.05): 1 Source UxIx3, 3 routeurs avec 1 SSR sur le CE (ESP Externe) dont 2 avec Sonde température, 1 routeur avec 2 SSRs: Pompe Piscine et PAC
16 panneaux 445WC avec Enphase 7 tri-phasé avec une idée d'extension de qqs PVs plug&play sur le pool house sous HomeAssistant 
Répondre
#9
Dans HA, tout remonte dans MQTT, pas besoin de creer de sensor
Pour effectué les forçage, moi j'ai créé simplement des automations et mis un bouton qui lance cette automation
Il a peut etre mieux a faire mais c'est assez simple comme ça

ex     
Répondre
#10
(09-09-2024, 12:25 PM)Francky a écrit : Dans HA, tout remonte dans MQTT, pas besoin de creer de sensor
Pour effectué les forçage, moi j'ai créé simplement des automations et mis un bouton qui lance cette automation
Il a peut etre mieux a faire mais c'est assez simple comme ça

ex 

Salut Francky,

Tu pourras nous partager ton code stp?

Moi j'ai galéré avec mes automatisations, et mnt il me reste que la partie graphique Smile

J'ai encore un peu de boulot. Je dois aussi convertir la durée en h:m mais je galère alors je vais peut être garder en min avec un states, float * 60.

Voila ou j'en suis:
   

Merci
ESP32 (v12.05): 1 Source UxIx3, 3 routeurs avec 1 SSR sur le CE (ESP Externe) dont 2 avec Sonde température, 1 routeur avec 2 SSRs: Pompe Piscine et PAC
16 panneaux 445WC avec Enphase 7 tri-phasé avec une idée d'extension de qqs PVs plug&play sur le pool house sous HomeAssistant 
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)