[erleddischd] ? Neuer ? DOIF - Logbuch - Fehlereintrag

Begonnen von Ralph, 15 Oktober 2021, 16:34:44

Vorheriges Thema - Nächstes Thema

Ralph

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 ?
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

Damian

Zitat von: Ralph am 15 Oktober 2021, 16:34:44
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

Ralph

Zitat von: Damian am 16 Oktober 2021, 10:31:59
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