modul LightScene

Begonnen von justme1968, 05 März 2013, 00:17:46

Vorheriges Thema - Nächstes Thema

justme1968

na bevor du bis in alle ewigkeiten wartest bis die ki so weit ist :)
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

enno

Konnte nicht warten, habe es mir schon mal aus dem SVN geholt. Tut genau wie gewünscht...
Einfacher FHEM Anwender auf Intel®NUC

FunkOdyssey

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.

choenig

#333
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

Heimweh

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,

Heimweh

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,

retro1

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

robertPI

#337
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}}
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

mrschnulle

Hallo zusammen,

weiß jemand etwas darüber?
https://forum.fhem.de/index.php/topic,105428.msg993671.html#msg993671

Bei mir ist das gleiche Problem. Ich habe diverse MQTT2_DEVICE in Form von mehreren Shellydimmer und immer das devStateIcon mit einer Funktion angepasst.

Jetzt habe ich massig Events und kann nicht richtig schalten, da die Events massig Ressourcen einnehmen.

Kann mir jemand helfen?

LG
Marc

justme1968

ich habe da geantwortet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

lucca111

Hallo und guten Tag,

ich habe gestern eine Änderung an meinen Scenen vorgenommen doch nach dem Fhem Neustart war nichts gespeichert.
Im log Verzeichnis hatte sich meine LightScenes.save vom Datum nicht geändert. Ich habe dann mit den Rechten nachgeschaut ist aber alles ok. Plötzlich wurde mal kurz eine Änderung gespeichert  aber wenig später wieder nicht. LightScenes.save gelöscht und neue Scenen anlegen bringt auch nichts. Es wird einfach keine neue LightScenes.save mehr erzeugt. Kann mir jemand helfen?

Gruß lucca

lucca111

#341
Schade das keiner Helfen kann. Ich habe das Problem immer noch.


ZitatFür alle die es interessiert. ich habe vor jedem Speichern einer scene ein "set LightControl updateToJson" ausgeführt.
Dann klappt das speichern ohne Probleme. "LightControl" habe ich mein Device genannt das müsst Ihr mit euren Namen ersetzen  ;)

martinp876

Das mit dem "save" glaube ich auch gehabt zu haben - allerdings bin ich mir nicht sicher.

Mein anliegen ist ein anderes: Ich hätte gerne eine Erweiterung von lightScene
1) ich hätte gerne den Status "ignore" für ein Device in einer Scene. Im Beispiel:
   Ich haben Scene "wohn"
                mit Dev1 und Dev2.
    In Scene1 soll Dev1= on, Dev2=off sein.
    In Scene2 will ich Def2=on, Def1 ist "egal"
   => das würde mir neue Optionen liefern - sollte einfach zu implementieren sein und aktuellen Implementierungen nicht im Wege stehen
2) state:   
   Aktiviere ich eine "szene" funktioniert das gut. Status wird auf diese Szene gesetzt.
   Nun schalte ich ein Device aus diese Szeen um. Somit habe ich nicht mehr diese Szene, der Status ist also falsch.
  => LightScene sollte nur den Namen dieser Szene anzeigen, wenn die Lichter (Devices) diesem auch entsprechen.
3) meine "ignore" Anforderung aus 1) konkuriert mit der Forderung aus "state". Weiter kann es auch schon in den Szenen duplikate geben. State sollte den State anzeigen,  welchen "matched" und am wenigsten "egal" beinhaltet. Eine Reading mit allen Matches wäre hilfreich. Ebenso ein Reading je Szene welches auf "on" oder "off" gesetzt ist und zeigt, dass diese Szene aktuell eingestellt ist.

Das ganze erleichtert die Nutzung des webCmd immens - insbesonder wenn ich einen "State"ein zweites mal einstellen will

rakete123

Hallo zusammen,

kurze Frage, vielleicht hat ja jemand etwas ähnliches gelöst.
Wenn ich bei einem lightscene device ein set lscene save mache, möchte ich keinen Zustand speichern, bei Devices welche off sind. Geht das?
Irgendwie via lightSceneParamsToSave?

Also am Ende will ich die Szene wieder aktivieren mit set lscene scene xyz und möchte eigentlich das bei devices die vorher "off" waren, nichts passiert.

Ablauf:
lampe ist off
lscene save
ich schalte die lampe an
lscene "restore"
die lampe soll anbleiben, weil sie zum zeitpunkt des "save" off war

Ich hoffe ihr versteht mich :D

mfg
Marcel
Zwave: ZMEEUZB1 (Fibaro, Aeotec, diverse)
Zigbee: Conbee (HUE, Xiaomi, osram)
Homematic: HM-MOD-RPI-PCB + diverse HM-CC-RT-DN
Sonstiges: Harmony, Android, Netatmo, Jabber (talk2fhem)
https://resize2fs.de

SouzA

#344
Hallo,

ich habe mal eine Frage zu der Ansteuerung einer FritzBox über LightScene.
Folgendes Device:
DEF        FritzBox
   FUUID      5fabf338-f33f-7c83-fc14
   FVERSION   31_LightScene.pm:0.187650/2019-03-01
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       scenes_FritzBox
   NR         594
   NTFY_ORDER 50-scenes_Technik
   STATE      Arbeit_anwesend
   TYPE       LightScene
   mayBeVisible 1
   CONTENT:
     FritzBox   1
   READINGS:
     2021-09-08 10:26:54   state           Arbeit_anwesend
   SCENES:
     Arbeit_Rufumleitung:
       FritzBox   ;set FritzBox diversity 1 on
     Arbeit_anwesend:
       FritzBox   ;set FritzBox tam 2 off;;set FritzBox diversity 1 off
     Feierabend:
       FritzBox   ;set FritzBox tam 2 on
   devices:
     FritzBox
Attributes:
   alias      Steuerung FritzBox
   event-on-change-reading .*
   icon       logic
   realRoom   Technik
   room       Fritz!Box,GoogleHome,LightScene


Hier lässt sich die zweite Scene (Arbeit_anwesend) nicht ausführen, bzw. es kommt eine Fehlermeldung und es wird nichts an der FritzBox gesteuert.
Fehlermeldung als Bild im Anhang.

Grundsätzlich funktionieren die Befehle.
Scene 1 und 3 tun was sie sollen. Wenn ich die beiden Befehle aus Scene zwei einzig und allein in der Scene stehen lasse, werden diese ausgeführt.
Aber halt nicht zusammen --> Wieso?
Könnte mir da bitte jemand helfen?

Vielen Dank!

Bis denn
SouzA

EDIT:
hat sich erledigt!
Entgegengesetzt der Commandref kommt nur ein Semikolon zwischen die Befehle.
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee