update LightScene

Begonnen von justme1968, 23 Januar 2014, 13:05:42

Vorheriges Thema - Nächstes Thema

justme1968

ab morgen gibt es ein update für LightScene mit folgenden änderungen und erweiterungen:

  • das zusammenklicken einer szene in der detail Ansicht geht wieder
  • bei 'set <lc> set <scene> <device> [<cmd>]' ist cmd jetzt optional.
    damit kann ein 'leeres' kommando für ein device gesetzt werden wenn es in einer szene nicht verändert werden soll
  • bei 'set <lc> set <scene> <device> [<cmd>]' muss <device> nicht mehr zwingend zur szene gehören.
    damit lässt sich ein device für einzelne szenen hinzufügen ohne das es beim save berücksichtigt wird.

  • es gibt ein neues kommando 'set <lc> setcmd <scene> <device> [<cmd>]'
    damit kann man statt einem einfach set für ein device eine komplette fhem kommando zeile konfigurieren. also z.b. in der LightScene alleLampen in der Szene allOff die deckenlampe mit 30 sekunden verzögerung abschalten:
define alleLampen LightScene LampeDecke, ...
...
set alleLampen setcmd allOff LampeDecke sleep 30 ;; set LampeDecke off

das sleep an dieser stelle ist natürlich nicht blockierend.

<cmd> kann z.b. auch das fhem IF sein oder ein define oder, oder, ...:
set <lc> setcmd <scene> <device> define myAt +*{4}00:00:10 set fs20MitEmpfangsproblemen on
    [/li]

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

ab morgen gibt es für LightScene ein neues attribut lightSceneRestoreOnlyIfChanged. dieses kann auf device oder auf szenen ebene gesetzt werden.

sobald es gesetzt ist wird für die betreffenden devices beim anwenden einer szene nur dann die kommandos ausgeführt wenn der aktuelle stand des devices ungleich dem gespeicherten ist.

damit  kann man zum beispiel die funklast vermindern wenn man schnell zwischen szenen hin und her schaltet in denen sich nur ein teil der beteiligten devices ändert.

ein möglicher nachteil ist das eventuell nicht geschaltet wird wenn fhem den tatsächlichen stand eines devices nicht kennt. dies kann bei unidirektionalen protokollen wie intertechno oder FS20 passieren oder auch bei asynchronen wie den hue devices.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

ab morgen gibt es für LightScene ein neues attribut switchingOrder. damit kann man pro szene die reihenfolge festlegen in der die devices geschaltet werden sollen.

um z.b. eine master steckdose beim einschalten vor allen anderen geräten und beim alles aus nach allen anderen geräten zu schalten kann man etwas in dieser art verwenden:
define media LightScene TV,DVD,Amplifier,masterPower
attr media switchingOrder .*On:masterPower,.* allOff:!.*,masterPower


gruss
andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

ab morgen ist in die detail ansicht des LightScene moduls ein szenen editor von UliM integriert.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

ab morgen gibt es im LightScene modul das attribut followDevices.

wenn es gesetzt ist verfolgt das LightScene device änderungen am state der beteiligten devices und setzt den eigenen state auf den namen der szene bei der eine übereinstimmung gefunden wird.

d.h. der state der LightScene selber kann sich dynamisch ändern wenn sich ein beteiligtes device ändert. wenn für die LightScene ein icon angezeigt wird ändert sich dieses natürlich auch.


wichtig:
- das ganze ist noch nicht optimiert
- wenn kein match gefunden wird ändert sich der state der LightScene nicht. es wird aber ein event 'nomatch' erzeugt
- wenn meherer devices auf ein mal geschaltet werden (z.b. über die LightScene) ändert sich der state der LightScene mehrfach wenn es auch für die zwischen zustände einen match gibt.
- es funktioniert nur für 'einfache' device zustände. nicht für dynamische.

möglichkeiten für verbesserungen:
- cachen der device zustände um nicht bei jeden event alle devices wieder abzufragen
- timeout der abgewartet wird bis sich der state ändert -> damit werden die zwischenzustände vermieden

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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