FHEM Forum

FHEM - Anwendungen => Beleuchtung => Thema gestartet von: visionsurfer am 29 Dezember 2016, 20:55:10

Titel: Code für dynamische HUE Lightszenen ?
Beitrag von: visionsurfer am 29 Dezember 2016, 20:55:10
Hallo,

ich habe mir auf meinem Handy so eine App installiert die mit den Philips HUE Lampen zusammenarbeitet. Dort kann man dutzende Lichtszenen setzen. Aber nicht nur starr mit jeweils einer Farbe. Sondern das Licht ändert sich. Es gibt z.B. sowas wie Candlelight. Dann flackern die Lampen hin und wieder ein bisschen, das es den Eindruck hat, als ob eine Kerze brennt.

So gibt es noch dutzende weitere Szenen.

Gibt es Codes oder Szenen die man so auch in FHEM nutzen könnte ?
Hat da vielleicht jemand eine Quelle ?

Ich hoffe ihr versteht was ich meine :)

Grüße,
Visionsurfer
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: swsmily am 29 Dezember 2016, 22:50:24
Hey,

genau sowas suche ich auch gerade. Nicht für Candlelight, sondern eher wie ein Feuerwerk (wobei mir die Idee Candlelight auch sehr gut gefällt), das genau 0 Uhr losgehen soll. Mehrere HUE Lampen sollen per Zufall unterschiedliche Farben schnell aufleuchten (transitiontime 1), und dann per Zufall-transitiontime (0 bis 3 Sekunden) wieder auf aus gehen.

Für eine Lampe hab ich das über 99_MyUtils hinbekommen, mit einer For-Schleife, die am Ende ein Sleep der Ausblendzeit hat, bevor sie erneut ausgeführt wird. Leider blockiert das natürlich auch FHEM...

Hat jemand eine Idee einer besseren Lösung?

sub
Feuerwerk
{
for (my $a=0; $a <= 1; $a++) {
my $farbe1 = int((rand(65535))+1);
my $dunkel1 = int((rand(30))+1);
fhem "set HUE_Wohnzimmer_links hue $farbe1 : bri 255 : transitiontime 1";
fhem "set HUE_Wohnzimmer_links rgb 000000 : transitiontime $dunkel1";
sleep(($dunkel1/10)+1);
}

}
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: choenig am 30 Dezember 2016, 08:36:38
Hi,

ich finde das Thema auch interessant. Ein Modul hierfür wäre toll :-).

Das Problem mit dem Blockieren von Fhem lässt sich wie in folgendem Beitrag umgehen:
https://forum.fhem.de/index.php/topic,11020.msg203045.html#msg203045

Da ist auch beschrieben, wie man einen Feuereffekt für HUE implementiert.

LG
Christian
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: visionsurfer am 30 Dezember 2016, 09:29:42
Hi,

ja ein Modul dafür wäre natürlich geil. Womit man das besser und einfacher konfigurieren kann. Leider hab ich davon keine Ahnung.
Die Lösungen die ich bisher gefunden habe, sehen auch sehr kompliziert und schwer aus.
Die Codes verstehe ich leider nicht und weiß nicht, was ich dort wie und wo noch ersetzen müsste, damit es bei mir funktioniert.

Ich finde z.B. die HUE Szene "Frühlingserwachen" in der HUE App macht ein sehr schönes Licht. Das wäre halt geil, wenn es noch ein bisschen dynamischer geht.

Grüße,
Visionsurfer
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Felix_86 am 11 Dezember 2018, 10:37:02
Mir ist bewusst, der Thread ist schon alt, aber dieser trifft mein Anliegen.

Gibt es hier neue Erkenntnisse zur Verwendung / Einbindung von dynamischen Lichtszenen in FHEM zur Steuerung der Philips Hue Lampen?
Sind Vorlagen der Farbcodes vorhanden, die für unterschiedliche Szenen benutzt werden können?

Eine Sonnenaufgang-Szene (bzw. ein Notify, dass in einer 15 minütigen Sequenz den Sonnenaufgang simuliert) habe ich bereits gebaut und lasse mich davon allmorgendlich wecken.
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: zok am 10 März 2019, 15:29:58
@Felix_86:
Kannst Du Deine Lösung hier posten?

Ich bin der Meinung, es gibt noch kein Modul dafür. Ich habe ziemlich lange rechercherit und bin immer bei eigenen Lösungen hängengeblieben.
eine Sonnernaufgang/Sonnenuntergangs-Szene habe ich bereits, aber bekomme die nicht zeitlich gesteuert.
Da scheinst Du bereits weiter zu sein?!?
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: CoolTux am 10 März 2019, 16:29:00
Was genau meinst Du mit Zeitlich?
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: zok am 10 März 2019, 16:33:50
Das die Szene zu einer bestimmten Zeit eingeschaltet wird und nach einer bestimmten Zeit ausgeschaltet wird.
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: CoolTux am 10 März 2019, 16:37:22
Einschalten über at oder eine Bedingung. Zum Beispiel eine Weckroutine
Ausschalten kannst Du mit on-for-timer machen.
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: zok am 10 März 2019, 16:45:13
danke, schaue ich mir mal an.
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Felix_86 am 12 März 2019, 09:42:33
@ zok
Bei mir sieht das Setup zur Steuerung der Sonnenaufgang-Szene wie folgt aus:

- Ein Dummy (Name: Wecker_Sonnenaufgang) dient zur Einstellung der gewünschten Weckzeit:
- Ein Notify (Name: notify_Wecker_Sonnenaufgang) reagiert bei allen Events des Dummy (Name: Wecker_Sonnenaufgang):
- In dem AT (Name: at_Wecker_Sonnenaufgang), dass zur gewünschten Weckzeit ausgeführt wird, setze ich wiederum den Status eines Dummy (Name: Sonnenaufgang_simulieren) zur Ausführung der Weck-Szene
- In dem Dummy (Name: Sonnenaufgang_simulieren) kann ich lediglich den Status "starten" manuell setzen; während der Durchführung ist der Status "läuft" und nach Durchführung der Weckszene "beendet".
- Ein weiteres Notify (Name: notify_Sonnenaufgang_simulieren) reagiert auf das Event "starten" des Dummy (Name: Sonnenaufgang_simulieren):
- Das AT (Name: at_Sonnenaufgang_Utils) ist wiederum nur optional


Ziemlich komplex und miteinander verknüpft. Vermutlich geht es auch einfacher (klarer strukturiert), aber so habe ich es seiner Zeit nach langen Recherchen und an meine Bedürfnisse angepasst, gebaut und zum Laufen bekommen. Daher sehe ich aktuell keinen Grund etwas zu ändern.

Falls du weitere Details brauchst kannst du dich gerne nochmal melden.
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: mfhotdog am 13 Juli 2019, 16:59:11
Hallo zusammen,

Gibt es hierzu Neuigkeiten? Ich habe schon einen Sonnenaufgang als Weckroutine programmiert, dies mache ich über ein DOIF. Den Code hierzu kann ich gerne posten.

Ich würde allerdings gerne  auch weitere dynamische Lichtszenen  über FHEM integrieren (Urwald, Meer, Feuer,....) Mir ist aufgefallen, dass einige HueApps dies direkt über die Bridge/Lampe steuern und bei anderen die einzelnen Befehle permanent direkt aus der App gesendet werden.

Dementsprechend sollte es auch über fhem möglich sein, dies zu realisieren. Meine Idee war, einen Auswahlschalter zu integrieren, in dem man die gewünschte Szene z.b. Für das Wohnzimmer auswählen kann und dann aktiviert, ggf mit Timer wie lange.

Viele Grüße,

Marc
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Ronn am 18 Juli 2019, 16:26:27
ich wäre an dem DOIF-Code interessiert  :)
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: zimb0 am 27 November 2019, 21:20:06
Hallo zusammen,
ist es irgendwie möglich, die in der HUE App integrierten "Routinen" auszulesen oder zu beeinflussen?
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Felix_86 am 23 Dezember 2019, 12:04:15
Hallo zimb0,

ein "get HueBridge scenes" sollte dir sowas oder ähnliches liefern:

ID                   NAME                 LIGHTS
XdGMVjlPecY9Tpy      Energie tanken       Alle_Zimmer
iKUUPxZet58mCRs      Energie tanken       Wohnzimmer
pB3iE9Qk56w5swo      Energie tanken       Schlafzimmer
aZX0BhyiHKVcHW7      Entspannen           Schlafzimmer
ulL0nQRuqBa5y4v      Entspannen           Alle_Zimmer
c2J-LpRhBYaw50l      Entspannen           Wohnzimmer
8mQebLjKWxttpnj      Frühlingsblüten    Wohnzimmer
UkXu85qqXZFsdlC      Frühlingsblüten    Schlafzimmer
85F6k4u0PhCEN3y      Gedimmt              Wohnzimmer
TV8t2g-jINJ6Bua      Gedimmt              Schlafzimmer
t4umeFh180jQ3ef      Gedimmt              Alle_Zimmer
oF4qjKOtS-113M-      Hell                 Alle_Zimmer
mA3lxmUY5Tst2bk      Hell                 Schlafzimmer
TIAMQmrERnQT7oY      Hell                 Wohnzimmer
7H4k5AHjWBrhxX6      Konzentrieren        Alle_Zimmer
q2iwgwDNGACtVxv      Konzentrieren        Schlafzimmer
KIE0H5kv2DKNxF8      Konzentrieren        Wohnzimmer
VgQOndVRXbYnHiG      Lesen                Schlafzimmer
sHNzya7lqomdan0      Lesen                Alle_Zimmer
4QVcnj0NuCLjRU1      Lesen                Wohnzimmer
LyUkA9GVsIC4fXz      Nachtlicht           Wohnzimmer
XLSK6wY98olNHuM      Nachtlicht           Schlafzimmer
PhQt9vjzqSgwv2W      Nachtlicht           Alle_Zimmer
N7yZYemaWpyZ68j      Nordlichter          Wohnzimmer
9Ma7iwZ4aKsT5y3      Nordlichter          Schlafzimmer
xOi4gtaO9FzQXAQ      Sonnenuntergang Savanne Wohnzimmer
r61A2sCCnQVbrzv      Sonnenuntergang Savanne Schlafzimmer
9EwUbYRZRY2KCAh      Tropendämmerung     Wohnzimmer
OUW3jXkFfdYqWUp      Tropendämmerung     Schlafzimmer
4hL4HO33yUw5RPf      Wake Up end         
LyAMtjJuq4E6M7F      Wake Up init         


Mit "set get HueBridge scenes xxx" kannst du dann auch eine entsprechende Szene aktivieren (Dropdown im FHEM Gui).
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: sinus61 am 23 Dezember 2019, 13:47:30
Die dynamischen Effekte von Hue Labs kann man aber am besten über deren Sensor ein- und ausschalten. Dürfte in der Regel viel einfach sein als Kaminfeuer oder Candle Effekte in FHEM nachzuprogrammieren, da gibt es bei Hue Labs ja schon eine Auswahl. Eine echte Hue Bridge natürlich vorrausgesetzt.
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Wscheff am 13 Juli 2020, 22:33:45
Zitat von: Felix_86 am 12 März 2019, 09:42:33
@ zok
Bei mir sieht das Setup zur Steuerung der Sonnenaufgang-Szene wie folgt aus:

- Ein Dummy (Name: Wecker_Sonnenaufgang) dient zur Einstellung der gewünschten Weckzeit:

  • setList:  state:aus,04:45,05:00,05:15,05:30,05:45,06:00,06:15,06:30,06:45,07:00,07:15,07:30,07:45,08:00,08:15,08:30,08:45,09:00,09:15,09:30,09:45,10:00,11:00,12:00
- Ein Notify (Name: notify_Wecker_Sonnenaufgang) reagiert bei allen Events des Dummy (Name: Wecker_Sonnenaufgang):

  • ist der Dummy Wecker_Sonnenaufgang nicht ausgeschaltet, dann wird die gewünschte Weckzeit des Dummy (Name: Wecker_Sonnenaufgang) ausgelesen und die Zeit an ein AT (Name: at_Wecker_Sonnenaufgang) übergeben
  • ist der Dummy Wecker_Sonnenaufgang ausgeschaltet, dann wird das AT (Name: at_Wecker_Sonnenaufgang) deaktiviert
- In dem AT (Name: at_Wecker_Sonnenaufgang), dass zur gewünschten Weckzeit ausgeführt wird, setze ich wiederum den Status eines Dummy (Name: Sonnenaufgang_simulieren) zur Ausführung der Weck-Szene

  • Der zu setzende Status des Dummy (Name: Sonnenaufgang_simulieren)  ist "starten"
  • in dem AT (Name: at_Wecker_Sonnenaufgang) finden noch einige andere Aktionen statt, wie z.B. der Versand einer Telegram-Info, das Setzen von Standard-Weckzeiten unter der Woche und am Wochenende.
  • das ist aber nur optional und für die eigentliche Funktion nicht relevant
- In dem Dummy (Name: Sonnenaufgang_simulieren) kann ich lediglich den Status "starten" manuell setzen; während der Durchführung ist der Status "läuft" und nach Durchführung der Weckszene "beendet".

  • webCmd:  starten
- Ein weiteres Notify (Name: notify_Sonnenaufgang_simulieren) reagiert auf das Event "starten" des Dummy (Name: Sonnenaufgang_simulieren):

  • Hier wird zunächst geprüft, ob die Philips Hue Bridge erreichbar ist, um die Lichtsteuerung der Hue Lampen durchzuführen (optional)
  • Ist die Philips Hue Bridge erreichbar, läuft in dem Notify (Name: notify_Sonnenaufgang_simulieren) eine for-Schleife mit Counter von X Sekunden um eine Pause zwischen jedem Farbwechsel einzubauen
  • weiter wird der Dummy (Name: Sonnenaufgang_simulieren) auf "läuft" gesetzt, was allerdings keine weitere Auswirkung / Aktion hat
  • Zusätzlich wird noch ein AT (Name: at_Sonnenaufgang_Utils) für einen definierten Zeitpunkt nach Beendigung des Notify (Name: notify_Sonnenaufgang_simulieren) gesetzt
- Das AT (Name: at_Sonnenaufgang_Utils) ist wiederum nur optional

  • es lässt die Hue Lampen nach Ablauf der for-Schleife im Notify (Name: notify_Sonnenaufgang_simulieren) blinken, dann ist es höchste Zeit aufzustehen ;)
  • weiter setzt es den Status des Dummy (Name: Sonnenaufgang_simulieren) auf "beendet",  was allerdings keine weitere Auswirkung / Aktion hat


Ziemlich komplex und miteinander verknüpft. Vermutlich geht es auch einfacher (klarer strukturiert), aber so habe ich es seiner Zeit nach langen Recherchen und an meine Bedürfnisse angepasst, gebaut und zum Laufen bekommen. Daher sehe ich aktuell keinen Grund etwas zu ändern.

Falls du weitere Details brauchst kannst du dich gerne nochmal melden.

Hallo @felix_86,

bin hier drüber gestolpert und auf der Suche nach genau so einer FOR Schleife. Wärst du bereit hier deinen Code zu posten?
Ich möchte meine Aussenbeleuchtung in einer Schleife bis zum manuellen Aussschalten bestimmte Szenen in einem Loop laufen lassen

Dieser Teil ist für mich interessant:

[li]Ist die Philips Hue Bridge erreichbar, läuft in dem Notify (Name: notify_Sonnenaufgang_simulieren) eine for-Schleife mit Counter von X Sekunden um eine Pause zwischen jedem Farbwechsel einzubauen[/li]


Danke & Grüsse
wscheff
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Felix_86 am 15 Juli 2020, 11:19:10
Zitat von: Wscheff am 13 Juli 2020, 22:33:45
Hallo @felix_86,

bin hier drüber gestolpert und auf der Suche nach genau so einer FOR Schleife. Wärst du bereit hier deinen Code zu posten?
Ich möchte meine Aussenbeleuchtung in einer Schleife bis zum manuellen Aussschalten bestimmte Szenen in einem Loop laufen lassen

Dieser Teil ist für mich interessant:

[li]Ist die Philips Hue Bridge erreichbar, läuft in dem Notify (Name: notify_Sonnenaufgang_simulieren) eine for-Schleife mit Counter von X Sekunden um eine Pause zwischen jedem Farbwechsel einzubauen[/li]


Danke & Grüsse
wscheff

Hallo wscheff

hier die Def-Informationen des Notify (Name: notify_Sonnenaufgang_simulieren).

Sonnenaufgang_simulieren:starten {

# Führt Notify nur aus, wenn Hue Bridge erreichbar ist (sonst können Licht-Infos nicht an Lampen übermittelt werden)
if (Value("Presence_Hue_Bridge_LAN") eq 'present'){

if ($NAME eq "Sonnenaufgang_simulieren"){
my $BETROFFENELAMPEN = "Hue_SZ.*";
fhem("set $BETROFFENELAMPEN rgb 030100");
my @sonne = ('0B0300','190601','230902','2F0D03','370F03','401204','481405','521806','591007','622108','6E2508','772809','7F2A09','882D0A','90300A','96320A','9D330A','A6360A','B0390A','B0450A','B9480B','C1580B','CB610B','D3650C','D6740C','DC770B','DC810B','E5860B','ED8E12','F2A113','F2B013','F5B51A','F9BA22','FBBD29','FEC232','FFC742','FECC55','FED166','FDD473','FDD880','FEDD8C','FDDF97','FDE4A7','FDEABC','FDEEC8','FDF0D1','FDF3DA','FCF4E2');
my $counter = 1;
for(my $i = 0; $i < @sonne; $i++) {
fhem("sleep ".$counter."; set $BETROFFENELAMPEN rgb ".$sonne[$i].";");
# Erzeugt eine Pause von xx Sekunden zwischen jedem Farbwechsel
            $counter = $counter + 18
}
# Sonnenaufgang Utils
my $TIMERZEIT = strftime "%H:%M:%S",localtime((time()+900));
fhem("set $NAME läuft;set at_Sonnenaufgang_Utils modifyTimeSpec $TIMERZEIT; attr at_Sonnenaufgang_Utils disable 0; save")
}


}

if (Value("Presence_Hue_Bridge_LAN") eq 'absent'){
Log 3,"Presence_Hue_Bridge_LAN war absent - konnte notify_Sonnenaufgang_simulieren nicht ausführen";
}
if (Value("Presence_Hue_Bridge_LAN") eq 'disabled'){
Log 3,"Presence_Hue_Bridge_LAN war disabled - konnte notify_Sonnenaufgang_simulieren nicht ausführen";
}

}
Titel: Antw:Code für dynamische HUE Lightszenen ?
Beitrag von: Wscheff am 15 Juli 2020, 17:49:11
Hallo Felix_86,

Dankeschön, ich kann das sehr gut einbauen für meine Gartenlampen.

Grüße
wscheff