Automation : optimisation trigger sur heure et jour

Bonjour,

Les températures clémentes commençant à arriver, j’ai commencé à migrer le pilotage de mon chauffage de jeedom+zwave vers HA+zwave…

J’avais sous jeedom une petite série de scénarios maison qui me donnent entière satisfaction avec gestion des zones, de la présence. Techniquement il y a pas d’équivalent à 100% je suis parti sur le même mécanisme HA. ça ronronne depuis 3 jours et aux quelques erreurs de jeunesse, j’ai le même comportement sur les radiateurs

Par contre, il y a une différence importante en jeedom et ha pour la gestion des déclencheurs :

Globalement ça donne le même résultat mais les triggers coté HA sont plus nombreux, puisque déclenché 3 fois par jours à 6h30, 7h30 et 8h00… c’est uniquement la condition ‹ jour › qui s’enchaine qui permet de ne pas dérouler la suite des actions.
Du coup, les traces de la dernière « exécution » ne sont pas tout à fait les bonnes.

J’ai rien trouvé de mieux pour le moment, en tout cas, pas vu non plus d’équivalent du cron (malgré quelques demandes d’ajout). Est-il possible de faire mieux ?

Malheureusement, la programmation répétée type cron n’existe pas sous HA. C’est une des raisons qui m’ont fait passer sous NodeRed ou il y a un « vrai » cron (et même mieux…).
Donc, mieux que ce que tu as en natif avec HA, je ne sais pas. Mais, cron, non…

Ok merci pour ce retour, j’ai donc pas raconté de cronerie

Effectivement comme tu l’indiques, j’ai restreint le champ de recherche aux éléments natifs de HA… C’est dommage parce que le trigger time_pattern est une réponse partielle, mais ça se limite encore une fois à l’horaire…

Dans tous les cas, j’exclue pas de mettre en place tout sous NodeRed à un moment donné mais pour l’instant mais je veux finir de migrer : une domotique à cheval jeedom/ha, c’est pénible au quotidien !
Mais comme j’ai encore à perfectionner ma maitrise de NodeRed (je rate systématiquement un truc avec la manipulation du payload), autant commencer par les fonctions de base/natives, quitte à remplacer au fur et à mesure plus tard, les automatisations par un flow.

A l’époque ou le forum français n’existait pas, et de mes presque débuts sur ha: Time_pattern more like crontab - Configuration - Home Assistant Community… pas de cron :cry:

Tiens d’ailleurs, ça n’existe pas une astuce de conversion d’une automation HA => NodeRed à partir d’un yaml ?

Je ne crois pas. Si quelqu’un est suffisamment doué pour le faire en yaml, il n’a aucune raison de passer sous NodeRed :slight_smile: Et en plus, les logiques sont assez différentes pour qu’à mon avis, ça ne soit pas vraiment faisable.

En fait, ça dépends des cas, mais on peut tout à fait imaginer d’avoir besoin de migrer sous NodeRed pour plein de raisons : pas être dépendant de HA, interconnecter plein d’autres éléments au sein d’un même flow …
C’est évidement du travail et pas forcement le cas d’usage courant…

Il y a d’autres voies pour planifier sur HA, Schedy ou le Scheduller…

1 « J'aime »

Merci pour ce retour. J’avais déjà plusieurs fois piqué quelques trucs dans tes tutoriels ^^

Je suis pas parti sur ce genre d’extension/addon principalement parce que j’ai pas besoin de modifier la planification souvent (ça fait 2 ans que ça tourne). Les consignes bougent (et encore mais elles sont déjà reprises comme il faut dans HA), mais le reste est assez figé.
Donc toute la partie card etc… ne sert pas vraiment

Pour faire simple :

  • 5 zones dans la maison
  • calendrier ‹ figé › sur 7 jours
  • gestion de la présence qui inhibe la coupure du chauffage pendant la journée
  • gestion de la présence d’invités pour adapter les températures des zones
  • forcage des consignes eco la nuit

Bref c’est simpliste mais ça fait le job.
Mais bon c’est pê l’occasion d’y passer

Bon pour m’entrainer, j’ai (re)commencé à faire les mêmes automations sous nodered…
Par contre il y un truc que je comprends pas…

Coté automation, pour balancer la valeur de consigne j’ai juste fait ça:

action:
  - service: climate.set_temperature
    target:
      entity_id:
        - climate.radiateur_sdbh
    data:
      temperature: '{{ state_attr(''climate.consigne_sdb'', ''temperature'') | float }}'

Coté nodered, le même service propose 4 éléments.


Mais les 3 premiers sont/semblent indispensables !!!

J’ai raté un truc ?

EDIT: C’est pas du tout le cas : Moralité, faut pas coder bourré !

Bon ben je crois que je vais définitivement faire que du node red

Je ne sais pas quel noeud tu utilises pour les déclenchements sur heure (bigtimer?), mais, je recommande cron-plus.
Tu peux regrouper les déclencheurs de chacun de tes blocs dans une seule instance cron-plus. Qui en plus peut se piloter via des messages et pas seulement de façon statique.

Hello,

Non à priori, j’ai schedex
image

C’est facile d’usage

ça prends en compte les heures solaires (que je vais probablement exploiter pour les volets)

cron-plus traite aussi les évènements astronomiques.

1 « J'aime »

je vais y jeter un oeil alors, merci

Allez un petit retour sur la planif de mon chauffage…
voilà ce que ça donne :

Les crons sont actifs ou non si le chauffage est actif coté HA.
Forcement ça déroule les consignes C01 à C11 pendant la journée en fonction :

  • du jour de la semaine
  • de la présence (WE, férié, vacances)
  • du télétravail
  • du retour à la maison
  • du fait que la maison soit vide
  • de la présence d’invités

Il y a plein d’optimisations potentielles (factorisation de code genre C05/C06) mais pour l’instant je laisse comme ça pour finir de debugger… c’est plus lisible.
Rendre les crons dynamiques, mais pour l’instant c’est pas utile.
Il y a des trucs que je n’aime pas, par exemple, ça passe par les notifications notify.notify mais à terme je passerai par le subflow GitHub - m4dm4rtig4n/node-red-flow-notification revu à ma sauce.
C’est un peu de travail aussi de ce coté

Il y a des « pertes » par rapport aux automatisations natives : j’avais une carte avec tous les déclenchements
image
Il faut que je regarde à exploiter le logbook à la place, mais c’est pas l’urgence

Au final, une fois qu’on a pris en main node red, c’est vraiment un chouette truc !