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 (https://www.ikea.com/at/de/p/tradfri-led-leuchtmittel-e27-250-lm-kabellos-dimmbar-behaglich-warmweiss-rund-klarglas-braun-70455676/) 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 (https://forum.fhem.de/index.php/topic,106734.msg1005865.html#msg1005865))
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
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
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...
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 ;-) )
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.
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?
"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....