"can not load cul_hm" seit heutigem update ...

Begonnen von the ratman, 27 Mai 2016, 08:32:28

Vorheriges Thema - Nächstes Thema

the ratman

2016.05.27 08:21:05 1: reload: Error:Modul 10_CUL_HM deactivated:
Global symbol "$dName" requires explicit package name at ./FHEM/10_CUL_HM.pm line 7832, <$fh> line 1547.
Global symbol "$dName" requires explicit package name at ./FHEM/10_CUL_HM.pm line 7832, <$fh> line 1547.
BEGIN not safe after errors--compilation aborted at ./FHEM/10_CUL_HM.pm line 7911, <$fh> line 1547.

2016.05.27 08:21:05 0: Global symbol "$dName" requires explicit package name at ./FHEM/10_CUL_HM.pm line 7832, <$fh> line 1547.
Global symbol "$dName" requires explicit package name at ./FHEM/10_CUL_HM.pm line 7832, <$fh> line 1547.
BEGIN not safe after errors--compilation aborted at ./FHEM/10_CUL_HM.pm line 7911, <$fh> line 1547.

2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_Initialize redefined at ./FHEM/10_CUL_HM.pm line 132, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_updateConfig redefined at ./FHEM/10_CUL_HM.pm line 212, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_Define redefined at ./FHEM/10_CUL_HM.pm line 474, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_Undef redefined at ./FHEM/10_CUL_HM.pm line 529, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_Rename redefined at ./FHEM/10_CUL_HM.pm line 548, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_Attr redefined at ./FHEM/10_CUL_HM.pm line 596, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_AttrCheck redefined at ./FHEM/10_CUL_HM.pm line 841, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_prtInit redefined at ./FHEM/10_CUL_HM.pm line 859, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_hmInitMsg redefined at ./FHEM/10_CUL_HM.pm line 864, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_hmInitMsgUpdt redefined at ./FHEM/10_CUL_HM.pm line 901, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_Notify redefined at ./FHEM/10_CUL_HM.pm line 928, <$fh> line 1566.
2016.05.27 08:21:05 1: PERL WARNING: Subroutine CUL_HM_setupHMLAN redefined at ./FHEM/10_CUL_HM.pm line 946, <$fh> line 1566.
2016.05.27 08:21:06 1: PERL WARNING: Subroutine CUL_HM_Parse redefined at ./FHEM/10_CUL_HM.pm line 983, <$fh> line 1566.
2016.05.27 08:21:06 1: PERL WARNING: Subroutine CUL_HM_parseCommon redefined at ./FHEM/10_CUL_HM.pm line 2723, <$fh> line 1566.
2016.05.27 08:21:06 1: PERL WARNING: Subroutine CUL_HM_m_setCh redefined at ./FHEM/10_CUL_HM.pm line 3222, <$fh> line 1566.
2016.05.27 08:21:06 1: PERL WARNING: Subroutine CUL_HM_queueUpdtCfg redefined at ./FHEM/10_CUL_HM.pm line 3233, <$fh> line 1566.
...


ein rückspielen des alten cul hm machts wieder gut ...
→do↑p!dnʇs↓shit←

fruit

Feel free to follow up in German if you prefer

Invers

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

franky08

Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Eckbert0815

#4
Morgen

habe den Fehler auch.

Schnell wieder das Backup eingespielt und es geht wieder.

Gruss

CoolTux

#5
Das ist ein allgemeines Problem. Jeder der heute das Update macht wird in den Fehler laufen. Es fehlt in einer Sub eine lokale Variablendeklaration. Habe schon versucht raus zu finden aus was sich der  Wert der Variablen ergibt. Leider ohne Erfolg.

Hierbei handelt es sich aber nur um eine Routine für Repeater. Man kann also oben in der Sub einfach ein my $dName einfügen. Aber bitte bitte nur wer keine Repeater hat.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Invers

Ein anderer Ausweg ist, das Modul von gestern wieder einzuspielen. Geht auch.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

CoolTux


sub CUL_HM_repReadings($) {   # parse repeater
  my ($hash)=@_;
  my %pCnt;
  my $cnt = 0;
  my $dName = "";                                                                      <---------------     Hier kann man die Variable mit einem leeren Wert als lokale Variable Deklarieren
  return "" if (!$hash->{helper}{peerIDsRaw});
  foreach my$pId(split',',$hash->{helper}{peerIDsRaw}){
    next if (!$pId || $pId eq "00000000");
    $pCnt{$pId.$cnt}{cnt}=$cnt++;
  }
  delete $hash->{repeater} foreach(devspec2array("TYPE=CUL_HM"
                                                .":FILTER=DEF=......"
                                                .":FILTER=repeater=$hash->{NAME}"));
  my @pS;
  my @pD;
  my @pB;
  foreach (split",",(AttrVal($hash->{NAME},"repPeers",undef))){
    my ($s,$d,$b) = split":",$_;
    push @pS,$s;
    push @pD,$d;
    push @pB,$b;
  }
  my @readList;
  push @readList,"repPeer_".sprintf("%02d",$_+1).":undefined" for(0..35);#set default empty
  my @retL;
  my @repAttr;
  push @repAttr," " for(0..35);
  foreach my$pId(sort keys %pCnt){
    my ($pdID,$bdcst,$no) = unpack('A6A2A2',$pId);
    my $fNo = $no-1;#shorthand field number, often used
    my $sName = CUL_HM_id2Name($pdID);
    if ($sName eq $pdID && $pD[$fNo] && $defs{$pD[$fNo]}){
      $sName = $defs{$pD[$fNo]}->{IODev}{NAME}
            if($attr{$defs{$pD[$fNo]}->{IODev}{NAME}}{hmId} eq $pdID);
    }
    my $eS = sprintf("%02d:%-15s %-15s %-3s %-4s",
               $no
              ,$sName
              ,((!$pS[$fNo] || $pS[$fNo] ne $sName)?"unknown":" dst>$pD[$fNo]")
              ,($bdcst eq "01"?"yes":"no ")
              ,($pB[$fNo] && (  ($bdcst eq "01" && $pB[$fNo] eq "y")
                              ||($bdcst eq "00" && $pB[$fNo] eq "n")) ?"ok":"fail")
              );
    $repAttr[$fNo] = "$sName:"
                .((!$pS[$fNo] || $pS[$fNo] ne $sName)?"-":$pD[$fNo])
                .":".($pB[$fNo]?$pB[$fNo]:"-"); 

    $defs{$dName}{repeater} = $hash->{NAME} if ($defs{$dName});

    push @retL,$eS;
    $readList[$fNo]="repPeer_".$eS;
  }
  $attr{$hash->{NAME}}->{repPeers} = join",",@repAttr;
  CUL_HM_UpdtReadBulk($hash,0,@readList);
  return "No Source          Dest            Bcast\n". join"\n", sort @retL;
}
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

#8
Zitat von: Invers am 27 Mai 2016, 10:11:05
Ein anderer Ausweg ist, das Modul von gestern wieder einzuspielen. Geht auch.

Das fehlerhafte Modul ist ja von gestern. Man muß wenn das die Version vom 22.05 einspielen

Siehe hier
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Invers

Sorry, da hab ich mich nicht eindeutig ausgedrückt. Ich meinte natürlich die Version aus dem heutigen Sicherungsverzeichnis. Aber wir meinten das Selbe. :-)
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

steffenp

Auch in hminfo ist ein Fehler:

Undefined subroutine &main::CUL_HM_cleanShadowReg called at /usr/local/FHEM/share/fhem/FHEM/98_HMinfo.pm line 226.

Einspielen einer alten Version hilft

Benni

Zitat von: steffenp am 27 Mai 2016, 11:30:37
Auch in hminfo ist ein Fehler:

Undefined subroutine &main::CUL_HM_cleanShadowReg called at /usr/local/FHEM/share/fhem/FHEM/98_HMinfo.pm line 226.

Nein, in hminfo ist kein Fehler!

Wenn CUL_HM nicht geladen werden kann, dann kann hminfo auch keine Funktion aus CUL_HM verwenden (CUL_HM_cleanShadowReg ist dem Namen nach wohl aus CUL_HM)

oti

Hallo,

ich bekomme trotz zurück gehen auf die ältere Version noch die folgenden Fehlermeldungen:

hmusb: Unknown code A0C60865A32184300000084DD37::-87:hmusb, help me!

Shutdown restart, Reboot, Kompletter Neustart hat alles nicht geholfen...

Gruß
Olaf

oti

Hallo,

mir hat es die fhem.cfg zerlegt, nach Einspielen eines Backups der Datei ist alles wieder gut.

Gruß
Olaf