Mes capteurs sont décrits dans ce topic pour lesquels je pensais avoir besoin d’un nouveau développement spécifique:
Ces capteurs publient les données sur le Broker du constructeur, une compagnie chinoise nommée Youpinyuntai.
Je me connecte donc à ce Broker comme le fait l’application Android ou IOS pour récupérer les données avec le plugin JMQTT.
Maintenant je comprends que la fonction PHP:json_decode décode l’UTF-8 à la volée mais je pense qu’il le fait que sur l’objet primaire.
On dirait dans ce cas que l’objet « Content » est le seul qui est encodé, pas les autres! Bizzare je l’accorde comme façon de faire.
En tous les cas @domotruc , si tu regardes ce que fait ce dévellopeur qui a construit un petit code pour récupérer les données, il décode de l’UTF-8 le message avant de Parser le JSON:
reads and parses sensor data of JQ-200 / JQ-300 from ypyt cloud for given device token · GitHub
C’est pour cela je pensais que le décodage ne se faisait pas par le plugin.
Sinon pour ajouter de l’info sur le petit problème que je rencontre, voici un log en mode débug:
[2019-12-29 22:21:47][DEBUG] : broker msg: Client XXXXXXXXXXXXXXXXXXX received PUBLISH (d0, q0, r0, m0, 'XXXXXXXXXXXXXXXXXXX', ... (723 bytes))
[2019-12-29 22:21:47][DEBUG] : Payload {"type":"V","content":"[{\"content\":\"0\",\"dptId\":1,\"seq\":1,\"deviceToken\":\"XXXXXXXXXXXXXXXXXXX\"},{\"content\":null,\"dptId\":1,\"seq\":2,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":3,\"deviceToken\":\"\"},{\"content\":\"19\",\"dptId\":1,\"seq\":4,\"deviceToken\":\"\"},{\"content\":\"52\",\"dptId\":1,\"seq\":5,\"deviceToken\":\"\"},{\"content\":\"0\",\"dptId\":1,\"seq\":6,\"deviceToken\":\"\"},{\"content\":\"0.028\",\"dptId\":1,\"seq\":7,\"deviceToken\":\"\"},{\"content\":\"0.387\",\"dptId\":1,\"seq\":8,\"deviceToken\":\"\"},{\"content\":\"774\",\"dptId\":1,\"seq\":9,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":10,\"deviceToken\":\"\"}]","deviceToken":"XXXXXXXXXXXXXXXXXXX"} for topic XXXXXXXXXXXXXXXXXXX
[2019-12-29 22:21:47][INFO] : -> mq.youpinyuntai.com|XXXXXXXXXXXXXXXXXXX {"type":"V","content":"[{\"content\":\"0\",\"dptId\":1,\"seq\":1,\"deviceToken\":\"XXXXXXXXXXXXXXXXXXX\"},{\"content\":null,\"dptId\":1,\"seq\":2,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":3,\"deviceToken\":\"\"},{\"content\":\"19\",\"dptId\":1,\"seq\":4,\"deviceToken\":\"\"},{\"content\":\"52\",\"dptId\":1,\"seq\":5,\"deviceToken\":\"\"},{\"content\":\"0\",\"dptId\":1,\"seq\":6,\"deviceToken\":\"\"},{\"content\":\"0.028\",\"dptId\":1,\"seq\":7,\"deviceToken\":\"\"},{\"content\":\"0.387\",\"dptId\":1,\"seq\":8,\"deviceToken\":\"\"},{\"content\":\"774\",\"dptId\":1,\"seq\":9,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":10,\"deviceToken\":\"\"}]","deviceToken":"XXXXXXXXXXXXXXXXXXX"}
[2019-12-29 22:21:47][INFO] : -> mq.youpinyuntai.com|Content "[{\"content\":\"0\",\"dptId\":1,\"seq\":1,\"deviceToken\":\"XXXXXXXXXXXXXXXXXXX\"},{\"content\":null,\"dptId\":1,\"seq\":2,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":3,\"deviceToken\":\"\"},{\"content\":\"19\",\"dptId\":1,\"seq\":4,\"deviceToken\":\"\"},{\"content\":\"52\",\"dptId\":1,\"seq\":5,\"deviceToken\":\"\"},{\"content\":\"0\",\"dptId\":1,\"seq\":6,\"deviceToken\":\"\"},{\"content\":\"0.028\",\"dptId\":1,\"seq\":7,\"deviceToken\":\"\"},{\"content\":\"0.387\",\"dptId\":1,\"seq\":8,\"deviceToken\":\"\"},{\"content\":\"774\",\"dptId\":1,\"seq\":9,\"deviceToken\":\"\"},{\"content\":null,\"dptId\":1,\"seq\":10,\"deviceToken\":\"\"}]"
[2019-12-29 22:21:47][INFO] : -> mq.youpinyuntai.com|Token "XXXXXXXXXXXXXXXXXXX"
[2019-12-29 22:21:47][INFO] : -> mq.youpinyuntai.com|Type "V"
Merci