[gelöst][HM-Wired] TCPServerutils Fehler

Begonnen von Raemsna, 10 April 2021, 21:15:15

Vorheriges Thema - Nächstes Thema

Raemsna

Hallo zusammen,

ich habe seit Jahren FHEM mit HM-Wired im Einsatz. Funktioniert toll. Vielen Dank für die viele Arbeit die hier drin steckt!

Da ich nun mein - etwas veraltetes, aber laufendes - System endlich updaten möchte (neues Betriebssystem, alle Updates usw), bin ich auf einen Fehler gestoßen.

Fehler:
Undefined subroutine &main::removeFromNtfyHash called at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 216.

auf meinem bisherigen Produktivsystem läuft alles ohne Fehlermeldung.
Output version:

10_HM485.pm                    814 2018-08-14 14:00:00Z
TcpServerUtils.pm            21344 2020-03-03 11:10:07Z rudolfkoenig


auf meinem - bald - produktivsystem kommt der o.g. Fehler:


10_HM485.pm 0816 2019-11-15 14:00:00Z ThorstenPferdekaemper
TcpServerUtils.pm 23472 2021-01-04 19:56:38Z rudolfkoenig


Für jeden Tipp bin ich gerne dankbar! :)

Grüße Raemsna

Thorsten Pferdekaemper

Hi,
oha...
Da hat anscheinend Rudi am 1.10.2020 den Aufruf dieser Funktion eingebaut. Dummerweise ist das Ding in fhem.pl definiert und im HM485d wird natürlich kein fhem.pl geladen.

Ist die Vermutung richtig, dass das beim Schließen der Verbindung zum HM485-Daemon passiert? D.h. die Meldung kommt aus dem Daemon und nicht aus dem Modul selbst?

Könntest Du mal folgendes ausprobieren: In der Datei /opt/fhem/FHEM/lib/HM485/HM485d/ServerTools.pm das folgende Coding suchen. Das ist wahrscheinlich so ab Zeile 212.


sub ServerTools_serverClientClose($) {
my ($hash) = @_;

TcpServer_Close($hash);
if ($clientCount > 0) {
$clientCount--;


...und die Zeile mit dem TcpServer_Close so ändern:

TcpServer_Close($hash,0,1);


Dann das ganze nochmal auf Herz, Nieren und sonstige Organe prüfen.
Bitte sag mir auch dann Bescheid, wenn es funktioniert. Dann bau ich das in die "Auslieferung" ein.

Gruß,
   Thorsten

FUIP

loetmeister

Hallo Thorsten,

ja, kommt beim shutdown  / restart:
2021.04.11 13:28:15 0: Server shutdown
Undefined subroutine &main::removeFromNtfyHash called at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 216.
2021.04.11 13:28:15 3: hm485: HM485d with PID   669 was terminated.


Nach deiner vorgeschlagenen Änderung komm dann:
2021.04.11 13:29:12 0: Server shutdown
2021.04.11 13:29:12 3: hm485: HM485d with PID   861 was terminated.
Undefined subroutine &main::stacktraceAsString called at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 230.
2021.04.11 13:29:13 1: Including fhem.cfg
2021.04.11 13:29:14 3: WEB: port 8083 opened



Gruß,
Thomas

Thorsten Pferdekaemper

Mist, es muss wohl doch so heißen:

TcpServer_Close($hash,1,1);

Gruß,
   Thorsten
FUIP

loetmeister

#4
Hi,

ja, so kommen keine Fehler mehr.
Kommunikation mit dem Bus ist ok.. sonst habe nichts zum Testen hier.

Raemsna kann dann da auf weitere Organe testen...?  8)  ;)

Gruß,
Thomas

Raemsna

Hi Thorsten,

genau. Fehler kommt wie von Dir vermutet beim Beenden (analog den Ergebnissen von loetmeister):


2021.04.10 21:17:22 0: Server shutdown
Undefined subroutine &main::removeFromNtfyHash called at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 216.
2021.04.10 21:17:23 1: Including fhem.cfg


Nach der Änderung in /opt/fhem/FHEM/lib/HM485/HM485d/ServerTools.pm:
TcpServer_Close($hash,1,1);

sowie der aktuellen TcpServerUtils:
TcpServerUtils.pm 23472 2021-01-04 19:56:38Z rudolfkoenig

und den sonst unveränderten, aktuellen HM485 Dateien
kommt kein Fehler mehr bei / während shutdown restart, sondern diese Ausgabe:

2021.04.11 20:37:42.093 0: HM485d: Server stopped ...

Da das System noch nicht produktiv ist, kann ich aktuell keine Aussage zur Funktion geben. loetmeister hat aber (bisher) keine Fehler erkannt.
Falls nochmal Fehler irgendeiner Art auftauchen, melde ich mir hier zurück :)

Vielen Dank für die schnelle Bearbeitung Thorsten!
Grüße, Raemsna


holzwurm83

Hallo zusammen,

gab es hier noch Probleme?

@Torsten: Kann du es per Update verteilen, wenn alles OK ist?

Danke euch!
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Thorsten Pferdekaemper

Zitat von: holzwurm83 am 26 April 2021, 10:01:49
@Torsten: Kann du es per Update verteilen, wenn alles OK ist?
Erledigt.
Gruß,
  Thorsten
FUIP

Raemsna

Hallo zusammen,

hab es noch eine Zeit im Produktivsystem beobachtet, aber kein Fehler mehr aufgetaucht.

Vielen Dank für die Hilfe!
Raemsna

Raemsna

Hi zusammen,

eines ist mir jetzt doch noch aufgefallen (ohne dass ich ein Problem feststellen kann).
Beim Shutdown von FHEM tauchen nun (aber ehrlicherweise weiß ich nicht mehr, wie es "davor" war) zwei Meldungen nacheinander auf:

2021.04.30 20:16:00.524 0: HM485d: Server stopped ...
2021.04.30 20:16:10 0: Server shutdown
2021.04.30 20:16:10.731 0: HM485d: Server stopped ...


Aber wie gesagt, kann jetzt kein Problem erkennen.

Grüße
Raemsna

Thorsten Pferdekaemper

Hi,
ich vermute mal, dass der Daemon gestoppt wird, aber dann automatisch wieder gestartet, aber dann beim tatsächlichen Shutdown wieder gestoppt. Das ist wahrscheinlich nicht schlimm, sollte aber nicht so sein.
Könntest Du mal das Log Level (verbose) auf 3 setzen, und das dann nochmal machen?
Gruß,
   Thorsten 
FUIP