Hauptmenü

Variablen Wert anzeigen

Begonnen von Charity, 12 Juni 2014, 13:48:31

Vorheriges Thema - Nächstes Thema

Charity

Ich bastle gerade an einer AlarmAnlagen Lösung und hab da mal folgende Frage :

Ich arbeite bei meiner AlarmAnlage mit verschiedenen Variablen um auf bestimmte Ereignisse unterschiedlich zu reagieren.

Gibt es in Fhem eine Möglichkeit die aktuellen Werte dieser definierten Variablen anzuzeigen ?

Das würde mir bei der weiteren Umsetzung ungemein helfen.

Danke

marvin78

In welcher Form hast du denn die Variablen vorliegen? Schreibe sie doch in ein dummy und Zeige sie entweder direkt oder mit einer ReadingsGroup an.

Charity

#2
Folgendes möchte ich umsetzen :

Ich habe an meinen Türen und Fenstern Sensoren, die mir mittels Magnetkontakt den Status über "Offen" oder "Zu" liefern. Und auf den wichtigen Türen und Fenstern habe ich noch zusätzlich Vibrationssensoren die mir ebenfalls ein "Offen" oder "Zu" liefern (wenn Vibration => offen)

Nun möchte ich wenn ich die Alarmanlage auf INT aktiviere mir den Hinweis ausgeben dass das Fenster geöffnet ist und bei diesem Fenster nur mehr auf den Vibrationskontakt reagieren soll.
(Einfach um in der Nacht lüften zu können und dennoch die Alarmanlage aktivieren zu können)


define act_on_Fenster_SZ_open notify Fenster_SZ:offen { my $curWindow_SZ_State = true }
define act_on_Fenster_SZ_close notify Fenster_SZ:zu { my $curWindow_SZ_State = false }

define act_on_Fenster_WZ_open notify Fenster_WZ:offen { my $curWindow_WZ_State = true }
define act_on_Fenster_WZ_close notify Fenster_WZ:zu { my $curWindow_WZ_State = false }


Hier setze ich die Variable bei Änderung des Status des jeweiligen Fensters


define nftAlertAlarmInt notify AlarmAnlage:int {\
if ( Value ("EP_AlarmAnlage") eq "true"){\
if ( $curWindow_SZ_State eq "true" ) { fhem ("set myPushOver msg 'Alarm Anlage !!' 'Das Schlafzimmer Fenster ist geöffnet !' '' 0 ''") }} ;;\
if ( $curWindow_SZ_State eq "true" ) { fhem ("set myPushOver msg 'Alarm Anlage !!' 'Das Schlafzimmer Fenster ist geöffnet !' '' 0 ''") }} ;;\
if ( $curWindow_WZ_State eq "true" ) { fhem ("set myPushOver msg 'Alarm Anlage !!' 'Die Terrassentür ist geöffnet !' '' 0 ''") }} ;;\
if ( $curWindow_WZ_State eq "true" ) { fhem ("set myPushOver msg 'Alarm Anlage !!' 'Die Terrassentür ist geöffnet !' '' 0 ''") }} ;;\
fhem "set EP_AlarmAnlage  false";;\
fhem "set CUL_HM_SchaltAktor_1_Switch_4 on";;\
fhem "define at_EP_AlarmAnlage  at +00:00:15 set EP_AlarmAnlage true";;\
}\
}


Wenn ich nun den Status der AlarmAnlage durch verschiedene Einflüsse [Web GUI, Remote Control] auf INT setze bekomme ich den Hinweis und aktiviere eine LED zur Anzeige

Und während ich das hier schreibe fällt mir ein Knick in meiner Logik ein :-(
(mhmmmm)

Mit diesem

define act_on_Windows_Int notify Fenster.*offen { \
if ( Value("AlarmAnlage") eq "int" ) { fhem ("set AlarmStatus Alarm;;set myPushOver msg 'Alarm Alarm !!' 'Die Alarmanlage ist intern aktiviert und es wurde die Tür @ geöffnet !' '' 0 ''") }}

reagiere ich auf das öffnen eines der Fenster (möchte nicht jedes Einzeln abfragen) und setze den Status des dummy's AlarmStatus auf Alarm

Nun sobald aber das Fenster offen ist, würde ich wohl ständig in dieses notify reinfallen = nicht gut.

also hier muss ich wohl noch etwas feilen.

Deswegen meine Idee mit den Variablen