Autor Thema: Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern  (Gelesen 13558 mal)

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6393
  • NIVEAu ist keine Creme...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #30 am: 24 November 2017, 18:12:42 »
JUHUUU!

Also es wird failed angezeigt! :)

Vielen Dank!!

EDIT: bissi zu früh gejubelt... Jetzt steht auch beim Starten wo es gut geht "failed"... ;)

Gruß, Joachim

P.S.: bitte gerne für die "Unterstützung" (Schwachstellen aufdecken) ;)
« Letzte Änderung: 24 November 2017, 18:21:25 von MadMax-FHEM »
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Online DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4106
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #31 am: 24 November 2017, 18:31:14 »
Also es wird failed angezeigt! :)

Was steht im Reading status?
Auf dieses werden die RegEx angewendet.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6393
  • NIVEAu ist keine Creme...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #32 am: 24 November 2017, 18:34:49 »
Hier ein list nach Ausführen wo der Dienst läuft (also laut Status auf der Console):

Internals:
   CFGFN
   DEF        alexa
   NAME       alexa_fhem
   NR         64
   SERVICENAME alexa
   STATE      failed
   TYPE       serviced
   READINGS:
     2017-11-24 18:33:16   error           none
     2017-11-24 18:33:16   state           failed
     2017-11-24 18:33:16   status          Active: active (exited) since Fri 2017-11-24 18:33:16 CET; 134ms ago
   helper:
Attributes:
   alias      Service alexa
   cmdIcon    restart:rc_REPEAT stop:rc_STOP status:rc_INFO start:rc_PLAY
   devStateIcon Initialized|status:light_question error|failed:light_exclamation running:audio_play:stop stopped:audio_stop:start stopping:audio_stop .*starting:audio_repeat
   icon       hue_room_garage
   room       Services
   serviceInitd 1
   webCmd     start:restart:stop:status

EDIT: muss jetzt allerdings leider weg... Kann erst später wieder testen, SORRY!!!

Gruß, Joachim
« Letzte Änderung: 24 November 2017, 18:39:00 von MadMax-FHEM »
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Online DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4106
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #33 am: 24 November 2017, 18:38:17 »
   READINGS:
     2017-11-24 18:33:16   status          Active: active (exited) since Fri 2017-11-24 18:33:16 CET; 134ms ago

Da steht doch auch wieder "exited"!
Vorhin stand genau das Gleiche da und der Dienst lief nicht?
Das ist aber merkwürdig. ???

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6393
  • NIVEAu ist keine Creme...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #34 am: 24 November 2017, 23:43:59 »
Hallo Dan,

so, bin wieder zurück...

Ich poste mal ein paar Ausgaben von 'sudo service alexa status':

Start klappt und Service läuft:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa start
pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa; generated; vendor preset: enabled)
   Active: active (exited) since Fri 2017-11-24 23:37:54 CET; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2986 ExecStop=/etc/init.d/alexa stop (code=exited, status=0/SUCCESS)
  Process: 3023 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Nov 24 23:37:52 MadMax-PI-FHEM-Test2 systemd[1]: Starting LSB: Start daemon at boot time for alexa...
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: Successful su for pi by root
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: + ??? root:pi
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa starting
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa is running PID 3037
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 systemd[1]: Started LSB: Start daemon at boot time for alexa.


Service gestoppt und läuft nicht:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa stop
pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa; generated; vendor preset: enabled)
   Active: inactive (dead) since Fri 2017-11-24 23:38:36 CET; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3098 ExecStop=/etc/init.d/alexa stop (code=exited, status=0/SUCCESS)
  Process: 3023 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa starting
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa is running PID 3037
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 systemd[1]: Started LSB: Start daemon at boot time for alexa.
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 systemd[1]: Stopping LSB: Start daemon at boot time for alexa...
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 alexa[3098]: Alexa closed
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 alexa[3098]: script done
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 systemd[1]: Stopped LSB: Start daemon at boot time for alexa.


Und dann einmal, wenn der Service beim Start einen Fehler hat, also bei "Statusabfrage" dann nicht läuft:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa start
pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa; generated; vendor preset: enabled)
   Active: active (exited) since Fri 2017-11-24 23:41:26 CET; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3098 ExecStop=/etc/init.d/alexa stop (code=exited, status=0/SUCCESS)
  Process: 3167 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Nov 24 23:41:24 MadMax-PI-FHEM-Test2 systemd[1]: Starting LSB: Start daemon at boot time for alexa...
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 su[3171]: Successful su for pi by root
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 su[3171]: + ??? root:pi
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 su[3171]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 alexa[3167]: -su: /home/pi/alexa-fhem/log/alexa-2017-11.log: No such file or directory
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 alexa[3167]: Alexa starting
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 alexa[3167]: Alexa is not running
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 alexa[3167]: script done
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 alexa[3167]: script done
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 systemd[1]: Started LSB: Start daemon at boot time for alexa.

Ich hoffe das hilft (ein wenig)...

EDIT: jetzt bin ich selbst verwirrt... Ich dachte schon ich hätte einen copy/paste-Fehler aber es ist tatsächlich so, dass nach einem Stop die quasi fast identische Ausgabe zu nach einem Start kommt... Wohin gegen folgende Abfrage die richtige "Antwort" gibt:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo /etc/init.d/alexa status
Alexa is not running
script done

EDIT2: Hier noch ein paar Infos zum System: PI3 Raspbian Stretch lite (jaja, ich weiß: eigentlich systemd aber ich ziehe grad um von Wheezy), fhem (fast / denke knapp 2 Wochen letzter Update) aktuell (eben ein Update gemacht)...

Danke, Joachim
« Letzte Änderung: 25 November 2017, 00:50:00 von MadMax-FHEM »
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4641
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #35 am: 25 November 2017, 11:05:29 »
Hallo Dan,

anghängt habe ich dir die V1.0.0.

Autostart und Autostop läuft bei mir einwandfrei.
Autostart kann mit einer Verzögerung von 1...10 Sekunden den Service starten.
Eine Versionierung habe ich mit eingebaut und NOTIFYDEV auf global gesetzt wegen der INITIALIZED-Verarbeitung beim Start.

Meine Ergänzungen habe ich mit "DS_Starter" kenntlich gemacht. Wenn du danach suchst findest du alle Changes.

Probiers mal aus und wenn es dir gefällt ergänze ich auch noch die Commandref  ;)

EDIT: beim start von fhem wird der service-status jetzt automatisch ermittelt wenn kein autostart gesetzt ist, mit autostart geschieht das ja implizit.

bis später ...

LG,
Heiko
« Letzte Änderung: 25 November 2017, 11:59:58 von DS_Starter »
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, SSChatBot, DbLog/DbRep, Log2Syslog, SMAPortal, Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4641
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #36 am: 25 November 2017, 18:12:03 »
Hi Dan,

habe in der angehängten V1.1.0 noch eine kleine Verbesserung eingebaut.

Das Attr autoStop hat jetzt einen größeren Wertevorrat und beschreibt die maximale Zeit die nach dem shutdown-Kommando auf die erfolgreiche Abarbeitung des BlockingCall gewartet wird. Stirbt der BlockingCall oder hängt weil der zu stoppende Dienst nicht reagiert o.ä. würde FHEM sonst eventuell nicht stoppen und ewig in der Schleife hängen.
Mit dieser Version kann das nicht passieren und der shutdown wird nach Ablauf der Zeit forciert, unabhängig vom Erfolg des BlockingCall.
Ist bei mir noch nicht passiert ...  reine Vorsichtsmaßnahme.

LG,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, SSChatBot, DbLog/DbRep, Log2Syslog, SMAPortal, Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Online DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4106
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #37 am: 25 November 2017, 18:36:10 »
Danke für Deine Zuarbeit Heiko, das schätze ich sehr.
Ich hab Deine V1.0.0 Änderungen "in meinem Stil" bei mir soweit übernommen.
Musste erst mal verstehen was da passiert und einige Dinge fand ich für mein Code-Verständnis umständlich, z.B. der zusätzliche Prototype in SetFn.
Das ist wohl aber meine persönliche Macke... :o

Werde Deine Änderungen von V1.1.0 auch noch versuchen zu übernehmen und dann aktualisiere ich das Modul im ersten Beitrag.

Hallo Dan,

so, bin wieder zurück...

Ich poste mal ein paar Ausgaben von 'sudo service alexa status':

Start klappt und Service läuft:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa start
pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa; generated; vendor preset: enabled)
   Active: active (exited) since Fri 2017-11-24 23:37:54 CET; 4s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2986 ExecStop=/etc/init.d/alexa stop (code=exited, status=0/SUCCESS)
  Process: 3023 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Nov 24 23:37:52 MadMax-PI-FHEM-Test2 systemd[1]: Starting LSB: Start daemon at boot time for alexa...
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: Successful su for pi by root
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: + ??? root:pi
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa starting
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa is running PID 3037
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 systemd[1]: Started LSB: Start daemon at boot time for alexa.


Service gestoppt und läuft nicht:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa stop
pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa; generated; vendor preset: enabled)
   Active: inactive (dead) since Fri 2017-11-24 23:38:36 CET; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3098 ExecStop=/etc/init.d/alexa stop (code=exited, status=0/SUCCESS)
  Process: 3023 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Nov 24 23:37:52 MadMax-PI-FHEM-Test2 su[3027]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 24 23:37:52 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa starting
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: Alexa is running PID 3037
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 alexa[3023]: script done
Nov 24 23:37:54 MadMax-PI-FHEM-Test2 systemd[1]: Started LSB: Start daemon at boot time for alexa.
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 systemd[1]: Stopping LSB: Start daemon at boot time for alexa...
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 alexa[3098]: Alexa closed
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 alexa[3098]: script done
Nov 24 23:38:36 MadMax-PI-FHEM-Test2 systemd[1]: Stopped LSB: Start daemon at boot time for alexa.


Und dann einmal, wenn der Service beim Start einen Fehler hat, also bei "Statusabfrage" dann nicht läuft:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa start
pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo service alexa status
● alexa.service - LSB: Start daemon at boot time for alexa
   Loaded: loaded (/etc/init.d/alexa; generated; vendor preset: enabled)
   Active: active (exited) since Fri 2017-11-24 23:41:26 CET; 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 3098 ExecStop=/etc/init.d/alexa stop (code=exited, status=0/SUCCESS)
  Process: 3167 ExecStart=/etc/init.d/alexa start (code=exited, status=0/SUCCESS)

Nov 24 23:41:24 MadMax-PI-FHEM-Test2 systemd[1]: Starting LSB: Start daemon at boot time for alexa...
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 su[3171]: Successful su for pi by root
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 su[3171]: + ??? root:pi
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 su[3171]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 alexa[3167]: -su: /home/pi/alexa-fhem/log/alexa-2017-11.log: No such file or directory
Nov 24 23:41:24 MadMax-PI-FHEM-Test2 alexa[3167]: Alexa starting
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 alexa[3167]: Alexa is not running
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 alexa[3167]: script done
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 alexa[3167]: script done
Nov 24 23:41:26 MadMax-PI-FHEM-Test2 systemd[1]: Started LSB: Start daemon at boot time for alexa.

Ich hoffe das hilft (ein wenig)...

EDIT: jetzt bin ich selbst verwirrt... Ich dachte schon ich hätte einen copy/paste-Fehler aber es ist tatsächlich so, dass nach einem Stop die quasi fast identische Ausgabe zu nach einem Start kommt... Wohin gegen folgende Abfrage die richtige "Antwort" gibt:

pi@MadMax-PI-FHEM-Test2:/opt/fhem/FHEM $ sudo /etc/init.d/alexa status
Alexa is not running
script done

EDIT2: Hier noch ein paar Infos zum System: PI3 Raspbian Stretch lite (jaja, ich weiß: eigentlich systemd aber ich ziehe grad um von Wheezy), fhem (fast / denke knapp 2 Wochen letzter Update) aktuell (eben ein Update gemacht)...

Danke, Joachim

Das ist mir irgendwie noch rätselhaft, könnte da was mit dem init Skript nicht hinhauen?

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6393
  • NIVEAu ist keine Creme...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #38 am: 25 November 2017, 19:00:26 »
Das ist mir irgendwie noch rätselhaft, könnte da was mit dem init Skript nicht hinhauen?

Gruß
Dan

Hallo Dan,

die Idee ist mir auch schon gekommen...

Frägt sich nur: was...

Ich habe es aus dem alexa-fhem Wiki bzw. aus der Weiterverlinkung zu homebridge...

Aber ich werde es mal mit anderen Scripten in init.d vergleichen...

Ich werde das Modul von dir auch mal auf meinem Testsystem mit Wheezy ausprobieren (solange ich das noch habe)...
...und evtl. noch Jessie.

Nur um auszuschließen, dass es damit zu tun hat.

Auf lange Sicht werde ich aber eh auf systemd umstellen aber solange es dir hilft werde ich noch etwas testen (bzw. brauche ich auch erst mal Zeit umzustellen / ziehe ja gerade mein gesamtes Testsystem von Wheezy um auf Stretch aber halt nicht komplett [war/ist ganz schön "zugemüllt"] sondern nur die Dinge die ich zum Testen brauche bzw. noch in Erprobung sind bevor es dann auf's Hauptsystem [oder in die Tonne] geht)...

Komme aber wohl erst morgen wieder dazu... :-|

Gruß, Joachim
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Offline synaps-o-dan

  • Full Member
  • ***
  • Beiträge: 118
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #39 am: 25 November 2017, 19:06:22 »
Coole Idee, werde ich ausprobieren. Eine Frage vorab: aktuell ist bei mir der user fhem kein sudoer, sondern hat nur relativ eingeschränkt Rechte. Spricht aus Sicherheitsgründen irgendetwas dagegen, dem user fhem Zugriff auf systemd zu erlauben? Wenn fhem von außen (trotz bestmöglicher Absicherung) gekapert wird?
Liebe Grüße,
Daniel
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4641
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #40 am: 25 November 2017, 19:10:30 »
Hi Dan,

ja, jeder hat so seinen Sti. Ich bin schon älter und brauche vor Allem Übersichtlichkeit, sonst sehe ich den Wald vor lauter Bäumen nicht und die Augen schmerzen beim Lesen von Code ohne Zwischenräumen.  :)

Helfe dir gerne wenn ich kann und teste/verbessere mit.
Finde es ein sehr hilfreiches Modul ! und einen Einsatz habe ich bereits ... da kommt sicherlich noch etwas dazu.

LG,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, SSChatBot, DbLog/DbRep, Log2Syslog, SMAPortal, Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4641
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #41 am: 26 November 2017, 08:45:58 »
Hallo Dan,

nochmal eine kleine Änderung. Es hat sich als hilfreich erwiesen den Wertevorrat für das attr autoStart bis in den Minutenbereich hinein zu erweitern.
Das macht sich beim watchdog gut, da erst die heartbeat-Datei geschrieben sein muß bevor der Dienst gestart wird.

Demzufolge habe ich serviced_Notify so abgeändert dass in jedem Fall beim fhem Start der aktuelle Status ermittelt wird und nicht nur wenn autoStart != 0.
Version 1.2.0 ist anbei.

LG,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf Synology 415+
Maintainer: SSCam, SSChatBot, DbLog/DbRep, Log2Syslog, SMAPortal, Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6393
  • NIVEAu ist keine Creme...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #42 am: 26 November 2017, 23:10:05 »
Hallo Dan,

also irgendwie ist das mit initd wohl nicht so einfach...

Ich habe mal mit der vorletzten Version (die vor Erweiterung um Heikos Code, also die selbe die ich zuvor auf dem Stretch System getestet hatte) auf einem wheezy System installiert und auch mal ein anderes Startscript (ha-bridge) genutzt.

Beim Start dann folgendes:

error Starting habridge 2017-11-26 23:00:52
state error 2017-11-26 23:00:52

Obwohl ha-bridge startet und läuft...

Eine Abfrage von "Info" durch das Modul führt dazu, dass der ReadingsTimestamp des Readings state laufend hoch gezählt wird.
Eine erneute Abfrage durch "Info" wird wie folgt "quittiert":

Work already/still in progress... Please wait for the current process to finish.
Wie lange das so geht weiß ich nicht...
...weil ich dann den Service wieder "deinstalliert" habe, dann ist auf jeden Fall "Ruhe"...

Dort (Wheezy mit dem ha-bridge Service)  sind die Ausgaben von "sudo service ha-bridge status" ganz anders.
Nur "Stopped" oder "Running"...


Nur als kurze Zwischen-Info.


Nächste Schritte (außer du sagst das ist Quatsch/uninteressant oder teste lieber das oder so):

- alexa Startscript auf das Wheezy System bringen.
- neueste Version des Moduls auf Wheezy und Stretch testen.
- verschiedene Startscripte vergleichen bzw. herausfinden wie denn ein "richtiges" Startscript aussehen muss.
(- umstellen auf systemd / aber dann natürlich kein Test mehr bzgl. initd)

Gruß, Joachim

P.S.: sorry für all die komischen Probleme...
FHEM 5.9 PI3: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 3x EnOcean, HUE, CO2, ESP-Multisensor, FireTV, KODI, alexa-fhem, ...
FHEM 5.9 PI2: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM 5.9 PI3 (Test): HM-MOD-PCB, Snips, Google Home, ...

Online DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4106
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #43 am: 27 November 2017, 00:28:31 »
Ich habe v.1.2.1 im ersten Beitrag hochgeladen.

Heikos Codespenden habe ich in meinem Stil eingepflegt.
Da alle Attribute bei mir modulspezifisch geprefixt sind heißen sie nun serviceAutostart und serviceAutostop. Werte lassen sich von 1-99 frei setzen.

@Heiko:
Ich habe zum BlockingCall noch eine AbortFn mit 10sec Timeout hinzugefügt, nur um ganz sicher zu gehen. ;)
Deine Codeerweiterung aus v1.2.0 hatte ich schon beim Einpflegen des v1.1.0 Codes mit hinzugefügt.
Bitte schaue mal nach ob noch alles, trotz verändertem Code, funktioniert wie es soll.
Und natürlich nochmal extra Dank an Dich.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Online DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4106
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern
« Antwort #44 am: 27 November 2017, 00:34:11 »
Hallo Dan,

also irgendwie ist das mit initd wohl nicht so einfach...

Ich habe mal mit der vorletzten Version (die vor Erweiterung um Heikos Code, also die selbe die ich zuvor auf dem Stretch System getestet hatte) auf einem wheezy System installiert und auch mal ein anderes Startscript (ha-bridge) genutzt.

Beim Start dann folgendes:

error Starting habridge 2017-11-26 23:00:52
state error 2017-11-26 23:00:52

Obwohl ha-bridge startet und läuft...

Eine Abfrage von "Info" durch das Modul führt dazu, dass der ReadingsTimestamp des Readings state laufend hoch gezählt wird.
Eine erneute Abfrage durch "Info" wird wie folgt "quittiert":

Work already/still in progress... Please wait for the current process to finish.
Wie lange das so geht weiß ich nicht...
...weil ich dann den Service wieder "deinstalliert" habe, dann ist auf jeden Fall "Ruhe"...

Dort (Wheezy mit dem ha-bridge Service)  sind die Ausgaben von "sudo service ha-bridge status" ganz anders.
Nur "Stopped" oder "Running"...


Nur als kurze Zwischen-Info.


Nächste Schritte (außer du sagst das ist Quatsch/uninteressant oder teste lieber das oder so):

- alexa Startscript auf das Wheezy System bringen.
- neueste Version des Moduls auf Wheezy und Stretch testen.
- verschiedene Startscripte vergleichen bzw. herausfinden wie denn ein "richtiges" Startscript aussehen muss.
(- umstellen auf systemd / aber dann natürlich kein Test mehr bzgl. initd)

Gruß, Joachim

P.S.: sorry für all die komischen Probleme...

Ganz ehrlich, ich bin kein Experte für initd und/oder systemd.
Allerdings würde ich von allen Linux Diensten erwarten dass sie ihren Status "ehrlich" bekannt geben.
Soll bedeuten, wenn ein Dienst beim Start nicht richtig ausgeführt werden kann (warum auch immer), dann sollte das auch eindeutig im Status zu erkennen sein.
Evtl. liege ich aber auch falsch, wie gesagt bin da kein Experte, würde mich aber freuen wenn wir das aufklären könnten.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced