HM485d (HM485) Fehler durch Änderung an ServerTools.pm (2023-11-29)

Begonnen von loetmeister, 03 Dezember 2023, 12:27:05

Vorheriges Thema - Nächstes Thema

loetmeister

Hallo,

mit einer kürzlichen Änderung (29.11.2023) an TcpServerUtils.pm startet HM485d nicht mehr.
https://svn.fhem.de/trac/changeset?reponame=&old=28227%40trunk%2Ffhem%2FFHEM%2FTcpServerUtils.pm&new=28227%40trunk%2Ffhem%2FFHEM%2FTcpServerUtils.pm

Es scheint als ob es eine permanente Änderung ist: https://forum.fhem.de/index.php?topic=136032.msg1295208

Fehler:
Global symbol "$devcountTemp" requires explicit package name (did you forget to declare "my $devcountTemp"?) at /opt/fhem/FHEM/lib/HM
485/HM485d/../../../TcpServerUtils.pm line 345.
BEGIN not safe after errors--compilation aborted at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 546.
Compilation failed in require at /opt/fhem/FHEM/lib/HM485/HM485d/ServerTools.pm line 67.
Mit der vorherigen TcpServerUtils.pm ist es wieder ok.


Thorsten, ich vermute HM485d müsste geändert werden? Oder klemmt es nur bei mir?  O:-)

Gruß,
Thomas

Thorsten Pferdekaemper

Hi,
zumindest bisher ist das bei mir kein Problem. Das dürfte aber hauptsächlich daran liegen, dass ich mein letztes Update vor vier Jahren gemacht habe.
Aber das, was Du da herausgefunden hast, ist plausibel.
Ich muss mir mal das ganze im Kontext anschauen, sollte aber nicht ganz so schwierig zu reparieren sein.
Gruß,
   Thorsten
FUIP

Jojo11

#2
Hallo,

ich kann das Problem bestätigen. Bei mir funktioniert die lokale HMW-Installation mit dem HM485d auch nicht mehr  :-\
Welche Datei muss ich denn wo austauschen, damit es wieder geht? Bzw wo finde ich die bisherige TcpServerUtils.pm? Die ServerTools.pm kann ich finden, aber die TcpServerUtils.pm irgendwie nicht

loetmeister

Hi,

einfach aus dem letzten backup kopieren. TcpServerUtils.pm sollte reichen. z.B.

cp /opt/fhem/restoreDir/update/2023-12-03/FHEM/TcpServerUtils.pm /opt/fhem/FHEM/

Natürlich das richtige Verzeichnis in fhem/restoreDir/update/ nehmen.... ;-)

Gruß,
Thomas

Jojo11

#4
Vielen Dank, damit habe ich die Datei gefunden.
Die Datei, die ich ersetzt habe (die Neueste?) hat im header "2022-03-21" stehen. Ersetzt habe ich sie jetzt durch eine Version, die auf einer anderen Instanz noch funktioniert (wird paar Wochen alt sein).
Damit funktioniert es jetzt wieder  :)

loetmeister

Hi,

ok, 2022 ist schon recht alt...  ;D  Wenn das letzte FHEM Update schon länger her ist, dann besser eine etwas neuere Version nehmen, wenn du nur die eine Datei und nicht das komplette backup wiederherstellt. Die letzte TcpServerUtils ist ca. 3 Monate alt https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/TcpServerUtils.pm?rev=27931 damit ist es noch ok (27931 2023-09-04 09:52:58Z). Denke die hast du auch in Verwendung...

Gruß,
Thomas

Thorsten Pferdekaemper

Hi,
ich habe gerade einen Fix gemacht und es ins Git hochgeladen.
D.h. sowas wie ein "update all hm485" müsste es tun.
Gruß,
  Thorsten
FUIP

Jojo11

#7
Super, vielen Dank! Werde ich heute Abend gleich mal testen  :)
[Update] geht auch bei mir wieder

loetmeister

Hallo Thorsten,

danke für den schnellen Fix. Startet wieder ohne Probleme.

hm485: HM485d was started with PID: ...

Mit
# $Id: TcpServerUtils.pm 28227 2023-11-29 12:33:32Z rudolfkoenig $

Gruß,
Thomas