Dimmer in Homekit schaltet erst 100% und anschließend auf den eingestellten Dimmwert

Ich habe das Problem, wenn eine Lampe AUS ist und ich schalte diese z.B. auf 30%, dass diese Lampe erst auf 100% eingeschaltet und danach auf 30% dimmt. Das passiert sehr schnell, trotzdem ist das sehr nervig.

Ich habe bereits etwas recherchiert, anscheinend schickt Homekit das Signal ON und anschließend den Dimmwert.

Hat jemand eine Idee, was man da machen kann? Vielen Dank.

Passiert es wenn du nur auf die Lampe klickst? Oder wenn du den Regler hoch schiebst?

Grüße,
Kai

Das passiert über den Regler. Klick ich auf die Lampe wird die ganz normal mit 100% eingeschaltet.

Magst du mal ein Bild von deinem HomeKit Konfigurator machen? Ich wüsste gerade nicht, wie das zusammenhängen kann. Du gibt beim Dimmer ja nur die Variable für die Intensität an und gar nicht die Status Variable für 100%.

paresy

Ich habe eben eine kleine Aufnahme gemacht, wie das aussieht. Vielleicht hilft das etwas weiter.
Ggf. Kann ich auch Logs schicken. Vielen Dank erstmal für die Rückmeldungen.

RPReplay_Final1579027231.mov (472 KB)

2020-01-14 19_32_24-IP-Symcon Management Console und 5 weitere Seiten - Geschäftlich - Microsoft.png

Das Problem habe ich tatsächlich auch. Zuerst immer 100% und anschließend beim nächsten Befehl geht das Wunderbar.

Aber nur beim Dimmen. Rollo geht Wunderbar.

Magst du mal auf die Variable doppelt bei der „Wert“ Spalte klicken? Dort sollte sich dann ein Fenster öffnen, das die Variablenänderungen anzeigt. Magst du davon noch ein Bild machen nachdem du geschaltet hast?

paresy

AN: Einmal auf die Lampe gedrückt
AUS: Nochmal auf die Lampe gedrückt
DIMM: Lange auf der Lampe drauf geblieben und direkt auf 57% gedimmt. (wie in dem kurzen Video im letzten Post.)

2020-01-15 18_39_34-IP-Symcon Management Console und 1 weitere Seite - Geschäftlich - Microsoft .png

Ich kann das Problem leider beim besten Willen nicht nachstellen :frowning:

paresy

Kann mich hier einreihen.
Bei den dimmbaren Lampen habe ich dasselbe Problem.
Aufgefallen ist es bei Szenen zB. „Nachtlicht“. Ist etwas doof, wenn die Lampen in der Nacht kurz auf 100% hochfahren und danach auf den eigentlichen Dimmwert von zB. 40% gesetzt werden…
Aber es geht noch schlimmer nämlich genau anders, rum, also zuerst auf 40% und danach auf 100%.

Der Effekt tritt aber nur auf, wenn die Lampe ausgeschaltet war.
Wenn sie schon eingeschaltet ist, stellt sich der gewünschte Wert direkt ein.

Da ich LCN verwende, habe ich den Bus Monitor angeworfen und dort sieht man, dass beim Einschalten mehrere Busmeldungen unter anderen mit ON (== 100%) verschickt werden:

Szene 1 / nur eine Lampe - worst case:
Lampe ist ausgeschaltet Szene wird auf dem iPhone aufgerufen:

21:41:15 [PCHK] >M000036.A1DI040000
21:41:15 [PCHK] S000_M004 to M036 O1: = 40%, ramp: 0.00 sec.
21:41:15 [PCHK] >M000036.A1DI100000
21:41:15 [PCHK] S000_M004 to M036 O1: ON, ramp: 0.00 sec.
21:41:15 [PCHK] S000_M036 statusL Output 1: 100.0%
21:41:15 [PCHK] :M000036A1100
–> Lampe hat jetzt 100% und nicht wie gewünscht 40%

Lampe ist eingeschaltet (100%) Szene wird auf dem iPhone aufgerufen:

21:45:01 [PCHK] >M000036.A1DI040000
21:45:01 [PCHK] S000_M004 to M036 O1: = 40%, ramp: 0.00 sec.
21:45:01 [PCHK] S000_M036 statusL Output 1: 40.0%
21:45:01 [PCHK] :M000036A1040
–> Lampe wurde wie gewünscht auf 40% gedimmt

Beispiel Szene mit 2 Lampen welche gedimmt eingeschaltet werden sollen A:40%; B:42%)

21:48:29 [PCHK] >M000032.A2DI043000
21:48:29 [PCHK] S000_M004 to M032 O2: = 42%, ramp: 0.00 sec.
21:48:29 [PCHK] S000_M032 statusL Output 2: 42.0%
21:48:29 [PCHK] :M000032A2042
21:48:29 [PCHK] >M000032.A1DI100000
21:48:29 [PCHK] S000_M004 to M032 O1: ON, ramp: 0.00 sec.
21:48:29 [PCHK] >M000032.A2DI100000
21:48:29 [PCHK] S000_M004 to M032 O2: ON, ramp: 0.00 sec.
21:48:29 [PCHK] S000_M032 statusL Output 1: 100.0%
21:48:29 [PCHK] :M000032A1100
21:48:29 [PCHK] >M000032.A1DI040000
21:48:29 [PCHK] S000_M004 to M032 O1: = 40%, ramp: 0.00 sec.
21:48:29 [PCHK] S000_M032 statusL Output 2: 100.0%
21:48:29 [PCHK] :M000032A2100
21:48:30 [PCHK] S000_M032 statusL Output 1: 40.0%
21:48:30 [PCHK] :M000032A1040
–> Lampe A(Output 1) 40% / Lampe B (Output 2) 100%

Das Problem sind diese ON Befehle welche offensichtlich zum Einschalten/Aktivieren der Lampe verschickt werden.
Diese scheinen mir nicht wirklich sinnvoll - können die unterdrückt werden?

Gruss
dolocyl

habe kurz ins HomeKit Bridge Modul reingeschaut und bei

modules\HomeKit\HomeKitBridge\accessories\lightbulbDimmer.php

die Anweisung

self::dimDevice($this->data['VariableID'], 100); 

auf Zeile 32 auskommentiert

Sieht bei mir ab Zeile 23 jetzt so aus:


    public function writeCharacteristicOn($value)
    {
        //Only switch the device on, if it isn't on.
        //This should fix the problem that Apple sends on before dimming
        if ($value && $this->readCharacteristicOn()) {
            return;
        }

        //try to avoid lighflash when dimming a lamp from off state, i.e. only allow direct off but not direct on
        if ($value) {            
        //    self::dimDevice($this->data['VariableID'], 100);
        } else {
            self::dimDevice($this->data['VariableID'], 0);
        }
    }

Damit habe ich das gewünschte Ergebnis, d.h kein hochdimmen auf 100% vor dem Einstellen des eigentlichen Dimm-Werts.
@paresy: Schaut doch mal, ob das ggfs. als Lösung in Frage kommt und als Änderung ins GIT Repository einfliessen könnte?

Gruss
dolocyl

Funktioniert damit auch korrekt das „Tippen“ auf das Gerät? Damit schaltet er nämlich Aus/An (alter Wert) und das würde aktuell meines Wissens nach nicht mehr korrekt gehen.

paresy

Ich habe eben den Code wie @dolocyl geschrieben hat angepasst. Das Licht lässt sich weiterhin mit einem Klick einschalten. Es funktioniert bei mir wie es sein soll. Vielen Dank.

Alter Wert ging vorher bei mir auch nicht.

Okay, eins funktioniert nicht. Vorher konnte ich das Licht mit Siri mit dem Befehl „Schalte Licht im Wohnzimmer an“ einschalten. Jetzt ist es so, dass das Licht auf 0% gedimmt wird.

Hi,
Ich habe ein ganz ähnliches Problem beim Einbinden über HomeKit mit Lampen die über einen Status und einen Dimmerwert verfügen.
Ich kann die Lampen über den Zustand einbinden, dann kann ich die Helligkeit nicht ändern. Binde ich die Lampen über den Helligkeitswerte ein gehen sie beim Tippen aus aber nach kurzer Zeit erhalte ich den Dimmerwert zurück.
Das passiert bei Zigbee Lampen die über das Hue Modul von Taxanos eingebunden sind.

Wäre schön wenn mir da jemand helfen könnte, vielleicht liegt es auch am Modul von Taxanos.

Dafür habe ich @paresy einen PR zukommen lassen. :slight_smile:
Damit sollte das gehen.

Grüße,
Kai

Gesendet von iPad mit Tapatalk

Hi KaiS,
Das verstehe ich nicht …

Ich habe die Lösung von @dolocyl übringes auch benutzt und es funktioniert. Was allerdings nicht mehr funktioniert, ist die Steuerung über Siri. Siri sagt mir zwar die Lampe sein an, die Statusmeldung sagt auch „an“, aber auf 0%.

Ich habe auch das Problem gehabt und habe es wie oben beschrieben geändert, hier mein fork erstellt.

Vorher im Modul Store das Apple Homekit entfernen, bei der Frage, ob die Instancen entfernt werden sollen auf nein klicken. Dann unter Kern-Instance -->Modules auf + klicken und diese URL eintragen:

https://github.com/dr-apple/HomeKit

Dann kommt die Frage ob man lieber es aus den Module Store haben möchte, auf nein klicken ! Fertig !