Autor Thema: modul LightScene  (Gelesen 89755 mal)

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 19502
Antw:modul LightScene
« Antwort #330 am: 31 Januar 2019, 19:07:47 »
na bevor du bis in alle ewigkeiten wartest bis die ki so weit ist :)
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline enno

  • Full Member
  • ***
  • Beiträge: 490
Antw:modul LightScene
« Antwort #331 am: 31 Januar 2019, 19:26:00 »
Konnte nicht warten, habe es mir schon mal aus dem SVN geholt. Tut genau wie gewünscht...
Einfacher FHEM Anwender auf Intel®NUC

Offline FunkOdyssey

  • Hero Member
  • *****
  • Beiträge: 1821
Antw:modul LightScene
« Antwort #332 am: 05 Februar 2019, 12:30:00 »
Darf man einen Featurewunsch äußern, der vielleicht einfach zu realisieren ist und evtl. sogar für alle interessant ist?

Das Aktivieren einer Zufallfsszene: set lightscene randomScene oder ähnlich?

Aktuell habe ich mir Szenen mit einem Counter-Suffix angelegt und start diese dann wie folgt:
set lightscene scene_{(int(rand(2))+1)}
Ich ärgere mich jedoch immer wieder darüber, dass ich durch diese Schreibweise keine Verknüpfung ("Probably associated with") zwischen den Definitionen habe.

Wäre ein solcher Setter evtl. für alle interessant? Ist das viel Arbeit?

Danke dir.

Offline choenig

  • Developer
  • Full Member
  • ****
  • Beiträge: 240
[PATCH] nextScene [scene1,scene2,...] [nowrap]
« Antwort #333 am: 28 April 2019, 09:19:35 »
Hi justme1968,

im Anhang findest Du einen Patch, der nextScene bzw. previousScene um einen weiteren Parameter erweitert mit dem man die Scenen auflisten kann, die traversiert werden sollen:

      <li>nextScene [scene1,scene2,...] [nowrap]<br>
        activates the next scene in alphabetical order after the current scene or the first if no current scene is set.<br/>
        If an optional list of scenes scene1,scene2,... is given, only those scenes are traversed in the given order.<br/>
        With an optional nowrap, the first scene is not activated automatically after the last one.</li>
      <li>previousScene [scene1,scene2,...] [nowrap]<br>
        activates the previous scene in alphabetical order before the current scene or the last if no current scene is set.<br/>
        If an optional list of scenes scene1,scene2,... is given, only those scenes are traversed in the reversed order.<br/>
        With an optional nowrap, the last scene is not activated automatically before the first one.</li>

Ich hab' den Patch schon seit über einem Jahr in Betrieb und gerade im exclude_from_update wiedergefunden  ;)

Ich nutze das, um verschiedenen Sendern unterschiedliche Ausschnitte aller Scenen einer LightScene vorzugeben:
Im Badezimmer habe ich farbige Hue-Lampen. Über den Lichtschalter erlaube ich nur die Scenen "0%,70%,100%", während ich mit der Fernbedienung alle ~15 Lichtscenen traversieren kann, alles mit einer einzigen LightScene  :).

Würd' mich freuen, wenn Du es reinnehmen würdest.

LG
Christian

Offline Heimweh

  • Full Member
  • ***
  • Beiträge: 281
Antw:modul LightScene
« Antwort #334 am: 14 Juni 2019, 21:10:15 »
Auch auf die Gefahr hin dass ich es überlesen habe, eine Frage.

Ich nutzte ein Haufen Milights und habe die alle in eine Szene gepackt. Funktioniert alles prima! Ich habe auch ein paar Szenen angelegt wo die ein oder andere Milight
auf off gehen soll. Beim durchzappen der Szenen bekommen dann diese Milights nur wieder einen on Befehl, aber die gewünschte Farbe kriegen die nicht mit weil sie ja off waren.

Ich habe mir mittlerweile so beholfen das ich alle Werte rausgeschrieben habe, und die Szene von Hand angelegt habe, denn wenn ich mein aktuelles Setting speichere und dann
editieren will (um on / off Befehle einzufügen) bekomme ich nur Array Nummern angezeigt, nicht die tatsächlichen Werte wie HUE, Brightness, etc...

Hat mir jemand einen Rat?
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

Offline Heimweh

  • Full Member
  • ***
  • Beiträge: 281
Antw:modul LightScene
« Antwort #335 am: 19 Juni 2019, 09:36:08 »
Ich frage mal anders. Wenn man eine bereits gespeicherte Szene nachträglich bearbeiten will bekomme ich nur Arrays angezeigt (Bsp. ARRAY(0x5636b24f6e68).
Wie kann ich diese Szene "manuell" bearbeiten bzw. zusätzliche Befehle wie on/off einfügen?
RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

Offline retro1

  • New Member
  • *
  • Beiträge: 10
Antw:modul LightScene
« Antwort #336 am: 07 September 2019, 21:30:38 »
Hallo Zusammen,

ich versuche mit einer Scene Hue-Leuchtmittel mit einer zufälligen Farbe zu belegen. Der Code hierfür wäre:

set HUEDEVICE hue {(int(rand(65000))+1)}

Wenn ich diesen Code bei LightScene benutzen will, geht mir beim Speichern des Ausdrucks der Perl-Ausdruck flöten. Hab auch schon erfolglos mit setcmd herumgespielt.

Meine Frage: wie hindere ich LightScene beim Speichern eines Eintrags, dass die geschweiften Klammern einer Perl-Funktion nicht beim Speichern ausgeführt wird sondern erst beim Aufrufen der entsprechenden Scene.

Vielen Dank
Gruss

Offline robertPI

  • Jr. Member
  • **
  • Beiträge: 52
Antw:modul LightScene
« Antwort #337 am: 16 November 2019, 17:39:16 »
Hallo,

ich versuche eine LightScene zu definieren, die für meine Tradfri Birnen (hängen an der hue bridge) die Parameter bri und ct speichert. Blöderweise liefert ct nicht nur den zum setzen benötigten Wert, sondern auch noch ne Umrechnung in die Farbtemperatur in Klammern dazu. Eine regex, die nur den gewünschten Wert zurück liefert, habe ich mir mittlerweile  zusammengesucht,
^([\w\-]+) ich scheitere allerdings an der Definition des lightSceneParamsToSave.
each reading can have a perl expression appended with '@' that will be used to alter the $value used for the set command. this can for example be used to strip a trailing % from a dimmer state.
attr myDimmer lightSceneParamsToSave state@{if($value=~m/(\d+)/){$1}else{$value}}


Internals:
   CHANGED   
   DEF        16  IODev=hueBridge0
   FUUID      5dac7a40-f33f-d2fd-83ba-952d27627097e598
   FVERSION   31_HUEDevice.pm:0.204920/2019-11-11
   ID         16
   INTERVAL   
   IODev      hueBridge0
   NAME       sz.tw.11
   NR         283
   STATE      dim68%
   TYPE       HUEDevice
   desired    1
   manufacturername IKEA of Sweden
   modelid    TRADFRI bulb GU10 WS 400lm
   name       sz.tw.11
   swversion  2.0.022
   type       Color temperature light
   uniqueid   00:0d:6f:ff:fe:55:72:ad-01
   READINGS:
     2019-11-16 15:28:45   alert           select
     2019-11-16 15:28:45   bri             192
     2019-11-16 15:28:45   colormode       ct
     2019-11-16 15:28:45   ct              327 (3058K)
     2019-11-16 15:28:45   onoff           1
     2019-11-16 15:28:45   pct             75
     2019-11-16 16:56:49   reachable       1
     2019-11-16 15:28:45   rgb             ffcfa9
     2019-11-16 16:42:29   state           dim68%
   helper:
     alert      select
     battery    -1
     bri        192
     colormode  ct
     ct         327
     devtype   
     effect     
     hue        -1
     pct        75
     reachable  1
     rgb        ffcfa9
     sat        -1
     update_timeout -1
     xy         
     helper:
Attributes:
   IODev      hueBridge0
   alias      sz.tw.11
   color-icons 2
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   lightSceneParamsToSave bri:ct
   model      TRADFRI bulb GU10 WS 400lm
   room       HUEDevice
   subType    ctdimmer
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
   webCmd     ct:ct 490:ct 380:ct 270:ct 160:toggle:on:off

Danke für euere Hilfe!


Edit: ich glaub ich habs
bri:ct@{if($value=~m/^([\w\-]+)/){$1}else{$value}}
« Letzte Änderung: 16 November 2019, 18:34:41 von robertPI »
FHEM auf Raspbery Pi 4
HM: HM-CFG-USB-2,HM-CC-RT-DN,HM-TC-IT-WM-W-EU,HM-SEC-SCo,HM-ES-PMSw1-Pl,HM-Sen-MDIR-WM55 | Philips hue: LCT001,LWL001,FLS-PP lp | Logitech Harmony Ultimate | zigbee2mqtt: WSDCGQ01LM, WSDCGQ11LM, MFKZQ01LM, MCCGQ11LM

 

decade-submarginal