Hallo zusammen,
nach langer Suche habe ich die Hoffnung, von Euch noch den entscheidenden Tipp bei einem Problem zu bekommen.
Auf einem Fujitsu Esprimo Q9000 habe ich LibreElec 9.0.2 installiert, das mit dem Addon "PVR Recording & Power Manager" (0.0.20) das System bei programmierten Aufnahmen durch das Addon "Tvheadend Server 4.2" herunter- und dann wieder hochfahren soll. Dass man das Addon erstmal aktivieren muss, damit der Rechner wieder hochfährt, habe ich kapiert und habe meine "riiminii7.xml" (ursprünglich hierdurch inspiriert) entsprechend dieser README.md wie folgt angepasst:
<[definition='3','0']keymap[/definition]>
<global>
<mouse>
<rightclick>back</rightclick>
</mouse>
<keyboard>
<TranslateKey>ParentDir</TranslateKey>
<leftwindows>ContextMenu</leftwindows>
<browser_home>ParentDir</browser_home>
<f12>XBMC.RunScript(service.pvr.manager,poweroff)</f12>
<power>XBMC.RunScript(service.pvr.manager,poweroff)</power>
<sleep>XBMC.RunScript(service.pvr.manager,poweroff)</sleep>
<button id="61663">XBMC.RunScript(service.pvr.manager,poweroff)
</keyboard>
<remote>
<power>XBMC.RunScript(service.pvr.manager,poweroff)</power>
<sleep>XBMC.RunScript(service.pvr.manager,poweroff)</sleep>
<button id="61663">XBMC.RunScript(service.pvr.manager,poweroff)</button>
</remote>
</global>
</[definition='3','0']keymap[/definition]>
Alles anzeigen
Wenn ich auf der Tastatur nun "F12" drücke, funktioniert alles ganz prima. Ich möchte ja aber das System künftig nicht mit der Tastatur, sondern nur mit der Fernbedienung betreiben. Daher möchte ich auch haben, dass durch Drücken der Power-Taste nur das Addon "PVR Recording & Power Manager" aktiviert wird. Den Namen der Power-Taste auf der Fernbedienung habe ich herausbekommen, indem ich den Debug-Modus aktiviert und mir die Datei /storage/.kodi/temp/kodi.[definition='1','0']log[/definition] mit tail angeschaut habe.
Dort erscheint dann der Name "sleep" für diese Taste. Also habe ich wie oben zu sehen im Teil "<remote>" und im Teil "<keyboard>" der xml-Datei jeweils eine Zeile mit "sleep" eingetragen. Wenn ich jetzt den Knopf drücke, passiert etwas ganz seltsames. Das Addon wird aktiviert, der Timer von fünf Sekunden beginnt zu laufen, wird aber nach zwei Sekunden unterbrochen, weil dann irgendetwas anderes das System in den Suspend (oder Hibernate?) Modus schickt, der Einschaltknopf des Rechners blinkt. Wenn ich den Power-Knopf wieder drücke, wacht das System wieder auf, der Timer des Addons beginnt bei den drei Sekunden weiter zu laufen und schaltet das System dann schließlich korrekt ab, nachdem es den Timer für das Wiederaufwachen gesetzt hat.
Ich habe mich dann noch durch die ganzen xml-Dateien unter /usr/share/kodi/system/keymaps gewühlt, um zu sehen, was noch einen Shutdown, Suspend oder Hibernate auslösen könnte. Schließlich habe ich dann neben einem Eintrag für "sleep" noch einen Eintrag für "power" erstellt. Dann habe ich noch das Addon "Keymap Editor" installiert und herausgefunden, dass der Button mit der ID 61663 erscheint, wenn man den Power-Knopf drückt. Das habe ich dann auch noch in meine xml-Datei mit aufgenommen.
Leider alles ohne Erfolg. In der Datei /storage/.kodi/temp/kodi.[definition='1','0']log[/definition] wird für den Zeitbereich des Drückens des Power-Knopfs folgendes angezeigt:
2019-06-09 19:52:47.982 T:140690211851584 DEBUG: Keyboard: scancode: 0x96, sym: 0x0143, unicode: 0x0000, modifier: 0x0
2019-06-09 19:52:47.982 T:140690211851584 DEBUG: HandleKey: sleep (0xf0df) pressed, action is XBMC.RunScript(service.pvr.manager,poweroff)
2019-06-09 19:52:47.983 T:140690211851584 DEBUG: Keyboard: scancode: 0x96, sym: 0x0143, unicode: 0x0000, modifier: 0x0
2019-06-09 19:52:47.983 T:140689908168448 DEBUG: Thread LanguageInvoker start, auto delete: false
2019-06-09 19:52:47.983 T:140689908168448 INFO: initializing python engine.
2019-06-09 19:52:47.983 T:140689908168448 DEBUG: CPythonInvoker(4, /storage/.kodi/addons/service.pvr.manager/service.py): start processing
2019-06-09 19:52:47.996 T:140689908168448 DEBUG: -->Python Interpreter Initialized<--
2019-06-09 19:52:47.997 T:140689908168448 DEBUG: CPythonInvoker(4, /storage/.kodi/addons/service.pvr.manager/service.py): the source file to load is "/storage/.kodi/addons/service.pvr.manager/service.py"
2019-06-09 19:52:47.997 T:140689908168448 DEBUG: CPythonInvoker(4, /storage/.kodi/addons/service.pvr.manager/service.py): setting the Python path to /storage/.kodi/addons/service.pvr.manager:/storage/.kodi/ad$
2019-06-09 19:52:47.997 T:140689908168448 DEBUG: CPythonInvoker(4, /storage/.kodi/addons/service.pvr.manager/service.py): entering source directory /storage/.kodi/addons/service.pvr.manager
2019-06-09 19:52:47.997 T:140689908168448 DEBUG: CPythonInvoker(4, /storage/.kodi/addons/service.pvr.manager/service.py): instantiating addon using automatically obtained id of "service.pvr.manager" dependent$
2019-06-09 19:52:48.093 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20] OS ID is libreelec
2019-06-09 19:52:48.093 T:140689908168448 DEBUG: CAddonSettings[service.pvr.manager]: loading setting definitions
2019-06-09 19:52:48.093 T:140689908168448 DEBUG: CAddonSettings[service.pvr.manager]: trying to load setting definitions from old format...
2019-06-09 19:52:48.094 T:140689908168448 DEBUG: CAddonSettings[service.pvr.manager]: loading setting values
2019-06-09 19:52:48.095 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] Settings loaded
2019-06-09 19:52:48.095 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] Wait 0 seconds for PVR response
2019-06-09 19:52:48.095 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] Starting service with id:502@mode:POWEROFF
2019-06-09 19:52:48.102 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] No active timers yet, prepare timer@2019-06-10 03:58:00
2019-06-09 19:52:48.103 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] Status changed: 10000 (RES/NET/PRG/REC/EPG)
2019-06-09 19:52:48.103 T:140689908168448 NOTICE: [service.pvr.manager 0.0.20@502] Poweroff command received
2019-06-09 19:52:48.115 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] create KeyMonitor object
2019-06-09 19:52:48.149 T:140690211851584 DEBUG: ------ Window Init () ------
2019-06-09 19:52:48.149 T:140689908168448 DEBUG: [service.pvr.manager 0.0.20@502] Display countdown dialog for 5 secs
2019-06-09 19:52:48.185 T:140690211851584 DEBUG: ------ Window Init (DialogExtendedProgressBar.xml) ------
2019-06-09 19:52:48.381 T:140690211851584 DEBUG: LogindUPowerSyscall: Received PrepareForSleep with arg 1
2019-06-09 19:52:48.381 T:140690211851584 DEBUG: ------ Window Init (DialogBusy.xml) ------
2019-06-09 19:52:48.381 T:140690211837696 DEBUG: CAnnouncementManager - Announcement: OnSleep from xbmc
2019-06-09 19:52:48.381 T:140690211851584 NOTICE: OnSleep: Running sleep jobs
2019-06-09 19:52:48.381 T:140690211837696 DEBUG: GOT ANNOUNCEMENT, type: 8, from xbmc, message OnSleep
2019-06-09 19:52:48.381 T:140690211851584 DEBUG: CApplication::CloseNetworkShares: Closing all network shares
2019-06-09 19:52:48.382 T:140690211851584 DEBUG: LogindUPowerSyscall - delay lock sleep released
2019-06-09 19:52:48.448 T:140690211851584 ERROR: Keymapping error: no such action 'lirc.stop' defined
2019-06-09 19:52:48.540 T:140688691816192 DEBUG: AddOnLog: Tvheadend HTSP Client: pvr.hts - new connection requested
2019-06-09 19:52:48.540 T:140688691816192 DEBUG: AddOnLog: Tvheadend HTSP Client: pvr.hts - suspended. Waiting for wakeup...
Alles anzeigen
In der Zeile 2 erkenne ich, dass die Taste "sleep" die gewünschte Aktion, nämlich "XBMC.RunScript(service.pvr.manager,poweroff)" als Aktion auslöst. In Zeile 21 steht dann aber plötzlich, dass das "Poweroff" Kommando erhalten wurde.
Meine große Frage ist nun: Wo kommt das her und wie kann ich das verhindern? In keiner durchforsteten xml-Datei habe ich den Begriff "Poweroff" gefunden. Kommt das überhaupt über diese xml-Dateien oder muss ich wo anders suchen?
Herzlichen Dank für Eure Hilfe!