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

Offline Jamo

  • Sr. Member
  • ****
  • Beiträge: 711
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

  • Full Member
  • ***
  • Beiträge: 409
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: 711
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

  • Hero Member
  • *****
  • Beiträge: 4869
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, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4869
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, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 6392
  • 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 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 amenomade

  • Hero Member
  • *****
  • Beiträge: 4869
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, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline amenomade

  • Hero Member
  • *****
  • Beiträge: 4869
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, und HM Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Jamo

  • Sr. Member
  • ****
  • Beiträge: 711
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

 

decade-submarginal