Cannot load module NETIO230

Begonnen von michaelapp, 22 Februar 2018, 22:42:25

Vorheriges Thema - Nächstes Thema

michaelapp

Hallo zusammen,

installiere mir gerade nen zweiten PI3 mit einem komplett nackten Fhem.

Wollte gerade meine NETIO230 einbinden mit:

define Drucker NETIO230 192.168.178.220 s:4 i:600 h:80 t:1234 u:admin p:xxxxx

Erhalte dann aber die Fehlermeldung:

Cannot load module NETIO230

Hat jemand eine Idee?

Gruß
Michael

dev0


michaelapp

Im log finde ich folgenden Eintrag:

2018.02.22 22:55:48 1: reload: Error:Modul 24_NETIO230 deactivated:
Experimental keys on scalar is now forbidden at ./FHEM/24_NETIO230.pm line 136.

2018.02.22 22:55:48 0: Experimental keys on scalar is now forbidden at ./FHEM/24_NETIO230.pm line 136.


Die Zeile 136 sieht so aus:

  foreach my $socketNum (keys $hash->{SOCKETS})

Bei meiner anderen Fhem installation ist Sie identisch.


michaelapp

ok, hab die Zeile 136 durch diese

  foreach my $socketNum (keys %{ $hash->{SOCKETS}}) {

ersetzt.

Jetzt geht es !

michaelapp

jetzt sehe ich aber in der LogDatei folgende Fehler:

Not a HASH reference at ./FHEM/24_NETIO230.pm line 136.
2018.02.23 00:50:38 2: Qnap: ERROR: [failed: BlockingCall] => A background mechanism did not work as expected. If this error occurs regularly: Set attribute disable_fork = 1

dev0

#5
Meine Güte, was habe ich denn da verzapft?

Leider kann ich es nicht testen, zZ. habe ich weder ein NETIO230, noch Perl >5.18 zum Testen.
Aber tausch mal bitte die ganze foreach Schleife (Zeile 136-141) aus:

  foreach my $num ( @{$hash->{SOCKETS}} ) {
    $sysCmds{"port_wd_$num"} = "socket$num"."_wd";
    $sysCmds{"port_setup_$num"} = "socket$num"."_setup";
    $sysCmds{"port_timer_$num"."_dt"} = "socket$num"."_timer"; #label:date+time
  }


Edit: Bitte verschieb den Thread nach "Sonstiges", Codeschnipsel ist dafür nicht gedacht.

michaelapp

Super, damit funktioniert es wieder wie gewohnt !!

Danke :-)