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

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

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo DeeSPe,

kannst du mal nach dieser Auffälligkeit Ausschau halten?
https://forum.fhem.de/index.php/topic,93050.msg875815.html#msg875815

Zitat von: Gisbert am 23 Dezember 2018, 13:58:29
Hallo Heiko,

kannst du eventuell der folgende Auffälligkeit (Fehler möchte ich es noch nicht nennen, da die Ursache auch bei mir liegen könnte) nachgehen?

Wenn man die Konfigurationsdateien mit "rereadcfg" in der Fhem-Kommandozeile einliest, dann stoppt das Modul serviced den Linux-watchdog, startet ihn aber nicht nach Ablauf der Zeit "serviceAutostart" neu. Da der Befehl "rereadcfg" vermutlich häufig im Umlauf ist, hat man danach den watchdog nicht mehr laufen.

Was macht "rereadcfg" genau? Offensichtlich was anderes, als Fhem zu stoppen und neu zu starten.

Viele Grüße Gisbert

Edit:
Mit "Shutdown Restart" in der Fhem-Kommandozeile erhält man das erwartete Verhalten, d.h. der watchdog wird beendet und nach dem Neustart von Fhem nach Ablauf der Zeit "serviceAutostart" wieder gestartet.

Edit2: Ich hab das Verhalten auch in den Beitrag "Neues Modul: 98_serviced.pm - systemd und initd Dienste steuern" verlinkt.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

slor

Hallo zusammen, gibt es schon Pläne das Module offizell einzuchecken?
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

Amenophis86

Wollte heute apache2 mit dem Modul überwachen bekomme als Status aber folgendes:

status Drop-In: /lib/systemd/system/apache2.service.d

In sudoers wurde apache2 eingefügt.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DeeSPe

Zitat von: Amenophis86 am 07 Februar 2019, 21:01:16
Wollte heute apache2 mit dem Modul überwachen bekomme als Status aber folgendes:

status Drop-In: /lib/systemd/system/apache2.service.d

In sudoers wurde apache2 eingefügt.

Wie ist denn die Ausgabe von
sudo systemctl status apache2
wenn Du es auf der Console ausführst?

Steht der Status in einer anderen Zeile als in der dritten? Dann kannst Du das über "attr <name> serviceStatusLine" anpassen.

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: slor am 08 Januar 2019, 16:58:47
Hallo zusammen, gibt es schon Pläne das Module offizell einzuchecken?

Werde es die Tage mal einchecken wenn ich dazu komme.

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

Amenophis86

Zitat von: DeeSPe am 08 Februar 2019, 13:57:54
Steht der Status in einer anderen Zeile als in der dritten? Dann kannst Du das über "attr <name> serviceStatusLine" anpassen.

Oh man sry, hab nicht dran gedacht. Dachte das wäre ne Fehlerauswertung vom Modul. War in Zeile 5 jetzt klappt es. Danke
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

DeeSPe

Habe das Modul soeben in's SVN eingecheckt.
Ab morgen früh dann im offiziellem Update.

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

piet_pit

Hallo Zusammen,
ich nutze das Modul seit einiger Zeit, vielen Dank dafür.

Ich habe folgende Frage...

Wenn ich in FHEM neue Devices für Homekit anlege, stoppe ich im Nachgang immer die homebridge (indem ich über SSH auf den RPi gehe), und starte dann neu, somit werden neue Devices eingelesen und sind dann im Homekit verfügbar.
Klappt das auch, wenn ich den Server über die Weboberfläche stoppe und neu starte, bei mir zumindest nicht..?

Evtl. stimmt mit meiner sudoers-Datei irgendetwas nicht, wie muss die angepasst werden, ich glaube meine Einträge sind da nicht vollständig.
Vielen Dank für die Unterstützung und viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

DeeSPe

Zitat von: piet_pit am 24 Juni 2019, 15:16:00
Wenn ich in FHEM neue Devices für Homekit anlege, stoppe ich im Nachgang immer die homebridge (indem ich über SSH auf den RPi gehe), und starte dann neu, somit werden neue Devices eingelesen und sind dann im Homekit verfügbar.
Klappt das auch, wenn ich den Server über die Weboberfläche stoppe und neu starte, bei mir zumindest nicht..?

Genau dieses Szenario war mein Ursprung für die Entwicklung dieses Moduls.
Wenn ich nun eine Änderung an der Homebridge Konfiguration mache setze ich danach in FHEM ein "set homebridge restart" ab und damit wird dann Homebridge neu gestartet und somit die Konfiguration neu eingelesen.
Das steht in meiner sudoers:
fhem    ALL=(ALL) NOPASSWD:/bin/systemctl

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

piet_pit

Hallo Dan,

vielen Dank für die Info, ich probiere das nachher einmal aus und melde mich danach.
VG
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

piet_pit

Hallo Dan,

im Logfile auf dem "Homebridge-RPi steht nichts davon, dass der Service gestoppt und gestartet wurde, nur im Reading wird das angezeigt und aktualisiert. Mein FHEM läuft auf einem zweiten RPi, kann das daran liegen?
Wenn ich auf dem "Homebridge-RPi" gehe und dort alles "normal" eingebe, klappt es einwandfrei, evtl. muss ich ja noch Einträge auf dem FHEM-RPi in der sudoers vornehmen.

Vielen Dank und viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

DeeSPe

Auf dem RPi mit Deinem FHEM hast Du also einen passwortlosen Zugang zu dem Homebridge-RPi eingerichtet, richtig?
Der Benutzer, über den Du die passwortlose Anmeldung eingerichtet hast (pi?), muss auch in die sudoers auf dem Homebridge-RPi.

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

piet_pit

Hallo Dan,
das klappt jetzt soweit, starten und stoppen via Serviced und man kann im Eve-Modul das zus. Device sehen. Im Log des ,,homebridge-RPi" ist aber nichts zu sehen von diesem Start/ Stop Vorgang, ist aber vielleicht so.
Danke nochmals für die Hilfe.
Viele Grüße
Pit
FHEM 6.0 auf Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7490
HM-Mod-RPI-PCB
JeeLink
CUNO 1.47

dennisk

Hallo @DeeSPe,

vielen Dank für Dein sehr praktisches Modul!
Ich habe aber einen kleinen Fehler gefunden:
In Zeile 152 lautet der Code: my $sudo = AttrNum($name,"serviceSudo",1) || $login !~ /^root@/ ? "sudo " : "";
Damit funktioniert die Verwendung ohne sudo nicht, trotz gesetztem Attribut serviceSudo.
Nach minimaler Änderung der Zeile: my $sudo = AttrNum($name,"serviceSudo",1) || $login =~ /^root@/ ? "sudo " : "";
funktioniert das Modul auch ohne sudo. Aus meiner Sicht schlüssig, da die Überprüfung im ternären Operator nur dann sudo ergeben müsste, wenn $login root enthält.

Vielen Dank schon mal!

DeeSPe

Zitat von: dennisk am 16 November 2019, 09:10:44
Hallo @DeeSPe,

vielen Dank für Dein sehr praktisches Modul!
Ich habe aber einen kleinen Fehler gefunden:
In Zeile 152 lautet der Code: my $sudo = AttrNum($name,"serviceSudo",1) || $login !~ /^root@/ ? "sudo " : "";
Damit funktioniert die Verwendung ohne sudo nicht, trotz gesetztem Attribut serviceSudo.
Nach minimaler Änderung der Zeile: my $sudo = AttrNum($name,"serviceSudo",1) || $login =~ /^root@/ ? "sudo " : "";
funktioniert das Modul auch ohne sudo. Aus meiner Sicht schlüssig, da die Überprüfung im ternären Operator nur dann sudo ergeben müsste, wenn $login root enthält.

Vielen Dank schon mal!

Vielen Dank für den Hinweis dennisk.
Du hast natürlich Recht, das ist mir und offensichtlich niemand anders bisher ausgefallen.
Habe es soeben geändert und als v1.2.5 in SVN eingecheckt.

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