[gelöst] FHEM startet nicht mehr nach DSM Update, bitte um Unterstützung

Begonnen von Dirk070, 22 Januar 2017, 21:35:42

Vorheriges Thema - Nächstes Thema

Dirk070

Hallo zusammen,

nach langer Zeit habe ich auf der Syno nun ein echtes Problem.
FHEM lief sehr lange ohnre Probleme, heute habe ich dann DSM aktualisiert.
Wie auch schon früher bei einiges Updates gab es im Anschluss Fehler in FHEM.
Daraufhin habe ich JSON neu installiert und die Syno neu gebootet.
Damit war bis auf einen Fehler alles ok, nämlich die Anbindung meines DoorBird per SIP.
Also Net::SIP ebenfalls neu installiert. Syno neu gebootet und dann gab es den GAU; FHEM startet nicht.

Ich bin zwar ausgebildeter Entwickler und konnte mich bisher in so ziemlich alles einarbeiten.
Von UNIX habe ich aber nun sehr wenig Ahnung und wenn man sich länger (weil alles so schön lief) nicht mit dem Thema beschäftigt hat, fehlt mir nun das KnowHow.

Kann mir bitte jemand bei der Fehlersuche helfen?

FHEM ist über die Web-Oberfläche nicht erreichbar. Wie kann ich den Fehler eingrenzen, wo finde ich Logs etc.?

Vielen Dank vorab für Eure Hilfe, da ich Lampen und Rolläden steuere, geht zwar die Welt nicht unter, aber es ist schon ärgerlich.
FHEM läuft(lief) auf meiner Syno 212+, PERL war immer das von Syno über das Paketzentrum.
FHEM startet auch nicht, wenn man über das Paketzentrum stoppt und startet. Der Status ändert sich zwar im Paketzentrum, das ist aber auch alles.

Wie gesagt, wäre nett, wenn mich jemand ein wenig anleiten könnte, ich bin aktuell ziemlich ratlos.

Vielen Dank voras und schöne Grüße,
Dirk

Wernieman

Für die Diagnose, gehe mal vor wie:
https://forum.fhem.de/index.php/topic,54271.msg467373.html#msg467373

Ist zwar für ein Linux-System, aber erstmal Grundsätzlich auch für die Synology geeignet
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Dirk070

Danke für Deine Hilfe!!

Hier die Ergebnisse:
root@NAS_DS212:~# ps aux | grep fhem
root      6720  0.0  0.1   4748   948 pts/1    S+   11:13   0:00 grep --color=auto fhem


sudo netstat -lntp | grep perl
Der Grep führte zu keinem Ergebnis.

Sieht für mich so aus, als würde FHEM nicht laufen.
Gibt es ein Log oder ähnliches um zu recherchieren, warum FHEM nicht startet?

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

Wernieman

Oder einfach mal, mit dem RICHTIGEN User fhem per Hand starten. FHEM sagt dann auch vieles in die Konsole
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Dirk070

Ich habe mich ein wenig weiter durchgekämpft, Danke für die Hilfe.

Auf der Syno liegt FHEM in diesem Verzeichnis, gestartet habe ich als ROOT zum Testen:
/usr/local/fhem/opt# sh fhem.pl fhem.cfg

Ergebnis:
fhem.pl: line 33: use: command not found
fhem.pl: line 34: use: command not found
fhem.pl: line 35: use: command not found
fhem.pl: line 36: use: command not found
fhem.pl: line 37: syntax error near unexpected token `('
fhem.pl: line 37: `use Time::HiRes qw(gettimeofday);'


Die fhem.pl hat den Timestamp vom 6.Dezember

Dirk070

Im Paketzentrum startet das Script FHEM mit dem Perl-Pfad, der durch "which perl" ermittelt wird.

Wäre bei mir:
/bin/perl fhem.pl fhem.cfg

Den Befehl habe ich nun direkt abgesetzt. Es gibt keine Meldung, FHEM läuft aber nicht.

Dirk070

So, FHEM startet wieder *Juhu*

Nach dem Update auf der Syno ist das Perl reduziert worden "Perl 5.22 das CGI-Modul ist nicht mehr Bestandteil von Perl-Core"
Unter diesem Link hier gibt es einen Fix:
http://www.synology-forum.de/showthread.html?82117-Perl-5-24-0-0066-CGI-Fix&p=682678#post682678

Seit dieser Änderung bekomme ich diese Fehlermeldung im FHEM-Log und FHEM schmiert ab oder/bzw. startet nicht:
Expected 'PeerService' at /usr/local/share/perl5/site_perl/Net/SIP/Util.pm line 40.

Ich habe nun nach langer Recherche (sieht man ja hier im Thread) hart in der fhem.cfg die Definition für die SIP-Türstelle auskommentiert.
Nun startet FHEM wieder.

Ich kriege aber offensichtlich das notwendige Paket fürs SIP nicht installiert. Bisher ging das so:
force install Net::SIP

Der force war immer schon notwendig, dann klappte es aber.

Zum Einen ist es natürlich hart, wenn FHEM dadurch gar nicht mehr startet. Zum Anderen wäre es toll, wenn mir jemand einen Tipp für die Installation von Net::SIP auf der Syno geben könnte.

Dirk070

fforce install Net::SIP

hat leider auch nicht geholfen. FHEM schmiert mit dem SIP-Modul nach wie vor mit der selben Meldung ab:

Expected 'PeerService' at /usr/local/share/perl5/site_perl/Net/SIP/Util.pm line 40.

Dirk070

#9
So, ich habe für mich tatsächlich eine Lösung gefunden.
Ich habe das Modul 96_FB_SIP gegen 96_SIP ausgetauscht: https://forum.fhem.de/index.php/topic,40219.msg484626.html#msg484626

Die Fehler im Log sind weg, die Funktionalität muss ich aber noch testen.

Hoffentlich hilft das auch den anderen Leidgeplagten  ;)

PS:  ....man muss aber neben dem Define auch die Attribute entsprechend setzen.

sip_ip: IP des FHEM-Servers
sip_password: Passwort des SIP-Gerätes, welches auf der FritzBox eingerichtet wurde
sip_registar: IP der FritzBox
sip_user: Nummer des SIP-Gerätes auf der FritzBox

Schöne Grüße,
Dirk

jemu75

Zitat von: Dirk070 am 22 Januar 2017, 21:35:42
Wie auch schon früher bei einiges Updates gab es im Anschluss Fehler in FHEM.
Daraufhin habe ich JSON neu installiert und die Syno neu gebootet.

Ich scheitere gerade an der erneuten Installation von JSON, da mein FHEM seit dem letzten DSM Update auch nicht mehr fehlerfrei startet. FHEM meckert folgendes rum:
Messages collected while initializing FHEM: configfile: Wetter: cannot load API YahooWeatherAPI: Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: . /usr/local/lib/perl5/site_perl /usr/local/share/perl5/site_perl /usr/local/lib/perl5/vendor_perl /usr/local/share/perl5/vendor_perl /usr/local/lib/perl5/core_perl /usr/local/share/perl5/core_perl /usr/local/FHEM/share/fhem/FHEM) at /usr/local/FHEM/share/fhem/FHEM/YahooWeatherAPI.pm line 31, <$fh> line 66. BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/YahooWeatherAPI.pm line 31, <$fh> line 66. Compilation failed in require at /usr/local/FHEM/share/fhem/FHEM/59_Weather.pm line 445, <$fh> line 66.

Aktuell versuche ich JSON laut Anleitung https://forum.fhem.de/index.php/topic,19093.0.html zu installieren. Jedoch bricht die Installation ab, da make nicht gefunden wird. Ich bekomme make aber auch nicht über "ipkg install make" installiert.
Wie hast du make bzw. JSON wieder unter DSM 6 installiert bekommen?

Dirk070

Mein Workflow:
Basis ist das Standard-Perl aus dem Syno-Paketzentrum.

http://www.cphub.net und http://packages.synocommunity.com/ als Paketquellen ergänzen.
Beta Versionen in den Einstellungen erlauben.

Folgende Pakete installieren:

  • Easy Bootstrap Installer von QTip, Version 0.4-034
  • Perl CGI Fix von QTip, Version 0.1-001, Workaround, da Perl-Paket reduziert wurde
  • iPKGui von QTip, Version 1.0-240

Make, CPAN, JSON:

  • Über iPKGui make, gcc und coreutils installieren. (oder über die Konsole mit "ipkg install make")
  • MCPAN starten (Befehl "/volume1/@appstore/Perl/usr/bin/perl -MCPAN -e shell")
  • CPAN updaten (Befehl "install CPAN")
  • JSON installieren (Befehl "install JSON")

Viel Erfolg,
Dirk


claas

Hallo zusammen,

ich hatte das selbe Problem und habe es mit dem Downgrade auf Perl 5.18 gelöst.
Da man dazu FHEM deinstallieren muss, eine Frage:
Es gibt ja die Funktion "Backup", die brav alles in ein tar packt.
Nur hab ich nirgends die Funktion "restore from backup" gefunden.
War ich blind? Ich hab alles manuell an die richtigen Stellen zurück kopiert. Läuft wieder, aber für die Zukunft würde ich mir die manuelle Arbeit gerne sparen.

@Martin Fischer, falls er mitliest :-)
Ist es geplant, die CPAN Module für das neue Perl der Syno wieder als spk zur Verfügung zu stellen?

Danke

Claas

Wernieman

ein laufendes FHEM aus einem Backup zu restoren ist ein Problem ... deshalb ist für diese Aktion Handarbeit optimaler.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html