Problem! HMLAND kein Restart bei FHEM "shutdown restart"

Begonnen von duu75, 21 Februar 2016, 10:18:55

Vorheriges Thema - Nächstes Thema

duu75

Brauche mal dringend eure Hilfe.

Habe meinen Server neu aufgesetzt mit Ubuntu 14.04.3 LTS 64Bit.
Alles soweit läuft wieder ohne Probleme.
Nur der HM USB Stick mit HMLAND als Service macht beim FHEM RESTART Probleme.

Wenn ich unter Ubuntu CLI mit "service fhem restart" restarte geht alles sauber und HMLAND restartet auch sauber mit.

Wenn ich aber unter FHEM Kommandozeile "shutdown restart" bleibt der HMLAND im Status shutdown/waiting.

Das hat aber mit der gleichen Konfig unter dem alten Ubuntu immer ohne Probleme geklappt.
Ich starte/stoppe etc. HMLAND doch im Script in Abhängigkeit mit FHEM.
Scheint so als ob HMLAND den STOP zwar mitbekommt, aber den START nicht.
Was ist daran falsch, dass es in der neuen Ubuntu Version nicht mehr geht.

Hier meine beiden /etc/init/ conf-Files für FHEM und HMLAND.


# FHEM Service
description     "fhem server"
author          "Rudolf Koenig <r.koenig@koeniglich.de>"

start on (net-device-up
          and local-filesystems
          and runlevel [2345])
stop on runlevel [016]

expect fork
respawn

chdir /opt/fhem
exec perl fhem.pl fhem.cfg



# HMLAND
description     "hmland"

start on starting fhem
stop on stopped fhem

respawn
expect fork

chdir /opt/hmcfgusb
exec /opt/hmcfgusb/hmland -d -l 127.0.0.1 -p 1234




duu75

Evtl. ist das Thema unter Server -Linux besser aufgehoben.
Kann es bitte dorthin verschoben werden?
Danke.

franky08

Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

duu75

Zitat von: franky08 am 21 Februar 2016, 23:16:41
Verschieben kann der TE doch selber  :)

VG
Frank

Ich wüsste nicht wie!
Habe nirgends die Möglichkeit gefunden.

franky08

Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

duu75

Ich hoffe, hier im Linux Server Unterforum könnt ihr mir weiterhelfen.

Wernieman

Bei einem "fhem restart" wird der hmlan nicht neu gestartet,. warum sollte denn das System dieses tuen?

Bei der CLI ist es klar. Da erledigt es der systemd. Aber wenn das Progi (fhem) es auslöst, wie soll der systemd s mitbkommen?

Oder liege ich falsch?

- 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

duu75

Zitat von: Wernieman am 22 Februar 2016, 10:46:57
Bei einem "fhem restart" wird der hmlan nicht neu gestartet,. warum sollte denn das System dieses tuen?

Bei der CLI ist es klar. Da erledigt es der systemd. Aber wenn das Progi (fhem) es auslöst, wie soll der systemd s mitbkommen?

Oder liege ich falsch?

Ja k.A. was genau im Hintergrund abläuft, wenn man im FHEM "shutdown restart" ausführt.
Anscheinend nicht "service fhem restart", sonst wäre das Problem nicht.

Wenn der HMLAND aber in den Service fhem gekoppelt ist, dann wird doch auch dieser beim Neustart dies mit bekommen und sich restarten.
So der Plan bzw. in meinem alten Ubuntu 12 kein Problem gewesen.

Wernieman

Sofern ich weiß, macht es fhem eben nicht über /etc/init.d bzw. systemd, sondern in dem es sich selber forkt und beende ...... o.Ä. Zum genauen Verständnis bitte einen Programmierer fragen.

Da fhem sich normal beendet, warum sollte systemd dann den hmland dann starten?

Mal eine andere Frage (da ich Ihn nicht habe), muß der hmlan über User root laufen? oder reicht als user auch fhem?
- 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

duu75

HMLAND läuft bei mir nicht als root.

Aber warum wird dann HMLAND runtergefahren, wenn shutdown restart das über systemd macht?




Wernieman

Weil die PID von fhem sich Ändert ...
stop on stopped fhem

Edit:
Kannst Du hmlan nicht durch fhem starten lassen?
- 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

duu75

#11
Zitat von: Wernieman am 22 Februar 2016, 11:37:34
Weil die PID von fhem sich Ändert ...
stop on stopped fhem

Edit:
Kannst Du hmlan nicht durch fhem starten lassen?

Mache ich ja in der HMLAND.CONF.
Wird durch FHEM gestartet und gestoppt.

Oder meinst du direkt heraus aus FHEM, wenn er durchgestartet ist?
Ob das aber so gute Idee ist, weiß ich nicht.

Komisch, dass es aber mit Ubuntu 12 ohne Probleme mit der gleichen Konfig ging.

franky08

Hallo, ich hatte damals, als ich den hmusb noch eingebunden hatte, hmland in der init.d/fhem gestartet.So wie im WIKI beschrieben:
ZitatStart über Fhem Startskript
Ausprobiert auf einem BBB mit Debian, eigentlich ist das alles von Betateilchen:

Zunächst hmland kompilieren wie oben beschrieben, bis zum make. Das muss erfolgreich durchgelaufen sein.

Dann geht es weiter:

sudo cp hmcfgusb.rules /etc/udev/rules.d/
Jetzt das Fhem Startskript anpassen (in den Blöcken 'start' und 'stop' muss quasi nur jeweils 1 Zeile eingefügt werden:

Damit editiert man das Fhem Startskript:

sudo nano /etc/init.d/fhem
Und so sollten die Blöcke anschließend aussehen (bitte nur jeweils die Zeile mit hmland einfügen)

'start')
        echo "Starting fhem..."
        /opt/hmcfgusb/hmland -d -p 1234
        perl fhem.pl fhem.cfg
        RETVAL=$?
        ;;

'stop')
        echo "Stopping fhem..."
        perl fhem.pl $port "shutdown"
        RETVAL=$?
        pkill hmland
So wird hmland vor Fhem gestartet und nach Fhem beendet. Letztlich erspart es Probleme mit den diversen Startskripten und ihren Rechten.

Es dauert nach dem Start von Fhem noch einige Sekunden, bis hmland fertig geladen ist. In dieser Zeit kann es zu fehlerhaften Einträgen im Logfile kommen.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Wernieman

Vor 14.04 dürfte Dein hmlan nicht beendet worden sein, wenn sich fhem beendet hat.

Für systemd sieht aber dein "fhem shutdown restart" aber wie ein normaler shutdown aus, d.h. hmlan wird beendet. Das sich aber fhem wieder startet (neue PID), sieht der systemd nicht, deshalb wird der hmlan nicht gestartet ... jedenfalls meiner Meinung nach.

Nur wie schon geschrieben:
Bin kein systemd Spezialist
- 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

duu75

Zitat von: Wernieman am 22 Februar 2016, 13:25:32
Vor 14.04 dürfte Dein hmlan nicht beendet worden sein, wenn sich fhem beendet hat.

Für systemd sieht aber dein "fhem shutdown restart" aber wie ein normaler shutdown aus, d.h. hmlan wird beendet. Das sich aber fhem wieder startet (neue PID), sieht der systemd nicht, deshalb wird der hmlan nicht gestartet ... jedenfalls meiner Meinung nach.

Nur wie schon geschrieben:
Bin kein systemd Spezialist

D.h. vorher gabs nur upstart und ab 14.04 gibts parallel dazu systemd?
Bin nur mit gefährlichen Halbwissen in Linux dabei, wie ihr merkt.