Zbridge with "tasmota" integration and "Zigbee2Tasmota" (not ZHA)

Before anybody marks this thread as duplicate or suggest ZHA:

I know usually this device is being used with ZHA integration and using the socket connection, but I don’t want to use this way.

The reason is that currently the HA server is physically located in a different geographical location as the Zbridge, and I am using openvpn TAP to tunnel all connection in - between. This way using ZHA is working fine with over 30 zigbee devices of all sort.

Now, one of the locations where a zbridge is fitted won’t be connected any more with VPN (various reasons) but I still want to have the zbridge connected to HA. Thefore I would like to use MQTT, as it has a secure connection, and is reliable. The socket connection does not have TLS or any basic authentication.

However I am facing some issues.

  1. It looks like discovery is not working with SetOption19 0. In the screenshot, you can see that I have an ESP32 camera running with tasmota, and this is reported in the respective topic. However, the zbridge does not seem to report it’s status. Is this feature not supported ? I’ve tried Setoption19 1, but still won’t appear in MQTT integration.

  2. There are various options like how to arrange the topic when using zbridge. Currently I’ve paired for testing purposes only one switch, which i’ve named ‘Livingroombutton’.
    By default, the topic looks like this:
    tele/ZbridgeFortuna/SENSOR/{“ZbReceived”:{“0x0189”:{“Device”:“0x0189”,“Name”:“LivingroomButton”,“Power”:1,“Endpoint”:1,“LinkQuality”:70}}}

There are some option which can change the layout. Which one is supposed to be supported by tasmota integration in home assistant ?
I am referring to the following options:

ZbNoPrefix
SetOption100 remove Zigbee ZbReceived value from {"ZbReceived":{xxx:yyy}} JSON message
0 = disabled (default)
1 = enabled

ZbNameKey
SetOption83 Uses Zigbee device friendly name instead of 16 bits short addresses as JSON key when reporting values and commands
0 = JSON key as short address
1 = JSON key as friendly name
See ZbName <device>,<name>

I’ve managed to integrate the device by using a python script demuxer (just like suggested by RFbridge here:

But this way each device has to be defined manually as a template, and it’s a lot of work for over 50 sensors.

If it’s natively supported by tasmota integration , I would really prefer this way, but I’m stuck as the discovery seems not to work.

Any help appreciated, but please be constructive :slight_smile:!

Mqtt discovery:

1 Like

Hi trex2000, how did you get on with this in the end. I’m in a similar position and would like the do exactly what you were trying to do?

I did not, in the end I’ve created a vpn connection and used with emznet protocol, or how it’s called…