Bonjour,
J’ai une entité Timer et je souhaite récupérer sa valeur dans Node-Red.
Je n’arrive à récupérer que son état, Actif ou Pause.
Dans LoveLace j’affiche bien la valeur.
Une idée ?
Merci
Bob
Bonjour,
J’ai une entité Timer et je souhaite récupérer sa valeur dans Node-Red.
Je n’arrive à récupérer que son état, Actif ou Pause.
Dans LoveLace j’affiche bien la valeur.
Une idée ?
Merci
Bob
State te retrouve son état. Les durées ne sont pas des états mais des attributs.
Regarde dans outils de développement > états
Merci, oui j’ai bien tout ça :
C’est dans Node-Red que je souhaite remonter l’info
Dans nodered, au lieu de n’afficher que msg.payload, tu affiches tout le msg. Quand c’est affiché, en face de la valeur qui t’intéresse, tu cliques sur « copy path » ou l’équivalent dn français. Ça va te donner la façon d’avoir l’attribut qui t’intéresse.
Je te suggère de regarder les tutos de nodered qui explique comment faire ce genre de choses.
Oui j’avais bien compris.
Regarde dans ton « Current State », tu as le nom de l’objet de msg qui reçoit toutes les infos de l’entité.
Par défaut, msg.payload ne reçoit que l’état.
msg.data reçoit toutes les infos de l’entité.
Donc dans ton debug au lieue de mettre msg.payload, tu verra qu’en mettant msg.data tu as un truc qui ressemble à ça:
object
entity_id: "timer.timer_lumieres",
state: "active",
attributes: object
duration: "0:03:00",
editable: false,
finishes_at: "2021-12-23T20:56:32+00:00"
remaining: "0:03:00"
last_changed: "2021-12-23T20:53:32.909810+00:00"
last_updated: "2021-12-23T20:53:32.909810+00:00"
Bonjour et merci,
Mon compteur est actif et se décrémente:
Mon « Current State »:
Mon « Debug »:
Mes infos Debug:
24/12/2021, 12:27:32node: 6e8a820a4b4b13femsg.data : Object
object
entity_id: "timer.testbob"
state: "active"
attributes: object
duration: "24:00:00"
editable: true
finishes_at: "2021-12-25T10:54:34+00:00"
remaining: "24:00:00"
icon: "mdi:counter"
friendly_name: "TestBob"
last_changed: "2021-12-24T10:54:34.781891+00:00"
last_updated: "2021-12-24T10:54:34.781891+00:00"
context: object
id: "14f041c12a1a9656c434fae78591bc34"
parent_id: null
user_id: "2f8ec7bd3b924161a2d869e46faa91cd"
timeSinceChangedMs: 1977316
original_state: "active"
Je n’y voit pas la valeur du timer.
Oui @golfvert, je vais regarder les tutos, pour en apprendre un peu plus sur Node-Red, en 2022 , là je pars pour les fêtes.
Merci à vous tous et joyeuses fêtes.
C’est là que le fun commence, il n’y a jamais la valeur actuelle restante quand le timer est actif, tu n’as que le « finishes_at » en date…
Du coup tu dois faire une soustraction entre finishes_at et la date/heure actuelle pour savoir combien il reste…
Ca se fait soit avec un compteur template dans HA, ou une fonction dans node red.
Je n’ai pas d’exemple à te donner, car je n’ai jamais fait ça avec NodeRed.
Mais j’ai un truc similaire avec ESPHome, donc pas de copier coller, sorry
Voici ce que je fais:
- platform: template
sensors:
timer_1_end:
friendly_name: "Timer 1 End Timestamp"
device_class: timestamp
value_template: "{{ as_timestamp(state_attr('timer.timer_1', 'finishes_at'), 0) | int }}"
auto time = id(homeassistant_time).now();
if(id(GTimer).state.compare("active") == 0)
{
int remaining = (int)id(GTimerEnd).state - (int)time.timestamp;
.....
}
Bonjour,
Pour finir cette demande, je voulais en fait compter le temps de chauffage et faire un cas Nodered, ensuite j’ai vu un exemple dans une présentation de board qui le permettait de façon très simple, je le mets ici avec le rendu.
Merci pour l’aide sur Nodered
Bob
- platform: history_stats
name: Chauffage / 24h
entity_id: light.door_lock_unit_12
state: "on"
type: time
end: "{{ now().replace(hour=0, minute=0, second=0) }}"
duration:
hours: 24
- platform: history_stats
name: Chauffage Jour
entity_id: light.door_lock_unit_12
state: "on"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
- platform: history_stats
name: Chauffage 7 jours
entity_id: light.door_lock_unit_12
state: "on"
type: time
end: "{{ now().replace(hour=0, minute=0, second=0) }}"
duration:
days: 7