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.
Ives
Avril 13, 2021, 9:22
42
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…
Ives
Avril 13, 2021, 9:33
44
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.
Ives
Avril 13, 2021, 9:41
46
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…
Ives
Avril 13, 2021, 10:12
48
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é.
Ives
Avril 13, 2021, 11:17
50
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) }
Ives
Avril 13, 2021, 11:39
52
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 le résultat?
Il y a un truc louche…
Ives
Avril 13, 2021, 12:01
54
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?
Ives
Avril 13, 2021, 12:23
56
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.
Ives
Avril 13, 2021, 12:27
58
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?