Hallo,
ich verwende attr <notify> disable 0 um z. B. ein notify zeitweise zu deaktivieren.
Das führt dazu, dass mein rotes Fragezeichen quasi immer da ist, weil Attribute setzen als Strukturänderung gewertet wird.
Kann ich ein notify anders deaktivieren? Oder irgendwie bewirken, dass es keine Strukturänderung wird?
Gruß Otto
Offiziell nicht. Und ich will keine Prügel von Rudi.
ok :)
Ich bin zufrieden wenn ich nix falsch mache :)
Vielleicht kann man das ja irgendwie mal mit "einbauen". Soll ich da irgendwie einen Wunsch draus machen?
Ich liebe ja das rote Fragezeichen, mir ist es gerade am Anfang oft passiert, dass ich mich nach einem update shutdown restart gewundert habe das etwas fehlt :)
Gruß Otto
Da gibts nix einzubauen. Insofern brauchst Du Dir auch nix wünschen. Eine Attributänderung IST nunmal eine Änderung, die eigentlich gespeichert werden muss.
naja für mich ist ja die Attribute Änderung in dem Fall nur die einzige Möglichkeit die ich kenne.
setstate bewirkt bei einem notify nicht dasselbe, oder?
setstate <notify> disabled oder setstate <notify> active kann ich machen, aber ich bin nicht sicher was da passiert. Und gefunden habe ich setstate nur für devices...
Gruß Otto
disable ist immer ein Attribut.
Moin :)
da habe ich jetzt ne Weile drüber nachgedacht und Du hast völlig Recht. Genaugenommen muss ich ja z.B. auch erst save config machen damit das notify beim restart wieder in dem Status ist wie es sein soll. Geht mit dem Attribute nicht anders.
Und genau dazu ist ja das Fragezeichen da: ich bekomme den Hinweis, kann gucken und entscheiden ob ich jetzt was mache oder nicht.
Danke :)
Gruß Otto
Kannst ja ein Reading verwenden zur Steuerung deines Notifys. Reading gesetzt dann Notify gleich beenden.
Gesendet von meinem GT-I9295
Zitatich verwende attr <notify> disable 0 um z. B. ein notify zeitweise zu deaktivieren.
Das führt dazu, dass mein rotes Fragezeichen quasi immer da ist, weil Attribute setzen als Strukturänderung gewertet wird.
dann baue doch nach dem setzen des disable ein save in deinen code mit ein.
Zitat von: stromer-12 am 17 Februar 2015, 09:40:21
Kannst ja ein Reading verwenden zur Steuerung deines Notifys. Reading gesetzt dann Notify gleich beenden.
Hä?
Zitat von: frank am 17 Februar 2015, 10:54:57
dann baue doch nach dem setzen des disable ein save in deinen code mit ein.
Das ist ne ziemlich simple Idee :) Danke!
Gruß Otto
Zitat von: betateilchen am 17 Februar 2015, 10:59:24
Hä?
Na das disable verhindert die Ausführung des Notifys. Also kann kann man doch als erste Anweisung im Notify ein "return if (ReadingsVal(<Device>,<Reading>,0));" einsetzen.
Gesendet von meinem GT-I9295
Ist denn das der notify, den Du über einen DOIF diasblest (wie in dem anderen Thread geschrieben)?
Den würde ich mal gerne sehen, weil das doch doppelt gemoppelt ist.
Den kann man bestimmt in eine Definition umbauen, dann hast Du auch das Thema mit dem ? nicht mehr.
Hallo Mitch
Der notify jetzt schon mit save am Ende :)
LichtBWaSw_02:on set Sonos_BadWanne Volume 15 1;set Sonos_Bad Volume 15 1;set Sonos_Kueche Volume 15 1;attr nty_GutenMorgen disable 1;save
Das DOIF
([05:45-11:00]) (attr nty_GutenMorgen disable 0) DOELSE (attr nty_GutenMorgen disable 1)
In dem DOIF würde ich wahrscheinlich mal noch mehr machen, damit ist es wahrscheinlich nicht doppelt gemoppelt :)
Aber wenn Du ne Idee hast, gerne. Eigentlich habe ich ein paar Dinge die ich Zeitabhängig oder Anwesenheitsabhängig aktivieren/deaktivieren will. Was besseres ist mir noch nicht eingefallen.
Ich weiß, die drei Sonos aufrufe könnte ich auch noch zusammenfassen. 8)
Gruß Otto
ich habe ja ähnliche "problemchen" da ich auch aus dem Code heraus disable einsetze. Vielleicht könnte man ja auch auf die unsave liste exakter eingehen und nur teile automatisch "wegspeichern" z.b. nur änderung die disable attribute betreffen.
Ein weiteres problem verursacht auch die Pageswap funktion aus dem Wiki - wenn die funktion benutzt wurde gibt es auch einträge im rotem fragezeichen.
Der Maxscanner sorgt nach jedem neustart für einträge...
Ich würde das mal so probieren:
DOIF ([05:45-11:00] and [LichtBWaSw_02] eq "on") (set Sonos_BadWanne Volume 15 1,set Sonos_Bad Volume 15 1,set Sonos_Kueche Volume 15 1)
Guten Morgen Mitch,
erstmal vielen Dank. Ich habe auf alle Fälle gelernt das DOIF auch event getriggert wird, dass war mir bisher nicht bewusst. event war in meinem Kopf mit notify verdrahtet. ::)
Dabei steht es in der ersten Zeile in der Referenz! 8)
Ich habe mich mal etwas damit beschäftigt, da der Effekt noch nicht der ist den ich wollte:
Mit dem DOIF von Dir geht jetzt in dem Zeitraum jedesmal das "Radio" an wenn man das Licht an macht und irgendwer das Radio mal wieder aus macht. Ich wollte, dass es genau einmal am Tag passiert.
Jetzt steht ja in der Referenz, dass das DOIF nur einmal ausgeführt wird. Das ist aber wahrscheinlich nur beim gleichen event / Zustand der Fall. Ich habe ja keine FB wie im Beispiel der Referenz sondern einen Schalter, der geht on und später wieder off. Beim nächsten on läuft das DOIF wieder.
Verstehe ich das richtig?
Gruß Otto
Zitat von: Otto123 am 18 Februar 2015, 11:24:56
Guten Morgen Mitch,
erstmal vielen Dank. Ich habe auf alle Fälle gelernt das DOIF auch event getriggert wird, dass war mir bisher nicht bewusst. event war in meinem Kopf mit notify verdrahtet. ::)
Dabei steht es in der ersten Zeile in der Referenz! 8)
Ich habe mich mal etwas damit beschäftigt, da der Effekt noch nicht der ist den ich wollte:
Mit dem DOIF von Dir geht jetzt in dem Zeitraum jedesmal das "Radio" an wenn man das Licht an macht und irgendwer das Radio mal wieder aus macht. Ich wollte, dass es genau einmal am Tag passiert.
Jetzt steht ja in der Referenz, dass das DOIF nur einmal ausgeführt wird. Das ist aber wahrscheinlich nur beim gleichen event / Zustand der Fall. Ich habe ja keine FB wie im Beispiel der Referenz sondern einen Schalter, der geht on und später wieder off. Beim nächsten on läuft das DOIF wieder.
Verstehe ich das richtig?
Gruß Otto
Dann musst du einfach einen zweiten Zustand definieren:
DOIF ([05:45-11:00] and [LichtBWaSw_02] eq "on")
(set Sonos_BadWanne Volume 15 1,set Sonos_Bad Volume 15 1,set Sonos_Kueche Volume 15 1)
DOELSEIF ([11:01])
Jetzt wechselt das Modul den Zustand um 11:01 Uhr und ist damit scharf für das nächste Schalten erst am nächsten Tag.
Das Attribut do always darf nicht gesetzt sein.
Gruß
Damian
warum steuerst Du denn das disable des notify nicht einfach per at?
Nehmen wir mal an, das notify ist standardmäßig "enabled".
define n_disable at * 05:30:00 attr <notify> disable toggle;;save;;
Danach ist das notify disabled ohne dass ein rotes Fragezeichen erscheint.
Um 11 Uhr schaltest Du das notify wieder an:
define n_disable at * 11:00:00 attr <notify> disable toggle;;save;;
usw.
Noch einfacher wäre es, das notify einfach mit "disabledForIntervals" zu versehen, wenn die Zeiten ohnehin immer die gleichen sind. Dann erscheint auch kein rotes Fragezeichen.
Hallo Daminan und betateilchen,
danke für eure Ideen. Ich habe mich auch noch mit DisabledForIntervals beschäftigt.
Mein eigentlicher Frageansatz ist ja einfach mit dem save zu lösen.
Ich lasse das erstmal mit meinem zweistufigen Konstrukt wie es ist, dass macht genau was es soll. Alle anderen versuche hatten nicht das Ergebnis, dass das notify genau einmal am Tag laufen soll.
Und merke: Wenn man im Programm ein Attribute setzt=Strukturänderung macht sollte man ein save hinterher setzen.
Danke und Gruß Otto