attrTemplate für ZigBee2Tasmota

Begonnen von kimbolero, 19 Juni 2020, 21:02:50

Vorheriges Thema - Nächstes Thema

kimbolero

Ich stehe gerade vor der Herausforderung, dass ich mir ein CC2530 für Zigbee-Devices angelegt habe. Reine Readings von bspw. Xiaomi Fensterkontakten und einem Aqara Cube funktionieren bereits perfekt.
Nun habe ich mir eine Osram Smart+ A60 LED-Birne bestellt. Diese wird soweit auch erkannt & die Readings sind vorhanden.
Über die Zigbee2MQTT Tasmota Console kann ich die Birne auch bereits ein- und wieder ausschalten:

ZbSend {"Device":"Osram1","Send":{"Power":Off}}
ZbSend {"Device":"Osram1","Send":{"Power":On}}



Mir fehlt gerade nun der Ansatz, wie ich dies auch in FHEM ansteuern kann und entsprechend automatisiere.
In der Suche habe ich hierzu wenig für mich hilfreiches gefunden - evtl hat mir jemand einen Link bzw auch Codeschnipsel, der mir weiterhilft.
Danke!
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....

rudolfkoenig

Ich wuerde mit einem MQTT-Client (wie mosquitto_sub oder MQTT_CLIENT) die Kommunikation beim Schalten belauschen, und die Befehle im setList Attribut im MQTT2_DEVICE hinterlegen.

Beta-User

Hmm, das ist doch tasmota2zigbee, über das wir hier reden?

(Wäre nicht schlecht, wenn das irgendwie von vornherein klarer gesagt würde). Das ganze ist vermutlich nicht so einfach zu handeln, da scheint praktisch der volle content NUR in der payload verborgen zu sein: https://tasmota.github.io/docs/Zigbee/

Wie senden ginge (ob es dafür einen eigenen Topic-Pfad gibt oder man backlog verwenden muß/kann, ist ungeklärt), müssen wir erst noch lernen bzw. es wäre gut, wenn du dazu mehr Infos liefern könntest.

Insgesamt ist vermutlich zigbee2mqtt einfacher.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

kimbolero

Ja, Du hast Recht - es handelt sich hier um Zigbee2Tasmota.
Mir ist eben aufgefallen, dass auch noch ein neues MQTT Device angelegt wurde:


defmod MQTT2_6d894b82846a45909ad468e05837f6d3 MQTT2_DEVICE 6d894b82846a45909ad468e05837f6d5
attr MQTT2_6d894b82846a45909ad468e05837f6d3 IODev myBroker
attr MQTT2_6d894b82846a45909ad468e05837f6d3 readingList 6d894b82846a45909ad468e05837f6d5:cmnd/tasmotas/:.* tasmotas\
6d894b82846a45909ad468e05837f6d5:\x2ezigbee2mqtt/0x7CB03EAA0A0432DF/set_\x7b\x22state\x22_\x22OFF\x22\x2c\x22brightness\x22_60\x7d:.* set___state___OFF___brightness__60_\
6d894b82846a45909ad468e05837f6d5:\x2ezigbee2mqtt/0x7CB03EAA0A0432DF/set_\x7b\x22state\x22_\x22OFF\x22\x7d:.* set___state___OFF__\
6d894b82846a45909ad468e05837f6d5:set\x2emyBroker\x2epublish\x2etele/ZigBee2MQTT/LWT/0x7CB03EAA0A0432DF/set\x2e\x7b\x22state\x22_\x22OFF\x22\x7d:.* set___state___OFF__\
6d894b82846a45909ad468e05837f6d5:tele/ZigBee2MQTT/LWT/0x7CB03EAA0A0432DF/set\x2e\x7b\x22state\x22_\x22OFF\x22\x7d:.* set___state___OFF__\
6d894b82846a45909ad468e05837f6d5:tele/ZigBee2MQTT/0x7CB03EAA0A0432DF/set\x2e\x7b\x22state\x22_\x22OFF\x22\x7d:.* set___state___OFF__\
6d894b82846a45909ad468e05837f6d5:ZbSend\x2e\x7b\x22Device\x22_\x22Osram1\x22\x2c\x22Send\x22_\x7b\x22Power\x22_Off\x7d\x7d:.* ZbSend___Device___Osram1___Send____Power__Off__\
6d894b82846a45909ad468e05837f6d5:cmnd/Zigbee2MQTT/POWER\x2e\x7b\x22Device\x22_\x22Osram1\x22\x2c\x22Send\x22_\x7b\x22Power\x22_Off\x7d\x7d:.* POWER___Device___Osram1___Send____Power__Off__\
6d894b82846a45909ad468e05837f6d5:tele/ZigBee2MQTT/SENSOR\x2e\x3d\x2e\x7b\x22ZbReceived\x22_\x7b\x22Osram1\x22_\x7b\x22Device\x22_\x220xC1FF\x22\x2c\x22Power\x22_0\x2c\x22Endpoint\x22_3\x2c\x22LinkQuality\x22_84\x7d\x7d\x7d:.* SENSOR_____ZbReceived____Osram1____Device___0xC1FF___Power__0__Endpoint__3__LinkQuality__84___\
6d894b82846a45909ad468e05837f6d5:CMD_\x2eZbSend\x2e\x7b\x22Device\x22_\x22Osram1\x22\x2c\x22Send\x22_\x7b\x22Power\x22_Off\x7d\x7d:.* CMD__ZbSend___Device___Osram1___Send____Power__Off__
attr MQTT2_6d894b82846a45909ad468e05837f6d3 room MQTT2_DEVICE

setstate MQTT2_6d894b82846a45909ad468e05837f6d3 2020-06-19 20:41:22 subscriptions # stat/ZigBee2MQTT/RESULT tele/ZigBee2MQTT/STATE zigbee2mqtt/Osram1/set
setstate MQTT2_6d894b82846a45909ad468e05837f6d3 2020-06-19 18:31:48 tasmotas



Mir erschließt sich lediglich nicht, wie ich in FHEM die LED-Birne schalten kann...
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....

Beta-User

Na ja, wie gesagt: über den backlog-Topic sollte es gehen. Aber das ganze ist irgendwie suboptimal und wird auch nicht besser dadurch, dass du MQTT2_CLIENT als IO zu verwenden scheinst? Und irgendwas zum Testen der publishes?

Du solltest dich erst in MQTT bzw. die MQTT2-Module in FHEM mit einfacheren Devices einarbeiten und dann erst an diese Sache ran. Ansatzpunkt für die Behandlung von zigbee@tasmota sehe ich bei den Tasmota-RF und -IR-Bridges. Das müßte hier "so ähnlich" (aber komplizierter) sein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

@kimbolero: da das automatisch erzeugte readingsList reichlich merkwuerdig ausschaut, wuerde ich gerne die dazu passenden Raw-Daten sehen.
Man findet sie nach einem "attr myBroker verbose 5" und Nachrichten vom Zigbee2Tasmota im FHEM-Log.

kimbolero

#6
Danke euch Beiden - bin nun nach ein wenig "rumprobieren" und Infos von anderen Seiten auf die Lösung gekommen - nachfolgende Kommandos im IO Device von MQTT-Server als set publish senden - und siehe da, die LED-Birne wird an bzw aus geschaltet.

set myBroker publish cmnd/ZigBee2MQTT/ZbSend {"device":"Osram1","send":{"Power":"Off"}}
set myBroker publish cmnd/ZigBee2MQTT/ZbSend {"device":"Osram1","send":{"Power":"On"}}
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....

Beta-User

Auch wenn du das jetzt als "gelöst" markiert hattest:

Könntest du das komplette MQTT2_DEVICE zeigen incl. der setList für on/off und der passenden (gesäuberten) readingList?

Und etwas näher erläutern, wie dein MQTT-Umfeld aussieht (mosquitto+CLIENT?)?



@Rudi:
Vermutlich würde es Sinn machen, für den MQTT-Bereich noch einen "was soll ich posten"-Beitrag zu machen und den anzupinnen. Ich versuch dazu bei Gelegenheit mal was zu liefern...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Fuer ZWave hat krikan das in der Wiki gemacht: https://wiki.fhem.de/wiki/Z-Wave#Welche_Infos_sollten_Anfragen_im_ZWave-Forum_enthalten.3F

Ich habe mit keinem Verfahren ein Problem, ich haette es aber gerne einheitlich :)

Beta-User

OK, habe mal hier angefangen, eine entsprechende Liste zu machen: https://wiki.fhem.de/wiki/MQTT#Welche_Infos_sollten_Anfragen_im_MQTT-Forum_enthalten.3F. Ist zwar "auf die Schnelle", aber so kann es ggf. auch jeder andere "Kundige" ergänzen, besser formulieren, und wir haben erst mal was...

Ist m.E. auch deswegen besser, das im Wiki zu halten, da ist die Chance dann auch größer, dass die User "das drumrum" wahrnehmen bzw. ggf. erst mal eine Vorstellung davon zu bekommen, dass sie vermutlich nur einen sehr kleinen Ausschnitt der Möglichkeiten sehen, wenn sie auf ihr FHEM schauen :) .

Insgesamt könnte es aber trotzdem Sinn machen, einen (sehr) kurzen Link auf die Seite bzw. den Abschnitt auch hier im Forumsbereich anzupinnen (und den Thread gleich zu schließen)?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Hab kein Problem damit, am besten mit Link auf dem Wiki-Eintrag.

Beta-User

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

rudolfkoenig

Habs gemacht.
(Dieses neue Forum-Style mit den vielen + Menues macht mich noch wahnsinnig.)

Ich schlage vor, vom MQTT-FAQ Beitrag das Fixieren zu entfernen: es leitet die Leute in die falsche Richtung, wenn die nicht gewollt sind, bis zu deinem Beitrag weiterzulesen, und selbst danach gibt es eine Diskussion, so dass es nicht eindeutig ist, was man machen soll.

Beta-User

@kimbolero:
Zitat von: Beta-User am 22 Juni 2020, 11:46:21
Könntest du das komplette MQTT2_DEVICE zeigen incl. der setList für on/off und der passenden (gesäuberten) readingList?

Und etwas näher erläutern, wie dein MQTT-Umfeld aussieht (mosquitto+CLIENT?)?
Gilt weiter, laß dich durch unsere kleine Seitendiskussion nicht ablenken...

Zitat von: rudolfkoenig am 22 Juni 2020, 13:40:21
Habs gemacht.
Danke!

Zitat
(Dieses neue Forum-Style mit den vielen + Menues macht mich noch wahnsinnig.)
Bin noch auf ff-preview (?) mit dem Standardstyle, das mit den Menüs fand ich beim "custom" auch nicht gut. Allerdings macht der ff auch manche Sachen komisch (z.B. manchmal Standardschrift = gut lesbar, nächster Beitrag: scheinbar vom Autor (vermutlich unbeabsichtigt?) irgendeine Schriftgröse festgelegt => mini...)
Auch nicht befriedigend... (aber hier noch mehr OT als der Rest, komme ggf. an anderer Stelle wieder darauf zurück...).

ZitatIch schlage vor, vom MQTT-FAQ Beitrag das Fixieren zu entfernen: es leitet die Leute in die falsche Richtung, wenn die nicht gewollt sind, bis zu deinem Beitrag weiterzulesen, und selbst danach gibt es eine Diskussion, so dass es nicht eindeutig ist, was man machen soll.
Habe jetzt im Wiki den (alten) FAQ-Thread verlinkt und bin auch der Meinung, dass das meiste des Contents (Stand heute) eher irreführend sein dürfte. Manches (z.B. die Sicherheitsthemen) ist da sicher noch interessant, und da wäre es gut, wenn sich "jemand" (lies: eigentlich keiner von uns beiden) mal drum kümmern würde, das in die Wiki-Seiten an passender Stelle einzupflegen.
Von daher: Bitte wie vorgeschlagen ab-pinnen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

kimbolero

#14
ZitatKönntest du das komplette MQTT2_DEVICE zeigen incl. der setList für on/off und der passenden (gesäuberten) readingList?

Und etwas näher erläutern, wie dein MQTT-Umfeld aussieht (mosquitto+CLIENT?)?
Möchte mich nun ungern mit fremden Federn schmücken, deshalb würde ich gerne auf zwei Seiten verlinken, auf welchen ich die Infos gefunden habe:

1. http://wiki.gorjup.de/doku.php?id=public:fhem_zigbee2tasmota
Thomas hat auf seiner Seite sehr schön beschrieben, wie das Zigbee2Tasmota Device (CC2530 & ESP8266) selbst konfiguriert wird - auch in Verbindung mit MQTT2 in FHEM

2. https://blog.moneybag.de/angetestet-zigbee2tasmota-gateway-mit-zigbee-cc2530-und-esp8266
Robin hat den Hinweis bzgl. Integration des Befehls, welcher mir fehlte, ganz zum Schluss in Bezug auf HUE auf seinem Blog

In dem Zigbee2MQTT Device, welches in FHEM manuell angelegt wurde, werden je Zigbee-Device Readings hinterlegt, sobald man dies über die Tasmota-Konsole pairt. Diese kann man dann lediglich auslesen, was jedoch für Fensterkontakt (Aqara/Xiaomi) bzw. Xiaomi-Cube ausreicht, um Readings weiterzuverarbeiten. (als Screenshot auch in den o.g. Links zu sehen)


ZbReceived_Osram1_Device  0xC1FF
ZbReceived_Osram1_Endpoint 3
ZbReceived_Osram1_LinkQuality 99
ZbReceived_Osram1_Manufacturer OSRAM
ZbReceived_Osram1_ModelId Classic A60 W clear - LIGHTIFY
ZbReceived_Osram1_Power 0


Auf der Seite: https://tasmota.github.io/docs/Zigbee/ kann man dann die entsprechenden unterstützten Zigbee-Devices finden - zumindest meine Osram-LED-Birne (bzw. andere Osram-Leuchtmittel, an welchen ich mich "orientiert hatte") und viele andere zu unterstützende Devices.

Ich habe diese LED-Birne mit einem einfachen DOIF iVm einem Dummy-Schalter eingebunden:
defmod di_Osram1_an_aus DOIF ([LED_Birne:"on"]) (set myBroker publish cmnd/ZigBee2MQTT/ZbSend {"device":"Osram1","send":{"Power":"On"}}) DOELSEIF ([LED_Birne:"off"]) (set myBroker publish cmnd/ZigBee2MQTT/ZbSend {"device":"Osram1","send":{"Power":"Off"}})


Hier eine Zusammenfassung von verschiedenen Befehlen:
https://tasmota.github.io/docs/Zigbee/#sending-commands

Hoffe das reicht aus um das "Konstrukt" zu verstehen.
CUL 868, Jeelink 868 Clone, NanoCUL 868, HM-CC-RT-DN,  max! Fensterkontakte, Zigbee, GoogleAssistant, GHoma Wifi-Steckdosen, Telegram etc.....