Witam. Chciałbym wyłuskać konkretne wartości z msg.payload za pomocą funkcji…
Przykład:
shellyplus1pm-xxxxxxx/status/switch:0 : msg.payload : string[208]
“{“id”:0, “source”:“init”, “output”:false, “apower”:0.0, “voltage”:224.0, “current”:0.000, “aenergy”:{“total”:0.000,“by_minute”:[0.000,0.000,0.000],“minute_ts”:1700166659},“temperature”:{“tC”:36.4, “tF”:97.6}}”
gdzie interesuje mnie np temperatura, którą będę mógł wystawić do dalszej obróbki…
podpowie ktoś?
Za pomocą węzła json zamień ten string na obiekt… a później to już normalnie jak zawsze
flows (59).json (665 bajtów)
Nie mam shelly… ale z tego co mi wiadomo to działa przez mqtt. Może subskrypcja właściwego tematu pozwoli odczytać tą wartość bezpośrednio?
Albo wrzuć do funkcji (Function) coś w ten deseń:
var data = JSON.parse(msg.payload);
var temperatureC = data.temperature.tC;
msg.payload = temperatureC;
return msg;
1 Like
Witam. Po długim czasie nieobecności, po pierwsze pozdrawiam a po drugie dziękuję chłopaki! Coś tam napisałem według zaleceń maguPL i działa! Dzięki jeszcze raz za info