Philips HUE Modul

Nein. Du kannst aber Problemlos schon den neuen Branch nutzen. master ist vorerst nur wegen Kompatibilität zu alten Symcon Installationen.

Hi,

danke für die Rückmeldung. Neuer branch heisst die 1.0 Version?
Was ist der Unterschied zum Master?

Bezüglich der Szenen, habe ich gesehen dass vita2 einen eigenen Branch? hat:

GitHub - vita2/SymconHUE at feature/scenes

Um diesen zu integrieren, müsste ich dann mein vorhandenes Modul von dir löschen und dann seines nutzen, ist das richtig?

Würde halt sehr gerne die Szenen nutzen und die über meine HM Wired Taster durchschalten.

Gruß
Benjamin

Ich wollte gerade bei einer Lampe Alexa nutzten und habe dabei festgestellt das diese nicht ausgeht. Das Verhalten ist das Gleiche im Webfront wenn ich den Slider Helligkeit auf 0 % stelle ist die Lampe immer noch leicht an. Da Alexa nur die Helligkeit verstellt geht es so also nicht aus. Was muss ich denn da machen das die Lampe bei 0% auch wirklich ausgeht?

Edit:

Ich habe mir mit einem Ereignis beholfen das triggert wenn der Wert auf 0 geht und schalte dann die Lampe mit einem Skript aus. So funktioniert sowohl der Slider im Webfront als auch Alexa.

Ist das irgendwie Absicht das die Lampe nicht bei 0% Helligkeit ausgeht? Ist etwas umständlich dafür einen Workaround bemühen zu müssen. Kann man das beheben?

Die Helligkeit 0 wird 1 zu 1 an die Bridge übergeben. Ich bin selber schon paar mal in die Problem rein gerannt, aber ich will halt keine Abweichung vom Original machen. Das ist auch der Grund warum ich die 256 Möglichkeiten nicht auf % umrechne, sondern tatsächlich als 0-255 zur Auswahl anbiete. Gleiches gilt halt auch für die Farbwerte etc…

Das Ganze hat natürlich Vorteil aber auch Nachteile.

Im Bezug auf eine Sprachsteuerung bzw. eine Steuerung über den Webfront sehe ich da eher Nachteile.
Ich habe das jetzt so als Workaround gelöst, dass ich ein Ereignis triggern lasse sobald der Wert des Sliders auf 0 geht und schalte dann die Lampe mit


HUE_SetValue(42963 /*[Tischlampe]*/, "STATE", false);

aus. Könntest Du das nicht so einfach mit einer MessageSink im Modul selber einbauen, indem Du bei 0 selber eine Methode zum Ausschalten aufrufst? Dann musst Du auch nichts extra umrechnen, es sollte halt nur sicher gestellt sein wenn die Helligkeit auf 0% steht, das dann auch wirklich ausgeschaltet wird bzw. dunkel ist.

Ich verstehe schon was du willst. Ich sehe aber aktuell noch das Problem, dass durch den Wegfall eines Helligkeitswertes es zu Nebeneffekten kommen kann. Immerhin fällt halt eine Helligkeitsstufe weg.

Ich schaue mir das aber mal an.

Kann ich aktuell den Dimmer Switch auslesen? Ich würde gerne via IPS lange und kurze Tastendrücke auswerten können. Dies muss ich aktuell via iobroker und fhem machen. Langer Tastendruck (an und aus) schaltet zusätzlich das Deckenlicht (Homematic) mit ein oder aus.

Nein dann hast Du mich falsch verstanden, an der Umrechnung des Sliders sollst Du ja nichts ändern, daher fällt da ja auch nichts weg. Ich fange ja lediglich mit einem Ereignis ab wenn der Wert des Sliders im Webfront auf 0 gestellt wird und schalte dann die Lampe tatsächlich über ein Skript aus. Der einzige Unterschied wäre ja nur da man nicht für jede Lampe extra ein Skript und ein Ereignis anlegen muss sondern das dies dann einfach intern im Modul über MessageSink gelöst wird.

Ja theoretisch schon aber der Switch sendet ja nix, daher muss der Wert dann Sekündlich abgefragt werden das ist auch schon mal hier im Thread diskutiert worden ob das dann sinnvoll ist. Wie ist das den bei FHEM gelöst, gibt es da auch eine zeitliche Verzögerung?

Wie es genau funktioniert bzw. abgefragt wird weiß ich nicht. Jedoch kommen die Auswertungen zeitverzögert an.

Ich glaube die Info wird direkt an der Bridge abgefangen. Die Batterie des Bewegungsmelders ist immer noch auf 100% obwohl ich seit ca 1 Jahr die Temperatur und co auslese.

Siehe auch hier, wenn dazu was unklar ist kannst Du ja fragen.

Doch das ist mir Klar! Ich will auf keinen Fall ein Umrechnung einführen! Das gibt nur Probleme, weshalb ich wie gesagt auch nicht mehr in % arbeiten sondern in einem Werte der Bridge (also bis 255). Ich will aber prüfen, ob dass weglassen der niedrigsten Helligkeitsstufe (die leider bei Philips 0% ist) noch weitere Auswirkung hat, z.B. auf meine Farbberechnung. Wobei halt auch der Wegfall der niedrigsten Stufe uncool ist.

Wie gesagt ich schau mir das mal an und ggf. baue ich das ein.

Wie gesagt, eventuell reden wir auch aneinander vorbei, sollst Du weder eine Umrechnung einführen noch irgendwas weglassen. Es ändert sich also dem wie das momentan funktioniert rein gar nichts. Das einzige was hinzukommt ist ein RegisterMessage auf die Helligkeitsvariable. Wenn diese 0 annimmst wird zusätzlich von der MessageSink die Methode


HUE_SetValue($this->InstanceID, "STATE", false);

aufgerufen, das wäre alles was an Ergänzung notwendig wäre.

Vielen Dank schon mal.

Edit:

Noch einfacher fürs erste ist es einfach RequestAction hier zu modifizieren, dann brauchst Du noch nicht mal eine MessageSink, der Wert wird ja über das Webfront eingestellt. Also einfach prüfen ob $value == 0 und dann die Lampe ausschalten ansonsten SetValue aufrufen.

Fronzo ich bin nicht dumm, ich weis schon wie ich das prüfen kann und auch wie ich den State anpasse! Egal ob ich das Modul auf MessageBus umbaue oder nicht.

Ist ja nur ein Vorschlag, wenn Du so was in den falschen Hals bekommst dann tut es mir leid das war nicht meine Absicht. Du musst Dir deshalb nicht gleich die Kugel geben wie auf dem Bild ;), ich habe nur versucht Dir ein Feedback zu geben, was ich mir an Funktion wünschen würde. Das ist keinesfalls Kritik an deiner Person falls Du das so aufgefasst haben solltest.

Moin,

Laut api Dokumentation setzt die Bridge das ja wohl wieder automatisch auf 1:


“bri – This is the brightness of a light from its minimum brightness 0 to its maximum brightness 254 (note minimum brightness is not off, and the light will actually return 1 when set to 0 and return 254 when set to 255). This range has been calibrated so there a perceptually similar steps in brightness over the range. You can set the “bri” resource to a specific value e.g. the following commands sets the lights to 42/254 of their maximum brightness.

Core concepts | Philips Hue API

Oder verstehe ich da gerade was falsch?

Viele Grüße
Ralf

Gesendet von meinem SM-G955F mit Tapatalk

Das ist interessant, da ich von der Bridge die 0 bzw. 255 auch wieder zurück erhalte. Das würde bedeuten das meine Farbberechnung nicht korrekt arbeitet, wenn auch nur minimal.

Also in der Entwickler API Dokumentation selber steht das 0 die niedrigste Helligkeitsstufe ist und nicht „Aus“ und der Maximum Wert 255 ist und nicht 254 wie in der öffentlichen Doku. Die Bridge reduziert aber tatsächlich den Wert auf 254. Ich hasse Dokus die nur Blödsinn enthalten bzw unvollständig sind. Danke Philips Ihr Id… Grrr.

Im Branch version1.0 ist die nächste Testversion. Darin ist nun die Übersetzung enthalten und sowie das handling für Helligkeit 0. Außerdem wurde die Farbberechnung an die neue Erkenntnis angepasst das die Helligkeit und die Sättigung nur bis 254 geht.

Für Feedback ob es bei euch klappt wäre ich dankbar.

Hallo traxanos,

Erstmal möchte ich ein großes Lob für dein Modul aussprechen, finde deine Arbeit echt gelungen.

Das ein und Ausschalten via 0 bzw. 1 Klappt bei mir hervorragend.
Ich fände es jetzt noch toll, wenn du eine Abfrage einbauen könntest die quasi vorher prüft ob die Lampe bereits aus ist.

Ich habe nämlich das Problem, dass ich mehrere Lampen in einer Art lauflicht schalte, nun aber zum Problem.
Sollte eine Lampe bereits aus sein und der Befehl wird an die Hue Bridge gesendet kommt eine Fehlermeldung zurück.



10.02.2018 02:53:42 | SymconHUE | stdClass Object
(
    [type] => 201
    [address] => /lights/6/state/ct
    [description] => parameter, ct, is not modifiable. Device is set to off.
)


So weiter ist das nicht schlimm aber die Instanzen bekommt dann ein Rotes Ausrufeeichen und die nachfolgende Lampe bleibt dann An, weil die Instanz als Fehlerhaft markiert wird für 1 Sec.

Im Moment prüfe ich das vorher mit einer Funktion in PHP ob die Lampe evtl. bereits aus ist.

LG
Sven
Schönes Wochenende

Das habe ich anders gelöst. Kannst du mir zeigen, wie dein Aufruf genau ist. Dann schau ich in welcher Kombination das noch nicht klappt.