Hallo Community,
ich habe mir überlegt, wie ich meine Philips Hue Leuchten im Wohnzimmer besinnlich nutzen kann. Bei meinen Recherchen bin ich dann auf den "Kaminfeuer-Effekt" gestoßen, siehe HIER (https://forum.fhem.de/index.php/topic,11020.msg203045.html#msg203045) (allerdings aus 2014).
Gibt es aktuellere Infos / Umsetzungen? Der Thread hat über 100 Seiten, die ich nun nicht alle lesen wollte :-/
Die beiden Subs habe ich in mein 99_myUtils.pm kopiert und dann versucht mittels {startFireEffect("Hue_WZ_Blume","Hue_WZ_TV")} (in der FHEM GUI Command Line (ganz oben)) zu starten.
Im FHEM Log sehe ich dann noch folgendes, bevor sich FHEM komplett die Karte legt und abstürzt:
2018.12.10 19:10:13 1: PERL WARNING: Argument "gettimeofday" isn't numeric in addition (+) at ./FHEM/99_myUtils.pm line 83.
2018.12.10 19:10:13 3: eval: {startFireEffect("Hue_WZ_Blume","Hue_WZ_TV")}
Undefined subroutine &main::FireEffect called at fhem.pl line 3127.
Wo liegt der Fehler?
Gibt es eine aktuelle Umsetzung dieser Anforderung ggf. als Modul (wurde damals überlegt) ?
Besten Dank vorab und eine schöne Vorweihnachtszeit.
Hi,
Naja wo er Recht hat hat er Recht, probier doch selbst {qw(gettimeofday)}
in der FHEM Kommandozeile. Da kann man nichts addieren...
Gruß Otto
Hallo,
da kommt der String (?) "gettimeofday" raus und keine Zahl ;)
Was hat sich hier zu 2014 geändert, als diese Sub scheinbar noch funktioniert hat?
Welchen Wert hat "gettimeofday" geliefert? Dann kann man eine aktuelle Funktion nutzen umd die Berechnung durchzuführen.
Danke
Hi,
Hatte das auch schon probiert und bin gescheitert.
Hänge mich als Interessent hier mal mit an.
Bis denn
SouzA
Zitat von: Otto123 am 11 Dezember 2018, 11:54:25
Hi,
Naja wo er Recht hat hat er Recht, probier doch selbst {qw(gettimeofday)}
in der FHEM Kommandozeile. Da kann man nichts addieren...
Gruß Otto
Da kommt in der Tat nichts bei raus. Allerdings ist gettimeofday eine Funktion
gettimeofday () Wird als Aufrufparameter für InternelTimer verwendet.
Ohne aber die ganze Funktion startFire gesehen zu haben kann man da nichts sagen.
Hab mir den alten Threat nicht nochmal angesehen, aber habe bei mir auch den Kaminfeuer-Effekt. Bei mir funkioniert er (gerade noch Update gemacht um wirklich akuell testen zu können)
Dies ist in MyUtils
startFireEffect(@)
{
my @bulbs=@_;
foreach (@bulbs) {
my $bulb=$_;
my $hue = int((rand()*3460)+5460);
my $sat = int(rand(64)+170);
my $bri = int(rand(80)+16);
my $delay = (rand()+0.1);
my $transitiontime = int($delay * 10);
fhem("set $bulb hue $hue: sat $sat : bri $bri : transitiontime $transitiontime immediateUpdate:noUpdate");
InternalTimer(gettimeofday()+$delay, 'startFireEffect', $bulb, 0);
}
}
sub
stopFireEffect(@)
{
my @bulbs=@_;
foreach (@bulbs) {
my $bulb=$_;
RemoveInternalTimer($bulb);
## fhem("set $bulb off");
}
}
Und so rufe ich aus einem DOIF die Funktion auf:
{startFireEffect("HUE_Wohnzimmer_links","HUE_Wohnzimmer_mitte","HUE_Wohnzimmer_rechts","HUE_Wohnzimmer_Pflanze","HUE_Wohnzimmer_Balkon")}
Beenden:
{stopFireEffect("HUE_Wohnzimmer_links","HUE_Wohnzimmer_mitte","HUE_Wohnzimmer_rechts","HUE_Wohnzimmer_Pflanze","HUE_Wohnzimmer_Balkon")}
Danke swsmily, damit läuft's.
Die betroffene Zeile aus 2014:
InternalTimer(qw(gettimeofday)+$delay, 'FireEffect', $bulb, 0);
Die funktionierende Zeile von swsmily:
InternalTimer(gettimeofday()+$delay, 'startFireEffect', $bulb, 0);
Zitat von: Felix_K am 12 Dezember 2018, 21:59:01
Danke swsmily, damit läuft's.
Die betroffene Zeile aus 2014:
InternalTimer(qw(gettimeofday)+$delay, 'FireEffect', $bulb, 0);
Die funktionierende Zeile von swsmily:
InternalTimer(gettimeofday()+$delay, 'startFireEffect', $bulb, 0);
Ich bezweifel das die besagte Zeile jemals funktioniert hat. Und kann mir nicht vorstellen das sie jemals so hier im Forum veröffentlicht wurde.
CoolTux,
schaue dir den oben genannten Link zum Hue Thread aus 2014 an, siehe HIER (https://forum.fhem.de/index.php/topic,11020.msg203045.html#msg203045). Dort wird die Zeile genau so genannt ;)
Sehr komisch. Aber nun gut.
Es ist schon ne Weile her, dass ich das bei mir eingetragen habe.
Starterset HUE mit 3 Birnen hab ich erst seit November 2016 - ich denke da habe ich auch diesen Fire-Effekt gefunden und ausprobiert, aber ich habe nicht nur das FHEM Forum zur Hilfe genommen. Google hat mir Anfangs mit FHEM viel geholfen (und mich teilweise nur an die Richtigen stellen im Forum gebracht)
Ich glaube ich habe den funktionierenden Code von hier:
http://www.tatsch.it/kaminfeuereffekt-mit-hue-und-fhem/
Will ja ehrlich sein, hab es ja auch nur zusammen kopiert und für mich angepasst. Aus der Vorlage hab ich mir dann auch noch einen Feuerwerk-Effekt gebaut:
sub
startFireWorkEffect(@)
{
my @bulbs=@_;
foreach (@bulbs) {
my $bulb=$_;
my $hue = int((rand(65534))+1);
my $bri = int(rand(224)+30);
my $transitiontime = int((rand(30))+1);
my $delay = int(($transitiontime / 10)+1);
fhem("set $bulb hue $hue : bri $bri : transitiontime 1 immediateUpdate:noUpdate");
fhem("set $bulb rgb 000000 : transitiontime $transitiontime");
InternalTimer(gettimeofday()+$delay, 'startFireWorkEffect', $bulb, 0);
}
}
sub
stopFireWorkEffect(@)
{
my @bulbs=@_;
foreach (@bulbs) {
my $bulb=$_;
RemoveInternalTimer($bulb);
## fhem("set $bulb off");
}
}
Hi!
Würde sich das auch auf Nicht-Hue Geräte übertragen lassen? Ich verwende einen ESPLED-Controller hier aus dem Forum.
Das ist sicher möglich, wenn du die Parameter in der Routine entsprechend den Parametern des ESPLED-Controller anpasst.
Bietet der ESPLED-Controller denn Paramter zur Übergabe von Farbe und Helligkeit? Außerdem sollten die Lampen einzeln steuerbar sein.
Der Controller ist per HSV ansprechbar. Ich muss nur noch schauen, welche Werte der Controller braucht. Da bin ich mir nicht ganz sicher.
ist zwar schon etwas länger her, aber hast du es hinbekommen mit dem Forum Controller.
Meine Versuche sind leider gescheitert
Ah, gute Frage.
Ich habe seit einigen Monaten ja auch einen EspLedController mit angeschlossenem RGB Band hier liegen, aber an dynamische Farbeffekte habe ich noch gar nicht gedacht.
Evtl. komme ich über die Feiertage dazu mal etwas auszuprobieren.
Ich habe da was im github gefunden, aber es ist eben nur ein leichtes hoch und runter dimmen verbunden mit blinken.
Nix weltbewegendes besonderes.
Ich habe die Controller auch die Tage erst mal in mein Heimnetz integriert und noch keine große Erfahrung damit. War erstmals ein Funktionstest.
Habe mir ein DOIF und ein Dummy erstellt und fahre da bestimmte Zustände mit an, aber so richtig gelingt es mir noch nicht
Interessant wäre noch ein langsames durchscrollen der verschiedenen Farben, evtl auch noch heller und dunkler.
Hat das schon jemand gemacht hier..?
mit der aktuellen version der hue module kann man inzwischen die neuen dynamischen szenen und die noch nicht veröffentlichten feuer und kerzen efffekte direkt starten. siehe hier: https://forum.fhem.de/index.php/topic,122075.msg1166634.html#msg1166634 und hier: https://forum.fhem.de/index.php/topic,122075.msg1203684.html#msg1203684