[ERLEDIGT] Philips Hue - Kaminfeuer Effekt

Begonnen von Felix_86, 11 Dezember 2018, 10:25:00

Vorheriges Thema - Nächstes Thema

Felix_86

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 (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.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Felix_86

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
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

SouzA

Hi,
Hatte das auch schon probiert und bin gescheitert.
Hänge mich als Interessent hier mal mit an.

Bis denn
SouzA
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

swsmily

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")}

Felix_86

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);
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

CoolTux

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.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Felix_86

CoolTux,

schaue dir den oben genannten Link zum Hue Thread aus 2014 an, siehe HIER. Dort wird die Zeile genau so genannt ;)
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

swsmily

#10
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");
  }
}

masked__rider

Hi!

Würde sich das auch auf Nicht-Hue Geräte übertragen lassen? Ich verwende einen ESPLED-Controller hier aus dem Forum.

Felix_86

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.
Grüße von Felix

Pi3, Raspbian 11, FHEM 6.2, ca 320 Device
SIGNALduino (TCM, TX, IT), CUL (EM, FS20, HMS), JeeLink (PCA301), HUEBridge, HUEDevice, mailcheck, echodevice, alexa, TelegramBot, Weather (OWM), DWD_OpenData, FRITZBOX, TabletUI, Calendar, Abfall, Vitoconnect, LGTV_WebOS

masked__rider

Der Controller ist per HSV ansprechbar. Ich muss nur noch schauen, welche Werte der Controller braucht. Da bin ich mir nicht ganz sicher.

moonsorrox

ist zwar schon etwas länger her, aber hast du es hinbekommen mit dem Forum Controller.
Meine Versuche sind leider gescheitert
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM