MQTT Parsování zprávy do proměnných

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

MQTT Parsování zprávy do proměnných

Postby mistepik » Wed 05. May 2021 6:52:25

Dobrý den,

Při získání zprávy z MQTT brokeru mi přijde následující formát a potřeboval bych uložit hodnoty do jednotlivých proměnných podle názvu, přičemž časovou značku ukládat nepotřebuji. Existuje nějaká funkce, která by byla ideální pro můj případ?

Děkuji za odpověď

Code: Select all
T: cisco/edge-intelligence/telemetry/P242_PLC02, M: {"deviceData":{"D500CSTEP":{"ts":1620190302533,"v":101},"D500C_Mode":{"ts":0,"v":null},"H100LT101":{"ts":1620191795555,"v":43.238468170166019},"H100PT101":{"ts":1620191793555,"v":6.06825065612793},"P300BHOURS":{"ts":1620186619477,"v":28},"P300BSTAT":{"ts":1620190302533,"v":100},"Station_Mode":{"ts":0,"v":null}}}
mistepik
 
Posts: 12
Joined: Fri 21. Sep 2018 8:16:35

Re: MQTT Parsování zprávy do proměnných

Postby Pavel Klimíček » Wed 05. May 2021 7:57:56

Dobrý den
Zpracování není složité podívejte se v dokumentaci na tyto stránky:
https://www.promotic.eu/cz/pmdoc/Directions/FileFmt/json/FmtJSON.htm
https://www.promotic.eu/cz/pmdoc/Objects/Pm/PropMeth/JsonParse.htm

Ve Vašem případě to bude takto:

Code: Select all
var sJson = '{"deviceData":{"D500CSTEP":{"ts":1620190302533,"v":101},"D500C_Mode":{"ts":0,"v":null},"H100LT101":{"ts":1620191795555,"v":43.238468170166019},"H100PT101":{"ts":1620191793555,"v":6.06825065612793},"P300BHOURS":{"ts":1620186619477,"v":28},"P300BSTAT":{"ts":1620190302533,"v":100},"Station_Mode":{"ts":0,"v":null}}}';
var oMap = Pm.JsonParse(sJson);
var oJson = oMap.Value;

var ts0   = oJson.deviceData.D500CSTEP.ts;
var v0   = oJson.deviceData.D500CSTEP.v;
var ts1   = oJson.deviceData.D500C_Mode.ts;
var v1   = oJson.deviceData.D500C_Mode.v;
//...
Pm.Debug(ts0+","+v0+","+ts1+","+v1);
Pavel Klimíček
 
Posts: 73
Joined: Thu 13. Dec 2012 15:35:59

Re: MQTT Parsování zprávy do proměnných

Postby mistepik » Wed 05. May 2021 10:54:04

Funguje dle předpokladu, mockrát vám děkuji a přeji pěkný den.
mistepik
 
Posts: 12
Joined: Fri 21. Sep 2018 8:16:35


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 1 guest