TcpServerUtils.pm(revision 17124) läuft der HM485 HMW nicht mehr

Begonnen von LuckyDay, 13 August 2018, 18:36:47

Vorheriges Thema - Nächstes Thema

LuckyDay

Wer heute ein Update macht hat danach Kein Homematic Wired mehr lauffähig

Undefined subroutine &main::readingsSingleUpdate called at /opt/fhem/FHEM/lib/HM485/HM485d/../../../TcpServerUtils.pm line 37.
2018.08.13 14:44:40.900 1: hm485: Can't connect to localhost:2000: Verbindungsaufbau abgelehnt


https://forum.fhem.de/index.php/topic,90213.0.html


Index: trunk/fhem/FHEM/TcpServerUtils.pm
===================================================================
--- trunk/fhem/FHEM/TcpServerUtils.pm (revision 17124)
+++ trunk/fhem/FHEM/TcpServerUtils.pm (revision 16985)
@@ -35,5 +35,5 @@
     ReuseAddr => 1
   );
-  readingsSingleUpdate($hash, "state", "Initialized", 0);
+  $hash->{STATE} = "Initialized";
   $hash->{SERVERSOCKET} = $hash->{IPV6} ?
         IO::Socket::INET6->new(@opts) :
@@ -146,5 +146,5 @@
   $nhash{TYPE}  = $type;
   $nhash{SSL}   = $hash->{SSL};
-  readingsSingleUpdate(\%nhash, "state", "Connected", 0);
+  $nhash{STATE} = "Connected";
   $nhash{SNAME} = $name;
   $nhash{TEMPORARY} = 1;              # Don't want to save it

Ralf9

Dies betrifft nur den HM485d.pl, nicht das HMW Lan Gateway.

ZitatThis is the HM485 communication stack for raw communication via "stupid" serial
interface devices for instance simple USB-RS485 or Network-RS485 adaptor.
https://github.com/kc-GitHub/FHEM-HM485/blob/master/FHEM/lib/HM485/HM485d/HM485d.pl

Im HM485d.pl wird über
https://github.com/kc-GitHub/FHEM-HM485/blob/master/FHEM/lib/HM485/HM485d/ServerTools.pm

TcpServer_Open aufgerufen

Muß da evtl am Anfang vom ServerTools.pm noch ein use .. eingefügt werden?

Edit:
Eine Möglichkeit wäre evtl auch, am Ende der HM485d.pl eine Kopie der readingsSingleUpdate Routinen einzufügen,

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

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

betateilchen

Wer rechnet denn auch damit, dass solche Komponenten ausserhalb von fhem.pl verwendet werden...

Man könnte in denTcpServerUtils ein eval um das readingsSingleUpdate() bauen und im Fehlerfall den STATE wie bisher hart setzen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig


betateilchen

Etwas ähnliches wurde hier schon diskutiert: https://forum.fhem.de/index.php/topic,90213.0.html

In dem Thread geht es um das gleiche Problem.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

CoolTux

Rudi ich hätte da eine persönliche Bitte an Dich.
Lass Dich bitte nicht überreden Deine Änderung wieder Rückgängig zu machen. Deine Änderung in der TCPServerUtils ist konform zum Developer Guide und hier bin ich der Meinung ist der Autor des HM485 Modules/Scriptes gefragt.
Zu mal das noch nicht mal ein offizielles Modul/Script ist wenn ich das richtig gesehen habe.
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

Thorsten Pferdekaemper

#7
Zitat von: rudolfkoenig am 14 August 2018, 08:34:50
Lieber waere mir, wenn HM485d.pl ein readingsSingleUpdate definiert.
Ja, ich werde das wahrscheinlich so machen. Mein Anwendungsfall ist ja schon ein bisschen speziell. Es besteht also keine Notwendigkeit, dass Du da was änderst.
Gruß,
   Thorsten

EDIT: Erledigt
FUIP