Test d'une condition sur un sensor

Mon problème

Bonjour,

Je veux éteindre des prises connectées lorsque l’offre TEMPO est en jour Rouge. Pour ce faire, j’ai interrogé un web service d’EDF qui me fournit l’information proprement : elle est correctement affichée sur mon dashboard.

L’état défini :

options:
  - Bleu
  - Blanc
  - Rouge
  - inconnu
attribution: Données fournies par data.rte-france.com
device_class: enum
icon: mdi:palette
friendly_name: RTE Tempo Couleur actuelle

Mon test :

condition: state
entity_id: sensor.rte_tempo_couleur_actuelle
attribute: attribution
state: Rouge

La valeur de l’état Rouge n’est pas détectée en tant que condition, bien que celle-ci soit effectivement la valeur fournie par le web service. Il semblerait que ce soit lié au device_class ENUM qui ne se rende pas compte que les deux valeurs sont identiques.

Avez-vous rencontré ce problème et trouvé une solution ?

Cordialement,

Sébastien.

Bj

quand tu post des automate , met le ton code complet peux ainsi mieux voir et corrigé ton souci
car la comme ca ta condition : state tu le poste ou ?
déclencheur, condition, action ???

Slt
Et surtout regarder dans Développement Etat comment remonte ce sensor !

Exemple sur un speedTest spécial


Je state la condition. Je confirme que c’est bien « Rouge » qui est renvoyé par le web service. Cependant, je me demande s’il ne faudrait pas renvoyer un identifiant de valeur d’enum pour obtenir l’équivalence plutôt que la valeur texte.

Quel est le langage de programmation qui est utilisé ici pour évaluer la condition ? Python ? JS ?

Regarde dans Développement modele, il y a quelques exemples et aussi les liens pour plus d’information !
https://jinja.palletsprojects.com/en/latest/templates/

Bonjour @sebastien133

Si je comprends bien, ton automatisation se lance tous les jours à 6h du matin doit vérifier l’état de tempo, si c’est rouge couper 3 prises.

Tu peux voir l’historiques des éxecutions et ça va t’indiquer normalement les valeurs lors de l’éxecution et pourquoi ça n’a rien fait. Ça devrait être un bon début pour trouver le problème.

Par exemple ici je vois que l’execution s’est arrêtée car je veux une condition « on » et que l’automatistaion a détecté que cette entité était sur « off » quand l’automatistation s’est enclenchée:

Oui, @Cloom , c’est bien cela. La cause de la non-exécution est que la condition sensor.rte_tempo_couleur_actuelle n’était pas remplie…

J’ai fini par résoudre mon problème en adaptant le test :

Je voulais vous remercier tous pour votre aide. J’apprécie beaucoup ce forum où les gens sont vraiment réactifs. C’est important d’avoir une communauté bien structurée lorsque l’on se lance dans des projects aussi complexes…

Bonne journée à vous !

Sébastien.

1 « J'aime »

Au moins tu auras appris une chose, presque tout seul ! :innocent:

Lol, @Doubledom !

Je fais des recherches avant, il est très rare que je fasse des demandes sur les réseaux. Par contre, là, j’étais vraiment bloqué et je n’avais rien trouvé de pertinent…

C’est finalement un post tout en bas de ma page de recherche qui m’a fourni un indice suffisant pour trouver.

Google est peut-être mon ami, mais des fois cela ne suffit pas ! :wink:

Bonjour,

peux tu nous montrer le code complet YAML, car cela m’interesse
merci

Ci-joint :

alias: Activation plan Caribou Rouge (Tempo Rouge)
description: ""
trigger:
  - platform: time
    at: "22:00:00"
condition:
  - condition: template
    value_template: "{{states('sensor.rte_tempo_couleur_actuelle') == 'Rouge' }}"
action:
  - type: turn_on
    device_id: 28bc1106458f6ba2b75126295807f42b
    entity_id: 581c27e30a10fc2d8ef6b6071226cdf9
    domain: switch
  - type: turn_on
    device_id: ec6f0b96f3744c00742e4cc4fdfd89db
    entity_id: c9d81d20116b0a036581fefc08af387d
    domain: switch
  - type: turn_on
    device_id: 50e3574d8e006b064111a8d6e92b9e0e
    entity_id: 54b58671d11081b236f018f09023a5ad
    domain: switch
mode: single
alias: Désactivation plan Caribou Rouge (tempo rouge)
description: ""
trigger:
  - platform: time_pattern
    hours: "6"
    minutes: "10"
condition:
  - condition: template
    value_template: "{{states('sensor.rte_tempo_couleur_actuelle') == 'Rouge' }}"
action:
  - type: turn_off
    device_id: 28bc1106458f6ba2b75126295807f42b
    entity_id: 581c27e30a10fc2d8ef6b6071226cdf9
    domain: switch
  - type: turn_off
    device_id: ec6f0b96f3744c00742e4cc4fdfd89db
    entity_id: c9d81d20116b0a036581fefc08af387d
    domain: switch
  - type: turn_off
    device_id: 50e3574d8e006b064111a8d6e92b9e0e
    entity_id: 54b58671d11081b236f018f09023a5ad
    domain: switch
mode: single

i```

J’utilise une API pour interroger EDF et déterminer si l’on est en jour rouge sur Tempo. Comme cela coûte super cher ces jours là, je coupe mon matériel.

Le plugin : rtetempo/README.md at v1.3.2 · hekmon/rtetempo · GitHub

Cela marche parfaitement, sans utiliser quoi que ce soit au niveau matériel… (J’ai vu des tutos sur Internet pour récupérer ces infos en utilisant un Arduino)

Sébastien.

1 « J'aime »