NEWS
Dimmen mit einem Xiaomi/Aqara Button
-
Hallo zusammen.
Ich bin Neuling beim Thema ioBroker und SmartHome. In Unwissenheit habe ich mir einige Smart-Geräte gekauft und stand jetzt vor einigen Herausforderungen, wie z.B. das Dimmen einer Osram Smart+ LED über den Aqara Button. Nach langer Recherche hatte ich keine zufriedenstellende Lösung finden können und mich deshalb selbst um eine Lösung bemüht.
Realisiert habe ich das mit folgenden Komponenten:- ConBee II USB-Stick
- Adapter deconz ZigBee Version 1.1.2
- Button Xiami/Aqara
- Lampe Osram Smart+ White
Folgende Änderung habe ich im ioBroker durchgeführt:
Im entsprechenden deconz-Objekt habe ich meinem Button einen weiteren Datenpunkt hinzufügt. Das war zunächst nicht so einfach, weil nur ein Datenpunkt vom Typ "Channel" angelegt wurde. Der konnte in Blokly nicht angesprochen werden. Anbei die RAW-Info zum Datenpunkt:
Gewisse Werte habe ich mit "xyz" maskiert, weil ich nicht genau weiß, ob sie sicherheitsrelevant sind. { "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": xyz, "common": { "name": "DimUp", "type": "boolean", "role": "state", "icon": "" }, "native": {}, "acl": { "object": xyz, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": xyz }, "_id": "deconz.0.Sensors.12.DimUp", "type": "state" }
So sieht mein Blockly aus:
Bis jetzt funktioniert es einwandfrei.
Über Rückmeldungen und Anregungen würde ich mich freuen. -
Hi @RalfTh was du mal ausprobieren könntest ist folgendes:
- Es gibt zwei Webinterfaces bei Deconz:
- http://x.x.x.x:8189/pwa -->Phoscon
- http://x.x.x.x:8189 --> Wireless Light Control
Das Interessante ist hier die "Wireless Light Control" Oberfläche, die ist auch über die Phoscon Oberfläche unter Hilfe zu finden "Alte WebApp Version Wireless Light Control öffnen (2016)"
Wenn du die öffnest könntest mal schauen ob du in dieser unter Groups den Xiaomi/Aqara Button findest. Wenn ja kannst du ihm über "Edit Members" die Osram Lampe zuweisen, dann ist sie direkt Steuerbar auch wenn das Gateway offline ist und du kannst dir das Script sparen -
War ein Super Tip. Ich habe ihn natürlich gleich mal ausprobiert. Hat allerdings nicht funktioniert, weil ich den Schalter keiner Gruppe zuordnen kann. Das geht weder über die neue Oberfläche "pwa", noch über die alte Weboberfläche "
Wireless Light Control".
Außerdem versuche ich es zu vermeiden, die Logik auf mehrere Ebenen zu verteilen. Das erhöht, meiner Meinung nach, den Pflegeaufwand und man verliert schnell den Überblick.
Aber dazu gelernt habe ich allemal was, danke für den Hinweis.Gruß
Ralf -
Gute Idee hab mir den Code mal etwas angepasst und werde ihn demächst für einen LEDstreifen verwenden.
Statt dem DP wird eine ScriptVariable benutzt. 2. Variable zum anpassen der Dimmgeschwindigkeit.
Bereichsgrenzenüberprüfung um Bedingungen hab ich auch noch etwas angepasset.
Würde mir wünschen, dass man zukünftig auch Konstanten definieren kann.Was macht deine Lampe wenn du in den negativen Bereich dimmst? Ich denke mal der ioBroker übernimmt da die "Absicherung" über die DP-Eigenschaft min=0 für dich.
IDs für die Lampe konnte ich noch nicht setzen da die Lampe(LEDstreifen) noch nicht eingebunden ist.
Das Dimmverhalten im unteren Bereich werde ich dann noch an die Hardware anpassen...
Gruß Michael
-
@xbow42 Das mit dem Datenpunkt werde ich auch wieder rückgängig machen, da u.U. verloren gehen kann. Beim Dimm down schaltet die Lampe beim Wert 0 aus und es wird der Wert im DP auf 1 gesetzt. Egal was passiert, das ist der letzte Wert im DP. Habe das empirisch herausgefunden und mir keine Gedanken gemacht, ob der ioBroker da irgendwas übernimmt. Aber deine Frage ist interessant.
-
@xbow42 Dein Script sieht vielversprechend aus. Ich möchte mit meinem Aqara Taster u.a. auch Dimmen können. Kannst du mit uns den Code vom Blockly Script teilen? Besten Dank!
-
-
@xbow42 Besten Dank. Ich habe das Script entsprechend angepasst und ausprobiert. Leider kann ich damit nicht richtig dimmen. Langes Drücken bei meinem Aqara Button (Deconz) löst nur einmal buttonpressed 1001 bzw. 2001 aus. Wenn ich also 4 Sekunden drücke wird nur einmal um den Wert byteDimstep erhöht bzw. verringert und nicht um ein vielfaches davon (je länger man drückt).
Muss ich da am Taster oder Deconz etwas umstellen? Nach 10 Sekunden Drücken würde der Taster ja so oder so in der Pairing Modus wechseln, was auch nicht so schön ist.
Wie hast du das gelöst bzw. was habe ich falsch gemacht?