Notify mit If abfrage will nicht ;-(

Begonnen von Praktiker, 22 Januar 2016, 08:54:52

Vorheriges Thema - Nächstes Thema

Praktiker

Ich habe ein Notify welches auf alle Remote Fernbedieungen reagiert und die Alarmanlage unscharf schaltet, das geht auch.
Nun wollte ich das die Aktion nur ausgeführt wird wenn die eine oder die andere Bedingung erfüllt ist.
Leider macht das Notify so aber nix mehr.
Ich sehe das es getriggert wird, im Log ist nichts, also kein Fehler, der Dummy AlarmArm1 ist zum Zeitpunkt on


(HM_XXXXXX|HM_XXXXXX|HM_XXXXXX|HM_XXXXXX)_open:trigger:.*|(HM_XXXXXX|HM_XXXXXX|HM_XXXXXX|HM_XXXXXX)_unlock:trigger:.* {
my $A0 = Value("AlarmArm0");;
my $A1 = Value("AlarmArm1");;

if ($A0 eq "on" || $A1 eq "on")
  {
    fhem ("set AlarmArm0 off ;; set AlarmArm1 off ;; set AlarmDisarm on")
  }
}

Was mach ich falsch?

Grüsse aussm Pott
Praktiker

Ellert


Praktiker

@Ellert
Habe es so geändert, leider ohne erfolg
my $A0 = Value("AlarmArm0");;
my $A1 = Value("AlarmArm1");;

if ($A0 eq "on" || $A1 eq "on")
{
fhem ("set AlarmArm0 off ;; set AlarmArm1 off ;; set AlarmDisarm on");;
}
}

Praktiker

Hab noch ein Bisschen getetset
So gehts:
my $A0 = Value("AlarmArm0");;
my $A1 = Value("AlarmArm1");;

if ($A0 eq "on" || $A1 eq "on")
{
fhem "set AlarmArm0 off";;
fhem "set AlarmArm1 off";;
fhem "set AlarmDisarm on";;
}

CoolTux


fhem "set AlarmArm0 off; set AlarmArm1 off; set AlarmDisarm on";;


So sollte es auch gehen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Puschel74

Im DEF muss man auch nicht mit ;; rumwerfen - es genügt ;
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

CoolTux

Leider macht der TE es nicht im Def. Was in persönlich sehr sehr schade finde. Würde so einiges leichter machen. Stattdessen werden include cfg Dateien angelegt weil man es mal in einem hundert Jahre alten Blog so gelesen hat  :-\
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Puschel74

#7
Zitat von: CoolTux am 22 Januar 2016, 18:52:42
Leider macht der TE es nicht im Def.
Wenn ich mir den ersten Beitrag anschaue sieht er mir nach dem DEF aus (von den übernommen ;; abgesehen).
Warum?
Weil das define <name> notify fehlt und der Rest sieht nach konsistentem (DEF) Code aus.
ZitatStattdessen werden include cfg Dateien angelegt weil man es mal in einem hundert Jahre alten Blog so gelesen hat
Sorry aber ich seh weder inculdes noch das es "aus alten Blogs" übernommen" wurde.

Edith: Einzig was mich stören würde sind die Leerzeilen und die "gewöhnungsbedürftige" Zeichensetzung.
Syntaxfehler resp. Codefehler sollten sich aber im Logfile bemerkbar machen,
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Praktiker

#8
Nabend,
also ich habe die Eingaben über das Web Interface gemacht und nicht über nen Editor.
Falls ich da noch ein paar ";" löschen kann gerne ;-)
Aktuel sieht es so aus (Im Web Interface)

(HM_xxxxxx|HM_xxxxxx|HM_xxxxxx|HM_xxxxxx)_open:trigger:.*|(HM_xxxxxx|HM_xxxxxx|HM_xxxxxx|HM_xxxxxx)_unlock:trigger:.* {
my $A0 = Value("AlarmArm0");;
my $A1 = Value("AlarmArm1");;

if ($A0 eq "on" || $A1 eq "on")
{
fhem "set AlarmDisarm on";;
fhem "set AlarmArm0 off";;
fhem "set AlarmArm1 off";;
}
}


Für mich es es immer noch schwierig aus der fülle von Infos im Web die richtige Schreibweise zu finden... da die Angeben offt auch widersprüchlich sind.
Aber ertmal Danke an alle die bereit sind zu helfen ;-)
Grüsse Praktiker




Puschel74

#9
Und was klappt jetzt nicht?

Sorry, aber ich hatte heute schon in einem Beitrag gebeten Code und etwaige Fehlermeldungen - in EINEM Beitrag - zu posten.
Tut mir leid aber ich bin zu faul um mir Infos zu Euren Fehlern zusammen zu suchen.
Alles in EINEM Beitrag zu finden ist für die Helfenden einfacher und schlussendlich willst ja DU Hilfe (und nicht wir).
Ich bitte Euch Anfänger auch Beiträge die nicht direkt mit euren "Problemen" zu tun haben zu "durchforsten".
Es sei den ihr könnt Eure Probleme präzise definieren aber raten ist leider - *glaskugel*

P.S.: Die Helfenden machen das hier freiwillig - meine Familie ist mir wichtiger als irgendwelche "Fehler" die nichtmal richtig beschrieben werden.
Hinweise wie man Fehler vielleicht beschreiben kann liefere auch ich nur in meiner Freizeit - GN8.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

CoolTux

#10
@Puschel
Das mit dem include Files war allgemein gehalten. Viele die ich kenne und in den cfg file runmdoktern haben gleich noch die alte Weisheit der Includefiles mitgenommen.



(HM_xxxxxx|HM_xxxxxx|HM_xxxxxx|HM_xxxxxx)_open:trigger:.*|(HM_xxxxxx|HM_xxxxxx|HM_xxxxxx|HM_xxxxxx)_unlock:trigger:.* {

    my $A0 = Value("AlarmArm0");
    my $A1 = Value("AlarmArm1");

    if( $A0 eq "on" || $A1 eq "on" ) {
        fhem "set AlarmDisarm on; set AlarmArm0 oft; set AlarmArm1 off";
     }
}


Und von der Liebsten vielleicht ein Perl Buch schenken lassen.
Doppelte Komma sind falsch an dieser Stelle.

Sollte das nicht gehen, dann poste bitte die Fehlermeldung vom Logfile.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Praktiker

@Puschel
Ich bin dankbar das es Leute wie dich hier im Forum gibt die teile ihrer Freizeit opfern um (fhem,Perl) Anfängern wie mir zu helfen.
An dieser Stelle erstmal Danke.
Nun zum eigentlichen Thema:
Ich habe im 1. Post geschrieben das beim Triggern des Notify kein Eintrag im log zu finden ist. Den "Fehler" bzw. das Fehlverhalten habe ich meiner Meinung nach genau beschrieben, falls nicht versuche ich es beim nächsten mal besser zu machen.
@CoolTux
Habe deinen Vorschlag ohne den Tippfehler übernommen und geht, danke.
Habe daraus gelernt das man die Sachen die im Wiki stehen entsprechend Interpretieren muss ob DEF oder Editor...
Kannst du mir nen Perl Buch empfehlen?
An Programmiersprachen bin ich momentan nur fit in IEC IEC 61131-3 und Delphi XE10
Und nochmal danke an die helfende Gemeinde für die Geduld mit uns Deppen ;-)

marvin78

Zitat von: Praktiker am 23 Januar 2016, 11:16:07

Kannst du mir nen Perl Buch empfehlen?


https://wiki.selfhtml.org/wiki/Perl

Zitat von: Praktiker am 23 Januar 2016, 11:16:07Habe daraus gelernt das man die Sachen die im Wiki stehen entsprechend Interpretieren muss ob DEF oder Editor...

Deshalb ist das Wiki teilweise echt grausam. Meist reicht es aber aus, wenn man die Doku richtig liest und anwendet.

Praktiker

@marvin78
Danke, Link ist nun auf dem Desktop.

CoolTux

Gib mal bitte ein Link zum Wikieintrag wo Du das her hast. Ich schaue mir das mal an. So geht das jedenfalls gar nicht.

Und hier ist niemand ein Depp so lange er lernwillig ist. Und das muss man nunmal sein sonst kommt man mit so einem Projekt nicht weiter. Da kann man sonst auch Qivikon nehmen.

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net