Action de Répétition d'une condition ne marche pas

Bonjour, je souhaite arrêter la PAC les jours Rouge Tempo à partir de 5:45 sir le courant est inférieur à 750 mA (afin de ne pas couper le smart switch TONGU à pleine charge).

J’ai utilisé une Action de Répétition d’une condition = « Répéter une action jusqu’à ce que 1 condition correspond » , voir code yaml, mais l’automation fonctionne si et seulement si le courant est inférieur à 750 MA à 5:45.

Autrement dit si à 5:45 le courant est supérieur à 750mA, rien ne se passe et l’automation ne se déclenche pas.

En fait à partir de 5:45 jusqu’à on va dire 7:00 (le cycle de chauffe peut durer 1 heure maximum) je voudrais que l’automation attende que le courant soit inférieur à 750 mA, pour switcher off la PAC vers 7:00 au plus tard.

Quelqu’un pourrait-il me dire comment faire cette boucle. Merci d’avance

alias: Tempo jours Rouges - PAC OFF
description: ""
trigger:
  - platform: time
    at: "05:45:00"
condition:
  - condition: numeric_state
    entity_id: switch.tongu2_pac_ext
    below: 750
    attribute: current_consumption
action:
  - repeat:
      sequence: []
      until:
        - condition: numeric_state
          entity_id: switch.tongu2_pac_ext
          below: 750
          attribute: current_consumption
  - type: turn_off
    device_id: 07ea00312654
    entity_id: 5ec1187823589
    domain: switch
  - service: notify.mobile_app_sm_a415f
    data:
      message: PAC OFF
      title: PAC OFF
  - service: notify.persistent_notification
    data:
      message: PAC OFF
      title: PAC OFF
  - device_id: 858212876
    domain: number
    entity_id: a7d778412763
    type: set_value
    value: 30
mode: single

A mon avis, c’est le courant le trigger et l’heure la condition. l’inverse de ce que tu as fait.
Chaque changement de courant déclenche l’automation, qui va s’exécuter entre deux plages horaires

Vu ton automatisation c’est normal.

En l’état actuel:

  • ton declencheur c’est l’heure, donc a 5h45 l’automatisation démare
  • ta condition c’est courant below 750 donc si le courant est < 750 l’automatisation se lance, sinon ton automatisation s’arrête
  • tes actions ne s’exécutent que si le trigger a déclenché et si les condition sont vraies.… là ce n’est pas le cas si courant>750.

Ce qu’il faudrait faire:

  • declencheur : l’heure
  • condition: rien (ou plutôt moi j’y mettrai la couleur du lendemain histoire de ne réaliser cette coupure qu’avant les jours rouge)
  • action : ajouter ici un choix conditionnel en fonction de la valeur du courant: si <750 coupure franche sinon reduction de consigne puis coupure après un délai.

Question annexe: je ne comprend pas quelle action tu réalises si le courant est >750. Tu réduis la consigne ou tu attends juste que le courant baisse pour couper à un moment plus opportun?

[edit] Je crois comprendre que tu reboucles pour attendre d’être <750… donc si tu supprimes simplement ta condition,

tu vas boucler jusqu’à être sous 750 et ça va marcher dans les deux cas, mais sans vraie garantie de couper rapidement…

1 « J'aime »

Salut,

totalement d’accord avec @BBE
Juste un truc qui peut être embêtant suivant comment tu gères tes couleurs Tempo. A 5h45, moi je n’ai plus de valeur dans « Demain »… donc juste faire attention.

Mais c’est clair qu’à part dans le titre, rien ne vérifiait que c’était un jour rouge.

Merci de me répondre.

  • Etat actuel : je suis d’accord. L’automation se déclenche bien quand à 5:45 le courant est inférieur à 750mA.
  • Ce qu’il faudrait faire : oui je vais rajouter la couleur du jour tu as raison. Mais pour le moment ça bloque = pas de déclenchement , par exemple à 6:12 ça arrive que le courant est de nouveau inférieur à 750mA, mais l’automation n’a pas attendu que la condition courant inférieur à 750mA soit réalisée !

Je ne veux pas couper la PAC quand elle est en charge = 15 à 20A .

Oui : [edit] je crois comprendre que tu reboucles pour attendre d’être <750…OUI c’est CA
Quelle condition dois-je supprimer ? As-tu vu le code yaml ?

Tout à fait !

Chez moi je met à jour « demain » à 20h et le supprimes à 6h… donc ça marcherait…

1 « J'aime »

Heu ben relis calmement mon premier message, visiblement je l’ai lu ton code yaml…

Bref je repette:
Toute automation dispose de 3 parties principales:

  • le trigger (declencheur)
  • les conditions
  • les actions

le problème dans ton cas c’est les conditions.

Il peut ensuite y avoir des choix conditionnels dans les actions, mais c’est autre chose car là l’automatisation aura démarré.

oui c’est ce que je veux = tu vas boucler jusqu’à être sous 750 et ça va marcher dans les deux cas, mais sans vraie garantie de couper rapidement…
car les charges de la PAC durent entre 20 et 60 minutes, et c’est tout à fait acceptable

Oui mais que devient le code :

Ca tu le gardes bien sur… puisque tu veux boucler jusqu’à ce que le courant soit <750 avant la coupure…

1 « J'aime »

La base d’une automatisation sur HA c’est:

  • trigger
  • conditions
  • actions

Il faut bien comprendre que si les conditions ne sont pas réunies, les actions ne sont pas exécutées.

S’il y a plusieurs triggers : n’importe lequel des triggers déclenche.
S’il y a plusieurs conditions: il faut que toutes les conditions soient vraies

Alors et seulement dans ce cas, les actions s’effectuent. Et s’il y a des conditions dans les actions, elles permettent de faire des actions conditionnelles, mais ce n’est pas la même chose que l’attribut « condition » de l’automatisation.

1 « J'aime »

Ah oui, j’avais pas compris qu’il fallait carrément supprimer la condition. OK Je vais essayer demain. MERCI encore pour les explications complètes avec les nuances pertinentes.

Ou alors il te faut une deuxième automatisation pour le cas >750 qui serait basiquement:

  • declencheur : heure = 5h45
  • condition: courant >750
  • actions: attendre courant>750 puis coupure.

dans un cas comme ça il est plus simple de faire le choix dans les actions, pas dans la condition. La condition sert plutôt à éliminer les triggers (déclencheurs) indésirables.

Par exemple ici :

  • trigger : heure 5h45
  • condition : seulement si à 6h on sera en jour rouge:
  • action : si courant <750: coupure / sinon si courant >750: attendre courant <750 puis coupure
    (qu’ici on peut simplifier en attendre courant <750 puis coupure)
1 « J'aime »

D’accord, je vois maintenant comment faire pour stopper la PAC.

Maintenant question subsidiaire : comment faut-il gérer ceci ? Car pour le moment j’active ou je désactive manuellement l’automation selon la couleur du lendemain.

Tout dépend comment tu récupères les info tempo…

Je peux te donner ma méthode, qui marche avec un zlinky de lixee, mais ça ne marchera pas forcément chez toi…

[edit]
Ma methode est dispo dans ma description, là: Présentation + [Mon Dashboard] BBE

Post n°3, les automatisations: Présentation + [Mon Dashboard] BBE - #3 par BBE

1 « J'aime »

Oui j’ai l’équivalent du zlinky lixee, et j’ai les data avec l’api RTE

ouha, super boulot BRAVO ; je vais regarder cela, c’est bien documenté. MERCI

Comme j’ai des panneaux solaires + batterie, les jours rouges il fait froid car la couverture nuageuse est faible, donc il y a très souvent du soleil… qui me permet de redémarrer la PAC en HP mais gratuitement avec le soleil + la batterie que je recharge la veille en HC.

Alors ça a marché cette coupure?

Oui ça y est j’ai vérifié ce matin, impeccable ; la boucle (courant < 750 mA) a duré environ 12 minutes le temps que le cycle de la PAC se termine. MERCI beaucoup

1 « J'aime »