Hallo
diese beiden Notify lösen obwohl der ANLAGE_STATUS nicht scharf ist einfach aus .
Komme nicht drauf.......
define Alarm_Bewegung1_on notify ANLAGE_STATUS:scharf|Bewegungsmelder_STATUS:Bewegung_erkannt { system("amixer -c 0 set PCM 100%&") }
define Alarm_Bewegung2_on notify ANLAGE_STATUS:scharf|Bewegungsmelder_STATUS:Bewegung_erkannt set Box_Kueche,Box_Decke,Box_Heizung,Box_Draussen on ;; "/usr/bin/mpg321 /opt/fhem/MP3/BEWEGUNGBEISCHARF.mp3"
Bei einer ODER-Verknüpfung ist Dein ANLAGE_STATUS egal, wenn der Bewegungsmelder etwas erkennt. :P
Jo Blind....
bei dieser einfachen schreibweise müsste ich mit && oder eq ja eigentlich zum Erfolg kommen .
Muss ich nachher ausprobieren da ich jetzt unterwegs bin.
Danke für el Blindo......
Bei mir sieht das so aus:
define act_on_Bewegung notify Bewegung.*:bewegung { if (Value("ANLAGE_STATUS") eq "scharf" && Value("ALARM_STATUS") ne "ALARM") { fhem("set ALARM_STATUS ALARM alarm ")}}
Bewegung.* fasst alle Bewegungsmelder zusammen.
Sobald also irgendeine Bewegung ausgelöst wird, prüfe ich, ob die Anlage scharf und nicht sowieso schon Alarm ist, erst wenn beides zutrifft wird Alarm ausgelöst.
Du hingegen willst quasi umgekehrt rangehen: Du machst die Bedingungen in das notify. Das ist meiner Meinung nach unübersichtlicher. Ich halte immer das Notify-Event möglichst simpel und teste dann danach, ob alle Bedingungen für eine weitere Aktion anliegen.
Das hat allerdings zur Folge, dass tagsüber gut und gerne 200x geprüft wird, ob nicht Alarm ausgelöst werden müsste. Nämlich jedesmal, wenn EINER der Bewegungsmelder irgendwo im Haus auslöst.
Wenn man das verhindern will, gibts auch noch einen eleganten Trick, auf den man erst mal gar nicht kommt.
Und zwar kann man die ganze Mimik erst durch das Einschalten der Alarmanlage ANLEGEN lassen. Etwa in der Art:
define progr_alarm notify alarmanalge:on { fhem("define act_on_Bewegung notify Bewegung.*:bewegung set ALARM_STATUS ALARM alarm")}
und wenn Alarmanlage ausgeschaltet wird, wird das wieder abgeräumt:
define deprogr_alarm notify alarmanalge:off delete act_on_Bewegung
(hat bestimmt noch Fehler, nur zur Illustration auswändig hingerotzt, vor allem sind da noch Klammern überflüssig)
Das bedeutet, es gibt den Code der auslösen könnte nicht mal, wenn die Alarmanlage nicht scharf ist.
Ich wollte das bei mir immer mal so umbauen, bisher keine Zeit gefunden.
Zitat von: Zrrronggg! am 17 April 2015, 17:36:30
Und zwar kann man die ganze Mimik erst durch das Einschalten der Alarmanlage ANLEGEN lassen. Etwa in der Art:
define progr_alarm notify alarmanalge:on { fhem("define act_on_Bewegung notify Bewegung.*:bewegung set ALARM_STATUS ALARM alarm")}
und wenn Alarmanlage ausgeschaltet wird, wird das wieder abgeräumt:
define deprogr_alarm notify alarmanalge:off delete act_on_Bewegung
(hat bestimmt noch Fehler, nur zur Illustration auswändig hingerotzt, vor allem sind da noch Klammern überflüssig)
Das bedeutet, es gibt den Code der auslösen könnte nicht mal, wenn die Alarmanlage nicht scharf ist.
Ich wollte das bei mir immer mal so umbauen, bisher keine Zeit gefunden.
Bis mir disable oder enable ich die Notifys einfach, welche auf die Bewegungsmelder/Türkontakte reagieren sollen einfach.
Je nachdem ob die Anlage ein geschaltet ist oder eben nicht.
Finde ich ein wenig schicker, als define ... und delete.
Aber jeder so wie er mag ;)
Sieht hier für mich wie eine Anfängerthread aus. Für einen Anfänger ist NICHTS "einfach".
Zitatdisable oder enable ich die Notifys einfach
Codebeispiele würden ihm helfen denke ich. ;)
Zitat von: Zrrronggg! am 17 April 2015, 19:03:21
Sieht hier für mich wie eine Anfängerthread aus. Für einen Anfänger ist NICHTS "einfach".
Codebeispiele würden ihm helfen denke ich. ;)
fhem("attr <Name_des_notify> disable 0");
und
fhem("attr <Name_des_notify> disable 1");
8)
Zitat von: Puschel74 am 17 April 2015, 19:24:48
fhem("attr <Name_des_notify> disable 0");
und
fhem("attr <Name_des_notify> disable 1");
8)
Na bitte, kann ich mir doch die Arbeit code zu posten sparen. :)
Danke Puschel.
Aber auch ein Anfänger sollte mit einem Blick in die CommandRef mit dem Begriff "disable" etwas anfangen können.
Just my two cents
Hat Rudi nicht vor kurzem was eingebaut mit enable/disable für at und notify ???
Ich meine irgendwo was gelesen zu haben.
Mal schauen ob ich was finde *kramsuchstöber*
Meinst du eventuell das?
http://forum.fhem.de/index.php/topic,36326.msg286189.html#msg286189
Ist aber mMn hier nicht ganz passend für den Fall.
Nein.
Ich dachte ich hätte was gesehen das Rudi für at und notify ein enable/disable eingebaut hat.
Die Suche fördert nur nichts passendes zutage *grübel*
Irgendwo hab ich was mit enable/disable gelesen *grrrrr* War das WDT ???
Wird ein wenig Off-Topic hier, aber das hier habe ich gefunden:
http://forum.fhem.de/index.php/topic,34769.0.html
Nur eine Diskussion finde ich da nicht zu.
Ich meine es ging da um das rote Fragezeichen bei "Save config", welches bei disable 0 oder disable 1 entsteht.
Nein, das kenn ich auch - das war es auch nicht.
Irgendwo hab ich doch was gelesen mit enable/disable ich finds nur nicht *grummel*
Aber
Zitat von: maxritti am 17 April 2015, 20:07:31
Wird ein wenig Off-Topic hier,
stimmt.
Bevor das ganz abgleitet geht disable 0 und disable 1.
Wobei
set <notifydevice> active
set <notifydevice> inactive
denke ich das richtige wären, da dadurch die Config an sich nicht verändert wird (rotes Fragezeichen), wie es bei einem attr der Fall ist.
Zitat von: maxritti am 17 April 2015, 19:50:59
Meinst du eventuell das?
http://forum.fhem.de/index.php/topic,36326.msg286189.html#msg286189
Ist aber mMn hier nicht ganz passend für den Fall.
Wow, das kannte ich noch nicht. Das würde bei mir durchaus ein paar Zeilen sparen.
Es müsste doch aber mit
define act_on_Bewegung notify ANLAGE_STATUS:scharf { if (Value("BEWEG_Terasse1") eq "motion" ) { fhem("set Box_Kueche,Box_Decke,Box_Heizung,Box_Draussen on ")}}
auch funzen und zwar nur wenn die Alarmanlage scharf ist und der Bewegungsmelder motion sendet oder ?
Eher nicht......Du triggerst dann ja nur auf "ANLAGE_STATUS:scharf".....
Wenn dann der BEWEG_Terasse1 auslöst, bekommt das das notify nicht mit.
lg, Ici
Oder anders: Dein Konstrukt macht nur was, wenn genau in dem Moment, wo du die Anlage scharf schaltest Bewegung auf der Terasse ist.
Hast ud den Artikel im Wiki zu Alarmanlage
http://www.fhemwiki.de/wiki/Alarmanlage
gelesen und dir auch ma das fertige Alarmanalgenmodul
http://www.fhemwiki.de/wiki/Modul_Alarmanlage
angesehen?
Vielleicht noch mal ein Hinweis:
notify löst etwas EINMALIG aus wenn der Zustand sich ändert.
"if" abfragen nach Values wie "eq" or "ne" fragen ab wie der Schaltzustand aktuell ist.
Das ist nicht das Gleiche, daher gehen deine Konstrukte nicht. Du musst das schon so rum machen wie ich das ein paar Posts früher dargestellt habe.In meinem ersten Post habe ich mich ungenau ausgedrückt und den Eindruck vermittelt, als sei das nur "unschön", aber im konkreten Fall so wie du das machst ist es mehr als das: Es funktioniert so rum leider nicht.
Zitat von: Benni am 17 April 2015, 22:36:24
Wobei
set <notifydevice> active
set <notifydevice> inactive
denke ich das richtige wären, da dadurch die Config an sich nicht verändert wird (rotes Fragezeichen), wie es bei einem attr der Fall ist.
Jep, activ/inactiv was (und nicht enable/disable).
Na dann war mein #11 ja doch nicht so falsch ;)
Da ging es ja auch bereits um notify/at: introduce the set inactive/active parameters :)
Ok, sorry.
Dann hab ich mal schlampig drüber gelesen 8)