Beim Timer denk ich funktioniert es, hab vorgestern gesehen dass der VDR kurz danach seinen Shutdown begonnen hat. Gehe mal davon aus dass das Frontend nicht eingehängt war.
[yavdr-ansible] Update für das Frontend-Skript
-
-
so, ich hab mal probiert das frontend nach dem vdr zu starten. da der frontendservice unter dem userslice vom "vdr" läuft, habe es dann in seinen Parent gepackt:
Code
Display Moreroot@vdrtest:~# ll /etc/systemd/system/user@666.service.d/ total 16 drwxr-xr-x 2 root root 4096 Jan 3 16:33 ./ drwxr-xr-x 17 root root 4096 Jan 2 20:57 ../ -rw-r--r-- 1 root root 87 Jan 3 16:33 mhvdr-dependency.conf -rw-r--r-- 1 root root 91 Jan 2 15:19 x-dependency.conf root@vdrtest:~# cat /etc/systemd/system/user@666.service.d/mhvdr-dependency.conf [Unit] Wants=vdr.service After=vdr.service [Service] TimeoutStopSec=20 KillMode=mixed root@vdrtest:~#
damit hat er einen manuellen Start erkannt, und bei einer Aufname gabs das yavdr logo, und man konnte per taste attachen. Allerdings hat der Text der gefehlt der aufs anykey drücken verweißt....
Ich weiß allerdings nicht ob das eine gute Idee war. Mal sehen was seahawk meint.
-
Warten wir mal, was er meint
-
yavdr-frontend darf eigentlich schon vor dem VDR starten.
Die Funktion, die schaut, ob der VDR einen "Manual Start" erkannt hat (also einen, bei dem der VDR den User für aktiv hält) , sieht aktuell so aus:
Code: vdrfrontend.pydef is_vdr_manual_start(): try: is_manual_start = self.dbus2vdr.Shutdown.ManualStart() except AttributeError: return StartType.UNKNOWN else: if not is_manual_start: self.log.debug("Assuming Wakeup for VDR") return StartType.VDR_WAKEUP return StartType.MANUAL
Wenn es den Rückgabewert StartType.UNKNOWN gibt, muss bei der Kommunikation mit dbus2vdr etwas schiefgegangen sein.
Es könnte sein, dass es da eine kurze Phase gibt, in der dbus2vdr schon am SystemBus angemeldet ist, aber der VDR noch nicht komplett initialisiert wurde. Es gibt da noch ein Interface von dbus2vdr, mit dem man diesen Zustand abfragen kann - ich versuche das später mal einzubauen.
-
Ich habe mal eine Abfrage eingebaut, ob der VDR schon die Mainloop erreicht hat, bevor das VDRFrontend von yavdr-frontend initialisiert wird. Benötigt werden die neue Version von python3-pydbu2vdr und python3-yavdrfrontend, die gerade in ppa:yavdr/experimental-main bauen.
Probiert bitte mal, ob damit das Starten des Frontends zuverlässig funktioniert.
-
Ja jetzt sieht der manuelle start gut aus! ich probier noch einen Timerstart aus, der dauert noch was.
Einen Error spuckt das frontend noch beim start:
Code
Display MoreJan 05 11:38:07 vdrtest systemd[664]: Started manage VDR frontends. Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:yaVDRFrontend:init lirc connection on /var/run/lirc/lircd Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:VDRFrontend:init VDRFrontend with name 'VDR-Frontend and fe_typevdr' Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:SystemdUnitFrontend:init SystemdUnit with name: kodi and fe_type: unit Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:SystemdUnitFrontend:set_unit_name: kodi.service Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:SystemdUnitFrontend:init SystemdUnit with name: firefox and fe_type: app Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:SystemdUnitFrontend:set_unit_name: app@firefox.service Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:SystemdUnitFrontend:init SystemdUnit with name: debian-xterm.desktop and fe_type: app Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:SystemdUnitFrontend:set_unit_name: app@debian\x2dxterm.desktop.service Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:yaVDRFrontend:set_background with options path: /usr/share/yavdr/images/yavdr_logo.png, fill: False Jan 05 11:38:07 vdrtest yavdr-frontend[812]: ERROR:VDRFrontend:calling dbus2vdr.Shutdown.ManualStart() failed: 'DBus2VDR' object has no attribute 'Shutdown' Jan 05 11:38:07 vdrtest yavdr-frontend[812]: Traceback (most recent call last): Jan 05 11:38:07 vdrtest yavdr-frontend[812]: File "/usr/lib/python3/dist-packages/yavdr_frontend/vdrfrontend.py", line 125, in is_vdr_manual_start Jan 05 11:38:07 vdrtest yavdr-frontend[812]: is_manual_start = self.dbus2vdr.Shutdown.ManualStart() Jan 05 11:38:07 vdrtest yavdr-frontend[812]: AttributeError: 'DBus2VDR' object has no attribute 'Shutdown' Jan 05 11:38:07 vdrtest yavdr-frontend[812]: DEBUG:VDRFrontend:start_t has value StartType.UNKNOWN
-
Einen Error spuckt das frontend noch beim start:
Die Exception selbst wird bereits abgefangen, aber die Fehlermeldung kann ich noch auf eine Debug-Meldung reduzieren, da das nicht an der Stelle unkritisch ist, wenn der VDR noch nicht soweit ist.
-
-
Ich habe gerade noch mal eine neue Version hochgeladen, damit hatte ich bei zwei Starts für Aufnahmen jeweils das richtige Hintergrundbild.
-
Ja hier sieht es jetzt auch gut aus
Klasse, hab mittlerweile mehr erledigte Punkte wie offene !!
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!