Autor Thema: [erleddischd] ? Neuer ? DOIF - Logbuch - Fehlereintrag  (Gelesen 357 mal)

Offline Ralph

  • Sr. Member
  • ****
  • Beiträge: 632
  • ... mit RegExp auf Kriegsfuß.
    • DC5UN
[erleddischd] ? Neuer ? DOIF - Logbuch - Fehlereintrag
« am: 15 Oktober 2021, 16:34:44 »
Hallo, ich bitte um Nachhilfe, ich kapiers nicht.

Seit - ich weiß es leider nicht genau, könnte? mit einem Update am Monatsanfang zusammen hängen - spinnt eine DOIF bei mir.

defmod di_o2spot DOIF ([o2ok:"^present$"]) {my $count=0;;;;\
my $str = (GetHttpFile("o2.spot", "/cgi-bin/mycgi?ACT=GetLTECellinfo"));;;;\
if ( $str ne "" ) {my @val = split(/,/,$str);;;;\
  foreach('RSRP' , 'RSRQ' , 'RSSI', 'TAC' , 'PCI' , 'CELL-ID' , 'EARFCN'){\
    fhem("setreading o2spot $_ $val[$count]");;;;\
    $count++;;;;}\
if ( ( Value("o2spot") ne 18096129) ){\
     schrdatei((ReadingsTimestamp("di_o2spot","state","0")."  $str"),'>>/opt/fhem/log/cell-id.txt');;;;\
       fhem "set Y_LED blink 1 50" ;;;;\
       fhem "set o2spot_Rel off" ;;;;\
       } \
  else {fhem "set Internet statusRequest" ;;;;}\
   }\
\
} DOELSE {schrdatei((ReadingsTimestamp("o2ok","state","0"))."   ".(ReadingsVal("o2ok","state","0"))."\n\n",'>>/opt/fhem/log/cell-id.txt');;;;}\
\
\

Der zu holende String sieht üblicherweise so aus:
-88,-8,-64,47130,416,18096129,6200,0,0,0,0,0,0,0

Im Logbuch ist neuerdings ( das ging schon mal fehlerfrei) vermerkt:
2021.10.15 15:01:34 3: eval: {my $count=0;; my $str = (GetHttpFile("o2.spot", "/cgi-bin/mycgi?ACT=GetLTECellinfo"));; if ( $str ne "" ) {my @val = split(/,/,$str);;   foreach('RSRP' , 'RSRQ' , 'RSSI', 'TAC' , 'PCI' , 'CELL-ID' , 'EARFCN'){     fhem("setreading o2spot $_ $val[$count]");;     $count++;;} if ( ( Value("o2spot") ne 18096129) ){      schrdatei((ReadingsTimestamp("di_o2spot","state","0")."  $str"),'>>/opt/fhem/log/cell-id.txt');;        fhem "set Y_LED blink 1 50" ;;        fhem "set o2spot_Rel off" ;;        }    else {fhem "set Internet statusRequest" ;;}    }  }
2021.10.15 15:01:34 1: PERL WARNING: Use of uninitialized value $str in string ne at (eval 192445) line 1.

Aber was bitte mache ich denn falsch ?
« Letzte Änderung: 16 Oktober 2021, 18:37:59 von Ralph »
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen sowie 2 Flamingo 433MHz RM.

Online Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 8827
Antw:? Neuer ? DOIF - Logbuch - Fehlereintrag
« Antwort #1 am: 16 Oktober 2021, 10:31:59 »
2021.10.15 15:01:34 3: eval: {my $count=0;; my $str = (GetHttpFile("o2.spot", "/cgi-bin/mycgi?ACT=GetLTECellinfo"));; if ( $str ne "" ) {my @val = split(/,/,$str);;   foreach('RSRP' , 'RSRQ' , 'RSSI', 'TAC' , 'PCI' , 'CELL-ID' , 'EARFCN'){     fhem("setreading o2spot $_ $val[$count]");;     $count++;;} if ( ( Value("o2spot") ne 18096129) ){      schrdatei((ReadingsTimestamp("di_o2spot","state","0")."  $str"),'>>/opt/fhem/log/cell-id.txt');;        fhem "set Y_LED blink 1 50" ;;        fhem "set o2spot_Rel off" ;;        }    else {fhem "set Internet statusRequest" ;;}    }  }
2021.10.15 15:01:34 1: PERL WARNING: Use of uninitialized value $str in string ne at (eval 192445) line 1.

Die Warnung bedeutet dass $str nicht belegt ist, dh. GetHttpFile("o2.spot", "/cgi-bin/mycgi?ACT=GetLTECellinfo") hat nichts geliefert.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Offline Ralph

  • Sr. Member
  • ****
  • Beiträge: 632
  • ... mit RegExp auf Kriegsfuß.
    • DC5UN
Antw:? Neuer ? DOIF - Logbuch - Fehlereintrag
« Antwort #2 am: 16 Oktober 2021, 18:37:18 »
Die Warnung bedeutet dass $str nicht belegt ist, dh. GetHttpFile("o2.spot", "/cgi-bin/mycgi?ACT=GetLTECellinfo") hat nichts geliefert.

Jaul, Danke, oh Sch...., Asche über mein Haupt, DAS hatte ich nicht bedacht.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen sowie 2 Flamingo 433MHz RM.

 

decade-submarginal