Zigbee2MQTT et Dongle SONOFF

Bonjour à tous,

Bon je suis navré d’arrivé ici mais c’est la première fois que je but sur un problème comme ça.

Actuellement ma domotique est programmé avec NodeRed sur un Pi et se compose de peripheriques WIFI et Zigbee. Le tout intreconnecté en MQTT.

Et je souhaite passer mon installe sous HA. Mais c’est la première fois que je rencontre autant de problème.

Et aujourd’hui c’est pour l’intégration de mon dongle Zigbee que je viens demander conseil. J’ai parcouru Youtube les forums et le net mais rien n’y fait.

Voici ma config:

Je tourne Sous Rpi4 sur clé USB et mon dongle est en direct mais a été testé sur une rallonge.

System Health

version: core-2022.4.5
installation_type: Home Assistant OS
dev: false
hassio: true
docker: true
user: root
virtualenv: false
python_version: 3.9.9
os_name: Linux
os_version: 5.10.103-v8
arch: aarch64
timezone: Europe/Paris


GitHub API: ok
GitHub Content: ok
GitHub Web: ok
GitHub API Calls Remaining: 5000
Installed Version: 1.24.5
Stage: running
Available Repositories: 1100
Downloaded Repositories: 2


logged_in: false
can_reach_cert_server: ok
can_reach_cloud_auth: ok
can_reach_cloud: ok


host_os: Home Assistant OS 7.6
update_channel: stable
supervisor_version: supervisor-2022.04.0
docker_version: 20.10.9
disk_total: 113.9 GB
disk_used: 7.1 GB
healthy: true
supported: true
board: rpi4-64
supervisor_api: ok
version_api: ok
installed_addons: Mosquitto broker (6.0.1), Node-RED (11.1.1), Terminal & SSH (9.3.0), Studio Code Server (4.2.0), Zigbee2mqtt (1.25.0-1)


dashboards: 1
resources: 1
views: 1
mode: storage
  • Mon Dongle fonctionne car il est reconnu sous HA et découvre des périfs!
  • Je peux commander des perifs WIFI en MQTT (Allumage/Extinction/Retour)
  • Mais mon Zigbee2mqtt ne fonctionne pas.
  • J’ai testé beaucoup de fichier de config avec ou sans erreurs à rallonge dans les journaux, mais rien n’y fait.
  • Et j’ai bien créé un User MQTT

Mon fichier zigbee2mqtt config.yaml:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: '-d -d'
  log: false
mqtt:
  server: mqtt://xxx.xxx.xxx.xxx:1883
  user: MQTT
  password: password
serial:
  port: /dev/ttyUSB0

Et le port indiqué est bien celui donné dans Système/Matériel…

Mon log système:
Il n'y a pas de nouveaux problèmes!

Mon log Zigbee2mqtt:

> zigbee2mqtt@1.25.0 start
> node index.js
(node:100254) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'mqtt' of undefined
    at read (/app/lib/util/settings.ts:326:11)
    at getInternalSettings (/app/lib/util/settings.ts:406:21)
    at Object.reRead (/app/lib/util/settings.ts:684:5)
    at start (/app/index.js:85:14)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:100254) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:100254) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[19:56:30] INFO: Handing over control to Zigbee2mqtt Core ...

Et avec tout ça je n’arrive pas à trouvé d’où vient le problème.
Pouvez-vous m’aider? Merci à vous.

Salut,

Ce qui m’interpelle dans ton explication c’est la phrase citée ci-dessus.
Il me semble du coup que tu utilises déjà ta clé zigbee par l’intégration par défaut: ZHA.
Tu ne peux pas faire marcher Zigbee2MQTT en parallèle d’une autre intégration, il faut un accès exclusif à la clé.
Donc faudra faire un choix entre les 2.

Bien que ce ne soit pas très explicit dans le message d’erreur, c’est le souci le plus probable auquel je pense.

Pour migrer, il doit y avoir des tutos, je crois avoir vu une vidéo aussi. Mais normalement la suppression de l’intégration Zigbee Home Automation (Configuration>Appareil & Services>Intégrations), devrait permettre de lancer Z2M proprement.

Salut.
De mémoire il y a aussi le base_topic à définir pour le mqtt

Ha! Merci, je ne savais pas.
Bon du coup j’ai supprimé ZHA mais ça ne fonctionne toujours pas. j’avais un doute sur les majuscules du User MQTT je l’ai donc recréé mon user en minuscule pour être sûr. mais rien de ce coté là non plus. :sob:

J’avais supprimé ce paramètre car le journal du superviseur me donnait l’erreur suivante :


22-04-17 21:31:01 WARNING (MainThread) [supervisor.addons.options] Unknown option 'base_topic' for Zigbee2mqtt (45df7312_zigbee2mqtt)

Et maintenant voici la fin de mon journal:

22-04-17 22:29:49 INFO (MainThread) [supervisor.auth] Auth request from 'a0d7b954_nodered' for 'JeanJul'
22-04-17 22:29:50 INFO (MainThread) [supervisor.auth] Successful login for 'JeanJul'
22-04-17 22:31:49 INFO (MainThread) [supervisor.auth] Auth request from 'core_mosquitto' for 'mqtt'
22-04-17 22:31:49 WARNING (MainThread) [supervisor.auth] Unauthorized login for 'mqtt'
22-04-17 22:31:51 ERROR (MainThread) [supervisor.api.ingress] Ingress error: Cannot connect to host 172.30.33.3:8099 ssl:default [Connect call failed ('172.30.33.3', 8099)]

Ca ressemble quand même à un souci de login sur ton broker MQTT.
Les logs de Z2M sont toujours les mêmes ou ils ont changé?

Pourtant je contrôle mes perifs MQTT depuis Lovelace et vois bien passer mes messages sur MQTT Explorer.
J’ai d’ailleurs remplacer le login MQTT de majuscule en minuscule et j’accède toujours indifféremment à mes périfs.

Y a t’il des caractères spéciaux à ne pas utiliser dans le pass?

Voici mon log Z2M:

[10:40:59] INFO: Handing over control to Zigbee2mqtt Core ...
> zigbee2mqtt@1.25.0 start
> node index.js
(node:760553) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'mqtt' of undefined
    at read (/app/lib/util/settings.ts:326:11)
    at getInternalSettings (/app/lib/util/settings.ts:406:21)
    at Object.reRead (/app/lib/util/settings.ts:684:5)
    at start (/app/index.js:85:14)
(Use `node --trace-warnings ...` to show where the warning was created)
(node:760553) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:760553) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Voilà un bout de ma config

data_path: /config/zigbee2mqtt
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
serial:
  port: /dev/zigbee
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental: {}
availability: false
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: '-d -d'
  log: false

À voir si l’ordre est important. Si l’option homeassistant aussi
Complèter mqtt etc

Merci Pulpy,
J’ai déjà essayé avec tous ces paramètres. Et en les renseignant j’ai plein de warning dans mon log de base.

Par contre est-ce normale d’avoir le fichier config vide à l’emplacement /config/zigbee2mqtt/configuration.yaml?
J’ai pourtant ma config de renseigné dans l’add-on.

Zigbee2MQTT a changé au biveau de config dans la dernière version (la 1.25.0).
Un des gros changements c’est que la partie config de l’add-on n’est plus nécessaire, à part le MQTT.
Et c’est une fois l’add-on démarré que la config est faite dans l’interface web de Z2M et que ça remplit le fichier « /config/zigbee2mqtt/configuration.yaml ».
C’est aussi pour ça que ça te donne pleins de messages de warnings.
La config au niveau de l’add-on Z2M devrait être super limitée maintenant.

D’ailleurs si je ne m’abuse, si tu utilises Mosquitto directement en add-on sur ton HA, je crois que tu n’as même pas besoin de le mettre dans la config.

Breaking changes

*Most Zigbee2MQTT configuration is now done in Zigbee2MQTT directly (either via the UI or by modifying the configuration file, usually /config/zigbee2mqtt/configuration.yaml, directly).

*As Zigbee2MQTT won’t start with an MQTT server or serial adapter you must configure these through the add-on configuration page before you can start Zigbee2MQTT for the first time.

*Existing installations should be able to safely remove the Zigbee2MQTT configuration from the add-on configuration as these values should have already been persisted to the configuration file.

Merci, voilà le WE et j’ai pu m’y replonger.
Bon après moult et moult essais et configs j’ai enfin réussi à accéder à l’interface utilisateurs. Mais rien de bon mon sniffeur SONOFF ne détecte pas tout mes périphériques. (Et sous ZHA non plus)
Donc petit retour à l’expéditeur.
Je vais repartir sur un sniffer CC2531 en espérant que ce dernier fonctionne.

Sinon avez-vous un conseil pour trouver un sniffer?
Encore une fois merci à vous.

Salut,
Par sniffeur, je suppose tu parles bien de clé/adaptateur Zigbee pour faire office de coordinateur de ton réseau.
La Sonoff marche généralement bien, d’autant que visiblement elle marche chez toi (même si tu ne détectait pas tous les appareils). Les appareils que tu ne trouves pas s’ont ils listés comme couverts? La procédure d’appariage est elle correctement faite?

Pour les alternatives, sur le site de Zigbee2MQTT, tu as une page dédiée aux adaptateurs recommandés.
Clairement ils listent les CC2531 comme dépassées et plus vraiment recommandées.

En lisant l’article ci dessous, j’ai l’impression que Sonoff préconise l’utilisation du dongle via ZHA…

Salut,

Ils montrent zha parce que plus simple sur la config… zha et z2m restant tous les deux possibles

There are two ways to use the SONOFF Zigbee 3.0 USB Dongle Plus to manage your Zigbee devices: ZHA or Zigbee2MQTT. Here I will introduce ZHA, which is simpler in configuration.

Maintenant comme la liste du matériel supporté est plus grande sous z2m, mon choix a été rapidement fait…

ok
pour info, robotique store vend le dongle Sonoff pour moins de 9€, je voulais le tester et passer sur Z2M avec.

Je viens de l’acheter et j’avoue que sa fonctionne super bien :stuck_out_tongue:

Je vois que mon sujet fait encore couler un peu d’encre numérique. J’ai finalement reçu mon d’ongle cc2531 qui fonctionne depuis sa réception à la perfection sous ZHA, tout en ayant bien conscience que ma config n’est pas au top.
Mais pour 5.90€ je ne me suis pas privé et en plus je n’arrive pas à programmer sous tous les fronts. Donc pour l’instant je continue mes expérimentations diverses et me stabiliserais certainement avec le dongle SONOFF.
Peux-tu me donner l’adresse de ta promo. Merci d’avance.

9€ et 3 de frais de port… pas 5€

Pour info, je viens de me rendre compte que Sonoff est chinois… et un petit coup d’oeil sur ali me montre…
image

il ne contient pas des composants US?

la puce Texas Instrument est américaine , mais produit surement en chine et Sonoff c’est bien une marque chinoise.

C’est étonnant quel soit a ce prix, même en solde (11,90€ prix normal). Elle a augmenter de partout et ce vends dans les 23€, sur domadoo elle est a 17,93 en solde.