Interface pour entrer dates et heures

Avec:

Et la doc du service, on voit que ça n’est pas ce qui est attendu.
Il va falloir ruser avec jsonata pour adapter le format…

Donc, ça donnerait plutôt:

{ "value": $toMillis(payload) }

Voir la doc Date/Time processing · JSONata et un outil https://try.jsonata.org/seeC8Ibu0 pour aider à écrire le jsonata.

Je comprends que l’argument 1 de la fonction toMilllis ne convient pas mais ensuite…?

13/04/2021, 11:15:50node: Date dernier arrosage EV1
msg : string[67]
"Argument 1 of function "toMillis" does not match function signature"
13/04/2021, 11:15:50node: 3bc14aa4.7df6f6
2/6/7 : msg : Object
object
topic: "2/6/7"
payload: "2021-03-31T22: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]
0: 0x1
1: 0x4
2: 0x15
previouspayload: "2021-03-31T22:00:00.000Z"
_msgid: "9e1f4d.d3d180b"

Là, il faudrait avoir ce que tu as entré précisément à la place de:

https://forum.hacf.fr/uploads/default/original/2X/2/28dfc1523b846f941f6f025a5809e313147b9b2f.jpeg

Et tu peux tester la syntaxe toi même avec try.jsonata.org. En copiant le json qui sort du KNX…

KNX vers HA10
je procède comment pour tester la syntaxe ? Le json du knx il ets dan sle msg de debug ?

Oui… Mais, il est possible (vu comment tu as copié c’est difficile à dire) que ce ne soit pas du json correct. Donc entre le noeud knx et le service call mettre un noeud json qui va mettre le format au propre.

Comment « mieux » copier ?
J’ai développé tous les items du message puis copier/coller. J’ai oublié quelque chose ?

Dans la sortie du noeud debug on peut cliquer sur un truc qui copie soit le chemin, soit le contenu…
Là, ton output est un peu vérolé. Il manque des espaces, par exemple. Et donc, je ne sais pas si c’est du « vrai » json ou pas…

dans le message de debug, à droite de « object » je fais Copie value :

{"topic":"2/6/7","payload":"2021-03-31T22:00:00.000Z","devicename":"2/6/7 ABA/S 1.2.1","payloadmeasureunit":"unknown","payloadsubtypevalue":"unknown","knx":{"event":"GroupValue_Write","dpt":"11.001","dptdesc":"Date","source":"1.1.77","destination":"2/6/7","rawValue":[1,4,21]},"previouspayload":"2021-03-31T22:00:00.000Z","_msgid":"55d295ee.0a897c"}

et la même chose pour knx object

{"event":"GroupValue_Write","dpt":"11.001","dptdesc":"Date","source":"1.1.77","destination":"2/6/7","rawValue":[1,4,21]}

Bon, bah, je ne sais pas ce qui coince.
La date a l’air au bon format. Je ne comprends pas ce qui ne va pas…
Désolé.

Merci pour ton aide. Je vais laisser de côté pour l’instant…

Peut-être ça:

{ "value": $substring(payload,0,10) & " " & $substring(payload,11,8) }

Toujours le même message

Argument 1 of function "substring" does not match function signature

Peux tu changer le noeud debug pour n’afficher que msg.payload? Et copier comme il faut :slight_smile: le résultat?
Il y a un truc louche…

avec { « value »: payload }

Sat Apr 10 2021 00:00:00 GMT+0200 (Central European Summer Time)

avec { « value »: $substring(payload,0,10) & " " & $substring(payload,11,8) }

Fri Apr 09 2021 00:00:00 GMT+0200 (Central European Summer Time)

Euh… Le format qui change la date??
et msg.payload brut?

J’ai configuré KNX pour envoyer la valeur sur le bus que si elle change donc à chaque essai je change de date .
Version { « value »: payload }

13/04/2021, 14:22:33node: 3bc14aa4.7df6f6
2/6/7 : msg : Object
object
topic: "2/6/7"
payload: "2021-04-06T22: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.73"
destination: "2/6/7"
rawValue: buffer[3]
0: 0x7
1: 0x4
2: 0x15
previouspayload: "2021-04-09T22:00:00.000Z"
_msgid: "1ed292d1.940c4d"
13/04/2021, 14:22:33node: Date dernier arrosage EV1
msg : string[25]
"Expected ":", got "value""

Juste msg.payload pas tout le message. J’essaie de comprendre ce qui coince dans le format.

Quelle est la différence entre « mes.payload » et « message payload brut » dont tu parles dans un message précédent ?
Lorsque dans les paramètres du noeud msg, je sélectionne msg.payload, j’obtiens ceci dans la fenêtre de debug (avec copie value)

Thu Apr 15 2021 00:00:00 GMT+0200 (Central European Summer Time)

L’output c’est soit msg, soit msg.payload, soit ce que tu veux.
Je voulais voir la tête du payload.
Si tu cliques dessus, tu dois voir le timestamp (un très gros nombre) qui apparait. C’est le cas?

C’est le 3bc…
KNX vers HA13