Das Modul wird mit dem FHEM Updateprozesses ausgeliefert!
Mit serviced können lokale und entfernte Dienste verwaltet werden.
Die üblichen Kommandos sind verfügbar: start/restart/stop/status.
Der Status kann auch in definierbarem Interval aktualisiert werden.
Definedefine <name> serviced <Dienst Name> [<user@ip-adresse>]
Beispiel serviced für lokale Dienste:
define hb serviced homebridge
Beispiel serviced für entfernte Dienste:
define hyp serviced hyperion pi@192.168.1.4
Für entfernte Dienste muss dem Benutzer unter dem FHEM läuft dass passwortlose Anmelden per SSH erlaubt werden. Eine Anleitung wie das zu machen geht ist unter
diesem Link abrufbar.
Zur Benutzung von systemctl (systemd) oder service (initd) müssen dem Benutzer unter dem FHEM läuft die entsprechenden Rechte in der sudoers Datei erteilt werden (/etc/sudoers) (visudo).
Die sudo Rechte können auch gezielter als hier gezeigt spezifiziert werden, dazu bitte mit sudoers vertraut machen.
Nähere Infos auch in
Beitrag #49.
Für systemd (bitte mit eigenen Pfaden abgleichen):
fhem ALL=(ALL) NOPASSWD:/bin/systemctl
Für initd (bitte mit eigenen Pfaden abgleichen):
fhem ALL=(ALL) NOPASSWD:/usr/sbin/service
Setstartangehaltenen Dienst starten
stoplaufenden Dienst anhalten
restartDienst neu starten
statusStatus des Dienstes abrufen
GetstatusStatus des Dienstes abrufen
identisch zu 'set status'
AttributedisableAnhalten der automatischen Abfrage und komplett deaktivieren
Voreinstellung: 0
serviceAutostartVerzögerung in Sekunden um den Dienst nach Start von FHEM (neu) zu starten
Voreinstellung:
serviceAutostopTimeout in Sekunden um den Dienst bei Beenden von FHEM ebenso zu beenden
Voreinstellung:
serviceGetStatusOnInitbeim Start von FHEM automatisch den Status des Dienstes abrufen
Voreinstellung: 1
serviceInitdbenutze initd (system) statt systemd (systemctl)
Voreinstellung: 0
serviceLoginSSH Anmeldedaten für entfernten Dienst
passwortloser SSH Zugang ist Grundvoraussetzung
Voreinstellung:
serviceRegexFailedRegex für failed Status
Voreinstellung: dead|failed|exited
serviceRegexStartedRegex für running Status
Voreinstellung: running|active
serviceRegexStartingRegex für starting Status
Voreinstellung: activating|starting
serviceRegexStoppedRegex für stopped Status
Voreinstellung: inactive|stopped
serviceStatusIntervalInterval um den Status automatisch zu aktualisieren
Voreinstellung:
serviceStatusLineZeilennummer der Status Rückgabe welche die Status Information enthält
Voreinstellung: 3
serviceSudosudo benutzen - bei Benutzer root wird automatisch kein sudo verwendet
Voreinstellung: 1
Readingserrorletzter aufgetretener Fehler
stateaktueller Zustand
statusletzte Statuszeile von 'get/set status'
Die commandref ist genau so in EN/DE enthalten.
Tester und Kommentare sind willkommen.
Viel Spaß damit.
Gruß
Dan
UPDATE: 24.11.
- error mit none überschreiben wenn keine Fehler mehr vorliegen
- Attribute homebridgeMapping und genericDeviceType werden nur noch gesetzt wenn das Attribut homebridgeMapping vorhanden ist
- weitere Verbesserungen
UPDATE2: 24.11.
- fix Attribute RegEx Prüfung
- dead|failed|exited als Default für serviceRegexFailed
UPDATE 26.11.: v1.2.1
- neues Attribut serviceAutostart um Dienste beim Start von FHEM automatisch mit dem hier eingestellten Wert in Sekunden verzögert zu starten
- neues Attribut serviceAutostop um Dienste beim Beenden von FHEM automatisch zu beenden mit dem hier eingestellten Timeout
- AbortFn für BlockingCall hinzugefügt
UPDATE 27.11.: v1.2.3
- serviceAutostop funktioniert nun wie erwartet
- neues Attribut serviceGetStatusOnInit um den Status des Dienstes beim Start von FHEM automatisch zu aktualisieren (default: 1)