Tuya Aiibot Air Purifier via tuyapi und tuya-mqtt

Begonnen von tschimi, 17 Dezember 2020, 09:10:38

Vorheriges Thema - Nächstes Thema

tschimi

Hi,
nach viel lesen und suchen hab ich es geschafft, meinem Aiibot die Daten zu entlocken via tuya-mqtt.

Die ersten Schritte sind gut beschrieben. Dazu bitte hier nachlesen
- https://github.com/codetheweb/tuyapi 
- https://github.com/TheAgentK/tuya-mqtt

Die erste "Fummelei" ist es dann, dem Aiibot sein Token zu entreißen. Wenn man dann erfolgreich den DevAccount angelegt hat bei Tuya und den Aiibot nach Anleitung eingebunden hat, geht das aber relativ einfach.

Was NIRGENDWO beschrieben ist, ist das File devices.conf und das FHEM define. (Anmerkung: Mosquitto MUSS laufen - sonst geht garnix)

Dann devices.conf im Verzeichnis /opt/tuya-mqtt anlegen.

[
{
    name: 'Aiibot',
    id: 'your-id',
    key: 'your-key',
    ip: 'your-ip',
    version: '3.3',
    type: 'Air Purifier',
    template: {   
        switch: {
          key: 1,
          type: 'bool'
        },
        mode: {
          key: 2,
          type: 'int'
        },
        speed: {
          key: 3,
          type: 'int'
        },
        lock: {
          key: 4,
          type: 'bool'
        },   
        filter_reset: {
          key: 5,
          type: 'bool'
        },   
        countdown: {
          key: 6,
          type: 'int'
        }   
     }
}
]


Das File abspeichern. Nicht vergessen, auch config.json entsprechend der Anleitung anzulegen!

Dann Tuya-mptt starten mit: node tuya-mqtt

In FHEM hab ich dann folgendes angelegt

define Aiibot MQTT_DEVICE
attr Aiibot IODev myBroker
attr Aiibot alias Aiibot Air Purifier
attr Aiibot autoSubscribeReadings tuya/aiibot/+
attr Aiibot comment Mode: PM2.5 Count: Stufe
attr Aiibot group Aiibot
attr Aiibot icon vent_ventilation
attr Aiibot room Tuya
attr Aiibot stateFormat P: SWITCH PM2.5: MODE Stufe: COUNT
attr Aiibot subscribeReading_COUNT tuya/aiibot/countdown
attr Aiibot subscribeReading_MODE tuya/aiibot/mode
attr Aiibot subscribeReading_SPEED tuya/aiibot/speed
attr Aiibot subscribeReading_SWITCH tuya/aiibot/switch
attr Aiibot subscribeReading_filter_reset tuya/aiibot/filter_reset
attr Aiibot subscribeReading_lock tuya/aiibot/lock
attr Aiibot subscribeReading_status tuya/aiibot/status


Jetzt liefert der Aiibot brav obige Daten bis auf speed. Ist zwar im DevPortal als output benannt, liefert aber irgendwie nix. Was jetzt noch schön wäre ist, wenn man das Teil auch noch umgekehrt steuern könnte. Also an/aus etc. Vielleicht hat jemand ja einen Tip.

Hoffe, das hilft dem einen oder anderen hier.

Lg, tschimi

morrpheus

Moin Moin.
Ich bin auch gerade an der TuyAPI dran. Hast du außer dem Device noch etwas angelegt? Also eine Bridge oder einen Client?

tschimi

Nope. Ich hab mich nur als Developer registriert und dann alles nach Anleitung gemacht...

Lg, tschimi

saulous

Guten Morgen zusammen. Ich greife das Thema tuya-mqtt nochmal auf.

Aktuell betreibe ich meine tuya Geräte (welche sich nicht per tuya covert Flashen lassen) mit tuya-mqtt. Funktioniert auch soweit gut.

Nur wenn ich den raspberry neu starte (oder auch nur den tuya-mqtt Prozess) wird ein neues device in fhem für diesen Mqtt Prozess erstellt.

Kann man dieses irgendwie unterbinden? Sodass fhem immer wieder das bestehende device verwendet?
Raspberry Pi2B Debian 11 Bullseye mit FHEM & Tablet UI, Siemens SPS S7, CUL 868MHz, MQTT, Harmony Smart Hub, Homematic CCU3, Telegram-Bot, Gassist, Tuya-cloud-connector

saulous

Hallo zusammen. Kurze Rückmeldung :

Ich habe nun Tuya-mqtt und fhem per mqtt2 Client auf den externen mosquitto Server eingeloggt. So wird eine dauerhafte cid eingetragen und ist auch nach einem Neustart wieder erreichbar.
Raspberry Pi2B Debian 11 Bullseye mit FHEM & Tablet UI, Siemens SPS S7, CUL 868MHz, MQTT, Harmony Smart Hub, Homematic CCU3, Telegram-Bot, Gassist, Tuya-cloud-connector

prodigy7

Mich würde doch noch die Antwort einer der Profis hier interessieren, wie man vermeiden kann, dass beim Reconnect jedes Mal ein neues Device angelegt wird im FHEM eigenen MQTT Server.

Beta-User

CID-Angaben aus der readingList löschen. Siehe auch Praxisbeispiele im wiki.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

prodigy7

Zitat von: Beta-User am 13 Februar 2022, 15:32:19
CID-Angaben aus der readingList löschen. Siehe auch Praxisbeispiele im wiki.
Ich verstehe leider nicht ganz, was du meinst. Also wenn ich tuya-mqtt ausführe, bekomme ich folgenden Output z.B.:
  tuya-mqtt:info Connection established to MQTT server +0ms
  tuya-mqtt:tuyapi Search for device id 04007734bcxxxxxxxxxx +0ms
  tuya-mqtt:tuyapi Found device id 04007734bcxxxxxxxxxx +1s
  tuya-mqtt:tuyapi Received JSON data from device 04007734bcxxxxxxxxxx -> {"2":1,"18":248,"19":484,"21":2,"22":363} +30ms
  tuya-mqtt:tuyapi Connected to device Wohnzimmer.Sensor1 (04007734bcxxxxxxxxxx , 9537xxxxxxxxxxxx) +982ms
  tuya-mqtt:tuyapi Received JSON data from device 04007734bcxxxxxxxxxx -> {"2":1,"18":248,"19":484,"21":2,"22":363} +16ms
  tuya-mqtt:state MQTT DPS JSON: tuya/wohnzimmer.sensor1/dps/state ->  {"2":1,"18":248,"19":484,"21":2,"22":363} +0ms
  tuya-mqtt:state MQTT DPS2: tuya/wohnzimmer.sensor1/dps/2/state ->  1 +1ms
  tuya-mqtt:state MQTT DPS18: tuya/wohnzimmer.sensor1/dps/18/state ->  248 +1ms
  tuya-mqtt:state MQTT DPS19: tuya/wohnzimmer.sensor1/dps/19/state ->  484 +0ms
  tuya-mqtt:state MQTT DPS21: tuya/wohnzimmer.sensor1/dps/21/state ->  2 +1ms
  tuya-mqtt:state MQTT DPS22: tuya/wohnzimmer.sensor1/dps/22/state ->  363 +0ms

Angelegt wurde dann in fhem ein Device mit dem Namen "mqttjs_7f606a10" bzw. Device Topic "MQTT2_mqttjs_7f606a10". Die ReadineList sieht wie folgt aus:
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/status:.* status
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/dps/state:.* { json2nameValue($EVENT) }
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/dps/2/state:.* dps_2_state
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/dps/18/state:.* dps_18_state
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/dps/19/state:.* dps_19_state
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/dps/21/state:.* dps_21_state
mqttjs_7f606a10:tuya/wohnzimmer\x2esensor1/dps/22/state:.* dps_22_state

Macht hier der MQTT Client vielleicht was falsch?

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

prodigy7

Zitat von: Beta-User am 13 Februar 2022, 20:14:17
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#St.C3.A4ndig_neue_Devices.3F
Danke, war wohl blind! Hab es angepasst wie dort beschrieben:
tuya/wohnzimmer\x2esensor1:.* { json2nameValue($EVENT) }
tuya/wohnzimmer\x2esensor1/status:.* status
tuya/wohnzimmer\x2esensor1/dps/state:.* { json2nameValue($EVENT) }
tuya/wohnzimmer\x2esensor1/dps/2/state:.* dps_2_state
tuya/wohnzimmer\x2esensor1/dps/18/state:.* dps_18_state
tuya/wohnzimmer\x2esensor1/dps/19/state:.* dps_19_state
tuya/wohnzimmer\x2esensor1/dps/21/state:.* dps_21_state
tuya/wohnzimmer\x2esensor1/dps/22/state:.* dps_22_state

Die erste Zeile habe ich hinzugefügt. Dennoch legt er das Gerät bei jedem Dienst-Neustart neu an. Wenn das nicht falsch war von meiner Seite aus, läuft da irgendwas anderes schief. Ggf. kann es aber auch daran liegen, wie tuya-mqtt den Client implementiert. Wenn ich es nicht ganz falsch verstehe, könnte ich ja versuchen, eine eindeutige ClientId zu definieren im Quellcode. Müsste ich, wenn ich wieder fit bin, mal schauen, wo was anzupassen wäre im Quellcode.

Beta-User

Mach mal die Umlaute raus aus den Geräte-Namen auf der tuya-Seite.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

prodigy7

Zitat von: Beta-User am 13 Februar 2022, 20:42:46
Mach mal die Umlaute raus aus den Geräte-Namen auf der tuya-Seite.
Ne, leider auch ohne Erfolg. Hab es in "wohnzimmersensor1" umbenannt gehabt. Lässt sich da durch Hinzufügen irgendeines Attributes auf MQTT Client Seite etwas forcieren, dass das nicht mehr passiert?

Beta-User

readingList (v.a. topics) wird auf regex-match geprüft. Das musst du ggf. so anpassen, dass es hinhaut. ClientID dabei immer rausnehmen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

prodigy7

#13
Zitat von: Beta-User am 13 Februar 2022, 21:01:42
readingList (v.a. topics) wird auf regex-match geprüft. Das musst du ggf. so anpassen, dass es hinhaut. ClientID dabei immer rausnehmen.
Ahhhhh, ich habs jetzt! Nochmal alles von vorne eingerichtet, readingList angepasst und dann die Einstellungen gespeichert. Ich glaube, das war ein DAU Fehler von mir: Ich hatte die Anpassungen gemacht, aber nicht gespeichert im FHEM Web Interface!  ::)

brain666

Servus zusammen,

ich bekomme es nicht ans laufen
ich nutze ein 4 Kanal Relais und ein 2 Kanal relais
https://www.amazon.de/Wireless-Selbstverriegelung-Garagentor-Fernbedienung-kompatibel/dp/B08NPTCQDB/ref=sr_1_1?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=8IXG25NDVFAF&keywords=4+kanal+relais+alexa&qid=1646736023&sprefix=4+kanal+relais+alexa%2Caps%2C104&sr=8-1


der Tuya-mqtt läuft und in FHEM wird auch das Device angelegt


root@debian:/home/tuya-mqtt# DEBUG=tuya-mqtt:* node tuya-mqtt.js
  tuya-mqtt:info Connection established to MQTT server +0ms
  tuya-mqtt:tuyapi Search for device id bfff20fd3305acf489ybm9 +0ms
  tuya-mqtt:tuyapi Search for device id bfae78abf8d780553axirr +5ms
  tuya-mqtt:tuyapi Found device id bfae78abf8d780553axirr +1s
  tuya-mqtt:tuyapi Received JSON data from device bfae78abf8d780553axirr -> {"1":false,"2":false,"7":0,"8":0,"14":"off","16":false,"17":"","18":""} +239ms
  tuya-mqtt:tuyapi Connected to device 2CH (bfae78abf8d780553axirr, b4f7c74cc33045e9) +873ms
  tuya-mqtt:tuyapi Received JSON data from device bfae78abf8d780553axirr -> {"1":false,"2":false,"7":0,"8":0,"14":"off","16":false,"17":"","18":""} +117ms
  tuya-mqtt:state MQTT DPS JSON: tuya/2ch/dps/state ->  {"1":false,"2":false,"7":0,"8":0,"14":"off","16":false,"17":"","18":""} +0ms
  tuya-mqtt:state MQTT DPS1: tuya/2ch/dps/1/state ->  false +1ms
  tuya-mqtt:state MQTT DPS2: tuya/2ch/dps/2/state ->  false +1ms
  tuya-mqtt:state MQTT DPS7: tuya/2ch/dps/7/state ->  0 +1ms
  tuya-mqtt:state MQTT DPS8: tuya/2ch/dps/8/state ->  0 +0ms
  tuya-mqtt:state MQTT DPS14: tuya/2ch/dps/14/state ->  off +1ms
  tuya-mqtt:state MQTT DPS16: tuya/2ch/dps/16/state ->  false +1ms
  tuya-mqtt:state MQTT DPS17: tuya/2ch/dps/17/state ->   +0ms
  tuya-mqtt:state MQTT DPS18: tuya/2ch/dps/18/state ->   +1ms
  tuya-mqtt:tuyapi Found device id bfff20fd3305acf489ybm9 +81ms
  tuya-mqtt:tuyapi Received JSON data from device bfff20fd3305acf489ybm9 -> {"1":false,"2":false,"3":false,"4":false,"7":0,"8":0,"9":0,"10":0,"14":"off","15":"relay","16":false,"17":"","18":"","19":"BwACBQACAgACAQAC"} +96ms
  tuya-mqtt:tuyapi Connected to device 4CH (bfff20fd3305acf489ybm9, 2f4f60fad2a4a960) +932ms
  tuya-mqtt:tuyapi Received JSON data from device bfff20fd3305acf489ybm9 -> {"1":false,"2":false,"3":false,"4":false,"7":0,"8":0,"9":0,"10":0,"14":"off","15":"relay","16":false,"17":"","18":"","19":"BwACBQACAgACAQAC"} +98ms
  tuya-mqtt:state MQTT DPS JSON: tuya/4ch/dps/state ->  {"1":false,"2":false,"3":false,"4":false,"7":0,"8":0,"9":0,"10":0,"14":"off","15":"relay","16":false,"17":"","18":"","19":"BwACBQACAgACAQAC"} +1s
  tuya-mqtt:state MQTT DPS1: tuya/4ch/dps/1/state ->  false +1ms
  tuya-mqtt:state MQTT DPS2: tuya/4ch/dps/2/state ->  false +1ms
  tuya-mqtt:state MQTT DPS3: tuya/4ch/dps/3/state ->  false +0ms
  tuya-mqtt:state MQTT DPS4: tuya/4ch/dps/4/state ->  false +1ms
  tuya-mqtt:state MQTT DPS7: tuya/4ch/dps/7/state ->  0 +1ms
  tuya-mqtt:state MQTT DPS8: tuya/4ch/dps/8/state ->  0 +0ms
  tuya-mqtt:state MQTT DPS9: tuya/4ch/dps/9/state ->  0 +1ms
  tuya-mqtt:state MQTT DPS10: tuya/4ch/dps/10/state ->  0 +1ms
  tuya-mqtt:state MQTT DPS14: tuya/4ch/dps/14/state ->  off +0ms
  tuya-mqtt:state MQTT DPS15: tuya/4ch/dps/15/state ->  relay +1ms
  tuya-mqtt:state MQTT DPS16: tuya/4ch/dps/16/state ->  false +1ms
  tuya-mqtt:state MQTT DPS17: tuya/4ch/dps/17/state ->   +0ms
  tuya-mqtt:state MQTT DPS18: tuya/4ch/dps/18/state ->   +1ms
  tuya-mqtt:state MQTT DPS19: tuya/4ch/dps/19/state ->  BwACBQACAgACAQAC +1ms


ein List aus FHEM


Internals:
   CID        mqttjs_9f56ab04
   DEF        mqttjs_9f56ab04
   DEVICETOPIC MQTT2_mqttjs_9f56ab04
   FUUID      62272ff8-f33f-078c-9d5f-4100b232b48445f7
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     16
   NAME       MQTT2_mqttjs_9f56ab04
   NR         530
   STATE      ???
   TYPE       MQTT2_DEVICE
   m2s_CONN   m2s_127.0.0.1_51836
   m2s_MSGCNT 16
   m2s_TIME   2022-03-08 11:33:48
   .attraggr:
   .attrminint:
   READINGS:
     2022-03-08 11:33:42   IODev           m2s
     2022-03-08 11:33:48   dps_10_state    0
     2022-03-08 11:33:48   dps_14_state    off
     2022-03-08 11:33:48   dps_15_state    relay
     2022-03-08 11:33:48   dps_16_state    false
     2022-03-08 11:33:48   dps_17_state   
     2022-03-08 11:33:48   dps_18_state   
     2022-03-08 11:33:48   dps_19_state    BwACBQACAgACAQAC
     2022-03-08 11:33:48   dps_1_state     false
     2022-03-08 11:33:48   dps_2_state     false
     2022-03-08 11:33:48   dps_3_state     false
     2022-03-08 11:33:48   dps_4_state     false
     2022-03-08 11:33:48   dps_7_state     0
     2022-03-08 11:33:48   dps_8_state     0
     2022-03-08 11:33:48   dps_9_state     0
     2022-03-08 11:33:48   state_1         false
     2022-03-08 11:33:48   state_10        0
     2022-03-08 11:33:48   state_14        off
     2022-03-08 11:33:48   state_15        relay
     2022-03-08 11:33:48   state_16        false
     2022-03-08 11:33:48   state_17       
     2022-03-08 11:33:48   state_18       
     2022-03-08 11:33:48   state_19        BwACBQACAgACAQAC
     2022-03-08 11:33:48   state_2         false
     2022-03-08 11:33:48   state_3         false
     2022-03-08 11:33:48   state_4         false
     2022-03-08 11:33:48   state_7         0
     2022-03-08 11:33:48   state_8         0
     2022-03-08 11:33:48   state_9         0
     2022-03-08 11:33:48   status          online
     2022-03-08 11:34:42   subscriptions   hass/status homeassistant/status tuya/#
Attributes:
   readingList mqttjs_9f56ab04:tuya/4ch/status:.* status
mqttjs_9f56ab04:tuya/4ch/dps/state:.* { json2nameValue($EVENT, 'state_', $JSONMAP) }
mqttjs_9f56ab04:tuya/4ch/dps/1/state:.* dps_1_state
mqttjs_9f56ab04:tuya/4ch/dps/2/state:.* dps_2_state
mqttjs_9f56ab04:tuya/4ch/dps/3/state:.* dps_3_state
mqttjs_9f56ab04:tuya/4ch/dps/4/state:.* dps_4_state
mqttjs_9f56ab04:tuya/4ch/dps/7/state:.* dps_7_state
mqttjs_9f56ab04:tuya/4ch/dps/8/state:.* dps_8_state
mqttjs_9f56ab04:tuya/4ch/dps/9/state:.* dps_9_state
mqttjs_9f56ab04:tuya/4ch/dps/10/state:.* dps_10_state
mqttjs_9f56ab04:tuya/4ch/dps/14/state:.* dps_14_state
mqttjs_9f56ab04:tuya/4ch/dps/15/state:.* dps_15_state
mqttjs_9f56ab04:tuya/4ch/dps/16/state:.* dps_16_state
mqttjs_9f56ab04:tuya/4ch/dps/17/state:.* dps_17_state
mqttjs_9f56ab04:tuya/4ch/dps/18/state:.* dps_18_state
mqttjs_9f56ab04:tuya/4ch/dps/19/state:.* dps_19_state
mqttjs_9f56ab04:tuya/2ch/status:.* status
mqttjs_9f56ab04:tuya/2ch/dps/state:.* { json2nameValue($EVENT, 'state_', $JSONMAP) }
mqttjs_9f56ab04:tuya/2ch/dps/1/state:.* dps_1_state
mqttjs_9f56ab04:tuya/2ch/dps/2/state:.* dps_2_state
mqttjs_9f56ab04:tuya/2ch/dps/7/state:.* dps_7_state
mqttjs_9f56ab04:tuya/2ch/dps/8/state:.* dps_8_state
mqttjs_9f56ab04:tuya/2ch/dps/14/state:.* dps_14_state
mqttjs_9f56ab04:tuya/2ch/dps/16/state:.* dps_16_state
mqttjs_9f56ab04:tuya/2ch/dps/17/state:.* dps_17_state
mqttjs_9f56ab04:tuya/2ch/dps/18/state:.* dps_18_state
   room       MQTT2_DEVICE


mein test für das 4 Kanal relais dort will ich das 3te relais schalten


defmod 4chtest MQTT_DEVICE
attr 4chtest eventMap true:on false:off
attr 4chtest publishSet true false tuya/4ch/dps/3/state
attr 4chtest subscribeReading_state tuya/4ch/dps/3/state
attr 4chtest webCmd on:off


das eizige was dadurch generiert wird ist ein neues Device


define MQTT2_61ee7355_f33f_078c_7f0e_3debb81dee8dccfd MQTT2_DEVICE 61ee7355_f33f_078c_7f0e_3debb81dee8dccfd
setuuid MQTT2_61ee7355_f33f_078c_7f0e_3debb81dee8dccfd 6227300e-f33f-078c-9918-5fb5adfeacf6563a
attr MQTT2_61ee7355_f33f_078c_7f0e_3debb81dee8dccfd readingList 61ee7355_f33f_078c_7f0e_3debb81dee8dccfd:tuya/4ch/dps/3/state:.* dps_3_state
attr MQTT2_61ee7355_f33f_078c_7f0e_3debb81dee8dccfd room MQTT2_DEVICE



im Tuya-mqtt kommt auch kein befehl an :/

wenn ich aber über die 433 Fernbedienung oder über Alexa oder die Tuya app einschalte reagiert der tuya-mqtt


  tuya-mqtt:state MQTT DPS19: tuya/4ch/dps/19/state ->  BwACBQACAgACAQAC +0ms
  tuya-mqtt:tuyapi Received JSON data from device bfff20fd3305acf489ybm9 -> {"3":true} +17s
  tuya-mqtt:state MQTT DPS JSON: tuya/4ch/dps/state ->  {"3":true} +17s
  tuya-mqtt:state MQTT DPS3: tuya/4ch/dps/3/state ->  true +1ms
  tuya-mqtt:tuyapi Received JSON data from device bfff20fd3305acf489ybm9 -> {"3":false} +804ms
  tuya-mqtt:state MQTT DPS JSON: tuya/4ch/dps/state ->  {"3":false} +804ms
  tuya-mqtt:state MQTT DPS3: tuya/4ch/dps/3/state ->  false +0ms
  tuya-mqtt:tuyapi Received JSON data from device bfff20fd3305acf489ybm9 -> {"3":true} +37s
  tuya-mqtt:state MQTT DPS JSON: tuya/4ch/dps/state ->  {"3":true} +37s
  tuya-mqtt:state MQTT DPS3: tuya/4ch/dps/3/state ->  true +1ms
  tuya-mqtt:tuyapi Received JSON data from device bfff20fd3305acf489ybm9 -> {"3":false} +833ms
  tuya-mqtt:state MQTT DPS JSON: tuya/4ch/dps/state ->  {"3":false} +832ms
  tuya-mqtt:state MQTT DPS3: tuya/4ch/dps/3/state ->  false +1ms



der define vom mqtt server in fhem

define m2s MQTT2_SERVER 1884 global
setuuid m2s 61f695c4-f33f-078c-de91-f3b878e3ae09b84e

attr m2s autocreate complex
attr m2s ignoreRegexp cmnd/[^:"]+: