Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern

Begonnen von DeeSPe, 22 November 2017, 01:03:15

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#30
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) ;)
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DeeSPe

Zitat von: MadMax-FHEM am 24 November 2017, 18:12:42
Also es wird failed angezeigt! :)

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

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

MadMax-FHEM

#32
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DeeSPe

Zitat von: MadMax-FHEM am 24 November 2017, 18:34:49

   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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

MadMax-FHEM

#34
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
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DS_Starter

#35
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
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

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@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DeeSPe

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.

Zitat von: MadMax-FHEM 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

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

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

MadMax-FHEM

Zitat von: DeeSPe am 25 November 2017, 18:36:10
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 PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

synaps-o-dan

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

DS_Starter

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@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

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@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

MadMax-FHEM

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 PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

DeeSPe

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Zitat von: MadMax-FHEM 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...

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
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe