TRADFRI LED1842G3 via zigbee2mqtt bzw. Homebridge

Begonnen von tyrolean, 27 Dezember 2019, 13:10:35

Vorheriges Thema - Nächstes Thema

tyrolean

Hallo,

ich habe schon seit längerem diverse Xiaomi / Aqara Produkte via zigbee2mqtt in meinem System eingebunden.
Jetzt habe ich mal versucht eine TRÅDFRI LED1842G3 Lampe einzubinden.
Zigbee2mqtt natürlich vorher auf den neusten Stand gebracht da es ja ein recht neues Modell ist und das Einbinden klappte ohne Probleme. Mit Verwunderung habe ich festgestellt dass das Model von Haus aus eigentlich gar nichts steuern kann. Über EventMap konnte ich zumindest die On Off und Toggle Funktion "aktivieren". Was ich aber nicht geschafft habe ist die brightness z.Bsp. über einen slider zu steuern bzw. über Homebridge anzugeben. (Ein Aus über HomeKit funktionieren)
Gibt es eigentlich hierfür auch eine on-for-timer oder blink Funktion.

Ich weiß das sind ziemliche Anfängerfragen aber leider stehe ich im Moment gerade an, hier noch die Definition meiner Lampe:

!!!Achtung: Ich habe mittlerweile festgestellt dass ich hier auf dem falschen Weg bin und die Definition über mqtt2 gemacht (siehe Antwort #3)

DEF        LED1842G3 0x14b457fffe2d9f5d NachtLicht
   FRIENDLYNAME NachtLicht
   FUUID      5e05e341-f33f-1f8d-d883-00725997dd3a0c9c
   IODev      MQTT
   MODEL      LED1842G3
   NAME       NachtLicht
   NOTIFYDEV  LED1842G3 0x14b457fffe2d9f5d NachtLicht
   NR         132
   SID        0x14b457fffe2d9f5d
   STATE      off
   TYPE       XiaomiMQTTDevice
   READINGS:
     2019-12-27 12:53:19   brightness      50
     2019-12-27 12:53:19   state           OFF
     2019-12-27 12:53:19   transmission-state incoming publish received
   message_ids:
   subscribe:
     zigbee2mqtt/NachtLicht
     xiaomi/0x14b457fffe2d9f5d/#
   subscribeExpr:
     ^zigbee2mqtt\/NachtLicht$
     ^xiaomi\/0x14b457fffe2d9f5d.*$
   subscribeQos:
     xiaomi/0x14b457fffe2d9f5d/# 0
     zigbee2mqtt/NachtLicht 0
Attributes:
   IODev      MQTT
   eventMap   ON:on OFF:off toggle
   genericDeviceType lightbulb
   homebridgeMapping clear
On=state,cmdOn=on,cmdOff=off,Brightness=brightness
   room       HomeKit,XiaomiMQTTDevice
   stateFormat state


Gruß und Dank aus Tirol

ch.eick

Hallo.
Bei den automatisch angelegten mqtt2-devices müsste ich dann noch ein Template auswählen.

Gruß Christian

Gesendet von meinem SM-G930F mit Tapatalk

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

tyrolean

Danke für die Antwort, es handelt sich jedoch um ein MQTT Device (nicht 2) wobei ich gesehen habe dass es auch bei MQTT2 kein Template für eine derartige IKEA Lampe gibt...

tyrolean

Update:

Großer Denkfehler von mir: Ich habe das Device über die XiaomiXBridge anlegen lassen, also Device gelöscht und "zu Fuß" ein MQTT2 Device angelegt.
(Bei der AutocreateFunktion meiner MQTT2 Devices haut es mir immer die Konfiguration sämtlicher Geräte durcheinander - keine Ahnung wieso)

Auf jeden Fall schaut das Gerät jetzt wie folgt aus:

Internals:
   CFGFN     
   DEVICETOPIC NachtLicht
   FUUID      5e06079f-f33f-1f8d-f3dc-705405a095c32cbd
   IODev      MQTT2
   NAME       NachtLicht
   NR         212
   STATE      brightness
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-12-27 15:07:57   state           brightness
Attributes:
   IODev      MQTT2
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   model      light_dimmer
   readingList zigbee2mqtt/0x14b457fffe2d9f5d:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    on:noArg zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"ON"}
off:noArg zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"OFF"}
brightness:colorpicker,BRI,0,15,255  zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"on","$EVTPART0":"$EVTPART1"}
   stateFormat state
   webCmd     on:off:brightness


Die Steuerung (auch über den Color Picker) läuft einwandfrei - jedoch schaffe ich es hier nicht mehr die Readings korrekt auszulesen: Wie man sieht wird im state Reading "brightness" angezeigt. Offensichtlich habe ich mich bei readingList vertan - finde aber den Fehler nicht. Wenn ich den MQTT Traffic über MQTT.fx verfolge wird {"state":"ON","brightness":90} korrekt gepublished. Sieht jemand meinen Fehler?

Und wenn ich schon dabei bin: sobald ich den richtigen Wert für state und brightness habe werde ich mich mit dem Homebridgemapping versuchen - gibt es da einen Vorschlag

Sorry für die vielen Fragen - bitte nicht mit Steinen werfen (falls doch evt. nur kleine ;-) )

Beta-User

autocreate kommt vermutlich durcheinander, weil du nicht MQTT2_SERVER nutzt und auch für MQTT2_CLIENT kein "Sortierdevice" (siehe Wiki) angelegt hattest (und dann vermutlich auch noch kein zigbee2mqtt-MQTT2_DEVICE-bridge-Device angelegt hast)?

Würde raten, die Dinge in der richtigen Reihenfolge gradezuziehen, sonst kommst du da immer durcheinander...

Ansonsten wäre setStateList noch ein Stichwort.

Im Moment würde ich darauf tippen, dass was mit der MQTT-Kommunikation nicht funktioniert und dort als wahrscheinliche Ursache einen bereits gesetzten "friendly name" ansehen.
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

tyrolean

Vielen Dank,

das mit dem "Friendly Name" war die Lösung.

Anbei meine funktionierende Konfiguration (sollte es jemanden nützen)

DEVICETOPIC NachtLicht
   FUUID      5e06079f-f33f-1f8d-f3dc-705405a095c32cbd
   IODev      MQTT2
   LASTInputDev MQTT2
   MQTT2_MSGCNT 213
   MQTT2_TIME 2019-12-27 16:58:16
   MSGCNT     213
   NAME       NachtLicht
   NR         133
   STATE      ON
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-12-27 16:58:16   brightness      255
     2019-12-27 16:58:16   state           ON
Attributes:
   IODev      MQTT2
   devStateIcon {zigbee2mqtt_devStateIcon255($name)}
   genericDeviceType lightbulb
   homebridgeMapping clear
On=state,cmdOn=on,cmdOff=off,valueOn=ON,valueOff=OFF
Brightness=brightness,minValue=0,maxValue=255,minStep=15,cmd=brightness
   model      light_dimmer
   readingList zigbee2mqtt/NachtLicht:.* { json2nameValue($EVENT) }
   room       HomeKit,MQTT2_DEVICE
   setList    on:noArg zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"ON"}
off:noArg zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"OFF"}
brightness:colorpicker,BRI,0,15,255  zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"on","$EVTPART0":"$EVTPART1"}
wakeup900:noArg zigbee2mqtt/0x14b457fffe2d9f5d/set {"state":"ON","brightness":255,"transition":900}
   stateFormat state
   webCmd     on:off:brightness



...du hast übrigens 100%ig recht dass ich keinen MQTT2 Server benutze sondern Mosquitto, MQTT und MQTT2_Clients. Meine Konfiguration ist mittlerweile recht umfangreich. (Shellies, Sonoffs, Xiamoi, Aqara und jetzt Tradfri) Ich habe einmal versucht das Ganze umzustellen aber dadurch mehr oder weniger meine gesamte Konfiguration verloren. (Also Backup wieder eingespielt und fertig) Brauche ich wirklich einen MQTT2 Server oder liegt das Autocreate Problem daran dass ich keine bridgeRegexp Definition habe die man ja ggf. auch nachträglich erstellen kann?

Beta-User

"Brauchen" ist relativ...
Es gibt dazu mind. einen "Umstellungs-Thread" im MQTT-Bereich des Forums (user: Blauhorn), das hilft evtl. mittelfristig bzw. auch zur Sortierung der Problemfelder.
Deine Konfiguration ist mMn. eigentlich nicht besonders aufwändig, so dass ich tendenziell schon eine Umstellung nach MQTT2_DEVICE empfehlen würde; so ist z.B. alles, was zigbee2mqtt ist vermutlich sehr einfach umzustellen, ganz egal, wer der Hersteller der Hardware war/ist.

Dass das autocreate nicht sauber klappt, liegt im Prinzip aber tatsächlich "nur" an den fehlenden/verbesserungsfähigen bridgeRegexp-Attributen, die man auch nachträglich erstellen kann. Wichtig ist halt zu wissen, wie die "CID"-Angabe dabei abgeleitet wird und dass es ggf. sinnvoll ist, die vorhandenen CID-Einträge in den MQTT2_DEVICEs "gradezuziehen" (in DEF und readingList). Sonst vergößerst du die eigene Verwirrung nur, weil "ein Device" plötzlich 2 wird usw....
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