Hauptmenü

Endlose Bootschleife

Begonnen von VolkerGBenner, 10 Oktober 2022, 17:09:16

Vorheriges Thema - Nächstes Thema

betateilchen

Zitat von: VolkerGBenner am 10 Oktober 2022, 20:47:22
Bin zu dem Schluss gekommen, dass das ausser meiner Reichweite liegt. Oder gibt es da auch einfache Wege?

Der Fehler kommt mit ziemlicher Sicherheit nicht aus der configDB.
Im rescue mode hat die Datenbank definitiv kein gesetztes Attribut pidfile.

Es geht darum, herauszufinden, wer oder was überhaupt nach einem pidfile von FHEM sucht.

Hast Du einen hardware-watchdog definiert, der nach einem pidfile sucht?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Wernieman am 10 Oktober 2022, 21:07:09
Nur mal auf die schnelle. was steht denn im PID-Verzeichnis:
sudo ls -lha /var/run/fhem/

Und wo kommt dieses Verzeichnis überhaupt her, wenn es denn existiert?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

VolkerGBenner

Zitat von: betateilchen am 10 Oktober 2022, 21:20:52
Hast Du einen hardware-watchdog definiert, der nach einem pidfile sucht?
nicht wissentlich. Welche Hardware würde davon profitieren? Habe ja nur die Funk-Platine auf dem Pi.
1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...

betateilchen

Hast Du vor Deinem Versuch mit dem manuellen Start den fhem service komplett beendet - nicht dass da ein automatischer restart dazwischengefunkt hat?

Hast Du schonmal versucht, Dein FHEM mit der demo-Konfiguration zu starten?


# cd /opt/fhem
# perl fhem.pl fhem.cfg.demo


-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

VolkerGBenner

Zitat von: betateilchen am 10 Oktober 2022, 21:28:35
Und wo kommt dieses Verzeichnis überhaupt her, wenn es denn existiert?
Es existierte nicht, bis ich es wegen der Meldung heute Nachmittag mal manuell angelegt habe.
1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...

VolkerGBenner

#20
Zitat von: betateilchen am 10 Oktober 2022, 21:34:23
Hast Du vor Deinem Versuch mit dem manuellen Start den fhem service komplett beendet - nicht dass da ein automatischer restart dazwischengefunkt hat?

Hast Du schonmal versucht, Dein FHEM mit der demo-Konfiguration zu starten?


# cd /opt/fhem
# perl fhem.pl fhem.cfg.demo

Der Service war gestoppt mit sudo service fhem stop
Der hat dann auch nicht weiter zu starten versucht. Hatte auch das fhem.log gelöscht. Das wurde dann vom manuellen Start neu angelegt.
1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...

Beta-User

Zitat von: betateilchen am 10 Oktober 2022, 21:20:52
Es geht darum, herauszufinden, wer oder was überhaupt nach einem pidfile von FHEM sucht.
Irgendwie klingt es danach, als würde das mit FHEM mit gestartet werden. Könnte auch was aus einer myUtils sein.
Vielleicht fördert das hier im Modul-Verzeichnis irgendwas zutage:
grep -i 'fhem.pid' *

Falls dieses neu angelegte Verzeichnis noch existiert, sollte es m.E. wieder gelöscht werden. Nicht, dass wir jetzt auch noch ein Rechte-Problem kurieren müssen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

VolkerGBenner

Zitat von: betateilchen am 10 Oktober 2022, 21:34:23
Hast Du schonmal versucht, Dein FHEM mit der demo-Konfiguration zu starten?


# cd /opt/fhem
# perl fhem.pl fhem.cfg.demo


Demo läuft.
1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...

Beta-User

Dieses komische Verzeichnis ist auch hier genannt:
http://s6z.de/cms/index.php?id=142:fhem-watchdog-mit-systemd

In der überarbeiteten Fassung des Vorschlags für fhem.service ist es etwas verändert zu finden...:
https://fhem.de/commandref_modular_DE.html#systemd_watchdog

Vielleicht kannst du mal versuchen, das entsprechend des ursprünglichen Vorschlags zu ergänzen und dann nochmal mit configDB (als service) starten? Falls es dann wieder oben sein sollte, mal schauen, ob das globale Attribut gesetzt ist und dort ggf. löschen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

DetlefR

ZitatUnd wo kommt dieses Verzeichnis überhaupt her, wenn es denn existiert?
ZitatEs existierte nicht, bis ich es wegen der Meldung heute Nachmittag mal manuell angelegt habe.
Konnte fhem dort lesen/schreiben?

VolkerGBenner

#25
Weiter gehts..

Das in /var/run/ erstellte Verzeichins /fhem wurde durch den Hardlink in /run verschoben und da wohl nicht gefunden. Wie auch immer.
Habe jetzt nochmal das /fhem-Verzeichnis mit fhem.dialout und Rechten 755 (drwxr-xr-x) unter /var/run erstellt.

Jetzt startet Fhem immernoch in Schleife aber mit neuer Fehlermeldung laut Log:

2022.10.11 13:17:22 0: configDB starting in rescue mode!
2022.10.11 13:17:22 3: telnetPort: port 7072 opened
2022.10.11 13:17:22 3: web: port 8083 opened
2022.10.11 13:17:22 0: Featurelevel: 6.1
2022.10.11 13:17:22 0: Server started with 4 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:fhem pid:23958)
2022.10.11 13:17:22 0: Server shutdown
2022.10.11 13:17:22 1: PERL WARNING: Use of uninitialized value $fileName in substitution (s///) at configDB.pm line 595.
2022.10.11 13:17:43 0: configDB starting in rescue mode!
2022.10.11 13:17:43 3: telnetPort: port 7072 opened
2022.10.11 13:17:44 3: web: port 8083 opened
2022.10.11 13:17:44 0: Featurelevel: 6.1
2022.10.11 13:17:44 0: Server started with 4 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:fhem pid:23965)
2022.10.11 13:17:44 0: Server shutdown
2022.10.11 13:17:44 1: PERL WARNING: Use of uninitialized value $fileName in substitution (s///) at configDB.pm line 595.
2022.10.11 13:18:05 0: configDB starting in rescue mode!
2022.10.11 13:18:05 3: telnetPort: port 7072 opened
2022.10.11 13:18:06 3: web: port 8083 opened
2022.10.11 13:18:06 0: Featurelevel: 6.1
2022.10.11 13:18:06 0: Server started with 4 defined entities (fhem.pl:26379/2022-09-03 perl:5.032001 os:linux user:fhem pid:23979)
2022.10.11 13:18:06 0: Server shutdown
2022.10.11 13:18:06 1: PERL WARNING: Use of uninitialized value $fileName in substitution (s///) at configDB.pm line 595.


In dem /var/run/fhem-Verzeichnis wird allerdings keine .pid-Datei angelegt.

Zeilen 594 bis 596 in configDB.pm ist
my $fileName = defined($data{saveID}) ? $data{saveID} : $configDB{loaded};
       $fileName =~ s/^\s+|\s+$//g; # trim filenamqe
       $fileName .= ".fhem.save";

1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...

VolkerGBenner

Zitat von: Beta-User am 10 Oktober 2022, 21:49:30
Irgendwie klingt es danach, als würde das mit FHEM mit gestartet werden. Könnte auch was aus einer myUtils sein.
Vielleicht fördert das hier im Modul-Verzeichnis irgendwas zutage:
grep -i 'fhem.pid' *

Falls dieses neu angelegte Verzeichnis noch existiert, sollte es m.E. wieder gelöscht werden. Nicht, dass wir jetzt auch noch ein Rechte-Problem kurieren müssen...

Ausgabe von grep -i 'fhem.pid' *
10_EnOcean.pm:          The FHEM PID controller calculates the actuator setpoint based on the temperature setpoint. The controller's
10_EnOcean.pm:          The FHEM PID controller calculates the actuator setpoint based on the temperature setpoint. The controller's
10_EnOcean.pm:          The FHEM PID controller calculates the actuator setpoint based on the temperature setpoint. The controller's
10_EnOcean.pm:        Activate the Fhem PID regulator
98_systemd_watchdog.pm.vgb:ExecStop=+/usr/bin/pkill -F /run/fhem/fhem.pid
98_systemd_watchdog.pm.vgb:PIDFile=/run/fhem/fhem.pid
98_systemd_watchdog.pm.vgb:    <code><kbd>attr global pidfilename /run/fhem/fhem.pid</kbd></code> konfiguriert werden kann.
98_systemd_watchdog.pm.vgb:ExecStop=+/usr/bin/pkill -F /run/fhem/fhem.pid
98_systemd_watchdog.pm.vgb:PIDFile=/run/fhem/fhem.pid
grep: FhemUtils: Ist ein Verzeichnis
grep: firmware: Ist ein Verzeichnis
grep: holiday: Ist ein Verzeichnis
grep: lib: Ist ein Verzeichnis

EnOcean nutze ich nicht.
Die systemd-watchdog.pm habe ich schon "deaktiviert". Die sucht aber sogar in /run/fhem nach der fhem.pid und nicht in /var/run/fhem wie in der Fehlermeldung zu Anfang.
1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...

Beta-User

Zitat von: VolkerGBenner am 11 Oktober 2022, 13:58:24
Die systemd-watchdog.pm habe ich schon "deaktiviert". Die sucht aber sogar in /run/fhem nach der fhem.pid und nicht in /var/run/fhem wie in der Fehlermeldung zu Anfang.
Das dürfte eh' nur die commandref sein, die diese Treffer erzeugt, siehe den Hinweis oben zur vermuteten "Quelle" für diese etwas seltsame Pfadangabe "/var/run/fhem". Daher der Vorschlag, die eventuell in global vorhandene "komische" Variante mit einem passenden Aufruf in der systemd-file zu versuchen. Aber betateilchen wird schon besser wissen, ob das globale Attribut ggf. gelesen wird oder nicht, ich habe nicht in den Code geschaut.

Was du vielleicht noch machen kannst: fhem.pl scheint ja relativ aktuell zu sein, trotzdem gibt es uU. auch zum Rest noch updates. Wenn du die demo-cfg startest, kannst du damit ein update anschubsen.

Ansonsten bin ich ratlos, was da direkt wieder einen (dieses Mal wohl geordneten) shutdown anweist.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

betateilchen

Zitat von: VolkerGBenner am 11 Oktober 2022, 13:40:39
Jetzt startet Fhem immernoch in Schleife aber mit neuer Fehlermeldung laut Log:
...
Zeilen 594 bis 596 in configDB.pm ist

Das ist keine Fehlermeldung, sondern eine Warnung und sie hat nix mit Deinem pid Problem zu tun.
Die Meldung kommt daher, dass beim begonnenen shutdown versucht wird, ein statefile zu schreiben, was nicht funktioniert, weil Du immer noch im rescue mode bist.

Nimm mal das rescue aus der configDB.conf wieder raus und teste, wie sich Dein FHEM danach verhält.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

VolkerGBenner

Wie gehabt. Endlos Bootschleife mit
2022.10.11 15:10:14 2: eventTypes: loaded 1359 lines from ./log/eventTypes.txt
2022.10.11 15:10:16 1: HMCCU [myCCU3] CCU port 48181 is reachable
2022.10.11 15:10:16 1: HMCCU [myCCU3] Initialized version 5.0 222751518
2022.10.11 15:10:16 1: HMCCU [myCCU3] Initializing device
2022.10.11 15:10:16 2: HMCCU [myCCU3] Deleting old CCU configuration data
2022.10.11 15:10:16 2: HMCCU [myCCU3] Updating device table
2022.10.11 15:10:16 1: HMCCU [myCCU3] Read 38 devices with 321 channels from CCU 192.168.2.60
2022.10.11 15:10:16 1: HMCCU [myCCU3] Read 10 programs from CCU 192.168.2.60
2022.10.11 15:10:16 1: HMCCU [myCCU3] Read 8 virtual groups from CCU 192.168.2.60
2022.10.11 15:10:16 1: PERL WARNING: Argument "str*" isn't numeric in numeric gt (>) at ./FHEM/88_HMCCU.pm line 664.
2022.10.11 15:10:18 1: Watchdog Client: systemd watchdog is not available. Module inactive.
2022.10.11 15:10:19 2: HMCCURPCPROC [d_rpc002060VirtualDevices] CCU interface VirtualDevices doesn't support RPC multicalls
2022.10.11 15:10:19 1: HMCCURPCPROC [d_rpc002060VirtualDevices] Initialized version 5.0 222751518 for interface VirtualDevices with I/O device myCCU3
2022.10.11 15:10:20 2: HMCCURPCPROC [d_rpc002060BidCos_RF] CCU interface BidCos-RF supports RPC multicalls
2022.10.11 15:10:20 1: HMCCURPCPROC [d_rpc002060BidCos_RF] Initialized version 5.0 222751518 for interface BidCos-RF with I/O device myCCU3
2022.10.11 15:10:20 2: HMCCURPCPROC [d_rpc002060HmIP_RF] CCU interface HmIP-RF doesn't support RPC multicalls
2022.10.11 15:10:20 1: HMCCURPCPROC [d_rpc002060HmIP_RF] Initialized version 5.0 222751518 for interface HmIP-RF with I/O device myCCU3
2022.10.11 15:10:20 2: ONKYO_AVR PioneerVSX1131: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
/var/run/fhem/fhem.pid: No such file or directory
2022.10.11 15:10:42 2: eventTypes: loaded 1359 lines from ./log/eventTypes.txt
2022.10.11 15:10:43 1: HMCCU [myCCU3] CCU port 48181 is reachable
2022.10.11 15:10:43 1: HMCCU [myCCU3] Initialized version 5.0 222751518
2022.10.11 15:10:43 1: HMCCU [myCCU3] Initializing device
2022.10.11 15:10:44 2: HMCCU [myCCU3] Deleting old CCU configuration data
2022.10.11 15:10:44 2: HMCCU [myCCU3] Updating device table
2022.10.11 15:10:44 1: HMCCU [myCCU3] Read 38 devices with 321 channels from CCU 192.168.2.60
2022.10.11 15:10:44 1: HMCCU [myCCU3] Read 10 programs from CCU 192.168.2.60
2022.10.11 15:10:44 1: HMCCU [myCCU3] Read 8 virtual groups from CCU 192.168.2.60
2022.10.11 15:10:44 1: PERL WARNING: Argument "str*" isn't numeric in numeric gt (>) at ./FHEM/88_HMCCU.pm line 664.
2022.10.11 15:10:45 1: Watchdog Client: systemd watchdog is not available. Module inactive.
2022.10.11 15:10:47 2: HMCCURPCPROC [d_rpc002060VirtualDevices] CCU interface VirtualDevices doesn't support RPC multicalls
2022.10.11 15:10:47 1: HMCCURPCPROC [d_rpc002060VirtualDevices] Initialized version 5.0 222751518 for interface VirtualDevices with I/O device myCCU3
2022.10.11 15:10:47 2: HMCCURPCPROC [d_rpc002060BidCos_RF] CCU interface BidCos-RF supports RPC multicalls
2022.10.11 15:10:47 1: HMCCURPCPROC [d_rpc002060BidCos_RF] Initialized version 5.0 222751518 for interface BidCos-RF with I/O device myCCU3
2022.10.11 15:10:47 2: HMCCURPCPROC [d_rpc002060HmIP_RF] CCU interface HmIP-RF doesn't support RPC multicalls
2022.10.11 15:10:47 1: HMCCURPCPROC [d_rpc002060HmIP_RF] Initialized version 5.0 222751518 for interface HmIP-RF with I/O device myCCU3
2022.10.11 15:10:48 2: ONKYO_AVR PioneerVSX1131: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
/var/run/fhem/fhem.pid: No such file or directory
2022.10.11 15:11:10 2: eventTypes: loaded 1359 lines from ./log/eventTypes.txt
2022.10.11 15:11:11 1: HMCCU [myCCU3] CCU port 48181 is reachable
2022.10.11 15:11:11 1: HMCCU [myCCU3] Initialized version 5.0 222751518
2022.10.11 15:11:11 1: HMCCU [myCCU3] Initializing device
2022.10.11 15:11:12 2: HMCCU [myCCU3] Deleting old CCU configuration data
2022.10.11 15:11:12 2: HMCCU [myCCU3] Updating device table
2022.10.11 15:11:12 1: HMCCU [myCCU3] Read 38 devices with 321 channels from CCU 192.168.2.60
2022.10.11 15:11:12 1: HMCCU [myCCU3] Read 10 programs from CCU 192.168.2.60
2022.10.11 15:11:12 1: HMCCU [myCCU3] Read 8 virtual groups from CCU 192.168.2.60
2022.10.11 15:11:12 1: PERL WARNING: Argument "str*" isn't numeric in numeric gt (>) at ./FHEM/88_HMCCU.pm line 664.
2022.10.11 15:11:13 1: Watchdog Client: systemd watchdog is not available. Module inactive.
2022.10.11 15:11:15 2: HMCCURPCPROC [d_rpc002060VirtualDevices] CCU interface VirtualDevices doesn't support RPC multicalls
2022.10.11 15:11:15 1: HMCCURPCPROC [d_rpc002060VirtualDevices] Initialized version 5.0 222751518 for interface VirtualDevices with I/O device myCCU3
2022.10.11 15:11:15 2: HMCCURPCPROC [d_rpc002060BidCos_RF] CCU interface BidCos-RF supports RPC multicalls
2022.10.11 15:11:15 1: HMCCURPCPROC [d_rpc002060BidCos_RF] Initialized version 5.0 222751518 for interface BidCos-RF with I/O device myCCU3
2022.10.11 15:11:15 2: HMCCURPCPROC [d_rpc002060HmIP_RF] CCU interface HmIP-RF doesn't support RPC multicalls
2022.10.11 15:11:15 1: HMCCURPCPROC [d_rpc002060HmIP_RF] Initialized version 5.0 222751518 for interface HmIP-RF with I/O device myCCU3
2022.10.11 15:11:15 2: ONKYO_AVR PioneerVSX1131: Registering ONKYO_AVR for webhook URI ?/ONKYO_AVR ...
/var/run/fhem/fhem.pid: No such file or directory


Ich hab nebenbei mal versucht eine neue Datenbank zu erstellen, wie im Commandref beschrieben. Da bekomme ich dann aber beim Aufruf mit
./fhem.pl configDB
die Fehlermeldung
PERL WARNING: DBD::SQLite::db do failed: table fhemversions has 3 columns but 2 values were supplied at configDB.pm line 344.
DBD::SQLite::db do failed: table fhemversions has 3 columns but 2 values were supplied at configDB.pm line 344.


Wenn ich alternativ starte mit ./fhem.pl fhem.cfg
stürzt Fhem nach configDB migrate mit der gleichen Fehlermeldung ab.

Hab auch schon nach dem Start mit der fhem.cfg ein "update" geamacht. Ändert nichts.
1x  RasPiB3+  mit RPI-RF-MOD und pivccu3
1x HM-TC-IT-WM-W-EU, 1x HM-CC-RT-DN, 1xHM-SEC-SCo,
HM-LC-Sw4-DR, HM-WDS30-OT2-SM, HM-Dis-WM55, 7x HmIP-eTRV-B,...