Philips HUE Modul

Da kann ich Dir gedanklich nicht folgen. Wenn Du eine Lampe anlegst die über einen Dimmer geschaltet wird dann bekommst Du natürlich mit wenn die Lampe vom Dimmer angeschaltet wird. Wenn Du die Lampe jetzt wieder aus dem Hue Bridge löscht kann Du diese logischerweise nicht mehr schalten und bekommst außerdem keinen Status. Oder wie hast Du das gemeint?

jupp hab ich gerade getestet….leider man bekommt überhaupt nichts…schade wollte den switch von HUE nutzen um HM Lampen zu steuern :mad:

mhh hier scheint es eine Lösung zu geben: .fhemwiki.de/wiki/HUE_Dimmer_Switch zumindest wenn man die ID herausfinden könnte vom switch

Ach Nall Chan,

Du bist immer so streng , ich meinte einfache Skripte (das waren ja au mal Module) zum „ansteuern“ - eben ohne Modul.

Danke und Grüsse,
MaLu

Wenn du es nicht schreibst…
So ist das halt mit der Glaskugel :wink:
Und Scripte mit Modulen kannst du auch nicht so einfach vergleichen.
Kannst unter IPS4 sowohl die alten Script nutzen (ggfls. Kompatibilitätsmodus aktivieren) oder hat das Modul.
Michael

Das Auslesen der ID ist ja kein Thema


$data = null;
 $path = "/sensors";
 $switches = HUE_Request(44625 /*[Philips Hue Bridge]*/, $path, $data);
 var_dump($switches);
 foreach ($switches as $key => $switch)
 {
   $name = $switch->name;
   $type =  $switch->type;
   echo $key.": ".$name." ".$type."
";
 } 

Dann bekommst Du so eine Liste wie bei FHEM


1: Daylight Daylight
2: Kind Zimmer ZGPSwitch
4: Schlafzimmer ZGPSwitch
5: Wohnzimmer ZGPSwitch
6: Wohnzimmer Dimmer ZLLSwitch
7: Dimmer Switch 6 SceneCycle CLIPGenericStatus
8: Kinderzimmer Dimmer ZLLSwitch
9: Dimmer Switch 8 SceneCycle CLIPGenericStatus
10: Schlafzimmer Dimmer ZLLSwitch
11: Dimmer Switch 10 SceneCycle CLIPGenericStatus


Die Frage ist eher was machst Du jetzt mit der ID?

Anscheinend fragt FHEM der Wert der Sensoren Sekündlich ab. Aber wie man damit dann dimmen soll ist mir unklar. Und ob es Sinn macht die Hue Bridge jede Sekunde anzufragen sei auch mal dahingestellt.

Also FHEM liest sekündlich den State und Event Wert aus. Dass kann man grundsätzlich mit IP-Symcon auch machen, dann würde man mitbekommen wann und welche Taste auf der Fernbedienung gedrückt wurde. Die Frage ist nur ob es sinnvoll ist jede Sekunde der Hue Bridge einen Request zu senden.

Also ich hatte schon einige Problem, als ich beim Entwicklen hin und wieder mal auf sekündlich geswitcht bin. Dabei habe ich schon paar mal die HUE Bridge zum Absturz gebracht :smiley: Auch können sich die Threads überlagern, so dass Werte springen. Also ich mache die Lampe an, aber parallel wird geschrieben, das Sie aus gehen soll. Wieder später wird Sie wieder als an angezeigt, weil mein Request zum einschalten nun im Statusrequest der Wert korrekt geliefert wird. Und ehrlich gesagt, alles was nicht innerhalb von einer Viertelsekunde verarbeitet ist, ist Usabilitykatastrophe und da kommt ja noch die Laufzeit der anderen Komponenten wie z.B. von HM dazu.

Hallo,

bin noch Anfänger und stelle daher vielleicht doofe Fragen. Ich nutze das Symcon HUE Modul. Ist echt klasse – vielen Dank dafür.

Was ich nicht schaffe ist eine HUE zeitgesteuert bei Sonnenuntergang angehen zu lassen. Ich hatte das im Objektbaum wie bei meinen anderen Leuchten versucht, kann aber bei HUE keinen Status für zum Beispiel Gerät einschalten finden oder auswählen.

siehe Bild: http://screencast.com/t/vgn5TwPMeOv

Danke für Eure Hilfe. UB

Das ist kein Fehler von Dir sondern ein Fehler im Modul, da müsste noch etwas geändert werden. In der Auswahl kann nur ein Status gesetzt werden wenn in der public function auch der Variablentyp deklariert wurde, dies ist moment nicht der Fall. Das hatte ich auch hier Philips HUE Modul - Seite 15 schon mal angemerkt. Dies ist aber eine Kleinigkeit vielleicht kann das traxanos ja noch anpassen, dann steht Dir dort auch der Status zur Auswahl.

Hallo Fronzo,

meinst du das ich bewusst kein „Type Hinting“ nutze? Das ergibt für mich überhaupt keinen Sinn, in einer Sprache die nicht Typisiert ist, den Typ anzugeben. Vor allem weil ich keine typspezifische Doppeldeklaration vornehmen kann und ich aber verschiedene Typen erwarte. Sonst müsste ich für jeden Variablentyp eine eigene Funktion bauen.

Oder habe ich jetzt etwas falsch Verstanden?

Guten Morgen Traxanos,
die gleiche Thema hatten wir lustigerweise gestern hier. Ja es stimmt das PHP in der jetzigen Version kein Type Hinting unterstützt das geht erst ab PHP 7. IP-Symcon nutzt bei public Funktionen dennoch ein ausweisen der Variablen um im vollen Funktionumfang genutzt werden zu können und fängt dies intern ab.

Bei Modulen wie auch bei PHP Modulen kann z.B. bei Ereignissen oder Befehl testen der Befehl direkt vom Nutzer angesprochen werden.
ereignis1.png

Damit dies in IP-Symcon funktioniert muss aber IP-Symcon wissen welchen Typ von Wert der Nutzer an die Funktion übergeben darf damit IP-Symcon das passende Auswahlfeld zur Verfügung stellt.
funktionsaufruf.png
Wenn hier also kein Typ angegeben wird lässt sich diese von IP-Symcon vorgesehene Funktion einfach nicht nutzten, da dem Nutzer ein Eingabe- bzw. Auswahlfeld nicht zur Verfügung steht. Man kann dies zwar mit einem Workarround umgehen indem man ein Skript mit der Funktion mit einem Ereignis verknüpft, dies ist aber eigentlich nicht in dem Sinne wie IP-Symcon normalerweise bei Modulen funktioniert.

Damit IP-Symcon weis welches Auswahl- bzw. Eingabefeld es zur Verfügung stellen soll muss in einer public Funktion in der ein Parameter übergeben wird ausgewiesen werden welcher Typ die zu erwartende Variable hat, dann funktioniert IP-Symcon auch wie gewohnt mit allen Funktionen.

Es reicht also aus einfach bei allen Funktionen die public sind den Typ zu ergänzen.

Also statt


SetValue($lightId, $key, $value);

nun für IP-Symcon z.B. so


SetValue(integer $lightId, integer $key, string $value);

wobei dann natürlich $value nicht mehr als Array an die Funktion übergeben werden darf sondern z.B. als JSON String.
Es ist also lediglich in den Public Funktion der Type zu ergänzen.

@fronzo

Mir ist schon klar wofür das ist und was man damit versucht zu erreichen. Es ist für mich aber keine Lösung, einfach eine Typ zu spezifizieren, weil mehrere möglich sind. Auch werde ich nicht einfach die API brechen und in Kauf nehmen alle Ihre Scripte auf JSON umbauen müssen.

Wie du schon geschrieben hast, kann man die Werte ja problemlos über den PHP-Code übergeben.

Was mich aber stört es als Fehler zu bezeichnen. Das ist so gewollt. Ich nutze bewusst kein Typhinting.

Bitte siehe das nicht als persönliche Kritik, das habe ich ja so auch nicht gesagt und gemeint. Ich habe ja nur festgestellt das IP-Symcon nicht mit allen Funktionen funktioniert so lange bei den public Funktion nicht der Typ deklariert ist. Wen das stören sollte, der kann das ja im Code ändern. Allerdings gehen die Änderungen dann halt mit dem nächsten Modul Update wieder verloren.

Ne persönlich nehme ich das nicht, will aber klarstellen das es halt kein Fehler ist.

Worüber man aber nachdenken kann, ist dass man ggf. vereinzelte Funktion bereitstellt.

Zum Beispiel HUE_SetState(bool $state).

Moinsen,

das Modul läuft bei mit tippi toppi. Super gemacht.

Habe zwar keine Philips Hue Leuchtmittel, aber dafür den Osram Lightyfi RGBW LED Stripe an eine Hue Bridge. Die Osram E27 machte zicken und ging immer wieder an, ohne Aktion :frowning:
Wird wohl ein Bug in der Software von Osram sein.

Was ein wenig ärgerlich ist (meine Ansicht), das man aus dem Farbball nicht gleich wieder, bei auswahl der Farbe, in die Grundeinstellung von IPS kommt. Somit immer am Handy die Zurücktaste drücken muß. Aber das wird bestimmt an Android liegen ,oder?

Ne das ist so gewollt von IPS und ist auch unter iOS so. Ich persönlich finde das auch gut, da ich ja erstmal die Farbe suchen muss, bis ich eine hab die mir gefällt.

Ne das ist so gewollt von IPS und ist auch unter iOS so

Ok,

damit kann ich leben.

Aber kannst du mir vielleicht ein Gefallen machen, und ne Gruppensteuerung in das Modul mit einbinden.
Alles einzeln immer ansteuern ist doch… Habe zwar mom nur 2 Verbraucher, aber Leute die mehrer Lampen in einem Raum haben, würden sich sicherlich freuen.

Hallo.
Habe heute das Modul installiert. Wirklich super arbeit. Vielen Dank dafür.

Leider habe ich manchmal das Problem, das die Lampe erst auf TRUE steht, was sie auch ist, und dann auf False und nicht erreichbar geht. Kann man das Timeout evtl irgendwo verändern.?

Hi,

Frage dazu: Die RGBW-Stripes laufen bei Dir? Bei mir stehen die alle auf nicht erreichbar, obwohl sie mit der Hue-App ganz normal erreichbar sind. Alle anderen Lampen funzen bei mir (auch Osram E27). Nur die Stripes zicken. Evtl. Firmware wobei ich meine die halbwegs aktuell zu haben. Bevor ich das olle Lightify Gateway anwerfe und sie resette/ummelde, frage ich daher lieber mal :wink:

Thx!
mol

Edit: Erledigt, liegt an der FW der Lampen

Welches Timeout meinst du denn? Das hört sicher auch eher danach an, dass die HUE den Off Wert noch liefert, nachdem du gerade die Lampe aktiviert hast. Das Problem ist das man hier mit dem Pull-Verfahren arbeitet und ich nicht mitgeteilt bekomme, wenn sich der Status ändert. Dann gäbe es diese Problem nicht.