Mon problème
Bonsoir,
Mes recherches sur le sites sont infructuenses.
Je voudrais, que suivant l’état de certaines automatisation, pouvoir continuer dans un programme avec des conditions.
Je ne sais pas comment faire?
j’ai essayé : Automatisation > condition > etat > entité=nom de l’entité dont je veux connaitre l’état > état? off? stop?
- condition: state
entity_id: automation.chauffe_seche_serviette
state: stop
Merci
Salut
Tu parles bien d’une automatisation ? Pas d’une entité ou d’un sensor ?
Tu as un exemple concret ?
Bonsoir @Pulpy-Luke
OUI automatisation
En fait je veux allumer mon sèche serviette suivant certaines conditions:
alias: chauffe seche serviette
description: ''
trigger:
- platform: numeric_state
entity_id: sensor.ecopv_prout
for:
hours: 0
minutes: 1
seconds: 0
above: '850'
condition:
- condition: time
after: '10:00:00'
before: '20:00:00'
action:
- device_id: d7a69ac42900c0ebde73316eed23b953
domain: climate
entity_id: climate.i2g_actuator
type: set_preset_mode
preset_mode: drying
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
mode: single
sauf que ces conditions restant vrai, j’ai plusieurs messages d’erreur qui me disent « already running »
Et en // je veux également arrêter mon sèche serviette grâce à une autre automatisation, uniquement si les conditions ne sont plus vrais ET que la première automatisation n’est plus en running. Oui car les conditions sont que j’ai du surplus de prod en photovoltaique, mais si je viens d’allumer celui-ci, et qu’un nuage passe, je ne veux pas qu’il fonctionne en clignotant et dans ce cas j’ai une tempo de 5min
J’espère que c’est plus clair?
C’est effectivement plus clair.
Par contre c’est pas la bonne piste à mon avis. Là ce que tu essaye de faire, c’est de l’asservissement (la même chose que la gestion du chauffage par PID)
Une alternative facile ici c’est d’ajouter la condition sur le fait qu’il n’est pas déjà allumé en plus de la condition de temps. Comme ça s’il est éteint et que tu as du surplus, ça l’allume. S’il est déjà allumé, reste allumé sans nouveau déclenchement. Et si la condition above 850 est fausse, ça ne fait juste rien… Au bout des 5 minutes ça doit couper le sèche serviette
Faire la deuxième automatisation (pour le stop) ne me semble plus nécessaire : à voir si les 5 minutes d’allumage ne sont trop longues
Idem, les créneaux sur les heures sont peut-être pas aussi pertinants en fonctions des saisons
Ok merci,
Pour les horaires, j’avais mis en fonction du soleil, mais le bouton « test » sur l’automatisation mettait un point exclamation rouge, donc ne sachant pas ce qu’il y avait, je ne voulais prendre une valeur plus sûr
Pour ce qui est de l’automatisation du seche serviette, je ne pense pas que ce soit de l’asservissement.
Si mon surplus est > 850w alors j’allume mon seche serviette de 750w.si je consomme plus que je produit, alors j’éteins.
L’automatisation me paraissait être la plus à même d’effectuer ce genre d’automatisme.
Tu conseilles de faire comment?
Ma crainte avec une automatisation qui reste en route c’est que je ne voudrais pas envoyer l’info au radiateur de s’allumer toutes les x secondes car on aurait une boucle while qui tourne.
Pour ne pas polluer d’ordre. L’automatisation sera lancée mais les actions ne seront pas exécutées
On s’en approche très fortement. Et l’objectif du pid est exactement d’éviter au radiateur de faire du on/off en permanence. La différence dans ton cas c’est qu’on accepte de rester allumé au dessus de la pseudo consigne (850)
J’ai besoin d’une petite traduction sur la boucle while
Ma boucle d’extinction du radiateur si condition non remplie:
Si la valeur de prout est au dessus de 120 je continue
Si je suis en dessous de 120 je passe à la suite
Et là j’ai un doute, j’ai mis une boucle car j’ai bien l’impression qu’il y a des manquements d’ordre.
Quelle est la traduction littérale de mon code?
c’est : jusqu’à ce que i2g est en mode drying, alors i2g set à none (éteint)
ou: puis ce que i2g est en mode drying, alors i2g set à none (éteint)
- repeat:
while:
- condition: numeric_state
entity_id: sensor.ecopv_prout
above: '120'
sequence: []
- repeat:
until:
- condition: device
device_id: d7a69ac42900c0ebde73316eed23b953
domain: climate
entity_id: climate.i2g_actuator
type: is_preset_mode
preset_mode: drying
sequence:
- device_id: d7a69ac42900c0ebde73316eed23b953
domain: climate
entity_id: climate.i2g_actuator
type: set_preset_mode
preset_mode: none
car si nous sommes sur le premier cas, il va falloir remplacer le code par:
- repeat:
until:
- condition: device
device_id: d7a69ac42900c0ebde73316eed23b953
domain: climate
entity_id: climate.i2g_actuator
type: is_preset_mode
preset_mode: none
sequence:
- device_id: d7a69ac42900c0ebde73316eed23b953
domain: climate
entity_id: climate.i2g_actuator
type: set_preset_mode
preset_mode: none
Jusqu’à ce que le mode du chauffage est à none, je le set à none
Merci
je serais toi, je m’inspirerais de ce credo :