Fehlermeldung im Log bei FHTTK: Benachrichtigung bei offenem Fenster

Begonnen von Rocky, 12 Februar 2013, 20:29:29

Vorheriges Thema - Nächstes Thema

Rocky

Hallo,

ich habe folgendes Codebeispiel aus http://www.fhemwiki.de/wiki/FHTTK:_Benachrichtigung_bei_offenem_Fenster übernommen und erhalte aber im Log eine Fehlermeldung.
Kann mir jemand einen Tip geben an was das liegen kann?


define n_Fenster notify .*:Window.*(Open|Closed) { \
  my $window_state=ReadingsVal("@", "Window", "nA");;\
  my $deftype=$defs{@}{TYPE};;\
  return if ( $deftype ne "CUL_FHTTK" );;\
  if ( $defs{@}{PREVSTATE} ne $window_state ) { \
    my $fhttk_status=FHTTK_status;;\
    my $subject="FHEM: Fenster @ ".$window_state;; \
    FB_mail('tester@@test.de',$subject,$fhttk_status);;\
    Log 3, "@: Window ".$window_state;;\
  }\
}


Log:
...
2013.02.12 20:25:01 3: n_Fenster return value: Bareword "WZ" not allowed while "strict subs" in use at (eval 111338) line 1.
Bareword "Fenster" not allowed while "strict subs" in use at (eval 111338) line 1.
Bareword "WZ" not allowed while "strict subs" in use at (eval 111338) line 1.
Bareword "Fenster" not allowed while "strict subs" in use at (eval 111338) line 1.

2013.02.12 20:25:02 3: n_Fenster return value: Bareword "Bad" not allowed while "strict subs" in use at (eval 111339) line 1.
Bareword "Fenster" not allowed while "strict subs" in use at (eval 111339) line 1.
Bareword "Bad" not allowed while "strict subs" in use at (eval 111339) line 1.
Bareword "Fenster" not allowed while "strict subs" in use at (eval 111339) line 1.
...


Herzliche Grüße
Markus
Herzliche Grüße Markus
__________________________________
FHEM 5.9 auf Raspberry Pi 4
CUL V1.67 CUL868 und HM-CFG-USB-2
FHT80B, FS20 und Homematic

MisterEltako

Hi!

Hast du nur den von dir geposteten Code aus dem Beispiel eingefügt oder auch die notwendige Funktion in z.B. 99_Utils.pm eingefügt:

in 99_Utils.pm:
sub FHTTK_status {
  my @fhttks = devspec2array("TYPE=CUL_FHTTK");
  my @wopen = ();
  foreach(@fhttks) {
    my $fhttk_window = ReadingsVal($_, "Window", "nA");
    push (@wopen,$_) if ($fhttk_window eq "Open" );
  }
  my $num_wopen = @wopen;
  my $resultstring='';
  if ( $num_wopen gt 0 ) {
    $resultstring="folgende Fenster sind noch offen:\n\n";
    foreach(@wopen) {
      $resultstring.="- ".$_."\n";
      Log 4, "FHTTK_status: ". $_. "noch offen";
    }
  } else {
    $resultstring="alle Fenster sind derzeit geschlossen.";
  }
  return $resultstring;
}

Zudem gehen die Fehlermeldungen im LOg ja mit fehlenden Barwood "WZ" los - kommen aber in deinem geposteten Code gar nicht vor....

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

Rocky

Ja, ich habe FHTTK_status in 99_MyUtils.pm hinzugefügt.
Meine Fensterkontakte habe ich wie folgt definiert:

TYPE: CUL_FHTTK
NAME: WZ.Fenster
Dieser Fensterkontakt wurde in der fhem.cfg so definiert: define WZ.Fenster CUL_FHTTK b2f71b

TYPE: CUL_FHTTK
NAME: Bad.Fenster
Dieser Fensterkontakt wurde in der fhem.cfg so definiert: define Bad.Fenster CUL_FHTTK 16ea3f


Gruß
Markus

Herzliche Grüße Markus
__________________________________
FHEM 5.9 auf Raspberry Pi 4
CUL V1.67 CUL868 und HM-CFG-USB-2
FHT80B, FS20 und Homematic

MisterEltako

Hi!

Ich denke hier musst du noch mehr von deinem Code posten. Der Zusammenhang erschließt sich mir nicht wirklich

Zunächst würde ich versuchen:

define WZ_Fenster CUL_FHTTK b2f71b
define Bad_Fenster CUL_FHTTK 16ea3f

...vielleicht macht's der Punkt in der Definition.

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

Rocky

Hallo MisterEltako,

es war tatsächlich der "." im Name.
Ich habe via rename alle Fensterkontakte umbenannt und dabei den "." durch ein "_" ersetzt und schon läuft das notify einweándfrei durch.

Gruß
Markus
Herzliche Grüße Markus
__________________________________
FHEM 5.9 auf Raspberry Pi 4
CUL V1.67 CUL868 und HM-CFG-USB-2
FHT80B, FS20 und Homematic