FHEM Forum

FHEM => Automatisierung => Thema gestartet von: speex am 11 September 2015, 15:34:33

Titel: Letzten Zustand der Lichter speichern und wiederherstellen
Beitrag von: speex am 11 September 2015, 15:34:33
Hallo
ich habe einen Tür Sensor der bei geöffneter Tür durch einen Notify das licht verändert, ich würde gerne erreichen das wenn die Tür geschlossen ist wieder letzte Status eingenommen wird also Farbe Helligkeit und ob AN/AUS.

Meine Lichtsteuerung übernimmt das Milight-Modul das auch ein previousState reading mitbringt dort wird aber der letzte Status irgendwie nicht korrekt gespeichert bzw. erreiche ich damit nicht das gewünschte Verhalten, da dort nur letzte HSV Farbwert gespeichert wird und ob AN/AUS oder gedimmt wird offensichtlich nicht berücksichtigt.

Nun habe ich mir überlegt das ganze mittels eines Dummys zu lösen.
Also wenn das open Notify ausgelöst wird soll in den Dummy der aktuelle Stand An/aus / brightness / farbe der master schaltung gespeichert werden, und anschliessend die farbe geändert werden.

Bei auslösung des close notifys möchte ich dann den letzten Stand der Lampen mithilfe des Dummys wiederherstellen allerdings erschliesst sich mir die umsetzung meines Vorhabens momentan noch nicht.


Kann mir jemand auf die Sprünge helfen wie ich diese Funktionalität umsetzen kann?

grüsse
Titel: Antw:Letzten Zustand der Lichter speichern und wiederherstellen
Beitrag von: marvin78 am 11 September 2015, 15:48:37
Warum immer über dummys gehen? Speicher doch den Status deines Devices mit setreading auch in deinem Device (möglicherweise geht auch ein Userreading). Doku zu setreading findest du in der commandref. Per ReadingsVal() holst du dir die Daten dann wieder. Zu den Stichwörtern findest du sicher etwas.
Titel: Antw:Letzten Zustand der Lichter speichern und wiederherstellen
Beitrag von: rudolfkoenig am 11 September 2015, 15:50:03
Es gibt auch noch sowas wie OldValue (siehe commandref), bin aber nicht sicher ob das mit allen Geraetetypen so funktioniert, wie man es sich vorstellt.
Titel: Antw:Letzten Zustand der Lichter speichern und wiederherstellen
Beitrag von: speex am 11 September 2015, 16:01:52
Danke für die schnellen antworten.

Der Dummy war jetzt eben meine erste Idee, ich habe mir die Tipps in der commandref angesehen allerdings erschliesst sich mir die Lösung noch immer nicht.
Titel: Antw:Letzten Zustand der Lichter speichern und wiederherstellen
Beitrag von: justme1968 am 11 September 2015, 16:09:44
wenn es um mehr als eine lampe geht schau dir LightScene an. damit kannst du den aktuellen zustand mehrer devices sichern und wieder herstellen.

gruss
  andre
Titel: Antw:Letzten Zustand der Lichter speichern und wiederherstellen
Beitrag von: speex am 11 September 2015, 22:23:19
Hi danke inzwischen habe ich das mit setreading auch verstanden und würde diesen weg auch bevorzugen.

Ich hab mein notify jetzt dahingehend geändert allerdings krieg ich es nicht zum laufen:

define Dor_Sensor_Open_LED notify fl_Dor_Sensor:*.open {my $aw= get master_LED rgb; {set master_LED setreading previous-rgb $aw}} set master_LED rgb FF0000;

nach längerem hin und her probieren hab ich das reading previous rgb auf jeden fall in meiner master_LED allerdings nicht mit dem hex farbwert sondern mit der variable "$aw", das mit der Syntax hab ich auch noch nicht so begriffen aber grundsätzlich ist der denkweg doch korrekt oder?

Update: Mein Problem hat sich gerade erstmal dahin gehend gelöst da die restorePreviousState funktion des MilightDevice moduls nun korrekt funktioniert.

Dennoch würde ich gerne dahinter steigen wie ich obiges Vorhaben korrekt umsetzen kann bzw. wie die syntax in dem fall korrekt sein würde.