seit update heute
ZitatError messages while initializing FHEM:
configfile: Cannot load module CUL_HM
Cannot load module CUL_HM
Cannot load module CUL_HM
Cannot load module CUL_HM
......
Cannot load module CUL_HM
Zitat2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Initialize redefined at ./FHEM/10_CUL_HM.pm line 131.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_updateConfig redefined at ./FHEM/10_CUL_HM.pm line 213.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Define redefined at ./FHEM/10_CUL_HM.pm line 465.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Undef redefined at ./FHEM/10_CUL_HM.pm line 520.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Rename redefined at ./FHEM/10_CUL_HM.pm line 539.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Attr redefined at ./FHEM/10_CUL_HM.pm line 576.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_AttrCheck redefined at ./FHEM/10_CUL_HM.pm line 860.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_prtInit redefined at ./FHEM/10_CUL_HM.pm line 882.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_hmInitMsg redefined at ./FHEM/10_CUL_HM.pm line 887.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_hmInitMsgUpdt redefined at ./FHEM/10_CUL_HM.pm line 924.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Notify redefined at ./FHEM/10_CUL_HM.pm line 951.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_setupHMLAN redefined at ./FHEM/10_CUL_HM.pm line 964.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Parse redefined at ./FHEM/10_CUL_HM.pm line 1001.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_parseCommon redefined at ./FHEM/10_CUL_HM.pm line 2639.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_m_setCh redefined at ./FHEM/10_CUL_HM.pm line 3137.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_queueUpdtCfg redefined at ./FHEM/10_CUL_HM.pm line 3148.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_parseSDteam redefined at ./FHEM/10_CUL_HM.pm line 3166.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_updtSDTeam redefined at ./FHEM/10_CUL_HM.pm line 3224.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_pushEvnts redefined at ./FHEM/10_CUL_HM.pm line 3245.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Get redefined at ./FHEM/10_CUL_HM.pm line 3272.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_Set redefined at ./FHEM/10_CUL_HM.pm line 3540.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_valvePosUpdt redefined at ./FHEM/10_CUL_HM.pm line 5259.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_valvePosTmr redefined at ./FHEM/10_CUL_HM.pm line 5326.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_weather redefined at ./FHEM/10_CUL_HM.pm line 5358.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_infoUpdtDevData redefined at ./FHEM/10_CUL_HM.pm line 5367.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_getConfig redefined at ./FHEM/10_CUL_HM.pm line 5417.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_calcDisWmSet redefined at ./FHEM/10_CUL_HM.pm line 5480.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_calcDisWm redefined at ./FHEM/10_CUL_HM.pm line 5498.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_RemoveHMPair redefined at ./FHEM/10_CUL_HM.pm line 5543.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_pushConfig redefined at ./FHEM/10_CUL_HM.pm line 5553.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_PushCmdStack redefined at ./FHEM/10_CUL_HM.pm line 5633.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_ProcessCmdStack redefined at ./FHEM/10_CUL_HM.pm line 5647.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_respWaitSu redefined at ./FHEM/10_CUL_HM.pm line 5662.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_responseSetup redefined at ./FHEM/10_CUL_HM.pm line 5688.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_sndIfOpen redefined at ./FHEM/10_CUL_HM.pm line 5823.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_SndCmd redefined at ./FHEM/10_CUL_HM.pm line 5861.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_statCnt redefined at ./FHEM/10_CUL_HM.pm line 5936.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_statCntRfresh redefined at ./FHEM/10_CUL_HM.pm line 5967.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_respPendRm redefined at ./FHEM/10_CUL_HM.pm line 5984.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_respPendTout redefined at ./FHEM/10_CUL_HM.pm line 5999.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_respPendToutProlong redefined at ./FHEM/10_CUL_HM.pm line 6094.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_FWupdateSteps redefined at ./FHEM/10_CUL_HM.pm line 6100.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_FWupdateBTo redefined at ./FHEM/10_CUL_HM.pm line 6168.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_FWupdateEnd redefined at ./FHEM/10_CUL_HM.pm line 6180.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_FWupdateSpeed redefined at ./FHEM/10_CUL_HM.pm line 6202.
2015.08.30 10:34:19 1: PERL WARNING: Subroutine CUL_HM_FWupdateSim redefined at ./FHEM/10_CUL_HM.pm line 6213.
Bestätigt.
Ist bei mir auch so...
:(
Ist bei mir auch so.
Verwendet wieder die alte Version 9104 vom 2015-08-22.
Dito.
Dito
Der Fehler scheint eine undefinierte Variable in Zeile 6232 zu sein
2015.08.30 14:45:47.420 1: reload: Error:Modul 10_CUL_HM deactivated:
Global symbol "$nAttr" requires explicit package name at ./FHEM/10_CUL_HM.pm line 6232, <$fh> line 967.
Global symbol "$nAttr" requires explicit package name at ./FHEM/10_CUL_HM.pm line 6233, <$fh> line 967.
In der History zur letzten Version ist auch zu sehen, dass Martin die Variable wohl aus dem Code entfernen wollte, aber nicht überall erwischt hat, wie in den letzten 4 Zeilen zu sehen:
@@ -6226,22 +6227,22 @@
# Current Events are Rcv,NACK,IOerr,Resend,ResendFail,Snd
# additional variables are protCmdDel,protCmdPend,protState,protLastRcv
my ($hash, $evntType) = @_;
- my $nAttr = $hash;
+ return if (!defined $hash);
if ($evntType eq "Rcv"){
$nAttr->{"protLastRcv"} = TimeNow();
CUL_HM_UpdtReadSingle($hash,".protLastRcv",$nAttr->{"protLastRcv"},0);
return;
}
Kenne PERL nur wenig, aber den Codeänderungen nach müsste es nun so heißen (ab Zeile 6226 in der $Id: 10_CUL_HM.pm 9159 2015-08-29 17:35:55Z martinp876) :
sub CUL_HM_eventP($$) {#handle protocol events
# Current Events are Rcv,NACK,IOerr,Resend,ResendFail,Snd
# additional variables are protCmdDel,protCmdPend,protState,protLastRcv
my ($hash, $evntType) = @_;
return if (!defined $hash);
if ($evntType eq "Rcv"){
$hash->{"protLastRcv"} = TimeNow();
CUL_HM_UpdtReadSingle($hash,".protLastRcv",$hash->{"protLastRcv"},0);
return;
}
...
Ich probiere es mal aus...
lade es jetzt aus SVN
Das gleiche bei mir :'(
Bei mir kommt auch der Fehler!
Wie kann ich auch SVN laden?
Hallo, ich habe um 17:20 heute ein Update gemacht und der Fehler ist wohl noch da:
2015.08.30 17:20:55 1: reload: Error:Modul 10_CUL_HM deactivated:
Global symbol "$nAttr" requires explicit package name at ./FHEM/10_CUL_HM.pm line 6232, <$fh> line 498.
Global symbol "$nAttr" requires explicit package name at ./FHEM/10_CUL_HM.pm line 6233, <$fh> line 498.
BEGIN not safe after errors--compilation aborted at ./FHEM/10_CUL_HM.pm line 6451, <$fh> line 498.
2015.08.30 17:20:55 0: Global symbol "$nAttr" requires explicit package name at ./FHEM/10_CUL_HM.pm line 6232, <$fh> line 498.
Global symbol "$nAttr" requires explicit package name at ./FHEM/10_CUL_HM.pm line 6233, <$fh> line 498.
BEGIN not safe after errors--compilation aborted at ./FHEM/10_CUL_HM.pm line 6451, <$fh> line 498.
Subroutine CUL_HM_Initialize redefined at ./FHEM/10_CUL_HM.pm line 131, <$fh> line 513.
Subroutine CUL_HM_updateConfig redefined at ./FHEM/10_CUL_HM.pm line 213, <$fh> line 513.
Subroutine CUL_HM_Define redefined at ./FHEM/10_CUL_HM.pm line 465, <$fh> line 513.
Subroutine CUL_HM_Undef redefined at ./FHEM/10_CUL_HM.pm line 520, <$fh> line 513.
Subroutine CUL_HM_Rename redefined at ./FHEM/10_CUL_HM.pm line 539, <$fh> line 513.
Subroutine CUL_HM_Attr redefined at ./FHEM/10_CUL_HM.pm line 576, <$fh> line 513.
Subroutine CUL_HM_AttrCheck redefined at ./FHEM/10_CUL_HM.pm line 860, <$fh> line 513.
Subroutine CUL_HM_prtInit redefined at ./FHEM/10_CUL_HM.pm line 882, <$fh> line 513.
Subroutine CUL_HM_hmInitMsg redefined at ./FHEM/10_CUL_HM.pm line 887, <$fh> line 513.
Subroutine CUL_HM_hmInitMsgUpdt redefined at ./FHEM/10_CUL_HM.pm line 924, <$fh> line 513.
Subroutine CUL_HM_Notify redefined at ./FHEM/10_CUL_HM.pm line 951, <$fh> line 513.
Subroutine CUL_HM_setupHMLAN redefined at ./FHEM/10_CUL_HM.pm line 964, <$fh> line 513.
Subroutine CUL_HM_Parse redefined at ./FHEM/10_CUL_HM.pm line 1001, <$fh> line 513.
Subroutine CUL_HM_parseCommon redefined at ./FHEM/10_CUL_HM.pm line 2639, <$fh> line 513.
Subroutine CUL_HM_m_setCh redefined at ./FHEM/10_CUL_HM.pm line 3137, <$fh> line 513.
Subroutine CUL_HM_queueUpdtCfg redefined at ./FHEM/10_CUL_HM.pm line 3148, <$fh> line 513.
Subroutine CUL_HM_parseSDteam redefined at ./FHEM/10_CUL_HM.pm line 3166, <$fh> line 513.
Subroutine CUL_HM_updtSDTeam redefined at ./FHEM/10_CUL_HM.pm line 3224, <$fh> line 513.
Subroutine CUL_HM_pushEvnts redefined at ./FHEM/10_CUL_HM.pm line 3245, <$fh> line 513.
Subroutine CUL_HM_Get redefined at ./FHEM/10_CUL_HM.pm line 3272, <$fh> line 513.
Subroutine CUL_HM_Set redefined at ./FHEM/10_CUL_HM.pm line 3540, <$fh> line 513.
Subroutine CUL_HM_valvePosUpdt redefined at ./FHEM/10_CUL_HM.pm line 5259, <$fh> line 513.
Subroutine CUL_HM_valvePosTmr redefined at ./FHEM/10_CUL_HM.pm line 5326, <$fh> line 513.
Subroutine CUL_HM_weather redefined at ./FHEM/10_CUL_HM.pm line 5358, <$fh> line 513.
Subroutine CUL_HM_infoUpdtDevData redefined at ./FHEM/10_CUL_HM.pm line 5367, <$fh> line 513.
Subroutine CUL_HM_getConfig redefined at ./FHEM/10_CUL_HM.pm line 5417, <$fh> line 513.
Subroutine CUL_HM_calcDisWmSet redefined at ./FHEM/10_CUL_HM.pm line 5480, <$fh> line 513.
Subroutine CUL_HM_calcDisWm redefined at ./FHEM/10_CUL_HM.pm line 5498, <$fh> line 513.
Subroutine CUL_HM_RemoveHMPair redefined at ./FHEM/10_CUL_HM.pm line 5543, <$fh> line 513.
Subroutine CUL_HM_pushConfig redefined at ./FHEM/10_CUL_HM.pm line 5553, <$fh> line 513.
Subroutine CUL_HM_PushCmdStack redefined at ./FHEM/10_CUL_HM.pm line 5633, <$fh> line 513.
Subroutine CUL_HM_ProcessCmdStack redefined at ./FHEM/10_CUL_HM.pm line 5647, <$fh> line 513.
Subroutine CUL_HM_respWaitSu redefined at ./FHEM/10_CUL_HM.pm line 5662, <$fh> line 513.
Subroutine CUL_HM_responseSetup redefined at ./FHEM/10_CUL_HM.pm line 5688, <$fh> line 513.
Subroutine CUL_HM_sndIfOpen redefined at ./FHEM/10_CUL_HM.pm line 5823, <$fh> line 513.
Subroutine CUL_HM_SndCmd redefined at ./FHEM/10_CUL_HM.pm line 5861, <$fh> line 513.
Subroutine CUL_HM_statCnt redefined at ./FHEM/10_CUL_HM.pm line 5936, <$fh> line 513.
Subroutine CUL_HM_statCntRfresh redefined at ./FHEM/10_CUL_HM.pm line 5967, <$fh> line 513.
Subroutine CUL_HM_respPendRm redefined at ./FHEM/10_CUL_HM.pm line 5984, <$fh> line 513.
Subroutine CUL_HM_respPendTout redefined at ./FHEM/10_CUL_HM.pm line 5999, <$fh> line 513.
Subroutine CUL_HM_respPendToutProlong redefined at ./FHEM/10_CUL_HM.pm line 6094, <$fh> line 513.
Subroutine CUL_HM_FWupdateSteps redefined at ./FHEM/10_CUL_HM.pm line 6100, <$fh> line 513.
Subroutine CUL_HM_FWupdateBTo redefined at ./FHEM/10_CUL_HM.pm line 6168, <$fh> line 513.
Subroutine CUL_HM_FWupdateEnd redefined at ./FHEM/10_CUL_HM.pm line 6180, <$fh> line 513.
Subroutine CUL_HM_FWupdateSpeed redefined at ./FHEM/10_CUL_HM.pm line 6202, <$fh> line 513.
Subroutine CUL_HM_FWupdateSim redefined at ./FHEM/10_CUL_HM.pm line 6213, <$fh> line 513.
Wenn ich jetzt nochmal update mache, dann kommt:
2015-08-30 21:34:02 Global global nothing to do...
Updates sind immer erst am Folgetag ab ca. 08:00 verfügbar.
Die updates sind erst morgen ab 8:00 Uhr verfügbar! Jetzt nur im SVN.
VG
Frank
Loredo war schneller 8)
Da es noch User gibt, die nicht wissen wo/was SVN ist, hier der Link
http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/
Warum wird bei so einem schweren Fehler kein direktes Update angeboten?
Ich habe z.B. auch nicht gewußt, dass nur einmal pro Tag um 8 Uhr Updates angeboten werden.
Darum habe ich mich gewundert, dass ich den Fehler bekomme, obwohl schon ein Fix eingecheckt wurde.
Der Link auf die betreffende Datei:
http://sourceforge.net/p/fhem/code/9180/log/?path=/trunk/fhem/FHEM/10_CUL_HM.pm (http://sourceforge.net/p/fhem/code/9180/log/?path=/trunk/fhem/FHEM/10_CUL_HM.pm)
Datei downloaden und damit die fehlerhafte lokale Datei ersetzen.
Zitat von: JMW am 30 August 2015, 21:53:34
Warum wird bei so einem schweren Fehler kein direktes Update angeboten?
Ist ja nicht tragisch da du ja immer zurück kannst und das alte modul aus dem lokalen restore ordner zurück holen.
Ich fände es besser, wenn FHEM gleich ein "wichtiges" Update mitbekommen würde.
Viele Anwender kennen sich bestimmt nicht so gut aus und wissen dann nicht weiter.
Damit die Benutzerfreundlichkeit gewahrt beleibt, sollte ein Update gegebenenfalls sofort angeboten werden.
Ich hatte ein Update gemacht als der Fix schon eingecheckt war und trotzden habe ich noch die
fehlerhafte Version bekommen (und müsste nur bis zum nächsten Tag warten).
vielen ist wohl nicht bewusst, dass man mit Nutzung des Update-Befehls eine Entwicklerversion nutzt. Diese kann per Definition immer mal übergangsweise Probleme haben.
Wer ein stabiles System will, macht kein Update über den gleichnamigen Befehl, sondern nutzt den Stand, den man bei einer Neuinstallation bekommen hat. Das ist das Stable-Release. Wer hingegen die "Bleeding-Edge" Versionen mit den noch in der Testphase befindlichen, neusten Funktionen nutzen möchte, muss sich über die Konsequenzen klar sein. Dazu gehört auch zu wissen, wie man sich im Feherfall selbst helfen kann. Nach einem schnellen Update zu schreien hilft hier nicht, auch wenn in aller Regel innerhalb von 24h dramatische Fehler korrigiert werden (so wie es Martin auch dankenswerterweise getan hat).
Ok, das habe ich nicht gewußt. Dann werde ich zukünftig mit den Updates vorsichtiger sein.
@Loredo
Endlich hat es mal einer gesagt!
never touch a running system
Und für Experimente gibt es (hoffendlich) ein Testsystem.
ich werde dennoch weiter updaten, denn wenn keiner testet wird ein fehler ja auch nicht entdeckt.
ich nutze ja auch extra 2 sd karten für meinen pi 2, eine vor dem update und eine nachfolgend.
da ich das dingelchen zurzeit nur semiaktiv nutze, ist lediglich zur vorbereitung, für unser neues häuschen.
so ist es mir zurzeit, relativ birne, wenns mal schief läuft. ^^
"Never touch a running system" ist ein Ausdruck, der gerne ITlern zugeschoben wird, der bei gewisser Art Soft- und auch Hardware aber falscher nicht sein kann. Er ist immer nur dann richtig, wenn er mit gewissen Zusätzen daher kommt. Pauschal ist er schlicht falsch. Man sollte sich allerdings immer sicher sein, was man tut und man sollte vor allem wissen, wie man zu einem vorherigen Zustand zurück kommt. Blind updates machen, war noch nie eine gute Idee.
Ein Testsystem kann nicht schaden (ist aber gerade in Sachen Homematic nur mit einigem Aufwand zu betreiben). Dass man sich aber vor einem update mit den gängigen Mechanismen, wie backup und restore vertraut macht, ist unabdingbar. Forderungen nach sofortigen "wichtigen" Updates sind auf jeden Fall zurück zu weisen. Wir sind doch hier nicht bei einer kommerziellen Software.