FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Markus Hermann am 15 Mai 2013, 19:19:56

Titel: KS300 Regensensor abfragen und...
Beitrag von: Markus Hermann am 15 Mai 2013, 19:19:56
Hallo Forum,

ich möchte ein notify erstellen, dass mir über mein CFM eine Nachricht ausgibt,
wenn eines meiner HM-SEC-SC ein "open" meldet und die KS300 IR: yes meldet.

Das STATE:"open" und die CFM Nachricht ist nicht mein Problem, sondern wie frage ich den Stats der KS300 ab, das es regnet?

Jemand eine Tipp für mich?

Gruß
Markus
 
Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: MisterEltako am 15 Mai 2013, 22:38:48
define Regen notify KS300:IR.* {if($value{KS300} eq "yes") {...mach was...}

MfG, MisterEltako
Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: Markus Hermann am 16 Mai 2013, 09:05:50
Danke für den Tipp, aber bei:

define Regen notify KS300:IR.* {if($value{KS300} eq "no") { fhem("set mp3_play playTone 019,046,040")} }

passiert nichts, nicht mal ein Eintrag im LOG.

Ich prüfe natürlich in der Testphase auf IR:no, da es im Moment nicht regnet, sollte aber trotzdem funktionieren, oder?

Gruß
Markus
Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: MisterEltako am 16 Mai 2013, 14:25:41
Probiere bitte zum Test folgende Zeilen in der Fhem.cfg:

define Regen at +00:00:02 {\
  my $Wert = ReadingsVal("KS300","IR","keinWert"};;\
  Log 3, "Test ergibt Meldung von KS300: $Wert";;\
  if($Wert eq "no") {\
    fhem("set mp3_play playTone 019,046,040");;\
  }\
}

Hilfreich wäre auch deine Definition der KS300 sowie deren Readings. Steht "yes" oder "no" unter Readings "IR" ????
Ich habe leider keine KS300, kann also nur vermuten...

MfG, MisterEltako
Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: Markus Hermann am 16 Mai 2013, 14:44:53
Passiert auch nichts:

Wenn ich über Telnet eingebe:
define Regen at +00:00:02 {\
my $Wert = ReadingsVal("KS300","IR","keinWert"};;\
Log 3, "Test ergibt Meldung von KS300: $Wert";;\
if($Wert eq "no") {\
fhem("set mp3_play playTone 019,046,040");;\
}\
}


erhalte ich die Meldung:
Global global DEFINED Regen
Global global DELETED Regen

Und in FHEM-Web ist auch kein at angelegt.

Gruß
Markus

Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: MisterEltako am 16 Mai 2013, 15:09:30
Kannst du nicht direkt die über FhemWeb und "Edit files" die Fhem.cfg bearbeiten?
Über telnet kann es sein das du auf das Semikolon und den Backslash verzichten musst.

define Regen at +00:00:02 {
my $Wert = ReadingsVal("KS300","IR","keinWert"};
Log 3, "Test ergibt Meldung von KS300: $Wert";
if($Wert eq "no") {
fhem("set mp3_play playTone 019,046,040");
}
}

Tut sich so etwas? Es müsste ja zumindestens ein Logeintrag "Test ergibt Meldung von KS300: $Wert" kommen!

MfG, MisterEltako
Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: Markus Hermann am 16 Mai 2013, 15:42:30
Ich habe das define sowohl in die fhem.cfg als auch in Telnet eingeben.

Telnet ohne backslash:

inform on

define Regen at +00:00:02 {my $Wert = ReadingsVal("KS300","IR","keinWert"};; Log 3, "Test ergibt Meldung von KS300: $Wert";; if($Wert eq "no") {fhem("set mp3_play playTone 019,046,040");;} }

Global global DEFINED Regen
Global global DELETED Regen


Meldung im Log:
2013.05.16 15:41:36.991 3: syntax error at (eval 47161) line 1, at EOF
Global symbol "$Wert" requires explicit package name at (eval 47161) line 1.
Global symbol "$Wert" requires explicit package name at (eval 47161) line 1.
Unmatched right curly bracket at (eval 47161) line 1, at end of line
syntax error at (eval 47161) line 1, near "} }"


Gruß
Markus

Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: MisterEltako am 16 Mai 2013, 17:02:18
Die Meldung im Log ist sehr hilfreich.

Habe zu schnell getippt und statt ")" eine "}" geschrieben...


Zitatdefine Regen at +00:00:02 {my $Wert = ReadingsVal("KS300","IR","keinWert"};; Log 3, "Test ergibt Meldung von KS300: $Wert";; if($Wert eq "no") {fhem("set mp3_play playTone 019,046,040");;}}

muss so lauten:
define Regen at +00:00:02 {my $Wert = ReadingsVal("KS300","IR","keinWert");; Log 3, "Test ergibt Meldung von KS300: $Wert";; if($Wert eq "no") {fhem("set mp3_play playTone 019,046,040");;}}

Klappt es jetzt?

MfG, MisterEltako
Titel: Aw: KS300 Regensensor abfragen und...
Beitrag von: Markus Hermann am 16 Mai 2013, 17:20:57
Jetzt klappt's :-)

2013.05.16 17:09:18.878 3: Test ergibt Meldung von KS300: keinWert

Wenn ich aber {my $Wert = ReadingsVal("KS300","israining","keinWert"}

kommt: Test ergibt Meldung von KS300: no

Ich habe jetzt das so gelöst:

define Regen notify KS300 {if(ReadingsVal("KS300","israining","keinWert") eq "no") { fhem("set mp3_play playTone 019,046,040")} }

Jetzt muss ich noch && HM-SEC-SC eq "open" alles ist bestens.

Vielen Dank für die Hilfe.


Gruß
Markus