Setting up zigbee devices witha tasmota bridge

if you send the command “zbinfo” to your device,
i do it with a rule in blockly at a fixed time every day

var things = Java.type('org.openhab.core.model.script.actions.Things');

things.getActions('mqtt', 'mqtt:broker:d0a861377f').publishMQTT('cmnd/tasmotas/backlog', 'STATUS 5; ZBINFO; ', 'FALSE' === 'TRUE');

i have more than one device so i use the grouptopic “tasmotas” to reach all devices at once, and with “backlog” you can send several commands, separated with a semicolon, at once!
This is the output of the tasmota console after i sent the commands

17:46:33.580 MQT: stat/Zigbee/STATUS5 = {"StatusNET":{"Hostname":"Zigbee-1445","IPAddress":"10.0.0.48","Gateway":"10.0.0.138","Subnetmask":"255.255.255.0","DNSServer1":"10.0.0.138","DNSServer2":"10.0.0.138","Mac":"24:A1:60:3D:85:A5","Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":17.0}}
17:46:33.802 MQT: tele/Zigbee/Durchgang/SENSOR = {"Durchgang":{"Device":"0xB1B8","Name":"Durchgang","IEEEAddr":"0x00158D0002C94CC2","ModelId":"lumi.sensor_magnet.aq2","Manufacturer":"LUMI","Endpoints":[1],"Config":["A01"],"ZoneStatus":14848,"Reachable":true,"BatteryPercentage":100,"BatteryLastSeenEpoch":1672243813,"LastSeen":2180,"LastSeenEpoch":1672243813,"LinkQuality":39}}
17:46:33.808 MQT: tele/Zigbee/Kuehlraum/SENSOR = {"Kuehlraum":{"Device":"0x06DF","Name":"Kuehlraum","IEEEAddr":"0x00124B0024FC2781","Endpoints":[1],"Config":["T01"],"Temperature":6.26,"Humidity":99.99,"Reachable":true,"BatteryPercentage":100,"BatteryLastSeenEpoch":1672240477,"LastSeen":657,"LastSeenEpoch":1672245336,"LinkQuality":31}}
17:46:33.813 MQT: tele/Zigbee/Lamp/SENSOR = {"Lamp":{"Device":"0xFB7F","Name":"Lamp","IEEEAddr":"0x90FD9FFFFE0FB377","ModelId":"TRADFRI bulb E27 W opal 1000lm","Manufacturer":"IKEA of Sweden","Endpoints":[1],"Config":["O01"],"Power":0,"Reachable":false,"LastSeen":442485,"LastSeenEpoch":1671803508,"LinkQuality":63}}
17:46:33.821 MQT: tele/Zigbee/Kueche/SENSOR = {"Kueche":{"Device":"0x1B54","Name":"Kueche","IEEEAddr":"0x00124B0025121E99","ModelId":"TH01","Manufacturer":"eWeLink","Endpoints":[1],"Config":["T01"],"Temperature":-18.18,"Humidity":43.08,"Reachable":true,"BatteryPercentage":90,"BatteryLastSeenEpoch":1672243829,"LastSeen":25,"LastSeenEpoch":1672245968,"LinkQuality":65}}
17:46:33.827 MQT: tele/Zigbee/Eisschrank/SENSOR = {"Eisschrank":{"Device":"0xCC55","Name":"Eisschrank","IEEEAddr":"0x00124B0024FC20DD","ModelId":"TH01","Manufacturer":"eWeLink","Endpoints":[1],"Config":["T01"],"Temperature":-13.43,"Humidity":36.06,"Reachable":true,"BatteryPercentage":81,"BatteryLastSeenEpoch":1672242489,"LastSeen":28,"LastSeenEpoch":1672245965,"LinkQuality":2}}
17:46:33.829 MQT: stat/Zigbee/RESULT = {"ZbInfo":"Done"}

With the command “zbinfo” you get all infos about your connected devices, and there you can find also “Reachable”

For my device called “Lamp” the stateTopic would look like

stateTopic="tele/Zigbee/Lamp/SENSOR",
transformationPattern="JSONPATH:$.Lamp.Reachable"