Accès modules zigbee dans un batiment hors de portée radio

Y a t’il des « devices » ZigBee d’appairés ?

Oui le device 0xCF15

19:45:19.944 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-06T19:45:19 »,« Uptime »:« 0T00:21:00 »,« UptimeSec »:1260,« Heap »:134,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:1,« SSId »:« GASTILAN »,« BSSId »:« 50:C7:BF:65:C9:62 »,« Channel »:1,« Mode »:« 11n »,« RSSI »:30,« Signal »:-85,« LinkCount »:1,« Downtime »:« 0T00:00:05 »}}
19:50:19.923 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-06T19:50:19 »,« Uptime »:« 0T00:26:00 »,« UptimeSec »:1560,« Heap »:134,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:1,« SSId »:« GASTILAN »,« BSSId »:« 50:C7:BF:65:C9:62 »,« Channel »:1,« Mode »:« 11n »,« RSSI »:30,« Signal »:-85,« LinkCount »:1,« Downtime »:« 0T00:00:05 »}}
19:51:48.483 MQT: tele/tasmota_chai/SENSOR = {« ZbReceived »:{« 0xCF15 »:{« Device »:« 0xCF15 »,« Humidity »:52.5,« Endpoint »:1,« LinkQuality »:94}}}
19:54:55.877 MQT: tele/tasmota_chai/SENSOR = {« ZbReceived »:{« 0xCF15 »:{« Device »:« 0xCF15 »,« Humidity »:53.5,« Endpoint »:1,« LinkQuality »:81}}}
19:55:19.937 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-06T19:55:19 »,« Uptime »:« 0T00:31:00 »,« UptimeSec »:1860,« Heap »:133,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:1,« SSId »:« GASTILAN »,« BSSId »:« 50:C7:BF:65:C9:62 »,« Channel »:1,« Mode »:« 11n »,« RSSI »:20,« Signal »:-90,« LinkCount »:1,« Downtime »:« 0T00:00:05 »}}
19:57:37.771 mDN: Initialized ‹ tasmota-chai.local ›
20:00:19.949 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-06T20:00:19 »,« Uptime »:« 0T00:36:00 »,« UptimeSec »:2160,« Heap »:134,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:1,« SSId »:« GASTILAN »,« BSSId »:« 50:C7:BF:43:6A:B0 »,« Channel »:6,« Mode »:« 11n »,« RSSI »:80,« Signal »:-60,« LinkCount »:2,« Downtime »:« 0T00:00:06 »}}
20:00:38.357 MQT: tele/tasmota_chai/SENSOR = {« ZbReceived »:{« 0xCF15 »:{« Device »:« 0xCF15 »,« Humidity »:54.5,« Endpoint »:1,« LinkQuality »:87}}}
20:05:19.925 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-06T20:05:19 »,« Uptime »:« 0T00:41:00 »,« UptimeSec »:2460,« Heap »:134,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:1,« SSId »:« GASTILAN »,« BSSId »:« 50:C7:BF:43:6A:B0 »,« Channel »:6,« Mode »:« 11n »,« RSSI »:86,« Signal »:-57,« LinkCount »:2,« Downtime »:« 0T00:00:06 »}}
20:06:20.780 MQT: tele/tasmota_chai/SENSOR = {« ZbReceived »:{« 0xCF15 »:{« Device »:« 0xCF15 »,« Humidity »:53.5,« Endpoint »:1,« LinkQuality »:89}}}

ça semblerait arriver jusqu’à mon MQTT « central », mais ensuite aucune trace, où puis je présenter dans un dashboard ou l’intégrer à une automatisation?

Cliquer sur l’engrenage de l’intégration MQTT.
Cliquer sur « Configurer ».
Dans le cadre « Écouter un sujet », on peut mettre le topic que l’on veut écouter pour tester.

tu vas dans « intégrations » puis dans « MQTT » , là tu vas pouvoir trouver une liste des devices reconnus par ton broker MQTT

si ton device est bien dans cette liste, tu peux l’utiliser comme tout autre device

je ne dois pas être loin, mais ça ne passe pas: aucune trace dans mon mqtt :cry:

voici les logs de la gateway


00:00:00.002 HDW: ESP32-D0WD-V3
00:00:00.032 UFS: FlashFS mounted with 304 kB free
00:00:00.061 CFG: Loaded from File, Count 58
00:00:00.069 QPC: Count 1
00:00:00.108 BRY: Berry initialized, RAM used=3936 bytes
00:00:00.129 ZIG: ZBBridge EEPROM found at address 0x50
00:00:00.135 Project tasmota - Tasmota_chai Version 12.3.1(tasmota)-2_0_5_3(2023-02-15T17:18:19)
00:00:04.153 ZIG: Resetting EZSP device
00:00:04.951 WIF: Connecting to AP2 gasti24 Channel 6 BSSId 02:C7:BF:43:6A:B0 in mode 11n as tasmota-chai…
00:00:06.728 WIF: Connected
00:00:06.983 mDN: Initialized ‹ tasmota-chai.local ›
00:00:06.988 HTP: Web server active on tasmota-chai.local with IP address 192.168.1.31
18:06:03.695 MQT: Attempting connection…
18:06:03.536 MQT: Connected
18:06:03.540 MQT: tele/tasmota_chai/LWT = Online (retained)
18:06:03.542 MQT: cmnd/tasmota_chai/POWER =
18:06:03.559 MQT: tele/tasmota_chai/INFO1 = {« Info1 »:{« Module »:« ZB-GW03-V1.2 »,« Version »:« 12.3.1(tasmota) »,« FallbackTopic »:« cmnd/DVES_5792A8_fb/ »,« GroupTopic »:« cmnd/tasmotas/ »}}
18:06:03.574 MQT: tele/tasmota_chai/INFO2 = {« Info2 »:{« WebServerMode »:« Admin »,« Hostname »:« tasmota-chai »,« IPAddress »:« 192.168.1.31 »}}
18:06:03.588 MQT: tele/tasmota_chai/INFO3 = {« Info3 »:{« RestartReason »:« Software reset CPU »,« BootCount »:24}}
18:06:04.650 MQT: stat/tasmota_chai/STATUS1 = {« StatusPRM »:{« Baudrate »:115200,« SerialConfig »:« 8N1 »,« GroupTopic »:« tasmotas »,« OtaUrl »:«  »,« RestartReason »:« Software reset CPU »,« Uptime »:« 0T00:00:05 »,« StartupUTC »:« 2023-07-07T10:05:59 »,« Sleep »:50,« CfgHolder »:4617,« BootCount »:23,« BCResetTime »:« 2023-07-05T15:13:44 »,« SaveCount »:58}}
18:06:05.111 MQT: stat/tasmota_chai/STATUS11 = {« StatusSTS »:{« Time »:« 2023-07-07T18:06:05 »,« Uptime »:« 0T00:00:06 »,« UptimeSec »:6,« Heap »:132,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:32,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:2,« SSId »:« gasti24 »,« BSSId »:« 02:C7:BF:43:6A:B0 »,« Channel »:6,« Mode »:« 11n »,« RSSI »:98,« Signal »:-51,« LinkCount »:1,« Downtime »:« 0T00:00:03 »}}}
18:06:06.257 QPC: Reset
18:06:07.261 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-07T18:06:07 »,« Uptime »:« 0T00:00:08 »,« UptimeSec »:8,« Heap »:136,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:2,« SSId »:« gasti24 »,« BSSId »:« 02:C7:BF:43:6A:B0 »,« Channel »:6,« Mode »:« 11n »,« RSSI »:100,« Signal »:-48,« LinkCount »:1,« Downtime »:« 0T00:00:03 »}}
18:06:12.240 MQT: tasmota/discovery/A0B7655792A8/config = {« ip »:« 192.168.1.31 »,« dn »:« Tasmota_chai »,« fn »:[« Tasmota_chai »,null,null,null,null,null,null,null],« hn »:« tasmota-chai »,« mac »:« A0B7655792A8 »,« md »:« ZB-GW03-V1.2 »,« ty »:0,« if »:0,« ofln »:« Offline »,« onln »:« Online »,« state »:[« OFF »,« ON »,« TOGGLE »,« HOLD »],« sw »:« 12.3.1 »,« t »:« tasmota_chai »,« ft »:« %prefix%/%topic%/ »,« tp »:[« cmnd »,« stat »,« tele »],« rl »:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],« swc »:[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],« swn »:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],« btn »:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],« so »:{« 4 »:0,« 11 »:0,« 13 »:0,« 17 »:0,« 20 »:0,« 30 »:0,« 68 »:0,« 73 »:0,« 82 »:0,« 114 »:0,« 117 »:0},« lk »:0,« lt_st »:0,« sho »:[0,0,0,0],« sht »:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],« ver »:1} (retained)
18:06:12.318 MQT: tasmota/discovery/A0B7655792A8/sensors = {« sn »:{« Time »:« 2023-07-07T18:06:12 »},« ver »:1} (retained)
18:06:14.682 ZIG: Resetting EZSP device
18:06:15.988 MQT: tele/tasmota_chai/RESULT = {« ZbState »:{« Status »:1,« Message »:« EFR32 EZSP booted »,« RestartReason »:« Power-on »,« Code »:2}}
18:06:16.103 MQT: tele/tasmota_chai/RESULT = {« ZbState »:{« Status »:55,« Version »:« 6.7.10.0 »,« Protocol »:8,« Stack »:2}}
18:06:16.118 MQT: tele/tasmota_chai/RESULT = {« ZbState »:{« Status »:3,« Message »:« Configured, starting coordinator »}}
18:06:18.796 MQT: tele/tasmota_chai/RESULT = {« ZbState »:{« Status »:56,« IEEEAddr »:« 0xE0798DFFFEE2566D »,« ShortAddr »:« 0x0000 »,« DeviceType »:1}}
18:06:18.988 ZIG: Subscribe to group 0 ‹ ZbListen0 0 ›
18:06:19.093 MQT: tele/tasmota_chai/RESULT = {« ZbState »:{« Status »:0,« Message »:« Started »}}
18:06:19.096 ZIG: Zigbee started
18:06:19.152 ZIG: Zigbee device information found in File System (1 devices - 49 bytes)
18:06:19.159 ZIG: Zigbee device data in EEPROM (29 bytes)
18:06:19.171 ZIG: ZbLoad ‹ <internal_plugin> › loaded successfully
18:06:30.344 MQT: tele/tasmota_chai/RESULT = {« ZbParent »:{« Device »:« 0x0000 »,« Children »:1,« ChildInfo »:[« 0x84BA20FFFECDA32E »]}}
18:11:07.243 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-07T18:11:07 »,« Uptime »:« 0T00:05:08 »,« UptimeSec »:308,« Heap »:131,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:40},« Wifi »:{« AP »:2,« SSId »:« gasti24 »,« BSSId »:« 02:C7:BF:43:6A:B0 »,« Channel »:6,« Mode »:« 11n »,« RSSI »:100,« Signal »:-40,« LinkCount »:1,« Downtime »:« 0T00:00:03 »}}

et le MQTT voit passer des trucs…

mais l’objet appairé à la gateway n’apparait pas.
j’ai refait l’exercice en appairant une PC à la gateway tasmota : idem
tout se passe1 bien côté gateway, mais le MQTT ne reçoit que les infos relatives à gateway elle-même, pas relatives aux objets qui lui sont connectés/appairés

au secours je vais me défenestrer :sweat_smile:

Ce n’est sans doute pas utile et de toute façon ça ne règlera pas le problème MQTT.

Les sensors divers et variés apparaissent par magie dans Home Assistant si et seulement si l’application qui fait le relai entre le capteur et le broker MQTT rajoute des informations d’auto découverte que HA utilise pour créer les objets.
C’est typiquement ce qui est fait par zigbee2mqtt, qui quand on coche la bonne case dans la config génère les infos de découverte.
Là, ce que tu utilises ou a configuré ne le fait pas

On ne voit pas dans le log en dessous ces infos de découverte.

Donc, il faut soit l’activer (si ça existe comme zigbee2mqtt ) ou créer les entités à la main à partir de la doc MQTT Sensor - Home Assistant

Et là, ça apparaitra dans HA.

Je vois maintenant passer les devices dans MQTT Explorer, les données des sensors remontent bien, mais aucun moyen de les voir dans ma config MQTT

On ne doit plus être loin !

Voir peut être :

L’interface de Tasmota dispose t’elle d’une console pour passer des commandes ?
Si oui :

Voir « SetOption19 ».

Hélas, pareil, pourtant ce n’est pas faute d’essayer du côté de la gateway !

21:16:27.335 MQT: tele/tasmota_chai/D012/SENSOR = {« ZbReceived »:{« 0xD012 »:{« Device »:« 0xD012 »,« Cluster »:10,« Read »:[7],« ReadNames »:{« LocalTime »:true},« Endpoint »:1,« LinkQuality »:165}}}
21:19:42.286 MQT: tele/tasmota_chai/STATE = {« Time »:« 2023-07-07T21:19:42 »,« Uptime »:« 0T02:10:10 »,« UptimeSec »:7810,« Heap »:131,« SleepMode »:« Dynamic »,« Sleep »:50,« LoadAvg »:19,« MqttCount »:1,« Berry »:{« HeapUsed »:3,« Objects »:36},« Wifi »:{« AP »:2,« SSId »:« gasti24 »,« BSSId »:« 02:C7:BF:43:6A:B0 »,« Channel »:6,« Mode »:« 11n »,« RSSI »:96,« Signal »:-52,« LinkCount »:1,« Downtime »:« 0T00:00:05 »}}
21:20:20.733 MQT: tele/tasmota_chai/CF15/SENSOR = {« ZbReceived »:{« 0xCF15 »:{« Device »:« 0xCF15 »,« Name »:« AAChai »,« Temperature »:22.6,« Endpoint »:1,« LinkQuality »:79}}}
21:23:48.961 CMD: SetOption19
21:23:48.968 MQT: stat/tasmota_chai/RESULT = {« SetOption19 »:« ON »}
21:24:00.542 CMD: SetOption19 0
21:24:00.549 MQT: stat/tasmota_chai/RESULT = {« SetOption19 »:« OFF »}
21:24:01.312 MQT: tasmota/discovery/A0B7655792A8/config = {« ip »:« 192.168.1.31 »,« dn »:« Tasmota_chai »,« fn »:[« Tasmota_chai »,null,null,null,null,null,null,null],« hn »:« tasmota-chai »,« mac »:« A0B7655792A8 »,« md »:« ZB-GW03-V1.2 »,« ty »:0,« if »:0,« ofln »:« Offline »,« onln »:« Online »,« state »:[« OFF »,« ON »,« TOGGLE »,« HOLD »],« sw »:« 12.3.1 »,« t »:« tasmota_chai »,« ft »:« %prefix%/%topic%/ »,« tp »:[« cmnd »,« stat »,« tele »],« rl »:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],« swc »:[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],« swn »:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],« btn »:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],« so »:{« 4 »:0,« 11 »:0,« 13 »:0,« 17 »:0,« 20 »:0,« 30 »:0,« 68 »:0,« 73 »:0,« 82 »:0,« 114 »:0,« 117 »:0},« lk »:0,« lt_st »:0,« sho »:[0,0,0,0],« sht »:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],« ver »:1} (retained)
21:24:01.324 MQT: tasmota/discovery/A0B7655792A8/sensors = {« sn »:{« Time »:« 2023-07-07T21:24:01 »},« ver »:1} (retained)
21:24:06.373 CMD: SetOption19 1
21:24:06.381 MQT: stat/tasmota_chai/RESULT = {« SetOption19 »:« ON »}
21:24:07.306 MQT: tasmota/discovery/A0B7655792A8/config = (retained)
21:24:07.308 MQT: tasmota/discovery/A0B7655792A8/sensors = (retained)

et ça arrive bien jusque mon MQTT

Sans vouloir insister, est-ce que tu as testé ce que j’ai indiqué:

j’ai essayé, je pense atteindre mes limites …
j’ai tenté ces configs
image

un autre avec le topic détaillé
image

avec cette config tasmota

et ces deux devices
image

Je vois toujours les messages dans MQTTExplorer

On est OK que les devices/entités devraient être visibles dans cette liste par exemple pour une automation?

Déjà il faire un point sur ta situation avant d’aller plus loin :
MQTT explorer reçoit les info, donc ça veut dire que ta gateway est bien configurée et qu’il n’y a plus besoin d’y toucher.
il faut donc maintenant regarder dans parametres/ integrations/ MQTT, et voir la liste des devices. Est ce que tes devices sont dans la liste. Sinon cliques sur ajouter.

Quand et seulement quand cela fonctionnera tu pourras faire des automations. En attendant, ne va pas trop vite

je te jure que je n’ai pas du tout l’impression d’aller trop vite ! :sweat_smile:

je fais comme tu dis, mais malgré le fait que j’aie des devices marque/modèle identiques, je ne trouve rien de ressemblant dans la liste des marques pour ajouter un device dans mon intégration MQTT:

un device inscrit via z2m :
image

SONOFF n’apparait pas dans les marques:
image

je suis désolé pour toutes ces questions, et je remercie la communauté pour son aide permanente !

Solution 1: Dans les cas où, il n’y a pas de découverte automatique, il faut créer les entités sur HA à la main.
Pour cela et comme indiqué dans la doc, il faut mettre le « bon » topic et ensuite la « bonne » value_template.
L’exemple là MQTT Sensor - Home Assistant donne une piste de travail.
Dans ton cas, le topic est un truc du genre ha/tele/tasmota_chai/CF15/SENSOR (mqtt explorer est très pratique pour voir cette hiérachie).
Ensuite, dans la value_template récupérer la température avec qq chose comme {{ value_json.Temperature }}"
Cette solution est à utiliser pour les équipements qui utilisent MQTT mais, qui n’ont pas d’interfaçage simplifié avec HA.

Solution 2: De ce que je vois ici, Tasmota - Home Assistant il y a bien une intégration tasmota
Avec cette intégration, et avec les pré-requis qui sont décrits dans la doc, il y aurait bien une découverte automatique qui évite la Solution 1…

Quand je veux ajouter un device, je dois sélectionner parmi des « marques » de la liste, et mes devices n’y figurent pas (pourtant SONOFF), comment ajouter dans ce cas?

Hello
j’abandonne la solution 2: j’ai réussi à voir apparaitre le tasmota dans mes intégrations, mais aucun device n’apparait dans mes devices MQTT malgré que je les voie passer dans MQQT Explorer…
Créer les entrées à la main : je ne vois pas comment faire en détail…
Quoi qu’il en soit, même si je résoud ce problème, j’ai deux batiments à relier et l’intégration Tasmota n’accepte qu’une seule entrée d’intégration.

Je vais donc devoir creuser maintenant la voie des raspberry Pi décentralisés avec Z2M installés dessus.

Si quelqu’un a une idée lumineuse, pour une solution simple, je prends !
Bonne soirée et merci

Excellente solution, ça marche très bien chez moi.

Si MQTT explorer la voit passer, c’est que l’info est là. c’est donc bizarre que tu ne puisses pas en faire la lecture dans HA surtout si tu as MQTT fonctionnel dessus

je suis tout à fait d’accord avec cette analyse, et pourtant !