Qingping Air monitor ClearGrass S1 (CGS1)

Hello,

Pour ceux que ça intéresse, ne trouvant plus le « Xiaomi Air Quality Monitor B1 », j’ai acheté le « Qingping Air monitor ClearGrass S1 (CGS1) » sur Amazon à 152€ (-10€ avec le coupon). Je viens de regarder il est à 135€ maintenant (-10€ toujours avec le coupon). Grrrr
https://www.amazon.fr/dp/B08DHYK9C8/ref=cm_sw_em_r_mt_dp_ssxMFbFT6Q2AK?_encoding=UTF8&psc=1

J’ai réussi à l’intégrer plutôt facilement sous Jeedom :

  • Récupérer le token via la version 5.4.49 de xiaomi home
    • Changer région de l’application pour Chine
    • Chercher nouvel appareil avec le « + » et taper Qingping puis sélectionner « Qingping Air Monitor »
    • Scanner ensuite le QRcode affiché sur le Qingping
  • Intégration dans Jeedom :
    • J’ai utilisé le model airmonitorb1 du plugin Xiaomihome
    • c’est exactement le même OS que le Xiaomi airmonitorb1. Il y a juste le Co2 qu’il faut rectifier dans le fichier plugins/xiaomihome/core/config/devices/airmonitorb1/airmonitorb1.json en changeant la ligne « logicalId »: « get_air_data::co2 »

Voilà j’espère qu’il sera présent officiellement dans une prochaine version du plugin Xiaomihome. Cela fait 2 semaines que j’utilise le produit et pour l’instant il marche parfaitement. Très réactif et semble assez précis.

A+

Hello,
J ai le même air monitor mais je n arrive pas à l intégrer il me détecte le token mais aucune donnée remonte. As tu une solution pour m’aider?
Bonne soirée

Salut zekolosse,
Quand tu dis « Il me récupère le token », est ce que tu parles de récupérer le token via la version 5.4.49 de xiaomi home (6eme méthode ici Appliances Wifi Xiaomi | jeedom_docs) ?
Tu peux utiliser d’autre méthode aussi.
Il faut suivre cette procédure car il me semble que le bouton « Récuperer les infos » dans Jeedom ne fonctionne pas.
A+

Salut,

Top, merci pour l’astuce de la configuration, cela a marché pour moi également.

Bonjour pierre,
C est tout bon cela fonctionne ,je te remercie pour ton aide👌

Bonjour,

Au top, tout juste reçu, fonctionne parfaitement.

1 « J'aime »

Salut

L’un de vous saurait il m’aider?

J’ai commencé par modifier le niveau de python pour en arriver la car ca plantait (Exception socket read).
J’ai ensuite suivi les instructions plus haut (modif co2dans airmonitorb1.json) mais je n’obtiens toujours pas de valeurs :grimacing:

Voila la log:


[2021-06-14 15:30:26][INFO] : Lancement démon xiaomihome : /usr/bin/python /var/www/html/plugins/xiaomihome/resources/xiaomihomed/xiaomihomed.py --loglevel debug --socketport 55019 --callback http://127.0.0.1:80/plugins/xiaomihome/core/php/jeeXiaomiHome.php --apikey Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn --cycle 0.05 --pid /tmp/jeedom/xiaomihome/deamon.pid
[2021-06-14 15:30:29.219][INFO] : Start xiaomihomed
[2021-06-14 15:30:29.220][INFO] : Log level : debug
[2021-06-14 15:30:29.220][INFO] : Socket port : 55019
[2021-06-14 15:30:29.221][INFO] : Socket host : 127.0.0.1
[2021-06-14 15:30:29.221][INFO] : PID file : /tmp/jeedom/xiaomihome/deamon.pid
[2021-06-14 15:30:29.221][INFO] : Apikey : Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn
[2021-06-14 15:30:29.221][INFO] : Callback : http://127.0.0.1:80/plugins/xiaomihome/core/php/jeeXiaomiHome.php
[2021-06-14 15:30:29.222][INFO] : Cycle : 0.05
[2021-06-14 15:30:29.222][DEBUG] : Writing PID 9321 to /tmp/jeedom/xiaomihome/deamon.pid
[2021-06-14 15:30:29.224][DEBUG] : Init request module v2.12.4
[2021-06-14 15:30:29.262][DEBUG] : Starting new HTTP connection (1): 127.0.0.1
[2021-06-14 15:30:29][DEBUG] : Format Invalide
[2021-06-14 15:30:29.289][DEBUG] : http://127.0.0.1:80 "GET /plugins/xiaomihome/core/php/jeeXiaomiHome.php?apikey=Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn HTTP/1.1" 200 0
[2021-06-14 15:30:29.294][DEBUG] : Socket interface started
[2021-06-14 15:30:29.296][DEBUG] : LoopNetServer Thread started
[2021-06-14 15:30:29.296][INFO] : Start listening...
[2021-06-14 15:30:29.297][DEBUG] : Listening on: [127.0.0.1:55019]
[2021-06-14 15:30:29.300][DEBUG] : Read Socket Thread Launched
[2021-06-14 15:30:29.301][DEBUG] : Aquara Thread Launched
[2021-06-14 15:31:03][DEBUG] : execute : action wifi refresh
[2021-06-14 15:31:04][DEBUG] : Envoi : {"apikey":"Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn","type":"wifi","cmd":"refresh","model":"airmonitorb1","dest":"192.168.1.4","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","devtype":"08f3","serial":"00df"}
[2021-06-14 15:31:04.356][DEBUG] : Client connected to [127.0.0.1:42282]
[2021-06-14 15:31:04.357][DEBUG] : Message read from socket: {"apikey":"Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn","type":"wifi","cmd":"refresh","model":"airmonitorb1","dest":"192.168.1.4","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","devtype":"08f3","serial":"00df"}
[2021-06-14 15:31:04.358][DEBUG] : Client disconnected from [127.0.0.1:42282]
[2021-06-14 15:31:04.453][DEBUG] : SOCKET-READ------Message received in socket JEEDOM_SOCKET_MESSAGE
[2021-06-14 15:31:04.454][DEBUG] : SOCKET-READ------Received command from jeedom : refresh
[2021-06-14 15:31:04.454][DEBUG] : SOCKET-READ------Refreshing : airmonitorb1
[2021-06-14 15:31:04.462][DEBUG] : {"params": [], "id": 46908, "method": "get_air_data"}
[2021-06-14 15:31:09.466][ERROR] : SOCKET-READ------Exception on socket : tuple index out of range
[2021-06-14 15:35:05][DEBUG] : Rafraîchissement de XiaomiWifi : Air Monitor
[2021-06-14 15:35:05][DEBUG] : Envoi : {"apikey":"Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn","type":"wifi","cmd":"refresh","model":"airmonitorb1","dest":"192.168.1.4","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","devtype":"08f3","serial":"00df"}
[2021-06-14 15:35:05.752][DEBUG] : Client connected to [127.0.0.1:42794]
[2021-06-14 15:35:05.753][DEBUG] : Message read from socket: {"apikey":"Zdtny1Yvn2gfvVT1QbwCs9QXHC3lGcxn","type":"wifi","cmd":"refresh","model":"airmonitorb1","dest":"192.168.1.4","token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","devtype":"08f3","serial":"00df"}
[2021-06-14 15:35:05.754][DEBUG] : Client disconnected from [127.0.0.1:42794]
[2021-06-14 15:35:05.912][DEBUG] : SOCKET-READ------Message received in socket JEEDOM_SOCKET_MESSAGE
[2021-06-14 15:35:05.912][DEBUG] : SOCKET-READ------Received command from jeedom : refresh
[2021-06-14 15:35:05.913][DEBUG] : SOCKET-READ------Refreshing : airmonitorb1
[2021-06-14 15:35:05.917][DEBUG] : {"params": [], "id": 54304, "method": "get_air_data"}
[2021-06-14 15:35:10.923][ERROR] : SOCKET-READ------Exception on socket : tuple index out of range

[EDIT] d’après mes recherches sur le forum ca pourrait être un pb de token invalide mais je suis sûr de mon token pour 2 raisons:
d’abord parce que le bouton « récupérer les infos » me renvoie une clé de 32 caractères hexa
ensuite parce que je suis allé lire les datas stockées dans le backup de mon iPad avec cette méthode et que la clé est identique.

J’ai bien sûr refait les dépendances et redémarré plusieurs fois…
Je suis en v3.3.35, dernier niveau de plugin et mon CGS1 est au dernier niveau de fw 3.4.5_0168

Une suggestion?

@lunarok help!

Re
J’ai enfin réussi à l’intégrer. Les valeurs semblent remonter en décalé ce qui doit être normal (cron5), par contre le TVOC n’est pas du tout sur la même échelle: autour de 0,200 mg/m3 sur le device mais ~50 remonté sur Jeedom.

C’est pareil chez vous? quelque chose à changer dans le paramétrage?
[EDIT] j’ai trouvé: ce sont des ppm donc il faut modifier l’unité dans les settings

Si tu paramètres l’unité TVOC en ppb, tu auras les mêmes valeurs sur Jeedom que sur la matériel.

Merci @P-i-e-r-r-e pour les précieuses informations que tu fournis dans ce topic !

J’ai réussi à faire fonctionner la remontée d’infos… sauf pour le CO2.
J’ai essayé de faire la modification que tu proposes dans le premier post (modification du fichier plugins/xiaomihome/core/config/devices/airmonitorb1/airmonitorb1.json en changeant la ligne « logicalId »: « get_air_data::co2 ») mais, lorsque je recréé les commandes, la commande pour le CO2 à toujours comme logicalid : co2e.

J’ai sous doute pas tout bien fait comme il faut (problème de config ou autre) mais j’ai beau chercher, je tourne en rond.

Une idée ?

Je m’auto-réponds !
J’avais sans doute pas tout bien fait comme il faut. J’ai à nouveau supprimé l’équipement et je l’ai ré-ajouté.
Là, toutes les commandes se sont créés comme il faut, y compris celle pour le co2.

Cool !

1 « J'aime »

Bonjour,
J’ai un souci depuis quelques jours avec ces moniteurs. Ils sont dans Jeedom depuis plus d’un an et depuis quelques jours, je n’ai plus de remontées d’info.
Je suis allé dans l’appli XiaomiHome et ai vu que mes moniteurs avaient disparus du serveur chinois.
Je les ai re créés puis mis à jour dans Jeedom les nouveaux token. Toujours rien.
Dans Xiaomi Home, ils sont bien présents et Jeedom confirme qu’ils communiquent avec eux. Mais plus de remontées d’info.
Une idée ?
Merci.

Hello
Je viens de vérifier chez moi ça fonctionne tjs, ceci dit je n’ai pas fait de maj depuis au moins 1 an

Une précision : j’ai des appareils sur le serveur en Europe comme des ampoules Yeelight et un aspirateur robot et ils fonctionnent parfaitement dans Jeedom. Le souci semble venir de la récupération d’info du serveur chinois.

Sauf erreur de ma part la connexion se fait en local donc une fois que tu as récupéré le token plus besoin du serveur chinois

OK, merci pour ton retour.
C’est encore plus bizarre alors … pourquoi les données de remontent plus dans Jeedom.
Je vais continuer à investiguer

Tes ampoules continuent a marcher?
Chez moi le plugin xiaomi part en surf tous 4-5j, je suis obligé de débrancher et redemarrer le daemon…je n’ai pas encore trouvé le temps de le debugger

J’ai des ampoules et un aspi qui fonctionnent parfaitement avec le plugin.
Je n’ai plus d’info qui ne remontent que sur ces capteurs.

Je crois que j’ai un début de la cause du problème : j’ai mis à jour les firmware des capteurs vers le 11 août. La dernière version du firmware doit faire que les infos ne remontent plus.