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
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?
Nope. Ich hab mich nur als Developer registriert und dann alles nach Anleitung gemacht...
Lg, tschimi
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?
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.
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.
CID-Angaben aus der readingList löschen. Siehe auch Praxisbeispiele im wiki.
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?
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#St.C3.A4ndig_neue_Devices.3F
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.
Mach mal die Umlaute raus aus den Geräte-Namen auf der tuya-Seite.
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?
readingList (v.a. topics) wird auf regex-match geprüft. Das musst du ggf. so anpassen, dass es hinhaut. ClientID dabei immer rausnehmen.
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! ::)
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 (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/[^:"]+:
...das geht ja wild durcheinander...
Bleib bei MQTT2_DEVICE, der Versuch mit MQTT_DEVICE ist "Banane".
Die ClientID ändert sich bei diesen "paho"-Devices ständig. Falls man es nicht per yaml einstellen kann: in der readingsList die CID-Präfixe (mqttjs_9f56ab04:) löschen (siehe "Praxisbeispiele zu MQTT2_DEVICE im Wiki" (unten)).
Ansonsten: https://wiki.fhem.de/wiki/MQTT2_DEVICE_-_Schritt_f%C3%BCr_Schritt
hmm ich verstehe es irgendwie nicht :/
ich habe den tuya-mqtt mit meinen lokalen mqtt server verbunden
habe fhem als client auf dem mqtt verbunden
dieser erstellt dann auch das device
Internals:
CFGFN
CID FHEM
DEF FHEM
DEVICETOPIC MQTT2_FHEM
FUUID 6227397d-f33f-078c-a4c7-495c86eadaedf19d
IODev meinMQTT2Client
LASTInputDev meinMQTT2Client
MSGCNT 53
NAME MQTT2_FHEM
NR 1637
STATE off
TYPE MQTT2_DEVICE
meinMQTT2Client_MSGCNT 53
meinMQTT2Client_TIME 2022-03-08 12:26:16
.attraggr:
.attrminint:
READINGS:
2022-03-08 12:09:49 IODev meinMQTT2Client
2022-03-08 12:14:31 dps_10_state 0
2022-03-08 12:14:31 dps_14_state off
2022-03-08 12:14:31 dps_15_state relay
2022-03-08 12:14:31 dps_16_state false
2022-03-08 12:14:31 dps_17_state
2022-03-08 12:14:31 dps_18_state
2022-03-08 12:14:31 dps_19_state BwACBQACAgACAQAC
2022-03-08 12:14:31 dps_1_state false
2022-03-08 12:14:31 dps_2_state false
2022-03-08 12:26:16 dps_3_state false
2022-03-08 12:14:31 dps_4_state false
2022-03-08 12:14:31 dps_7_state 0
2022-03-08 12:14:31 dps_8_state 0
2022-03-08 12:14:31 dps_9_state 0
2022-03-08 12:26:16 state off
2022-03-08 12:12:32 state_ true
2022-03-08 12:14:31 state_1 false
2022-03-08 12:14:31 state_10 0
2022-03-08 12:14:31 state_14 off
2022-03-08 12:14:31 state_15 relay
2022-03-08 12:14:31 state_16 false
2022-03-08 12:14:31 state_17
2022-03-08 12:14:31 state_18
2022-03-08 12:14:31 state_19 BwACBQACAgACAQAC
2022-03-08 12:14:31 state_2 false
2022-03-08 12:14:31 state_3 false
2022-03-08 12:14:31 state_4 false
2022-03-08 12:14:31 state_7 0
2022-03-08 12:14:31 state_8 0
2022-03-08 12:14:31 state_9 0
2022-03-08 12:14:31 status online
Attributes:
readingList FHEM:tuya/4ch/status:.* status
FHEM:tuya/2ch/status:.* status
FHEM:tuya/4ch/dps/state:.* { json2nameValue($EVENT, 'state_', $JSONMAP) }
FHEM:tuya/4ch/dps/1/state:.* dps_1_state
FHEM:tuya/4ch/dps/2/state:.* dps_2_state
FHEM:tuya/4ch/dps/3/state:.* dps_3_state
FHEM:tuya/4ch/dps/4/state:.* dps_4_state
FHEM:tuya/4ch/dps/7/state:.* dps_7_state
FHEM:tuya/4ch/dps/8/state:.* dps_8_state
FHEM:tuya/4ch/dps/9/state:.* dps_9_state
FHEM:tuya/4ch/dps/10/state:.* dps_10_state
FHEM:tuya/4ch/dps/14/state:.* dps_14_state
FHEM:tuya/4ch/dps/15/state:.* dps_15_state
FHEM:tuya/4ch/dps/16/state:.* dps_16_state
FHEM:tuya/4ch/dps/17/state:.* dps_17_state
FHEM:tuya/4ch/dps/18/state:.* dps_18_state
FHEM:tuya/4ch/dps/19/state:.* dps_19_state
FHEM:tuya/2ch/dps/state:.* { json2nameValue($EVENT, 'state_', $JSONMAP) }
FHEM:tuya/2ch/dps/1/state:.* dps_1_state
FHEM:tuya/2ch/dps/2/state:.* dps_2_state
FHEM:tuya/2ch/dps/7/state:.* dps_7_state
FHEM:tuya/2ch/dps/8/state:.* dps_8_state
FHEM:tuya/2ch/dps/14/state:.* dps_14_state
FHEM:tuya/2ch/dps/16/state:.* dps_16_state
FHEM:tuya/2ch/dps/17/state:.* dps_17_state
FHEM:tuya/2ch/dps/18/state:.* dps_18_state
FHEM:FHEM_tuya/4ch/dps/3/state:.* dps_3_state
room MQTT2_DEVICE
laut tuya-mqtt ist das tuya/4ch/dps/3/state das relais welches ich schalten möchte
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
ich habe verstanden das ich über das setlist Kommandos senden kann
also habe ich das hinzugefügt.
setList on tuya/4ch/dps/3/state true
off tuya/4ch/dps/3/state false
wenn ich dann auf on / off klicke sieht man bei den readings das sich
dps_3_state true 2022-03-08 12:50:37
dem entsprechend auf true / false ändert
ich verstehe aber nicht wieso nichts beim tuya-mqtt ankommt, es wird lediglich in FHEM die reading geändert
sendet der tuya-mqtt erneut seine daten und die werte werden überschrieben
wenn es auf true steht überschriebt er es mit false
also sieht es für mich so aus als würde garnichts an den mqtt server übergeben.
Na ja, immerhin hast du die CleintId schon mal "fixiert" bekommen...
Grundsätzlich sollten bei MQTT die Sende- und Empfangsrichtung immer (!!!) unterschiedlich sein! In der readingList steht die Empfangsrichtung, und es wird aus diesem Grund auch (normalerweise, bei MQTT2_SERVER) nichts wieder empfangen, was aus FHEM versendet wurde.
Klingt danach, als würde der Gerät ohne die Kanal-Angabe im Topic auf einen JSON warten, von daher würde ich mal folgendes ins Rennen werfen:
setList on tuya/4ch/dps/state {"3":true}
off tuya/4ch/dps/state {"3":false}
Nachtrag noch: Zum einen wäre das wieder so ein Fall, wo eine zentrale Instanz mit bridgeRegexp angebracht wäre (analog zigbee2mqtt usw.), und zum anderen könnte man noch true/false in was "lesbares" übersetzen. Zumindest der 2. Teil sollte auch in "Schritt für Schritt" zu finden sein.
Zitat von: Beta-User am 08 März 2022, 13:02:12
Na ja, immerhin hast du die CleintId schon mal "fixiert" bekommen...
Grundsätzlich sollten bei MQTT die Sende- und Empfangsrichtung immer (!!!) unterschiedlich sein! In der readingList steht die Empfangsrichtung, und es wird aus diesem Grund auch (normalerweise, bei MQTT2_SERVER) nichts wieder empfangen, was aus FHEM versendet wurde.
Klingt danach, als würde der Gerät ohne die Kanal-Angabe im Topic auf einen JSON warten, von daher würde ich mal folgendes ins Rennen werfen:
setList on tuya/4ch/dps/state {"3":true}
off tuya/4ch/dps/state {"3":false}
Danke das habe ich auch bereits versucht da ich mir dachte das er den Kanal benötigt.
hat aber leider auch nichts gebracht.
aber dafür der Tip mit den bridgeRegexp
die devices sehen nun wie folgt aus.
define MQTT2_FHEM MQTT2_DEVICE FHEM
setuuid MQTT2_FHEM 6227397d-f33f-078c-a4c7-495c86eadaedf19d
attr MQTT2_FHEM bridgeRegexp FHEM:tuya/([A-Za-z0-9]*)[/]?.*:.* "tuya_$1"
attr MQTT2_FHEM room MQTT2_DEVICE
define MQTT2_tuya_4ch MQTT2_DEVICE tuya_4ch
setuuid MQTT2_tuya_4ch 62275282-f33f-078c-0794-e025dbda07bb02cd
attr MQTT2_tuya_4ch readingList tuya/4ch/status:.* status\
tuya/4ch/dps/state:.* { json2nameValue($EVENT, 'state_', $JSONMAP) }\
tuya/4ch/dps/1/state:.* dps_1_state\
tuya/4ch/dps/2/state:.* dps_2_state\
tuya/4ch/dps/3/state:.* dps_3_state\
tuya/4ch/dps/4/state:.* dps_4_state\
tuya/4ch/dps/7/state:.* dps_7_state\
tuya/4ch/dps/8/state:.* dps_8_state\
tuya/4ch/dps/9/state:.* dps_9_state\
tuya/4ch/dps/10/state:.* dps_10_state\
tuya/4ch/dps/14/state:.* dps_14_state\
tuya/4ch/dps/15/state:.* dps_15_state\
tuya/4ch/dps/16/state:.* dps_16_state\
tuya/4ch/dps/17/state:.* dps_17_state\
tuya/4ch/dps/18/state:.* dps_18_state\
tuya/4ch/dps/19/state:.* dps_19_state
attr MQTT2_tuya_4ch room MQTT2_DEVICE
attr MQTT2_tuya_4ch setList on tuya/4ch/dps/state {"3":true}\\
off tuya/4ch/dps/state {"3":false}
define MQTT2_tuya_2ch MQTT2_DEVICE tuya_2ch
setuuid MQTT2_tuya_2ch 62275282-f33f-078c-0d45-a11132db56d3fc6e
attr MQTT2_tuya_2ch readingList tuya/2ch/status:.* status\
tuya/2ch/dps/state:.* { json2nameValue($EVENT, 'state_', $JSONMAP) }\
tuya/2ch/dps/1/state:.* dps_1_state\
tuya/2ch/dps/2/state:.* dps_2_state\
tuya/2ch/dps/7/state:.* dps_7_state\
tuya/2ch/dps/8/state:.* dps_8_state\
tuya/2ch/dps/14/state:.* dps_14_state\
tuya/2ch/dps/16/state:.* dps_16_state\
tuya/2ch/dps/17/state:.* dps_17_state\
tuya/2ch/dps/18/state:.* dps_18_state
attr MQTT2_tuya_2ch room MQTT2_DEVICE
[code]
Bei deinem "on" ist ein doppelter Backslash drin! Nicht, dass der das Problem ist.
Ansonsten werde ich aus https://github.com/TheAgentK/tuya-mqtt#dps-topics auch nicht so richtig schlau...
Und dass nach der Doku derselbe Topic für Kommandos und Zustände genutzt zu werden scheint (?), ist imo ein Bug.
Danke am doppelten "\" lag es nicht war nur ein copy&paste fehler :/
genau das DPS JSON topic hatte ich mir auch gerade angeschaut bringt mich aber auch nicht weiter :(
schade
naja zumindest habe ich schonmal die aktuellen werte der einzelnen relais
Ich danke dir
Zitat von: brain666 am 08 März 2022, 14:46:20
schade
...irgendwie schon...
Wobei diese Variante eh' ein "totes Pferd" zu sein scheint, der Maintainer hat ja angekündigt, dass es keine Weiterentwicklung geben wird (weil im diese Tuya Cloud prinzipiell nicht gefällt).
Vielleicht ist es mittelfristig der einfachere Weg, die Lösung von dominik zu nehmen: https://forum.fhem.de/index.php/topic,122288.0.html
(oder eben ganz von Tuya-Cloud wegzugehen).
Ja Dominik seine Lösung hatte ich auch erwähnt
Ich wollte es halt über mqtt und mit der tuya-mqtt sah es nicht schlecht aus
Auf iobroker / openhab läuft es auch über tuya-mqtt
Ich recherchiere nochmal ein bissel
Von tuya weg wäre mir auch die liebste Lösung aber ich habe keine Idee wie ich die relaisboards dafür modden muss
Geschweige von löten habe ich keine Ahnung:(
Ohne info zur konkreten Hardware ist es schwierig... Am ehesten tasmota.
Hardware ist das als 4 Kanal und als 2 Kanal relais
Ich nutze es für meine Garagen und Hoftore
433 mhz wegen der Fernbedienung
Tuya wegen alexa
Alexa habe ich auch auf meinen Server debian
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- (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-)
Im Moment sieht es so bei mir aus auf dem Tablet sieht es anständiger aus
Ich bediene zurzeit die Garagen und hoftore über den Umweg Alexa Routine
define Hoftor_alexa dummy
setuuid Hoftor_alexa 61eea386-f33f-078c-db12-606efcbec4b23272
attr Hoftor_alexa alias Hoftor
attr Hoftor_alexa devStateIcon off:secur_locked@green:on on:secur_open@red:off
attr Hoftor_alexa devStateStyle style="text-align:left;;;;font-weight:bold;;;;"
attr Hoftor_alexa group Steckdosen
attr Hoftor_alexa icon fts_sliding_gate@grey
attr Hoftor_alexa room 0.1_Amazon
attr Hoftor_alexa webCmd :
define Hoftor_alexa_noti notify Hoftor_alexa:on set ECHO_G0916D10046500MS speak " Hoftor ist auf";; set ECHO_G0916D10046500MS routine_play hoftor_öffnen@amzn1.alexa.automation.36447688-e9d5-4bdd-882e-1327cfb412bb
setuuid Hoftor_alexa_noti 61eea59d-f33f-078c-f42d-b7c5e6c51a6d6f65
attr Hoftor_alexa_noti room 0.4_Telegramm
Ah, sieht speziell aus, und hat wohl neuerdings auch einen Tuya-Chip statt des ESP8266, der in https://templates.blakadder.com/eachen_ST-DC4.html zu finden ist. Die Anleitung dort liest sich so, als wäre da ein weiterer Controller verbaut, der den 433MHz-RF-Teil macht, und der Tuya-Chip sollte flashbar sein, aber im Zweifel würde ich das auch erst mal mit einem Duplikat testen...
Zitat von: brain666 am 08 März 2022, 11:55:54
Servus zusammen,
ich bekomme es nicht ans laufen
ich nutze ein 4 Kanal Relais und ein 2 Kanal relais https://brokerschart.de/ (https://brokerschart.de/)
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 (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)
Wie hast du 2 Kanal Relais aufgebaut?
Ich habe diese bei mir einfach an den Schlüsselschalter geklemmt.