Autor Thema: [gelöst] systemd fhem.service start verzögern (wegen Debmatic/CCU3)  (Gelesen 2716 mal)

Offline Jamo

  • Sr. Member
  • ****
  • Beiträge: 785
Hi,
ich habe beides Debmatic(CCU3) und fhem auf einem Intel Nuc unter Debian Buster laufen. Die Debmatic CCU3 braucht nach dem Neustart oder reboot meines iNUC sehr lange, bis alle Interfaces geladen sind. Das FHEM HMCCU modul benötigt aber beim Start eine laufende Debmatic CCU3, ansonsten werden die RPC Server Interfaces nicht gefunden, und der fhem HMCCU Server started nicht.

Wie kann ich den FHEM start verzögern, kann mir jemand auf die Sprünge helfen? ?
Ich habe schon verschiedene Lösungsmöglichkeiten gefunden, bin mir aber nicht sicher welches die richtige ist, und wo genau ich das einfügen muss:
1) Wants=xxx.service (Es gibt aber keine debmatic.service, nur ein Directory debmatic.service.wants, und eigentlich brauche ich ja ein fhem.service.wants ? );
2) ExecStartPre=/bin/sleep 120;
3) ExecStartPost=/bin/sleep 120;
4) ...


cat /etc/systemd/system/fhem.service
# $Id: fhem.service 16001 2018-01-26 11:54:41Z betateilchen $

[Unit]
Description=FHEM Home Automation
Wants=network.target
After=network.target

[Service]
Type=forking
User=fhem
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always

[Install]
WantedBy=multi-user.target
« Letzte Änderung: 15 November 2019, 22:58:08 von Jamo »
Intel NUC7i3BNK, VCCU+Homematic, Homematic-IP über Debmatic, HUEBridge, Sonos, etc

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 512
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #1 am: 02 Oktober 2019, 10:32:54 »
Habe Debmatic noch nicht wirklich getestet. Aber du möchtest Fhem verzögern, daher sollte das so funktionieren.

nano  /etc/systemd/system/fhem.service
Und das eintragen, was du unter Punkt 2 geschrieben hast.

# $Id: fhem.service 19235 2019-04-21 13:26:17Z betateilchen $

[Unit]
Description=FHEM Home Automation
Wants=network.target
After=network.target
#Requires=postgresql.service
#After=postgresql.service
#Requires=mysql.service
#After=mysql.service

[Service]
Type=forking
User=fhem
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always
ExecStartPre=/bin/sleep 120

[Install]
WantedBy=multi-user.target

Offline Jamo

  • Sr. Member
  • ****
  • Beiträge: 785
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #2 am: 02 Oktober 2019, 14:40:59 »
Danke, habs so wie von Dir vorgeschlagen eingebaut, und ich werde beim nächsten Reboot berichten.
Intel NUC7i3BNK, VCCU+Homematic, Homematic-IP über Debmatic, HUEBridge, Sonos, etc

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6034
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #3 am: 02 Oktober 2019, 15:25:51 »
Ich bin für eine Rückmeldung sehr interessiert.

Das gleiche Problem habe ich auch mit FHEM und Debmatic (funktioniert übrigens problemlos auf meinem RPI3, bis auf diese Geschichte), die Ursache hatte ich auch genauso indentifiziert, aber ich habe noch nicht die Zeit gefunden, um mich um diese Korrektur zu kümmern.

Vielen Dank im Voraus ;)

FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6034
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #4 am: 02 Oktober 2019, 15:29:55 »
Ansonsten gibt es die "timer" Alternativ
https://www.linux.com/tutorials/setting-timer-systemd-linux/
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Online MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 8087
  • NIVEAu ist keine Creme...
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #5 am: 02 Oktober 2019, 17:43:19 »
Wie wird denn debmatic auf euren Systemen gestartet!?

Auch als systemd Dienst!?

Dann kann man auch eine Abhängigkeit einbauen...

Oder wenn man weiß wie der Prozess heißt eine sleep-Warteschreife einbauen bis der debmatic-Prozess läuft...

Timer/Sleep/etc. ist halt immer "Schätzometer"... ;)

Gruß, Joachim
FHEM PI3B+ Buster: HM-CFG-USB, 40x HM, ZWave-USB, 6x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, KODI, alexa-fhem, ...
FHEM PI2 Stretch: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, KODI, ha-bridge, ...
FHEM PI3 Buster (Test)
FHEM PI3 Stretch (Test)

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6034
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #6 am: 02 Oktober 2019, 18:50:21 »
Zitat
Wie wird denn debmatic auf euren Systemen gestartet!?
Das ist genau die Frage

Es gibt mehrere Sachen, und ich weiss nicht welche die entscheidende ist...
debmatic-hmserver.service/
debmatic-hs485d.service/
debmatic-lighttpd.service/
debmatic-multimacd.service/
debmatic-rega.service/
debmatic-rfd.service/
debmatic-rfd.service/
debmatic-startupfinished.service/
debmatic-updatelgwfirmware.service/
debmatic-updatelgwkey.service/
debmatic.service/
Also... rein vom Name aus: vermutlich ist lighttpd die Weboberfläsche... unrelevant
updatxxxx auch wahrscheinlich unrelevant
Vielleicht kann man eine Abhängigkeit auf "startupfinished" legen? Hätte Sinn, aber ich weiss nicht, ob das richtig ist. Ich habe es noch nicht getestet
Oder eher auf debmaitc.service? Hmmm...

Deswegen war das "delayed start" von Fhem die einfachste (aber bestimmt nicht sauberste) Lösung
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6034
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #7 am: 02 Oktober 2019, 18:56:35 »
Ich habe gerade die Frage an der richtige Stelle gestellt ;)
https://forum.fhem.de/index.php/topic,97295.msg979998.html#msg979998
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Jamo

  • Sr. Member
  • ****
  • Beiträge: 785
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #8 am: 15 November 2019, 22:57:35 »
Das hier funktioniert und started fhem NACH debmatic:
unter [Unit] ist Wants und After mit dem debmatic-startupfinished.service in einer Zeile zu ergänzen.

cat /etc/systemd/system/fhem.service
# $Id: fhem.service 16001 2018-01-26 11:54:41Z betateilchen $

[Unit]
Description=FHEM Home Automation
Wants=network.target debmatic-startupfinished.service
After=network.target debmatic-startupfinished.service

[Service]
Type=forking
User=root
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always
#ExecStartPre=/usr/bin/sleep 300

[Install]
WantedBy=multi-user.target
Intel NUC7i3BNK, VCCU+Homematic, Homematic-IP über Debmatic, HUEBridge, Sonos, etc
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Dracolein

  • Full Member
  • ***
  • Beiträge: 223
Antw:systemd fhem.service start verzögern (wegen Debmatic/CCU3)
« Antwort #9 am: 22 Dezember 2019, 15:08:39 »
Hi, würde mich hier gern ranhängen, weil ich fhem ebenfalls nach einem Reboot verzögert starten möchte.

Hintergrund:
auf dem selben System läuft ein zigbee-Gateway (deCONZ), welches nach einem Rebook erst eine Weile für die Initialisierung benötigt und danach alle Endgeräte neu verbinden muss. Das dauert ein paar Minuten.
Bisher startet mein fhem sofort, kann sich dann zu diesem Gateway nicht verbinden und diverse Sensoren & Aktoren laufen nicht. Ich muss dann jedes Mal manuell einen shutdown restart durchführen, bis es rennt.

Ansonsten gibt es die "timer" Alternativ
https://www.linux.com/tutorials/setting-timer-systemd-linux/

Bezogen auf dies Zitat hatte ich etwas gegoogelt und folgende detailierte Howto-Anleitung gefunden ( https://forum.smartapfel.de/forum/thread/903-verzögerter-homebridge-start-nach-reboot-empfehlenswert-bei-der-nutzung-vom-rasp/ ) die ich als Linux-Laie hinbekommen würde.
Kann ich diese Anleitung für den FHEM-Service 1:1 übernehmen ?
Raspberry Pi 4 mit FHEM; FTUI Dashboard auf Asus 15,6" VT168H Touchscreen; ZigBee mit ConBee2 USB-Stick; div. Shelly 2.5; integr. Gaszähler mit ESP8266 & ESPEasy;