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
Es fehlt ;; nach fhem (set ...)
@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");;
}
}
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";;
}
fhem "set AlarmArm0 off; set AlarmArm1 off; set AlarmDisarm on";;
So sollte es auch gehen.
Im DEF muss man auch nicht mit ;; rumwerfen - es genügt ;
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 :-\
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,
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
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.
@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
@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 ;-)
Zitat von: Praktiker am 23 Januar 2016, 11:16:07
Kannst du mir nen Perl Buch empfehlen?
https://wiki.selfhtml.org/wiki/Perl (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.
@marvin78
Danke, Link ist nun auf dem Desktop.
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
Hier der Link:
http://www.fhemwiki.de/wiki/Notify#Einfache_UND_Funktion
(http://www.fhemwiki.de/wiki/Notify#Einfache_UND_Funktion)
Ok danke Dir. Komisch. Muss nachher mal schauen wer das geschrieben hat.
Darüber der Text ist korrekt, darunter der Text ist korrekt. Na mal schauen.
Grüße
Im Wiki sind viele Codes zum Einfügen direkt in die Config. Selbst im Einsteiger-PDF ist das der Fall. Es ist ein heiloses Durcheinander.
Dann sollten wir da mal versuchen klare Richtlinien rein zu bekommen. Ich denke mal vieles ist historisch bedingt.
Ha - viel Spaß.
Ich würde eher hergehen und im Wiki die Beiträge entsprechend kennzeichnen.
Ihr kennt doch die Beiträge zur Einstellung - fhem.cfg direkt oder per Oberfläche bearbeiten.