Ils sont de type cloud seulement rapportant leur données à un serveur MQTT et une application Android ou IOS agissant comme client permettent de récupérer les données.
Le seul paramètre d’authentification requis pour récupérer les données est le Device ID de l’application client MQTT qui est unique à chaque device.
J’ai réussi à récupérer la valeur de mon Device ID avec une trace réseau et peut lire faciilement les données grace à ce développement Python:
Cela me permet de récupérer les infos en mode print dans un shell:
temp 21 C
hum 49 %
PM2.5 0 ug/m^3
HCHO 0.004 mg/m^3
TVOC 0.292 mg/m^3
eCO2 428 ppm
Avec le développement Python, je suis certain que c’est un petit plugin rapide à développer, ce serait un joili cadeau de noêl à s’offrir ces petit détecteurs!
Bonjour @lunarok, je me souviens à pareille date tu nous avais offert le.plugin émulateur Roku avec un dev que j’avais proposé. Ce serait bien un autre cadeau de Noël de ta part pour ces petits appareils!
Faudrait un bout de doc sur comment récupérer l’ID déjà (ta méthode, par snif, pour pas ouvrir le bidule comme j’ai pu voir et brancher le serial)
Après oui dans le principe c’est « facile » à plugger en plugin Jeedom.
Mais là j’ai encore des sujets qui deviennent urgent pour bien gérer les lumières dans la maison
Je viens de commander ce modèle en prévision de l’intégrer dans Jeedom en plus de mes autres capteurs Xiaomi.
Je suis un (gros) néophyte, en des termes simples pourriez-vous m’aider à l’implémenter ?
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.