KS300 Regensensor abfragen und...

Begonnen von Markus Hermann, 15 Mai 2013, 19:19:56

Vorheriges Thema - Nächstes Thema

Markus Hermann

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
 
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

MisterEltako

define Regen notify KS300:IR.* {if($value{KS300} eq "yes") {...mach was...}

MfG, MisterEltako
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Markus Hermann

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
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

MisterEltako

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
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Markus Hermann

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

CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

MisterEltako

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
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Markus Hermann

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

CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

MisterEltako

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
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

Markus Hermann

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
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR