Interface pour entrer dates et heures

Effectivement, ce n’est pas trigger mais events qu’il faut utiliser.
Comme ça, ça doit marcher:

[{"id":"a3cf98ae.3a9028","type":"debug","z":"e65df6a0.5d2a98","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"data.new_state.attributes.timestamp","targetType":"msg","statusVal":"","statusType":"auto","x":640,"y":1520,"wires":[]},{"id":"a3a706c7.c43878","type":"server-state-changed","z":"e65df6a0.5d2a98","name":"","server":"d28c9492.f419c8","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_datetime.test","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"unavailable","halt_if_type":"str","halt_if_compare":"is_not","outputs":2,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":280,"y":1520,"wires":[["a3cf98ae.3a9028"],[]]},{"id":"d28c9492.f419c8","type":"server","name":"hassio","legacy":false,"addon":false,"rejectUnauthorizedCerts":false,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Je ne sais pas ce que le noeud KNX veut en entrée… Mais, j’imagine que le timestamp sera plus facile à manipuler. Le debug montre comment y accéder.

Le noeud events fonctionne (dans ce cas je n’ai plus besoin du noeud time)

Il y a toujours des messages d’erreur dans le debug
HA-datetime8

Voici les propriétés du noeud KNX

Dans le noeud event il faut:

Là, je pense que tu as laissé le type string, qui est la valeur par défaut.

Et effectivement, il ne faut plus le noeud time. Il n’est pas fait pour ce que tu veux.

En fait, comme un c–, j’avais copié les noeuds de mon premier test dans un second flow et dans le debug « current node » n’était pas sélectionné !
Maintenant j’ai un beau message dans le debug ! :slightly_smiling_face:
HA-debug
Encore un grand merci pour ton aide très efficiente (pas de bla bla, du concret) :+1:

Bon, pour les heures c’est impeccable mais pour les dates, j’ai :

- créé deux input_datetime.date depuis Configuration / Helpers

- inséré les input_datetime.date dans une Carte Entities

- redémarré HA

Le problème c’est que les input_datetime.date n’apparaissent pas dans le champ de la propriété Entity ID du nœud évènements. Je dois oublier quelque chose ?

Le problème semble venir de HA. Voici le test que j’ai effectué

  1. J’ai ajouté dans HA Configuration/Helpers :
    Date and/or time/ Name : Date test
    Type Date -

  2. Dans le Dashboard ; une Card entities avec input_Datetime.date_test

  3. Dans HA Developer Tool / STATES
    Entity : input_Datetime.date_test

  4. Lorsque je change la date dans la Card , l’état ne change pas dans State de developer Tool.
    (un test similaire fonctionne avec une input_datetime.time)

Si j’entre une date depuis Developer Tools/STATES puis que je clique sur « SET STATE », c’est pris en compte dans Node-Red (même si ce n’est pas affiché dans la Card).
En procédant de cette façon, j’ai pu valider le principe d’écriture d’une date dans une GA …même si le problème n’est pas résolu à cause de HA.

[Edit] Finalement résolu après une mise à jour de core

Maintenant que je peux envoyer des dates, des heures, des number et booleen de HA vers KNX, je souhaite faire le contraire, c’est à dire afficher dans HA des dates et des heures en provenance de KNX. Quel nœud faut-il que j’utilise ?

Du côté KNX? Le même, on dirait… SampleGlobalContextNode · Supergiovane/node-red-contrib-knx-ultimate Wiki · GitHub

Je n’ai pas de KNX, donc, en pratique, je ne sais pas. Mais, ça a l’air de faire ce que tu veux.

Effectivement c’est avec le même noeud ; j’ai un peu progressé car j’arrive à afficher une valeur KNX dans un nœud msg mais ensuite comment passer cette valeur dans une entity HA pour l’afficher dans lovelace ?

Le principe général c’est d’utiliser le noeud « call service » qui permet d’appeler un service depuis NR vers HA.
Avec ça tu peux modifier des valeurs d’entité HA depuis NR.
Autre option, passer par des appels de l’API.

J’ai créé une input_number.test_number dans HA et ajouté un nœud call service

mais j’ai toujours une erreur.

Qu’est ce qui sort du noeud KNX?
J’ai l’impression de voir un espace entre test et number.
Le {} dans le champ data n’est pas correct…
Je n’utiliserai pas reload mais set_value.

Après, la syntaxe exacte dépend de ce qui sort du noeud précédent.

J’ai remplacé l’espace entre test et number :angry:
c’est un nombre qui sort du knx (195 dans le test)

KNX vers HA6

Je n’ai pas compris ce que je devais mettre dans Data {} pour que 195 soit affecté à input_number.test_number ?

Soit tu laisses {} comme type (donc du json) et c’est {{ payload }} (c’est une template mustache) ou tu mets l’espèce de S: (du jsonata) et à ce moment là c’est { payload }.
Dans un cas deux { et dans l’autre une seule. C’est assez bien expliqué ici: Call Service Tips and Tricks | node-red-contrib-home-assistant-websocket

Dans data que je mette {} ou {{ payload }} j’ai toujours un carré rouge affiché sous le nœud
idem avec l’espèce de S et { payload }


La seule chose que j’arrive à envoyer dans input_number.test_number c’est, par exemple, 50 si je mets dans data {« value »:50}

Ah, j’avais oublié que set-value attend un json avec:

{ "value": 50 }

Dans ce cas, avec S: (jsonata) :

{ "value": payload }
1 « J'aime »

Bingo c’est la solution :+1: Tu es mon sauveur ! Un grand Merci pour ton aide.

J’ai fait un test concluant hier pour remonter une date du KNX vers HA et impossible de le reproduire aujourd’hui ?

Je suppose que le format de la date en sortie du KNX ne plait pas…
Voir Input Datetime - Home Assistant pour la syntaxe.
Il faudrait copiée le texte pas le photo du message complet du debug (pas seulement le payload) pour savoir quoi faire…

3/04/2021, 11:00:32node: Date dernier arrosage EV1
msg : string[101]
"Call-service API error.  Error Message: must contain at least one of date, time, datetime, timestamp."
13/04/2021, 11:03:27node: 3bc14aa4.7df6f6
2/6/7 : msg : Object
object
topic: "2/6/7"
payload: "2021-04-07T22:00:00.000Z"
devicename: "2/6/7 ABA/S 1.2.1"
payloadmeasureunit: "unknown"
payloadsubtypevalue: "unknown"
knx: object
event: "GroupValue_Write"
dpt: "11.001"
dptdesc: "Date"
source: "1.1.77"
destination: "2/6/7"
rawValue: buffer[3]
previouspayload: "2021-04-06T22:00:00.000Z"
_msgid: "2f55b17.a5be14e"
13/04/2021, 11:03:27node: Date dernier arrosage EV1
msg : string[101]
"Call-service API error.  Error Message: must contain at least one of date, time, datetime, timestamp."