[GELÖST] HILFE: Fhem nicht mehr per Browser erreichbar

Begonnen von Jasimo, 06 Februar 2020, 09:27:38

Vorheriges Thema - Nächstes Thema

Jasimo

Hallo zusammen,

ich benötige eure Hilfe!
Seit heute morgen kann ich Fhem nicht mehr per Browser erreichen. Es lief seit Jahren auf einem Raspberry Pi ohne Probleme.
Fhem startet und läuft, jedoch kann ich die FHEMWEB Instance nicht erreichen.
Ein start von Fhem mittels
perl fhem.pl -d fhem.cfg

bringt diese Ausgabe

pi@Obelix:/opt/fhem $ perl fhem.pl -d fhem.cfg
2020.02.06 09:23:22 5: Cmd: >attr global userattr DbLogExclude DbLogInclude DbLogValueFn:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels icon sortby webCmd webCmdLabel:textField-long widgetOverride<
2020.02.06 09:23:22 5: Cmd: >attr global autoload_undefined_devices 1<
2020.02.06 09:23:22 5: Cmd: >attr global autosave 0<
2020.02.06 09:23:22 5: Cmd: >attr global latitude 52.271917<
2020.02.06 09:23:22 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2020.02.06 09:23:22 5: Cmd: >attr global longitude 9.755349<
2020.02.06 09:23:22 5: Cmd: >attr global modpath .<
2020.02.06 09:23:22 5: Loading ./FHEM/99_FHEMControlPush.pm
2020.02.06 09:23:22 5: Loading ./FHEM/99_SUNRISE_EL.pm
2020.02.06 09:23:22 5: Loading ./FHEM/99_Utils.pm
2020.02.06 09:23:22 5: Loading ./FHEM/99_myUtils.pm
2020.02.06 09:23:22 5: Cmd: >attr global motd 1<
2020.02.06 09:23:22 5: Cmd: >attr global room System<
2020.02.06 09:23:22 5: Cmd: >attr global statefile ./log/fhem.save<
2020.02.06 09:23:22 5: Cmd: >attr global updateInBackground 1<
2020.02.06 09:23:22 5: Cmd: >attr global verbose 3<
2020.02.06 09:23:22 5: Initializing Type Library:
2020.02.06 09:23:22 1: Including fhem.cfg
2020.02.06 09:23:22 5: Cmd: >attr global userattr DbLogExclude DbLogInclude DbLogValueFn:textField-long cmdIcon devStateIcon devStateIcon:textField-long devStateStyle fhem_widget_channels icon sortby webCmd webCmdLabel:textField-long widgetOverride<
2020.02.06 09:23:22 5: Cmd: >attr global autoload_undefined_devices 1<
2020.02.06 09:23:22 5: Cmd: >attr global autosave 0<
2020.02.06 09:23:22 5: Cmd: >attr global latitude 52.271917<
2020.02.06 09:23:22 5: Cmd: >attr global logfile ./log/fhem-%Y-%m.log<
2020.02.06 09:23:22 5: Cmd: >attr global longitude 9.755349<
2020.02.06 09:23:22 5: Cmd: >attr global modpath .<
2020.02.06 09:23:22 5: Cmd: >attr global motd 1<
2020.02.06 09:23:22 5: Cmd: >attr global room System<
2020.02.06 09:23:22 5: Cmd: >attr global statefile ./log/fhem.save<
2020.02.06 09:23:22 5: Cmd: >attr global updateInBackground 1<
2020.02.06 09:23:22 5: Cmd: >attr global verbose 3<
2020.02.06 09:23:22 5: Cmd: >define WEB FHEMWEB 8083 global<
2020.02.06 09:23:22 5: Loading ./FHEM/01_FHEMWEB.pm
2020.02.06 09:23:22 1: WEB: Can't open server port at 8083: Address already in use. Exiting.


Die Meldung bezüglich Port 8083 in use scheint das Problem zu sein, ich wundere mich aber ebenfalls darüber das es in der Ausgabe ein
include fhem.cfg
gibt. Somit macht er alles zweimal.

Gruß

Jan

CoolTux

Du solltest erstmal die laufende FHEM Instanz runter fahren.

ps ax | grep perl

wird Dir sicherlich ein laufendes FHEM zeigen.
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

Jasimo

Da wirst Du Recht haben, aber ich versuche das mittels:
sudo systemctl stop fhem
zu stoppen, doch leider bringt dann ein

ps ax | grep perl


dieses
pi@Obelix:/opt/fhem $ ps ax | grep perl
  464 ?        S      0:23 perl fhem.pl fhem.cfg
  546 ?        S      0:00 perl fhem.pl fhem.cfg
  551 ?        S      0:00 perl fhem.pl fhem.cfg
1126 pts/0    S+     0:00 grep --color=auto perl


irgedwie läuft da was doppelt, oder?

Wernieman

also "killen":
kill 464

Mit "ps aux | grep [f]hem" nachgucken, ob der Prozess mit der Nummer 464 "weg" ist. Wenn dann noch andere laufen, nach 2-3 Sekunden den nächsten "killen".

Wenn er trotzdem läuft, erstmal melden ....
- 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

Jasimo

Danke für Deine Hilfe!
Hab ihn gekillt und FHEM erstmal aus dem Autostart genommen. Raspi neu gestartet, Fhem startet nicht, soweit okay.
Dann mittels
perl fhem.pl -d fhem.cfg

gestartet, Meldungen rauschen durch. FHEM läuft jedoch ohne Webzugriff.
Im FHEM log steht:
2020.02.06 08:36:55 3: CUL_HM set TE_Licht statusRequest
2020.02.06 08:36:56 3: CUL_HM set TE_Strom statusRequest
2020.02.06 08:36:57 3: CUL_HM set Torantrieb statusRequest
2020.02.06 08:36:58 3: FHEMWEB WEB CSRF error: csrf_630018860872604 ne csrf_564221789082397 for client WEB_192.168.2.125_35094 / command jsonlist2 HUEGroup4,HUEGroup3,$
2020.02.06 08:36:58 3: CUL_HM set GA_Radio off
2020.02.06 08:36:58 3: CUL_HM set KU_Licht statusRequest
2020.02.06 08:36:59 3: CUL_HM set KU_Radio statusRequest
2020.02.06 08:37:00 3: CUL_HM set WZ_Licht_Couchtisch statusRequest
2020.02.06 08:37:01 3: CUL_HM set WZ_Licht_Wand statusRequest
2020.02.06 08:37:02 3: CUL_HM set WZ_Licht_Esstisch statusRequest
2020.02.06 08:37:03 3: CUL_HM set WZ_Licht_Schrank statusRequest
2020.02.06 08:37:10 3: DbRep DbRepBackup - Connectiontest to database mysql:database=fhem;host=192.168.2.254;port=3306 with user fhem
2020.02.06 08:52:30 1: Including fhem.cfg
2020.02.06 08:52:30 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
2020.02.06 09:00:56 1: Including fhem.cfg
2020.02.06 09:00:57 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
2020.02.06 09:03:18 1: Including fhem.cfg
2020.02.06 09:03:19 1: WEB: Can't open server port at 8083: Address already in use. Exiting.
2020.02.06 09:08:55 1: Including fhem.cfg
2020.02.06 09:08:56 1: WEB: Can't open server port at 8083: Address already in use. Exiting.


Wer oder was benutzt auf einmal ohne Änderungen am System den Port 8083 der ja für die FhemWeb Instanz nötig ist. Bin am verzweifeln.
Gruß
Jan

Wernieman

- 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

Jasimo

das bringt:
pi@Obelix:/opt/fhem/log $ netstat -lntp | grep 8083
(Es konnten nicht alle Prozesse identifiziert werden; Informationen über
nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.)


starte ich Fhem steht dort
pi@Obelix:/opt/fhem/log $ netstat -lntp | grep 8083
(Es konnten nicht alle Prozesse identifiziert werden; Informationen über
nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.)
tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      -

Wernieman

- 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

Jasimo

#8
pi@Obelix:~ $ sudo netstat -lntp | grep 8083
tcp        7      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      717/perl


wobei mir auffällt das ich unter top garkein perl process finde mit dem user fhem
obwohl ein
sudo systemctl status fhem


das bringt

pi@Obelix:~ $ sudo systemctl status fhem
● fhem.service - LSB: FHEM server
   Loaded: loaded (/etc/init.d/fhem; generated; vendor preset: enabled)
   Active: active (running) since Thu 2020-02-06 10:17:38 CET; 21min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 712 ExecStart=/etc/init.d/fhem start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/fhem.service
           ├─717 perl fhem.pl fhem.cfg
           ├─735 perl fhem.pl fhem.cfg
           └─738 perl fhem.pl fhem.cfg

Feb 06 10:17:36 Obelix systemd[1]: Starting LSB: FHEM server...
Feb 06 10:17:37 Obelix fhem[712]: Starting fhem...
Feb 06 10:17:38 Obelix systemd[1]: Started LSB: FHEM server.
pi@Obelix:~ $


Was ist hier blos über Nacht passiert ;-(

Wernieman

top ist nicht gedacht, ALLE Pozesse anzuzeigen.

Besser "ps aux" und per grep filter. in diesem Falle:
ps aux | grep [7]17
ps aux | grep [f]hem


Bitte beides als root oder mit sudo ...

- 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

DocCyber

ich möchte mich gern hier anhängen, denn ich habe das selbe Problem.
Seit gestern kann ich fhem nicht mehr erreichen.
Noch während ich im Frontend war, um ein paar Einstellungen zu prüfen, tauchten in kurzen Abständen Verbindungsabbrüche auf.  Danach ging nichts mehr - Seite nicht erreichbar.

HM-CFG-LAN kann angepingt werden.

FHEM fährt hoch, aber stürzt dann ab.

pi@RasPi3:~ $ service fhem status
● fhem.service - LSB: FHEM server
   Loaded: loaded (/etc/init.d/fhem)
   Active: active (exited) since Thu 2020-02-06 11:46:03 CET; 15min ago
  Process: 893 ExecStop=/etc/init.d/fhem stop (code=exited, status=1/FAILURE)
  Process: 903 ExecStart=/etc/init.d/fhem start (code=exited, status=0/SUCCESS)


Beim Debuggen des Startprozesses habe ich folgendes gefunden:

2020.02.06 12:05:48 1: PERL WARNING: Use of uninitialized value $SplitDate[1] in subtraction (-) at FHEM/                                                                                                                    ABFALL_getEvents.pm line 258.
Month '-1' out of range 0..11 at FHEM/ABFALL_getEvents.pm line 258.

Kann es sein, dass ein fehlerhaft programmiertes Modul (out of range) fhem zum Absturz bringt?
(Wobei ich mich dann frage, warum bis jetzt alles lief..)
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

frank

lösch dein abfall modul.
ich vermute das modul liest eine datei ein, die problematische daten enthält.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Jasimo

#12
Zitat von: Wernieman am 06 Februar 2020, 11:32:50
top ist nicht gedacht, ALLE Pozesse anzuzeigen.

Besser "ps aux" und per grep filter. in diesem Falle:
ps aux | grep [7]17
ps aux | grep [f]hem


Bitte beides als root oder mit sudo ...

Danke Dir. Bin einen Schritt weiter. Scheinbar ist seit gestern Abend meine MySQL DB nicht mehr i.O. Kommentiere ich logdb in der fhem.cfg aus startet fhem nach einem reboot. Sobald ich logdb aktiviere geht nix mehr.

Und dann ist es auch so, dass wenn ich Fhem (mit logdb) mittels
sudo systemctl start fhem
starte, ich es nicht mehr beendet kriege, auch mit kill nicht.

Ich gucke nun ob ich die MySQL wieder hin bekomme, melde mich nochmal

DocCyber

Zitat von: frank am 06 Februar 2020, 12:29:08
lösch dein abfall modul.
ich vermute das modul liest eine datei ein, die problematische daten enthält.

Danke für dein Feedback.

Das Perl Modul selbst löschen bzw temporär umbenennen?
Oder die Definition in der fhem.cfg?
Letzteres könnte neue Fehler hervorrufen, denn ich komme ja nicht auf das Frontend.
Behandle die Menschen so, als wären sie, was sie sein sollten. Dadurch hilfst du ihnen zu werden, was sie sein können. (Goethe)


RPi-4B mit HM-CFG-LAN und viele weitere HM Komponenten, diverse Shellys, Tuya-Geräte, SMA und Solis Wechselrichter, Elgris EnergyManager, go-e Wallbox

Wernieman

@Jasimo
Was wirft den mysql für eine Fehlermeldung?

@DocCyber
Es ist doch ein anderer Fehler .. könntest Du einen neuen Thread ...?
Ich z.B: komme sonst beim "Support" durcheinander ;o)
- 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