Bonjour a tous,
Je reviens encore sur ce sujet car aucune réponse.
J’ai bien essayé la solution du post de nordix ici:
Je laisse ici tout ce que j’ai fait au cas ou qqun d’autre peux m’aider:
J’ai bien réussi a rajouter le JQ-300 dans le plugin JMQTT:
- Il faut rajouter un broker avec ceci:
ip mosquito: mq.youpinyuntai.com
port mosquito:55450 - Il faut rajouter un equipement associé avec le broker pecendent avec:
Topic: Le token de l’equipement
(je lui ai donné le nom ‹ Value ›
Apres j’ai créé des virtuels appelés (info/numerique):
#[Devices][JQ300-Virtuel][Temperature]#
#[Devices][JQ300-Virtuel][Humidity]#
#[Devices][JQ300-Virtuel][PM2.5 ]#
#[Devices][JQ300-Virtuel][HCHO]#
#[Devices][JQ300-Virtuel][TVOC]#
#[Devices][JQ300-Virtuel][eCO2]#
Et j’ai crée un scenario avec le code du post de nordix:
// grab value from jmqtt Broker
$cmd = cmd::byString("#[Devices][DATA][Value]#");
$value = $cmd->execCmd();
//strip slashes and back slashes
$stripped = stripslashes($value);
//$scenario->setLog($stripped);
$jsonarray = json_decode($stripped, true);
if(is_array($jsonarray)){
//récupération des données
$temp=$jsonarray[4]['content'];
$humidity=$jsonarray[5]['content'];
$PM25=$jsonarray[6]['content'];
$HCHO=$jsonarray[7]['content'];
$TVOC=$jsonarray[8]['content'];
$eCO2=$jsonarray[9]['content'];
// Mise à jour des commandes du virtuel
cmd::byString("#[Devices][JQ300-Virtuel][Temperature]#")->event($temp);
cmd::byString("#[Devices][JQ300-Virtuel][Humidity]#")->event(($humidity));
cmd::byString("#[Devices][JQ300-Virtuel][PM2.5 ]#")->event(($PM25));
cmd::byString("#[Devices][JQ300-Virtuel][HCHO]#")->event(($HCHO));
cmd::byString("#[Devices][JQ300-Virtuel][TVOC]#")->event(($TVOC));
cmd::byString("#[Devices][JQ300-Virtuel][eCO2]#")->event(($eCO2));
}
Si je regarde, la valeur du broker est très bien prise en compte.
Alors #[Devices][DATA][Value]# est:
{« type »:« V »,« content »:« [{"content":"0","dptId":1,"seq":1,"deviceToken":"5139684CE64CF16AXXXXX"},{"content":null,"dptId":1,"seq":2,"deviceToken":""},{"content":null,"dptId":1,"seq":3,"deviceToken":""},{"content":"20","dptId":1,"seq":4,"deviceToken":""},{"content":"55","dptId":1,"seq":5,"deviceToken":""},{"content":"37","dptId":1,"seq":6,"deviceToken":""},{"content":"0.010","dptId":1,"seq":7,"deviceToken":""},{"content":"0.414","dptId":1,"seq":8,"deviceToken":""},{"content":"387","dptId":1,"seq":9,"deviceToken":""},{"content":"2700","dptId":1,"seq":10,"deviceToken":""}] »,« deviceToken »:« 5139684CE64CF16AXXXX »}
Par contre, quand j'execute le scenario, rien est enregisté dans les virtuels, qui restent tous a cero/nul.
Qqun a une idée ou peux m'aider, SVP. Je suis désespéré!!!
Merci d'avance.