Fehler in 10_RESIDENTS & 20_ROOMMATE nach update auf 5.8

Begonnen von asciidisco, 16 März 2017, 13:42:21

Vorheriges Thema - Nächstes Thema

asciidisco

Hallo zusammen, nachdem ich heute mal dazu gekommen bin mein System mit einem Update auf 5.8 zu versehen, startete FHEM nicht mehr.
Eine kurze Suche im Log zeigte dann auch schnell auf einen Fehler im 10_RESIDENTS & 20_ROOMMATE, nämlich folgenden:

Undefined subroutine &main::RESIDENTStk_findResidentSlaves called at ./FHEM/10_RESIDENTS.pm line 65.

Nachdem ich die betreffende Zeile in diesem Module, als auch in 20_ROOMMATE (ähnlicher Fehler, nur andere Zeile) auskommentierte, lief FHEM wieder sauber los. Da bisher noch niemand von dem Problem berichtet hat, scheint es ja glücklicherweise nur an meinem System zu liegen.

Kann evtl. jemand etwas zu der Problematik sagen?

Perl Version:
This is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int

FHEM Version:
fhem.pl 13700 2017-03-14 16:01:36Z rudolfkoenig

Vielen Dank schon mal vorab.

rudolfkoenig

Kannst du bitte pruefen, ob das Problem nach einem update immer noch besteht?

asciidisco

@rudolfkoenig

Gerne. Kann nur etwas dauern, ich mache vorher besser noch ein Backup.
Ich melde mich sobald das Backup/Update durch ist.

asciidisco

Nach einem neuerlichen Update kommt der Fehler nicht mehr, scheint so, als sei das Update davor nicht korrekt durchgelaufen.
Vielen Dank für die Hilfe.

dancatt

Hi,

ich war schon auf der Verison 5.8 und es lief alles.
Habe eben ein update gemacht und bekomme nun auch den Fehler.
Bei mir hilft das auskommentieren besagter Zeilen nicht.
Danach kommen weitere Fehler:
Undefined subroutine &main::urlEncodePath called at ./FHEM/01_FHEMWEB.pm line 2408.
2017.03.21 16:23:38.698 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2017.03.21 16:23:38.702 1: BlockingInformParent (PROPLANTA_Done): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused


Gruß Daniel
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

rudolfkoenig

ZitatUndefined subroutine &main::urlEncodePath called at ./FHEM/01_FHEMWEB.pm line 2408.
Das kommt dann, wenn 01_FHEMWEB.pm aktuell ist, aber HttpUtils.pm nicht.
D.h. enweder ist HttpUtils in "exclude_from_update", update ging schief, oder man verwendet gar nicht update.
Ich wuesste gerne, welcher diese Moeglichkeiten zutrifft, damit ich in der Zukunft was dagegen unternehmen kann.

Hat mit Residents & Roommate nichts zu tun.

dancatt

Hallo,

in exclude_from_update ist es nicht enthalten.
Ich habe ein update über die Web Oberfläche gemacht.
HTTPUtils wurde nicht upgedatet.

Gruß Daniel.
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

rudolfkoenig

ZitatIch habe ein update über die Web Oberfläche gemacht.
HTTPUtils wurde nicht upgedatet.
Kann nicht nachvollziehen: habs mit einer alten Installation getestet, und bei mir hat update alles ordnungsgemaess runtergeladen, ein Neustart funktioniert ohne Probleme. Haben auch Andere ein aehnliches Problem?

dancatt

hmmm, nach einem erneuten Update scheint nun alles zu funktionieren.
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

Sirel

Hallo zusammen,
ich bekomme weiterhin den gleichen Fehler wie asciidisco.

2017.04.01 14:33:42 3: telnetPort: port 7072 opened
2017.04.01 14:33:42 3: WEB: port 8083 opened
2017.04.01 14:33:42 3: WEBphone: port 8084 opened
2017.04.01 14:33:42 3: WEBtablet: port 8085 opened
2017.04.01 14:33:43 2: eventTypes: loaded 7358 events from ./log/eventTypes.txt
2017.04.01 14:33:44 2: eventTypes: loaded 7358 events from events
Undefined subroutine &main::RESIDENTStk_findResidentSlaves called at ./FHEM/10_RESIDENTS.pm line 65, <$fh> line 78.


Wenn ich die betroffene Zeile auskommentiere, startet zwar das System wieder, doch fehlen dann meine "Residents".

Hat noch jemand eine Idee?

Viele Grüße,
Max

Loredo

#10
Du solltest nochmals überprüfen, dass der Update-Befehl ordnungsgemäß durchläuft und auch alle Dateien schreiben kann.
Wenn die Dateizugriffsrechte nicht stimmen und nicht dem Benutzer gehören, unter dem FHEM läuft, können die Dateien nicht überschrieben werden.


Die in der Fehlermeldung genannte Datei kannst du manuell hier laden und nach ./FHEM/ kopieren. Die Dateizugriffsrechte musst du danach ggf. manuell korrigieren, sonst hast du beim nächsten Update wieder Schwierigkeiten
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Sirel

#11
Hi Loredo,

vielen Dank für Deine Hilfe. In der Tat habe habe ich beim Update teilweise Probleme mit den Dateizugriffsrechten. Ich setzte im Ordner Fhem (inkl. Unterordner FhemUtils, firmware und lib) die Gruppenzugehörigkeit auf Dialout und Benutzer ist FHEM. Zudem vergebe ich Lese-, Schreib- und Ausführrechte.
So läuft das Upadate durch. Nach dem Neustart von FHEM habe ich aber wieder das gleiche Problem.
2017.04.01 23:25:25 3: telnetPort: port 7072 opened
2017.04.01 23:25:25 3: WEB: port 8083 opened
2017.04.01 23:25:25 3: WEBphone: port 8084 opened
2017.04.01 23:25:25 3: WEBtablet: port 8085 opened
2017.04.01 23:25:26 2: eventTypes: loaded 7382 events from ./log/eventTypes.txt
2017.04.01 23:25:27 2: eventTypes: loaded 7382 events from events
Undefined subroutine &main::RESIDENTStk_findResidentSlaves called at ./FHEM/10_RESIDENTS.pm line 65, <$fh> line 78.


Sobald ich die angegebenen Stellen in Deiner Residents und Roommate.pm auskommentiere, startet FHEM wieder. Allerdings sind alle Roommates weg bzw. können nicht gefunden werden. Es bleibt nur noch der oberste Knotenpunkt stehen (Residents Device). Ich kann den Status von dem Device zwar noch auswählen, er wird aber nicht aktiv.


Nachtrag: So, es läuft wieder. Dazu musste ich die Roommates aus der fhem.cfg zunächst auskommentieren. Anschließend startet Fhem wie gewohnt. Anschließend müssen die Roommates neu angelegt werden.


Thx und viele Grüße,

Max


michaelfhem

Hallo zusammen,

habe ein ähnliches Problem. Bei mir kommt plötzlich der Fehler:
2017.04.07 22:04:01 0: Featurelevel: 5.8
2017.04.07 22:04:01 0: Server started with 362 defined entities (fhem.pl:13733/2017-03-19 perl:5.020002 os:linux user:fhem pid:1779)
Current: "./FHEM/00_SONOS.pm", gPath: ""
Undefined subroutine &main::urlEncodePath called at ./FHEM/01_FHEMWEB.pm line 2408.

Habe aber kein update gemacht (aber ein Backup vor 3 Tagen diese Tage).

Nach Lesen dieses Threads habe ich folgendes festgestellt:
-rw-r--r-- 1 fhem dialout 23042 Dec 24 17:06 HttpUtils.pm
-rw-r--r-- 1 fhem dialout 157071 Mar 21 19:48 01_FHEMWEB.pm

Diese beiden Dateien sind wohl ungewöhlich lange zeitlich auseinander. An den Filerechten kann ich aber nichts finden, oder? Um das Problem zu lösen habe ich versucht die beiden Dateien durch die Versionen von githup zu ersetzen. Dann kamen aber eher 1000 Fehlermeldungen?
Wie kann ich ohne fhem updaten?

Grüße Michi
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

rudolfkoenig

HttpUtils.pm ist "falsch", sollte 23483 lang sein. Wurde zuletzt am 21 Maerz angefasst.
Entweder ist es im exclude_from_upgrade drin, oder update hat 'ne Macke.

Btw: FHEMWEB habe ich am 3.April auch geaendert.

michaelfhem

#14
exclude_from_upgrade kann ich ausschliessen.

Wenn ich von github (https://github.com/mhop/fhem-mirror/blob/master/fhem/FHEM/HttpUtils.pm) in der raw-Ansicht den Inhalt  per CTRL-C kopiere und per vi im Terminal in die Datei einfüge komme ich auf eine Länge von
-rw-r--r-- 1 fhem dialout 23428 Apr  7 22:36 HttpUtils.pm
Mache ich was falsch oder kann man die Datei auf github auch direkt laden?

Grüße und Danke für die rasche Hilfe

Update: Hab die richtige Version auf fhem.de gefunden. Jetzt startet fhem  wieder
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

rudolfkoenig

 Wie machst du ein update? Wie kommst du auf github?

Die FHEM Versionverwaltung liegt auf svn.fhem.de, und wird morgens um 7:45 nach fhem.de/fhemupdate kopiert, wo es vom FHEM update Befehl abgeholt werden kann.

Falls dein update (bzw update force) nicht das gewuenschte Ergebnis bringt, dann kannst du die Datei von
    https://fhem.de/fhemupdate/FHEM/HttpUtils.pm
direkt herunterladen (per wget/curl oder browser).
Copy & Paste ins vi von 23kB sollten nur Experten machen, da kann einiges schiefgehen.

michaelfhem

github war der erste Hit von Google wenn man nach der Datei sucht. Habe mir aber inzwischen die Datei aus dem tar.gz von fhem.de geholt. und es geht wieder alles. Trotzdem Danke für die Links.

Update mach ich normal in der Weboberfläche. Aber in diesem Fall ging die ja nicht mehr. FÜr die Fehlersuche:

4 Dateien im FHEM-Verzeichnis bei mir hatte die Gruppenrechte "staff" und nicht "dialout". Kann das Problem damit zusammen gehängt haben?

Grüße Michi
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

h3llsp4wn

Hallo zusammen,

gehört zwar ggf. nicht hier her, aber ich habe immer noch das Problem:


2017.05.02 19:21:14.400 1: BlockingInformParent (BlockingStart): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused
2017.05.02 19:21:14.404 1: BlockingInformParent (PROPLANTA_Done): Can't connect to localhost:7072: IO::Socket::INET: connect: Connection refused


Das ist dann etliche Male im Log zu finden und FHEM ist nicht aufrufbar. Wenn ich eine ältere 01_FHEMWEB.pm einspiele (Anfang März) ist alles OK (nach außen).

Ich habe ein Update und ein Update force (etliche Male) gemacht, ferner auch manuell die 01_FHEMWEB.pm sowie die httputils aktualisiert - kein Erfolg. Update force läuft einwandfrei durch.

Eine Idee?

ulli


Loredo

Ich denke es ist offensichtlich, dass die Meldung vom PROPLANTA Modul kommt.
Was ich als These beisteuern kann ist, dass ihr das lokale Telnet Device in FHEM deaktiviert oder beschränkt habt und deshalb das Modul Daten nicht richtig verarbeiten kann.
Genaueres bitte im Wettermodule Forum beim Modulautor erfragen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

ulli

Ich habe in der tat das telnet Device für fhem nicht definiert weil ich dachte das keine Anwendung die ich nutze dies braucht.
Für was braucht denn ein Wettermodul Zugriff auf fhem via telnet?

dev0

Proplanta nutzt BlockingCall() und das nutzt Telnet zur Rückgabe von Werten an den Elternprozess.

ulli

Das heisst ein
define telnetPort telnet 7072 global
Sollte reichen oder?

dev0

Ja, global könntest Du noch weg lassen, wenn Du nur conntects von localhost zulassen möchtest.

ulli

Hilft leider nicht

2017.05.05 20:49:20 3: HomeScene set to Home...
2017.05.05 20:52:19 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 20:52:19 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 20:52:23 1: Timeout for WOL_Ping reached, terminated process 9286
2017.05.05 20:52:42 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 20:52:42 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 20:52:46 1: Timeout for WOL_Ping reached, terminated process 9337
2017.05.05 21:02:52 1: PROPLANTA Weather: Start.608 Could not start forked process, old process still running
2017.05.05 21:03:04 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:03:04 1: BlockingInformParent (PROPLANTA_Done): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:03:37 1: PROPLANTA Weather: Start.608 Could not start forked process, old process still running
2017.05.05 21:04:52 1: Timeout for PROPLANTA_Run reached, terminated process 9985
2017.05.05 21:07:23 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:07:23 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:07:27 1: Timeout for WOL_Ping reached, terminated process 10264
2017.05.05 21:07:46 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:07:46 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:07:50 1: Timeout for WOL_Ping reached, terminated process 10278
2017.05.05 21:22:27 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:22:27 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:22:31 1: Timeout for WOL_Ping reached, terminated process 11229
2017.05.05 21:22:50 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:22:50 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:22:54 1: Timeout for WOL_Ping reached, terminated process 11261
2017.05.05 21:37:31 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:37:31 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:37:35 1: Timeout for WOL_Ping reached, terminated process 11749
2017.05.05 21:37:54 1: BlockingInformParent (BlockingStart): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:37:54 1: BlockingInformParent (WOL_PingDone): Can't connect to localhost:45619: IO::Socket::INET: connect: Connection refused
2017.05.05 21:37:58 1: Timeout for WOL_Ping reached, terminated process 11757


rudolfkoenig

Hast du telnet mit Port Nummer 9286 konfiguriert?
Kannst du selbst dich darueber mit FHEM verbinden (terminal oeffnen, da drin "telnet localhost 9286" tippen ohne ", und dann ein paarmal return tippen)?
Hast du ein Firewall/Viruspruefer installiert?

ulli

Ich habe wie oben beschrieBen das telnet definiert. (Auf 7072)
Fhem läuft auf einem nuc mit Debian server. Habe keine explizite  Firewall oder virenScanner auf dem server.
Eine Verbindung über 'telnet local host 7072' funktioniert. Auf 9286 nicht.

rudolfkoenig

Kannst du bitte FHEM mit "attr global verbose 5" starten, und das Log hier anhaengen?

ulli

Hab die Kiste mal neu gestartet...jetzt kommen keine einträge mehr....
Das soll noch einer verstehen.