Zigbee2Tasmota Scene Switch diffrent states to DeConz

Release = Raspbian GNU/Linux 11 (bullseye)
Kernel = Linux 5.15.84-v7l+
Platform = Raspberry Pi 4 Model B Rev 1.2
openHAB 3.4.1 - Release Build

Hello there,

After I got some troubles with DeConz, which can’t be fixed atm (github issue)
I decided to give the workaround using Zigbee2Tasmota a try.

I’ve bought a SONOFF Zigbee Bridge Pro and flashed Tasmota on it. → works fine
Already I’ve discovered devices with Tasmota which work within the tasmota surroundings fine

My Problem is, I really don’t know how to configure the Zigbee2Tasmota as a Bridge into OH3.
I’ve found some topics from 2019/2020 that didn’t help me a lot.
It is possible that I am just too helpless to understand the threads.

My biggest problem is, how to configure the MQTT Explorer so that I am able to “see” my devices from the Tasmota Bridge.
And how to configure the Zigbee Bridge in OH3.
Also, I am not able to TELNET to the Tasmota device, some People write about opening the TCP Port 8888, which I think needs to be open.

My last try was to follow the instruction of an older thread to create a Zigbee Bridge (Ember Coordinator) where the Serial Port Configuration should be " /dev/ttyzbbridge"
This doesn’t exist in OH3 for me anymore.

I think everyone sees I don’t have any clue what to do and where to start.
There is too much cryptic information available for me to get a clearly start.

Maybe someone would be so kind give me some hints on where to start and how to start :slight_smile:

I would be very happy.

You haven’t mentioned: do you have an MQTT Broker like Mosquitto running anywhere in your network?

You will need this if you want to use MQTT.

Everything then ‘talks’ via the MQTT Broker only - openHAB connects to the Broker, MQTT Explorer connects to the Broker, and your Zigbee2Tasmota device connects to the Broker.

Once something is connected to the MQTT Broker, it can then publish messages for other devices to pickup and read, and/or subscribe to messages from other devices.

So install Mosquitto.

Configure your Zigbee2Tasmota device MQTT settings to connect to Mosquitto.

Configure MQTT Explorer to connect to Mosquitto. You should now start to see messages from Tasmota start to arrive.

Once that’s done, we can move on to openHAB!

thanks, with that short words you gave me light into my troubles :slight_smile:
I’ve managed to configure the broker and the bridge.

Also, I’ve created the correct channel for my Scene Switch.

there is just one problem left, before Zigbee2Tasmota the switch was connected via Deconz.
With Deconz the switch had one “button event channel” which was triggered every time I hit the button.

At the MQTT Explorer I can’t find an Item or Channel for this, is it possible to expand the possibilities or “expert view”
The channel must still exist or?

Thing mqtt:topic:SONOFF_Bridge_Tasmota "SONOFF_Bridge_Tasmota" (mqtt:broker:myMQTTBroker) 
{
    Type string : ch19 "Taste kurz Taster Wohnzimmer"                   [ stateTopic="tele/SONOFF_Bridge_Tasmota/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xB076.Endpoint" ]
    Type number : ch20 "Taste lang & doppelt Taster Wohnzimmer"         [ stateTopic="tele/SONOFF_Bridge_Tasmota/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xB076.LidlPower" ]
}

I can now “only” use the Endpoint as “short press” and the “LidlPower” for long or double press
The problem, openhab doesn’t update the item if I press as example the button “short” twice so one button press would be lights on and the second off… an example.

Did you see any option here to get the event channel back?

MQTT Explorer:

tele/SONOFF_Bridge_Tasmota/SENSOR

{
“ZbReceived”: {
“0xB076”: {
“Device”: “0xB076”,
“0006!FD”: “00”,
“LidlPower”: 0,
“Endpoint”: 4,
“LinkQuality”: 163
}
}
}

Which device is it, from this list?

I’ve already tried a bit try an error, my latest recognition is

    Type string : Test "Test X"              [ stateTopic="tele/SONOFF_Bridge_Tasmota/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xB076.Endpoint", trigger=true ]


pasting “trigger=true” at the end will generate a TriggerEvent at the openhab log Viewer (which would help I guess for my problem)
but I don’t know if that’s correct what I am doing or just a coincidence.

Please post the MQTT messages for short, double, long press for button #1 and for button #4.

Just for reference: TuYa TS0044 control via MQTT | Zigbee2MQTT

Type string : Triggerchannel_Taster_whz  "Trigger Taster Whz"              [ stateTopic="tele/SONOFF_Bridge_Tasmota/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xB076.Endpoint", trigger=true ]  // Trigger Channel single press
Type string : Triggerchannel_Taster_lang_whz  "Trigger Taster lang Whz"              [ stateTopic="tele/SONOFF_Bridge_Tasmota/SENSOR", transformationPattern="JSONPATH:$.ZbReceived.0xB076.LidlPower", trigger=true ]  // Trigger Channel which indicates short or long press

Channel: Triggerchannel_Taster_whz is providing the actual pressed button for the switch (1, 2, 3, 4)
Channel: Triggerchannel_Taster_lang_whz is providing the state (short press= 1, long press= 2)

That is my current status with the scene switch, if someone finds something new feel free about posting it :slight_smile:

I’ve also find something which I can’t explain.

First I linked the switch to my CONBEE II with DeConz → there was an buttonevent channel → the states for it was “1001, 1002, 1003, 1004” → for the 4 buttons.
If I look into mqtt explorer I cant find those “buttonevent”.

I’ve looked through the used file for DeConz:

`
{
“schema”: “devcap1.schema.json”,
“manufacturername”: [“_TZ3000_ygvf9xzp”, “_TZ3000_ee8nrt2l”, “_TZ3000_dziaict4”, “_TZ3000_mh9px7cq”, “_TZ3000_b7bxojrg”, “_TZ3000_ufhtxr59”, “_TZ3000_abci1hiu”, “_TZ3000_wkai4ga5”],
“modelid”: [“TS0044”, “TS0044”, “TS0044”, “TS0044”, “TS0044”, “TS0044”, “TS0044”, “TS0044”],
“product”: “Tuya remote 4 gangs”,
“sleeper”: true,
“status”: “Gold”,
“subdevices”: [
{
“type”: “$TYPE_SWITCH”,
“restapi”: “/sensors”,
“uuid”: [
“$address.ext”,
“0x01”,
“0x0006”
],
“items”: [
{
“name”: “attr/id”
},
{
“name”: “attr/lastannounced”
},
{
“name”: “attr/lastseen”
},
{
“name”: “attr/manufacturername”
},
{
“name”: “attr/modelid”
},
{
“name”: “attr/name”
},
{
“name”: “attr/swversion”,
“refresh.interval”: 84000,
“parse”: {“fn”: “zcl”, “ep”: 1, “cl”: “0x0000”, “at”: “0x0001”, “script”: “tuya_swversion.js”},
“read”: {“fn”: “zcl”, “ep”: 1, “cl”: “0x0000”, “at”: “0x0001”}
},
{
“name”: “attr/type”
},
{
“name”: “attr/uniqueid”
},
{
“name”: “config/battery”,
“refresh.interval”: 84000,
“awake”: true,
“parse”: {
“at”: “0x0021”,
“cl”: “0x0001”,
“ep”: 1,
“eval”: “Item.val = Attr.val / 2;”,
“fn”: “zcl”
}
},
{
“name”: “config/on”
},
{
“name”: “config/reachable”
},
{
“name”: “state/buttonevent”
},
{
“name”: “state/lastupdated”
}
]
}
],
“bindings”: [
{
“bind”: “unicast”,
“src.ep”: 1,
“dst.ep”: 1,
“cl”: “0x0006”
},
{
“bind”: “unicast”,
“src.ep”: 2,
“dst.ep”: 1,
“cl”: “0x0006”
},
{
“bind”: “unicast”,
“src.ep”: 3,
“dst.ep”: 1,
“cl”: “0x0006”
},
{
“bind”: “unicast”,
“src.ep”: 4,
“dst.ep”: 1,
“cl”: “0x0006”
}
]
}

They are using state/buttonevent → how am I able to use this channel too ?

    Type string : TESTsdas  "Trigger Taster lang Whz"              [ stateTopic="tele/SONOFF_Bridge_Tasmota/STATE", transformationPattern="JSONPATH:$.ZbReceived.0xB076.buttonevent", trigger=true ]  // Trigger Channel;

doesn’t work with buttonevent.

looking through the mqtt explorer there is only “SENSOR”:

tele/SONOFF_Bridge_Tasmota/SENSOR = {“ZbReceived”:{“0xB076”:{“Device”:“0xB076”,“0006!FD”:“00”,“LidlPower”:0,“Endpoint”:4,“LinkQuality”:120}}}

maybe can someone help here?

How is DeConz able to use the channel and why I can’t see it with mqtt explorer ?
maybe the switch is sending in “lite mode”? i don’t know if that’s possible