Ist es Sinnvoll ein ListReading in ein Notify zu schreiben?

Begonnen von CoolTux, 02 November 2015, 16:46:50

Vorheriges Thema - Nächstes Thema

CoolTux

Hallo,

Ich brauche bei einigen Notifys ein eine Speicherung eines Wertes auf den ich am Ende des Notifys wider zurückstelle. Das geht auch bei fast allen, nur bei einem ist es von der Abarbeitung nicht möglich. Nun meine Frage, macht es Sinn diesen Wert als ListReading in das notify zu schreiben?

Beispiel:

CallmonTuxNetDSL01:event:.* { if( $EVTPART1 eq "call" || $EVTPART1 eq "ring" ) {
                                if( Value( "rr_Isabel" ) eq "home" && ReadingsVal( "AnniKraussStr","residentsTotalPresent","0" ) == 1 ) {
                                   fhem "set LED_LichtKinZimIsabelTischlampe bri 1 : sat 254, set LED_LichtKinZimIsabelTischlampe blink 10 1";
                                }
                              fhem "set Nexus10Wohnzimmer volume 2";
                              }
                            elsif( $EVTPART1 eq "disconnect" ) {
                              fhem "set Nexus10Wohnzimmer volume 6";
                              }
                            }


Ich möchte gerne den Wert vom Reading volume bei call zwischenspeichern. Wenn wieder aufgelegt wird soll dieser Wert wieder hergestellt werden. Leider wird das notify hierfür ja zweimal ausgelöst. Einmal beim call und einmal beim disconnect. Daher geht das mit dem Zwischenspeichern nicht so wie ich es immer mache.

Grüß
Leon
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

marvin78

Wenn ich Werte benötige, schreibe ich sie in Variablen. ;) Wenn ich sie notify-übergreifend benötige, dann schreibe ich sie in die readings des Devices, das das notify triggert.

Vielleicht habe ich dich aber auch nicht richtig verstanden. Beschreibe doch mal genauer, was du machst und poste eventuell das notify.

CoolTux

Habe mal meinen Post ergänzt.

Es kommt ein Anruf und der Wert volume soll zwischengespeichert werden bevor er runter gesetzt wird. Ist das geschehen ist das notify ja fertig durchlaufen. Der zwischenwert wird zerfallen.
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

marvin78

#3
Sowas würde ich immer im Device speichern. Bei mir wird bspw. die Lautstärke am AV-Receiver vermindert, wenn ein Anruf kommt und noch ein paar andere Voraussetzungen erfüllt sind. Die ursprüngliche Lautstärke schreibe ich per setreading als OldVolume in das Device für den AV-Receiver (in dem Fall also nicht das Triggerdevice, weil ich auch noch andere Geräte habe, die Aktionen ausführen, wenn es klingelt - dann sind die alten Werte am besten im Zieldevice aufgehoben).  Bei einem disconnect hole ich mir das wieder und setze diesen Wert als volume. Warum willst du das ins notify schreiben?

CoolTux

Keine Ahnung. War nur so eine Idee von mir.   ;D
Ich dachte mir es ist ja auch das Device was das Volume ändern soll, also kann der alte Wert auch da gespeichert werden.

Wollte kein weiteres Reading in den anderen Devices.
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

marvin78

Nun. Das musst du entscheiden. Ich habe die readings gerne an dem Ort, zu dem sie gehören. Also OldVolume in dem Device, dass auch volume als Reading enthält. So lässt sich die ganze Steuerung auch am besten skalieren, wenn nötig.

CoolTux

Klingt logisch und Sinnvoll. Ich werde mal so starten und dann schauen wie das aussieht.

Danke Dir für Deine Gedanken    ;D


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

marvin78

Wenn du das readings nicht drin haben möchtest, kannst du es ja direkt nach Verwendung (disconnect) wieder löschen.

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