Page 5 sur 19

Re: zigbee2mqtt, passerelle low cost

Publié : 30 janv. 2019, 19:09
par propositionjoe
dcjona a écrit :
30 janv. 2019, 13:10
J'ai installé la clé sur un pi qui me servait à autre chose et en position centrale = 0 soucis

Re: zigbee2mqtt, passerelle low cost

Publié : 30 janv. 2019, 23:30
par Lodge
Si j'ai bien compris, un simple raspbian suffit.
zigbee2mqtt installé sur le rpi parlera à Mosquito présent lui aussi sur le rpi
Mosquito parlera à Jmqtt sur le Jeedom déporté

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 09:55
par dcjona
propositionjoe a écrit :
30 janv. 2019, 19:09
dcjona a écrit :
30 janv. 2019, 13:10
J'ai installé la clé sur un pi qui me servait à autre chose et en position centrale = 0 soucis
et qu'as tu installé dessus ? raspbian et autre chose?

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 10:09
par romanais
Bonjour !
Comme j'ai galéré lors de mon 1er test pour la mise en place, je poste ici ce que je viens de faire (et ça marche à présent chez moi).
Il y a sans doute un autre ordre possible, et des astuces que j'ignore et j'espère que les utilisateurs partageront leur expérience :-)
Surtout que là j'installe un seul capteur, mais j'imagine le bazar lorsqu'il y a un tas de modules à activer d'un coup, donc si quelqu'un veut détailler la procédure.

Pensez à faire une sauvegarde de votre installation, je ne serai pas responsable en cas de casse :ugeek:

Pré-requis : J'ai flashé ma clé (suivant le tuto d'origine), testée et fonctionnelle sur un Rpi de test, avec 1 module de contact, de Xiaomi Aqara).

Je pars donc d'une installation existante et à jour de Jeedom (sur Rpi3, testé sur Jeedom 3.1 et 3.3).
Je considère que les plugins "Virtuel" et "Widget" sont déjà installés et maîtrisés.

Je commence par installer le plugin "jMQTT".
Je l'active.
Je lance l'installation des dépendances.
Je change l'Identifiant de Connexion : "zigbee2mqtt"
Je clique sur "Sauvegarder", normalement tout doit passer au vert (le démon se lance).
1.jpg
1.jpg (438.18 Kio) Consulté 3775 fois
Je me connecte en SSH sur mon Rpi, et je suis strictement la procédure pour installer et lancer zigbee2mqtt.

Je ne touche pas au fichier de configuration.

Je continue le tuto jusqu'à la création et le lancement manuel du service.
Je lance le service et je le teste comme sur le tuto.
pi@raspberrypi:/opt/zigbee2mqtt $ systemctl status zigbee2mqtt.service
● zigbee2mqtt.service - zigbee2mqtt
Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2019-01-29 09:42:24 CET; 4s ago
Main PID: 18911 (npm)
CGroup: /system.slice/zigbee2mqtt.service
├─18911 npm
├─18925 sh -c node index.js
└─18926 node index.js

Jan 29 09:42:27 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:27 AM Starting zigbee2mqtt version 1.0.1 (commit #b95dcd0)
Jan 29 09:42:27 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:27 AM Starting zigbee-shepherd
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM zigbee-shepherd started
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM Coordinator firmware version: '20181024'
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM Currently 0 devices are joined:
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM Zigbee: disabling joining new devices.
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM Connecting to MQTT server at mqtt://localhost
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM zigbee-shepherd ready
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM Connected to MQTT server
Jan 29 09:42:28 raspberrypi npm[18911]: zigbee2mqtt:info 1/29/2019, 9:42:28 AM MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
A ce stade, tout roule, mais je n'ajoute toujours pas mes modules Xiaomi (je procède par étape, pour qu'en cas de soucis je n'ai pas 10 choses à vérifier).

Je me rends sur Jeedom, menu "Plugins / "Protocole domotique / jMQTT".
Je clique sur "Mode inclusion".
J'ai ça qui apparaît.
2.jpg
2.jpg (110.88 Kio) Consulté 3775 fois
Je retrouve un équipement.
3.jpg
3.jpg (43.39 Kio) Consulté 3775 fois
Je peux quitter le mode inclusion.
J'ouvre mon équipement, je lui affecte un Objet (salon, maison, ce que vous voulez), et une catégorie. Pas besoin qu'il soit visible.
Je sauvegarde.

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 10:10
par romanais
Côté commandes, voilà ce qui a été créé automatiquement.
4.jpg
4.jpg (78.46 Kio) Consulté 3776 fois
Je jette un oeil à la santé.
Tout est ok.
5.jpg
5.jpg (51.31 Kio) Consulté 3776 fois
Je retourne en SSH, je tape cette commande pour voir comment se comporte zigbee2mqtt

Code : Tout sélectionner

sudo journalctl -u zigbee2mqtt.service -f
Je peux inclure mon 1er module (contact).
Je vois sur ma console SSH ce qu'il se passe au moment de l'inclusion.

Code : Tout sélectionner

  zigbee2mqtt:info 1/31/2019, 9:13:26 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
  zigbee2mqtt:info 1/31/2019, 9:13:33 AM Connecting with device...
  zigbee2mqtt:info 1/31/2019, 9:13:33 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
  zigbee2mqtt:info 1/31/2019, 9:13:40 AM Connecting with device...
  zigbee2mqtt:info 1/31/2019, 9:13:40 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
  zigbee2mqtt:warn 1/31/2019, 9:13:46 AM Message without device!
  zigbee2mqtt:info 1/31/2019, 9:13:46 AM Connecting with device...
  zigbee2mqtt:info 1/31/2019, 9:13:46 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"connecting with device"}'
  zigbee2mqtt:info 1/31/2019, 9:13:47 AM Device incoming...
  zigbee2mqtt:info 1/31/2019, 9:13:47 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"device incoming"}'
  zigbee2mqtt:info 1/31/2019, 9:13:47 AM New device with address 0x00158d0002bf9f39 connected!
  zigbee2mqtt:info 1/31/2019, 9:13:47 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0x00158d0002bf9f39"}'
  zigbee2mqtt:info 1/31/2019, 9:13:59 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":false,"linkquality":84}'
  zigbee2mqtt:info 1/31/2019, 9:14:02 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":false,"linkquality":86}'
  zigbee2mqtt:info 1/31/2019, 9:14:03 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":true,"linkquality":94}'
  zigbee2mqtt:info 1/31/2019, 9:14:05 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":false,"linkquality":81}'
  zigbee2mqtt:info 1/31/2019, 9:14:06 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":true,"linkquality":81}'
  zigbee2mqtt:info 1/31/2019, 9:14:10 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":false,"linkquality":86}'
  zigbee2mqtt:info 1/31/2019, 9:14:10 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":true,"linkquality":76}'
  zigbee2mqtt:info 1/31/2019, 9:14:10 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002bf9f39', payload '{"battery":100,"voltage":3015,"contact":false,"linkquality":73}'
  zigbee2mqtt:info 1/31/2019, 9:15:55 AM New device with address 0x00158d0002753f03 connected!
  zigbee2mqtt:info 1/31/2019, 9:15:55 AM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"device_connected","message":"0x00158d0002753f03"}'
  
Je retourne sur Jeedom, sur mon équipement créé sous jMQTT.
Et je retrouve notamment un nouvelle commande.
6.jpg
6.jpg (52.73 Kio) Consulté 3776 fois

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 10:11
par romanais
suivant la doc http://htmlpreview.github.io/?https://g ... index.html (3.2.2. Onglet Commandes)

Je clique sur "parseJson" qui se trouve sur la ligne de cette commande, et je sauvegarde.
8.jpg
8.jpg (20.44 Kio) Consulté 3776 fois
Mes commandes ressemblent à ça à présent (je peux les renommer pour m'y retrouver plus facilement).
7.jpg
7.jpg (283.25 Kio) Consulté 3776 fois
Tout est donc ok et fonctionnel, j'active le service pour qu'il se lance automatiquement lorsque mon Rpi redémarre.

Code : Tout sélectionner

sudo systemctl enable zigbee2mqtt.service
Je passe à présent à la gestion d'un affichage propre, à l'aide du plugin "Virtuel".
Je créé un nouvel équipement. Je l'active et le rend visible.
J'importe un équipement à l'aide du bouton prévu.
Je supprime les commandes qui ne me servent à rien et je garde ça (je peux renommer les commandes).
Je passe l'état (contact) sur "Binaire" avec le menu déroulant (ma capture est faite avant ce changement).
9.jpg
9.jpg (213.96 Kio) Consulté 3776 fois

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 10:12
par romanais
Ce qui donne ça sur le dashboard.
10.jpg
10.jpg (21.77 Kio) Consulté 3763 fois
Il ne reste plus qu'à appliquer un widget de notre choix pour avoir un rendu plus "visuel" dans la tuile :-)
11.jpg
11.jpg (14.19 Kio) Consulté 3763 fois
12.jpg
12.jpg (14.05 Kio) Consulté 3755 fois

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 10:22
par romanais
Je peux à présent modifier le fichier de config de zigbee2mqtt et désactiver l'ajout de modules.

Code : Tout sélectionner

nano /opt/zigbee2mqtt/data/configuration.yaml
Je passe le "permit_join" sur "false".
13.jpg
13.jpg (29.34 Kio) Consulté 3752 fois
Je relance le service

Code : Tout sélectionner

sudo systemctl restart zigbee2mqtt
Tant qu'à faire, je désactive aussi l'Ajout automatique des commandes sur mon équipement, dans le plugin jMQTT.
14.jpg
14.jpg (14.62 Kio) Consulté 3750 fois
La commande "bridge/state" qui peut être "online/offline" correspondant à l'activité de zigbee2mqtt.
Si on est sur Offline, c'est que le zigbee2mqtt ne tourne pas.
On peut essayer d'en savoir plus dans ce cas avec la commande

Code : Tout sélectionner

sudo journalctl -u zigbee2mqtt.service -f

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 18:40
par Lodge
On peut aussi se passer de virtuel pour changer les noms des commandes.
nano /opt/zigbee2mqtt/data/configuration.yaml en ssh
En bas du fichier on trouve alors une rublique devices, il suffit de mettre un nom dans friendly name.
devices:
'0x00158d000155d2b7':
friendly_name: 'Aqara_Switch'
retain: false

Re: zigbee2mqtt, passerelle low cost

Publié : 31 janv. 2019, 19:21
par romanais
Du coup autant le changer directement sur l'équipement non ?
Et sans virtuel pas d'affichage dashboard propre du coup (quand on a x modules) ?

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 10:06
par romanais
Ce matin, inclusion d'un détecteur de mouvement Xiami (RTCGQ11LM ).
J'ai dû suivre la procédure de mise à jour de zigbee2mqtt (SSH) car il n'était pas reconnu au départ.

Mon Jeedom tourne. Zigbee2mqtt (via service) tourne.
Dans une console SSH, je lance

Code : Tout sélectionner

sudo journalctl -u zigbee2mqtt.service -f
Pour voir ce qu'il se passe.

J'inclus mon module en maintenant appuyé le bouton jusqu'à ce que la led bleue s'allume, puis j'appuie quelques fois sur le bouton.

Je retrouve bien mes 2 modules

Code : Tout sélectionner

  zigbee2mqtt:info 2/1/2019, 9:28:25 AM 0x00158d0002bf9f39 (0x00158d0002bf9f39): MCCGQ11LM - Xiaomi Aqara door & window contact sensor (EndDevice)
  zigbee2mqtt:info 2/1/2019, 9:28:25 AM 0x00158d0002753f03 (0x00158d0002753f03): RTCGQ11LM - Xiaomi Aqara human body movement and illuminance sensor (EndDevice)
Je retourne sur Jeedom, et je vois un message indiquant que des nouvelles commandes viennent d'être ajoutées (sur le plugin jMQTT).
Je renomme la nouvelle commande créée, je coche de nouveau "parseJson" pour découper les infos. Je sauvegarde.
Et j'obtiens ça (les valeurs de batterie ne sont pas encore remontées car je viens de l'inclure, elles arriveront dans un moment).
mouvement.jpg
mouvement.jpg (703.17 Kio) Consulté 3695 fois
Il faut bien toujours laisser la case "parseJson" cochée ensuite, sinon les valeurs ne se mettent à pas à jour sur le Dashboard.

Je crée un nouvel équipement virtuel.
J'importe mon équipement "zigbee2mqtt", je supprime les commandes qui ne m'intéressent pas (celles du contact notamment, d'où l'intérêt de renommer, on s'y retrouve facilement).
Je passe le "mouvement" en binaire.
mouvement2.jpg
mouvement2.jpg (336.05 Kio) Consulté 3695 fois
Forcément, le jour où j'ai 15 modules, l'import d'équipement va me générer un paquet de lignes dans le virtuel, donc ça vaudra sans doute plus le coup d'ajouter et sélectionner manuellement les infos/commandes virtuelles.
mouvement3.jpg
mouvement3.jpg (146.98 Kio) Consulté 3695 fois

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 10:07
par romanais
Ça donne ça sur le Dashboard (il reste à appliquer des Widgets pour avoir un joli rendu).
La tuile de gauche était là juste pour info, pour m'assurer que mes virtuels renvoyaient bien les bonnes valeurs. Je la masque ensuite.
mouvement4.jpg
mouvement4.jpg (190.84 Kio) Consulté 3695 fois
Mon fichier configuration.yaml ressemble à ça.
config yaml.jpg
config yaml.jpg (66.97 Kio) Consulté 3681 fois
Je peux par exemple effectuer des petits ajustements en modifiant ce fichier.
On peut par exemple désactiver la led de la clé usb (sniffer zigbee).

Code : Tout sélectionner

disable_led: true
Sur le module de mouvement, par défaut, 90 secondes sont nécessaires pour qu'il renvoie l'info quand il n'y a plus de mouvement.
On peut réduire cette valeur avec occupancy_timeout.

Je le descends à 30 secondes, ce qui me donne donc dans mon fichier actuel (j'ai désactivé l'inclusion de modules également).
config yaml 4.jpg
config yaml 4.jpg (76.36 Kio) Consulté 3679 fois
Je tests le capteur de mouvement, et je vois que je suis bien descendu à 30 secondes.
Ca permettra d'éteindre plus vite la lumière du garage lorsqu'il n'y aura plus de mouvement (1 minute de gagnée).

Code : Tout sélectionner

 zigbee2mqtt:info 2/1/2019, 10:34:30 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002753f03', payload '{"illuminance":35,"linkquality":113,"occupancy":true}'
  zigbee2mqtt:info 2/1/2019, 10:35:00 AM MQTT publish: topic 'zigbee2mqtt/0x00158d0002753f03', payload '{"illuminance":35,"linkquality":113,"occupancy":false}'
Attention de bien respecter la saisie dans le fichier de configuration.
Au lancement de zibgee2mqtt j'ai eu ce message d'erreur
YAMLException: bad indentation of a mapping entry at line 8, column 7:
port: /dev/ttyACM0
Je suis retourné voir mon fichier de configuration, et en effet j'avais pas aligné et mis trop d'espace sur ma gestion de la led.
ET en plus, je n'avais pas mis d'espace après les :

Edit : 2h après j'ai bien les commandes de batterie et voltage qui se sont affichées dans mon équipement jMQTT.
Je les ai ajoutées sur mon virtuel, puis j'ai désactivé l'inclusion automatique des commandes dans l'équipement.

Tout est donc figé, pas de surprise à venir :-)

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 14:48
par fensoft
de ce que j'ai vu, le occupancy_timeout n'est valable QUE pour les philips hue motion detector et pas pour les xiaomi. c'est bien un hue ce que tu as ?

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:06
par romanais
Non c'est bien le xiaomi (RTCGQ11LM), et le fonctionnement que je constate (ainsi que les logs postés) montrent bien que ça fonctionne avec ce paramètre :-)

On voit bien les 30 secondes pour le retour à false.

Code : Tout sélectionner

Feb 01 15:03:01 raspberrypi npm[5054]:   zigbee2mqtt:info 2/1/2019, 3:03:01 PM MQTT publish: topic 'zigbee2mqtt/0x00158d0002753f03', payload '{"illuminance":12,"linkquality":84,"occupancy":true,"battery":100,"voltage":3315}'
Feb 01 15:03:31 raspberrypi npm[5054]:   zigbee2mqtt:info 2/1/2019, 3:03:31 PM MQTT publish: topic 'zigbee2mqtt/0x00158d0002753f03', payload '{"illuminance":12,"linkquality":84,"occupancy":false,"battery":100,"voltage":3315}'

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:07
par fensoft

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:10
par romanais
Ben j'ai posté des logs et je vois le fonctionnement en ce moment même donc je ne peux pas te dire grand chose de plus :-)
Plus concret je ne peux pas.

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:12
par fensoft
si c'est le cas, on a ici un paramètre qui n'est documenté nul part. ça m'étonne vachement...

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:12
par romanais
Je viens de basculer sur 5 secondes, et l'état change bien au bout de ce délai.

Code : Tout sélectionner

Feb 01 15:11:56 raspberrypi npm[5893]:   zigbee2mqtt:info 2/1/2019, 3:11:56 PM MQTT publish: topic 'zigbee2mqtt/0x00158d0002753f03', payload '{"illuminance":14,"linkquality":84,"occupancy":true,"battery":100,"voltage":3315}'
Feb 01 15:12:01 raspberrypi npm[5893]:   zigbee2mqtt:info 2/1/2019, 3:12:01 PM MQTT publish: topic 'zigbee2mqtt/0x00158d0002753f03', payload '{"illuminance":14,"linkquality":84,"occupancy":false,"battery":100,"voltage":3315}'

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:15
par romanais
Il y a 15 jours quand j'ai commencé mes tests c'était déjà opérationnel.
Quand j'avais vu ce paramètre sur cette page https://koenkk.github.io/zigbee2mqtt/co ... ation.html
Je ne me suis même pas dit 1 seconde, tiens je vais aller décortiquer le code source pour voir c'est normal :p
j'ai juste appliqué, ça a marché (dans le cas contraire j'aurais cherché pourquoi).
Mais quand ça marche j'ai tendance à juste être content :-)

Re: zigbee2mqtt, passerelle low cost

Publié : 01 févr. 2019, 15:18
par fensoft
Et avec 5 secondes, si tu bouge tout le temps, ça donne quoi ?