Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE

Begonnen von supernova1963, 23 September 2018, 19:17:21

Vorheriges Thema - Nächstes Thema

Beta-User

Danke für die Antwort.

Bei 00_MQTT gibt es lt. Commandref die Option, eine ClientID zu setzen:attr mqtt client-id fhem1234567Damit dürfte sich das Problem also bei korrekter Konfiguration gar nicht stellen, keine Aktivität erforderlich.

Ansonsten teile ich die Einschätzung, dass es in der Regel mehr Sinn macht, auf solche Umwege zu verzichten und alles vollständig über die MQTT2-Module abzubilden. Die übergangsweise Einrichtung der bisherigen MQTT-Strecke erfolgte nur zu dem Zweck, die Kommunikation abzuhören. Aber eigentlich hätte ich mir auch das schenken können, hätte ich mal früher in die Doku bei zigbee2mqtt
geschaut. Ist ein wenig eigenwillig, dass da simple Textangaben und JSON durcheinandergehen, aber dafür kann man jetzt auch "friendly names" vergeben usw.. (Das mit den names habe ich ausprobiert, ob es Sinn macht, ist eine andere Frage; jedenfalls kommt mit den Einstellungen aus Post #8 scheinbar das richtige am zigbee2mqtt-Code an, müßte also auch beim Rest soweit passen).

Ob allerdings alle die Einschätzung teilen, dass die Konfiguration deutlich einfacher ist, wenn sie die Message-Struktur wie hier selbst mit toJSON() zusammenbasteln müssen? Ich fand das einigermaßen herausfordernd, v.a., da die Suche nach toJSON im Forum und Wiki nicht besonders viele Beispiele bringt. Aber jetzt gibt's ja die hier :) .
Fettes Danke an der Stelle nochmal, ist wirklich top, wie das flutscht, wenn man's mal (halbwegs) verstanden hat.
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

#16
ZitatOb allerdings alle die Einschätzung teilen, dass die Konfiguration deutlich einfacher ist, wenn sie die Message-Struktur wie hier selbst mit toJSON() zusammenbasteln müssen?
Ich habe mich gefragt, warum du toJSON verwendest, statt sowas:{ 'zigbee2mqtt/0x90fd9ffffe0bcd51/set {"state":"ON"}' }
Und ich wuesste auch gerne, ob MQTT_DEVICE das einfacher anbietet, bzw. was ich machen kann, um es zu vereinfachen.

Beta-User

Hmm, interessante Frage wg. to JSON ??? .

Also vorab: Meine Einstiegsdevices in die MQTT-Welt waren die Milight-Bulbs über die Sidoh-Bridge. Da war es (soweit mir bekannt) zwingend, den Sendestring mit toJSON zusammenzubauen, da die bisherige MQTT-Strecke (jedenfalls nach meinem Kenntnisstand) mit den Klammern nicht umgehen konnte bzw. die irgendwie unterschlagen hat (hatte ich damals so aufgeschnappt und dann auch nicht weiter hinterfragt, nachdem es mir gelungen war, das mit toJSON zu lösen). Ohne Klammern wollte aber die Bridge die Befehle nicht annehmen. Nachdem ich wußte, wie es geht, habe ich dann diesen Teil einfach nach hierher übernommen, ohne nochmal zu prüfen, ob es auch "noch einfacher" geht.

Ob es mit der schlichten Text-Lösung klappt, probiere ich gerne aus, das wäre dann wirklich nochmal eine super Vereinfachung!

Zusammengefaßt:
MQTT-Device war also in allen Belangen jedenfalls nicht einfacher, und für das Auspacken der JSON benötigt man dort ein extra Modul => IMO sehr unhandlich.
Der einzige "Vorteil", den ich im Moment bei der bisherigen Strecke sehe ist der Umstand, dass es eben für "spezielle" Anforderungen (wie die Xiaomi's) "Module" gibt, die einem die Konfiguration erleichtern, die also "copy/paste" für jedermann nutzbar sind ohne groß darüber nachzudenken.
Hat man wie hier eine Bridge, über die alle nachfolgenden Devices laufen, muß man bei MQTT2 etwas Zeit investieren, um zu vereinzeln. Das ist aber auch alles :) .

Was vielleicht noch ein Argument für den weiteren (gleichzeitigen) Einsatz von 00_MQTT sein könnte: die "Generic-Bridge"-Funktionalität. Aber wer sowas haben will, benötigt sowieso einen "echten" Broker/Server. Aber darüber, wie man "best of both worlds" in solchen Konstellationen erhalten kann, habe ich noch nicht intensiver nachgedacht. Vom Gefühl her wäre es aber gut, wenn das Zusammenspiel von MQTT2 auch mit einem "regulären" Server reibungslos funktionieren würde. Ob das der Fall ist, weiß ich nicht, weil ich MQTT2 ja gerade dazu nutze, um _keinen_ externen Broker für die paar Devices zu benötigen :) .
Aus letzterem Grund hatte ich btw. auch die Frage zum Zusammenspiel zwischen MQTT2-Server und 00_MQTT gestellt :) .
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

Beta-User

So, funktioniert mit MQTT2 auch ohne toJSON.

Kurze Zusammenfassung also nochmal:

1. Man teile dem zigbee2mqtt-Client in der configuration.yaml mit, wohin er die Daten schicken soll (MQTT2-SERVER-DEVICE, und vergebe eine "client_id" unter "mqtt" (hier: zigbee_pi). Habe dann unter serial noch die USB-Angabe "by-id" gemacht und die LED mit "disable_led: true" ausgeschaltet.
2. Da der Client erst mal nichts weiter schickt oder weiß, benötigt man ein MQTT2-DEVICE-Gerät, über das man dann später echte Geräte hinzufügen kann. Sieht in etwa so aus:
defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi
attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\

attr MQTT2_zigbee_pi widgetOverride permit_join:true,false rename:textField remove:textField log_level:debug,info,warn,error network_map:raw,graphviz

3. Dann kann man darüber mit "set MQTT2_zigbee_pi permit_join true" neue Geräte erkennen lassen. Die tauchen dann in der readingList (ggf. nach einem Browser-Refresh) auf.
Wer mag, kann die dann mit dem rename umbenennen, z.B.: "set MQTT2_zigbee_pi rename 0x90fd9ffffe0bcd51 Kueche_Durchgang_A2".
Die Angabe taucht dann als friendly name in der configuration yaml auf. (M.E. sollte man sich das eher sparen, da die Bulb dann im nächsten Schritt eh' einen FHEM-Namen bekommt).

4. Kennt man dann den Pfad, unter dem ein Device seine Daten an den Broker sendet, kann man (am besten über die RAW-Definition ein weiteres MQTT2-DEVICE ableiten. Für meine IKEA-Lampen sieht das dann so aus:
defmod IKEA_Bulb2 MQTT2_DEVICE
attr IKEA_Bulb2 IODev MQTT2_FHEM_Server
attr IKEA_Bulb2 eventMap on:ON:off off:OFF:on
attr IKEA_Bulb2 icon light_control
attr IKEA_Bulb2 readingList zigbee_pi:zigbee2mqtt/Kueche_Durchgang_A2:.* { json2nameValue($EVENT) }
attr IKEA_Bulb2 setList on {'zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"ON"}'}\
off {'zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"OFF"}'}\
brightness {"zigbee2mqtt/Kueche_Durchgang_A2/set {\"$EVTPART0\":\"$EVTPART1\"}"}\

attr IKEA_Bulb2 webCmd brightness
attr IKEA_Bulb2 widgetOverride brightness:colorpicker,BRI,0,15,255


That's all.

Verbesserungsmöglichkeiten bestehen noch bei der etwas ungewöhnlichen eventMap und dem devStateIcon.

Kann's bei Interesse gerne ins Wiki übernehmen.

@supernova1963:
Für den Fall, dass das auch bei dir klappt, könntest du eventuell den Thread-Titel anpassen?
Vorschlag: Läuft: zigbee2mqtt mit MQTT2_SERVER und MQTT2_DEVICE
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

supernova1963

Wow, jede Menge Input, den ich erstmal verarbeiten muss.
Vielen Dank euch allen.

@BetaUser: Es hat mit deinen Einstellungen funktioniert. Den Thread-Titel habe ich angepaßt.

Folgende Ergänzungen habe ich bei mir noch vorgenommen:

setlist am bridge device:
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\
devicelist {"zigbee2mqtt/bridge/config/devices"}

widgetOverride am bridge device
attr MQTT2_zigbee_pi widgetOverride permit_join:true,false rename:textField remove:textField log_level:debug,info,warn,error network_map:raw,graphviz devicelist:noArg


Als ideal empfände ich es, wenn man nachdem autocreate des bridge-Devices, hier entsprechend einstellen könnte, dass die zugehörigen Endpunkt - devices auf Basis des mqtt Pfades (nicht auf Basis der Sender ID) ebenfalls angelegt werden.

Danke, danke, danke,

Gernot

Beta-User

Danke auch für die Erweiterung mit devicelist :) . Wenn man jetzt noch abfragen könnte, ob ein bestimmtes Device online ist (oder grade keinen Saft hat), wäre das top (hat aber nichts mehr mit MQTT2 zu tun).

Zitat von: supernova1963 am 30 September 2018, 10:42:41
Als ideal empfände ich es, wenn man nachdem autocreate des bridge-Devices, hier entsprechend einstellen könnte, dass die zugehörigen Endpunkt - devices auf Basis des mqtt Pfades (nicht auf Basis der Sender ID) ebenfalls angelegt werden.
Was genau meinst du damit? Sollte es eine Art "create Device from Reading" geben?
Sowas wäre m.E. ja irgendwie nett, aber viel Aufwand für eher wenig Ertrag, zumal man die "set"-Anpassungen trotzdem noch vornehmen müßte.
Wenn es nur um einzelne Werte geht, wäre m.E. eh' die Überlegung, ob nicht ReadingsProxy die bessere Wahl wäre bzw. ReadingsGroup zur Darstellung mehrerer Readings. "Richtige" Devices benötigt man eher erst dann, wenn man die auch steuern will (das geht zwar evtl. auch mit den genannten Optionen, aber da dann möglicherweise eher umständlicher).

Ansonsten geht der Dank zurück; wie geschrieben, war ich just in dem Moment sowieso an dem Thema dran, war also purer Eigennutz, dass ich mich da an deinen Thread rangehängt habe ;) . Und so gibt es jetzt Rückmeldung auch von dir und eine deutlich vereinfachte setList ;) .

Gruß, 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

gloob

Zitat von: Beta-User am 30 September 2018, 05:29:11
Kann's bei Interesse gerne ins Wiki übernehmen.

Das wäre natürlich die Krönung. Ich würde nämlich auch gerne mein MQTT+Mosquitto durch MQTT2 ersetzen
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

rudolfkoenig

ZitatWenn man jetzt noch abfragen könnte, ob ein bestimmtes Device online ist
Es gab mal eine Anfrage, dass MQTT2_SERVER das direkt melden sollte, aber ich meine das hat ueber LWT, bzw. ein PUBLISH direkt nach dem connect zu erfolgen, dann funktioniert das auch dann, wenn man statt MQTT2_SERVER einen anderen MQTT server wie mosquitto verwendet.

Beta-User

Zitat von: gloob am 01 Oktober 2018, 13:52:08
Das wäre natürlich die Krönung. Ich würde nämlich auch gerne mein MQTT+Mosquitto durch MQTT2 ersetzen
Here you are:
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele

Wäre natürlich super, wenn du Tasmota und ggf. die IR-Bridge da ergänzen könntest ;) . Diskussion dazu bitte dann im Wiki-Bereich

MiLight ziehe ich dann bei Gelegenheit nach.

Zitat von: rudolfkoenig am 01 Oktober 2018, 14:10:39
Es gab mal eine Anfrage, dass MQTT2_SERVER das direkt melden sollte, aber ich meine das hat ueber LWT, bzw. ein PUBLISH direkt nach dem connect zu erfolgen, dann funktioniert das auch dann, wenn man statt MQTT2_SERVER einen anderen MQTT server wie mosquitto verwendet.
Danke für die Antwort; hier ging es um was anderes: die zigbee2mqtt-Lösung sollte eigentlich das offline-Gehen von Geräten bemerken können (also, wenn jemand die Spannung an einer Bulb abschaltet, sollte diese nach einiger Zeit offline gehen, nicht die zigbee-shepard-Komponente, die bleibt (hoffentlich) trotzdem online); das ist aber dort noch nicht implementiert.
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

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

Badflex

#25
Hallo,
habe auch mal von MQTT zu Mqtt2_Server gewechselt. Dabei Mosqitto deinstalliert.
habe alles wie hier:https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele beschrieben angelegt.
Das MQTT2_DEVICE zigbee_pi auch angelegt

wenn ich nun meine IKEA Lampe in den auslieferungszustand bringe 6x an/aus.
erscheint auch unter Message im MQTT2_DEVICE zigbee_pi das er die Lampe gefunden hat "0x90fd9ffffe71ce9f" und type
device_connected,
aber er erstellt kein neues Device.

Wo kann ich einen Fehler gemacht haben ?
Muss ich die Server Teile in der Konfiguration.yaml ändern?
Bei mir steht.   server: 'mqtt://localhost'
Sollte der Ordner  bridge automatisch angelegt werden?
Den gibt's bei mir nicht.


qtt2 Server:
Internals:
   CONNECTS   1
   DEF        1883 global
   FD         15
   NAME       MQTT2
   NR         97
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2018-10-07 13:13:52   RETAIN          {"zigbee2mqtt/bridge/state":"online"}
     2018-10-07 13:13:51   nrclients       1
     2018-10-07 13:12:33   state           Initialized
   clients:
     MQTT2_127.0.0.1_38306 1
   retain:
     zigbee2mqtt/bridge/state:
       ts         1538910832.05297
       val        online
Attributes:
   autocreate 1
   room       System

---------------------------------------------------------------------------------------------------
zigbee_pi:

Internals:
   CID        zigbee_pi
   DEF        zigbee_pi
   DEVICETOPIC MQTT2_zigbee_pi
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_MSGCNT 14
   MQTT2_TIME 2018-10-07 13:13:57
   MSGCNT     14
   NAME       MQTT2_zigbee_pi
   NR         99
   STATE      online
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-10-07 13:13:57   message         0x90fd9ffffe71ce9f
     2018-10-07 13:13:52   state           online
     2018-10-07 13:13:57   type            device_connected
Attributes:
   IODev      MQTT2
   readingList zigbee_pi:zigbee2mqtt/bridge/log:.* { json2nameValue($EVENT) }
zigbee_pi:zigbee2mqtt/bridge/state:.* state
   room       MQTT2_Device
   setList    permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\ remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\ log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\ rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\ network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\ devicelist {"zigbee2mqtt/bridge/config/devices"}
   widgetOverride permit_join:true,false rename:textField remove:textField log_level:debug,info,warn,error network_map:raw,graphviz devicelist:noArg


Hier der Log:


PERL WARNING: Backslash found where operator expected at (eval 9150) line 1, near "}\"
2018.10.07 16:03:39 3: eval: my $EVTPART0='permit_join';my $EVTPART1='true';my $NAME='MQTT2_zigbee_pi';my $EVENT='permit_join true';{"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\ remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\ log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\ rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\ network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\ devicelist {"zigbee2mqtt/bridge/config/devices"}
2018.10.07 16:03:39 1: ERROR evaluating my $EVTPART0='permit_join';my $EVTPART1='true';my $NAME='MQTT2_zigbee_pi';my $EVENT='permit_join true';{"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\ remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\ log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\ rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\ network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\ devicelist {"zigbee2mqtt/bridge/config/devices"}: syntax error at (eval 9150) line 1, near "}\"

2018.10.07 16:03:54 4: MQTT2_127.0.0.1_42812 zigbee_pi PUBLISH zigbee2mqtt/bridge/log:{"type":"pairing","message":"connecting with device"}
2018.10.07 16:03:54 5: MQTT2: dispatch autocreate:zigbee_pi:zigbee2mqtt/bridge/log:{"type":"pairing","message":"connecting with device"}
2018.10.07 16:03:54 4: MQTT2_DEVICE_Parse: MQTT2_zigbee_pi zigbee2mqtt/bridge/log => { json2nameValue($EVENT) }



Vielen Dank
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Beta-User

Per autocreate wird nur das erste MQTT2_DEVICE automatisch angelegt.

Alle weiteren Devices muss man dann "ableiten", also händisch (am einfachsten als Teilauszug der RAW-Definition der "Bridge") anlegen. Bei dir ware also statt "Kueche_Durchgang_A2" "0x90fd9ffffe71ce9f" zu verwenden...

Werde das bei Gelegenheit noch etwas deutlicher ins Wiki schreiben, zusammen mit der Tasmota-Anleitung für einfach-Schalt-Devices.
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

Badflex

ahh, danke

hab noch ein Problem beim anlegen vom Attribut:
attr MQTT2_zigbee_pi setList permit_join {"zigbee2mqtt/bridge/config/permit_join $EVTPART1"}\
remove {"zigbee2mqtt/bridge/config/remove $EVTPART1"}\
log_level {"zigbee2mqtt/bridge/config/log_level $EVTPART1"}\
rename {"zigbee2mqtt/bridge/config/rename  { \"old\":\"$EVTPART1\",\"new\":\"$EVTPART2\"}"}\
network_map {"zigbee2mqtt/bridge/networkmap  $EVTPART1"}\
devicelist {"zigbee2mqtt/bridge/config/devices"}

Fehlermeldung:

syntax error at (eval 2519) line 1, at EOF
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

Beta-User

#28
Hmmm,
(vorab: vermutlich braucht man weder die Klammern noch die einleitenden/ausleitenden "", sollte auch so gehen:
attr MQTT2_zigbee_pi setList permit_join zigbee2mqtt/bridge/config/permit_join $EVTPART1\
...

Vermuten würde ich im Moment, dass da durch das Kopieren irgend ein unsichtbares Zeichen reingekommen ist, das da nicht hingehört, bitte versuche das mal direkt im Eingabefeld zum Attribut (da sind dann keine "\" mehr nötig).

EDIT: wenn man $EVENT usw. nutzen will, braucht man die Klammern, sonst nicht...

Die setList sieht für die Lampe im "reduzierten Format" dann so aus (dann geht sie bei brightness auch gleich an, wenn sie aus ist):
attr IKEA_Bulb2 setList on zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"ON"}\
off zigbee2mqtt/Kueche_Durchgang_A2/set {"state":"OFF"}\
brightness {"zigbee2mqtt/Kueche_Durchgang_A2/set {\"state\":\"on\",\"$EVTPART0\":\"$EVTPART1\"}"}\
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

Badflex

super Danke ohne \
klappt das auch:)

Gibt es schon eine Möglichkeit bei den Tradfri lampen die Farbtemperatur oder die Farbe darüber zu ändern?
Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo