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
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.
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.
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?
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.
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.
Klingt logisch und Sinnvoll. Ich werde mal so starten und dann schauen wie das aussieht.
Danke Dir für Deine Gedanken ;D
Grüße
Wenn du das readings nicht drin haben möchtest, kannst du es ja direkt nach Verwendung (disconnect) wieder löschen.
Das ist natürlich ein guter Weg.