Ayant avancé sur l’intégration de mes petits senseurs CO2 dans Jeedom, je bute sur l’extraction des infos avec le plugin JQMTT. J’arrive à souscrir au Broker du constucteur et rapatrier les données qui se présentent sous un objet JSON de ce type:
{"type":"V","content":"[{\"content\":\"0\",\"dptId\":1,\"seq\":1,\"deviceToken\":\"xxxxxxxxxxxxxxxxxxxx"},{\"content\":null,\"dptId\":1,\"seq\":2,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":3,\"deviceToken\":\"\"},{\"content\":\"13\",\"dptId\":1,\"seq\":4,\"deviceToken\":\"\"},{\"content\":\"49\",\"dptId\":1,\"seq\":5,\"deviceToken\":\"\"},{\"content\":\"0\",\"dptId\":1,\"seq\":6,\"deviceToken\":\"\"},{\"content\":\"0.068\",\"dptId\":1,\"seq\":7,\"deviceToken\":\"\"},{\"content\":\"0.500\",\"dptId\":1,\"seq\":8,\"deviceToken\":\"\"},{\"content\":\"1005\",\"dptId\":1,\"seq\":9,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":10,\"deviceToken\":\"\"}]","deviceToken":"xxxxxxxxxxxxxxxxxxxx"}
Dans le Broker JMQTT, le parsing JSON ne va pas plus loin que le premier objet « Content » et éclate les données comme suit:
{type}
{deviceToken}
{content}
L’objet {content} est un array qui les valeurs que je voudrai extraire et se présente comme suit:
[{\"content\":\"0\",\"dptId\":1,\"seq\":1,\"deviceToken\":\"XXXXXXXXXXXXXXXXXX\"},{\"content\":null,\"dptId\":1,\"seq\":2,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":3,\"deviceToken\":\"\"},{\"content\":\"13\",\"dptId\":1,\"seq\":4,\"deviceToken\":\"\"},{\"content\":\"49\",\"dptId\":1,\"seq\":5,\"deviceToken\":\"\"},{\"content\":\"0\",\"dptId\":1,\"seq\":6,\"deviceToken\":\"\"},{\"content\":\"0.082\",\"dptId\":1,\"seq\":7,\"deviceToken\":\"\"},{\"content\":\"0.517\",\"dptId\":1,\"seq\":8,\"deviceToken\":\"\"},{\"content\":\"1039\",\"dptId\":1,\"seq\":9,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":10,\"deviceToken\":\"\"}]
Je voudrai extraire les valeurs des objets string « content » imbriqués dans l’array:
{« content »:« 13 »,« dptId »:1,« seq »:4,« deviceToken »:""},{« content »:« 49 »,« dptId »:1,« seq »:5,« deviceToken »:""},{« content »:« 0 »,« dptId »:1,« seq »:6,« deviceToken »:""},{« content »:« 0.082 »,« dptId »:1,« seq »:7,« deviceToken »:""},{« content »:« 0.517 »,« dptId »:1,« seq »:8,« deviceToken »:""},{« content »:« 1039 »,« dptId »:1,« seq »:9,« deviceToken »:""},
Est-ce possible directement dans la commande info ou est-ce trop demander à ce plugin très bien fait soit dit en passant.
Merci