FHEM Forum

FHEM => Frontends => Thema gestartet von: Otto123 am 16 Februar 2015, 23:29:47

Titel: attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 16 Februar 2015, 23:29:47
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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: betateilchen am 16 Februar 2015, 23:36:25
Offiziell nicht. Und ich will keine Prügel von Rudi.
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 16 Februar 2015, 23:45:52
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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: betateilchen am 16 Februar 2015, 23:47:52
Da gibts nix einzubauen. Insofern brauchst Du Dir auch nix wünschen. Eine Attributänderung IST nunmal eine Änderung, die eigentlich gespeichert werden muss.
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 16 Februar 2015, 23:53:23
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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: betateilchen am 16 Februar 2015, 23:58:51
disable ist immer ein Attribut.
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 17 Februar 2015, 09:09:54
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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag 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.

Gesendet von meinem GT-I9295

Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: frank am 17 Februar 2015, 10:54:57
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.
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: betateilchen am 17 Februar 2015, 10:59:24
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ä?
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 17 Februar 2015, 11:06:57
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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: stromer-12 am 17 Februar 2015, 11:43:03
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

Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Mitch am 17 Februar 2015, 11:48:47
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.
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 17 Februar 2015, 13:17:50
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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: der-Lolo am 17 Februar 2015, 13:34:51
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...
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Mitch am 17 Februar 2015, 15:23:53
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)
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag 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
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Damian am 18 Februar 2015, 12:21:56
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


Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: betateilchen am 18 Februar 2015, 13:37:48
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.
Titel: Antw:attr device disable 1 und das rote Fragezeichen
Beitrag von: Otto123 am 21 Februar 2015, 10:46:41
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