Intelligentes Shutdown in XBMC

  • Hallo,

    dank wirklich umfangreicher Hilfe in diesem Threat , hab ich das Wakeup mit XBMC nach langer Zeit und viel Rumprobiererei nun endlich an's Laufen bekommen. Jetzt brauche ich allerdings noch die Gegenfunktion dazu, ein intelligentes Shutdown.

    Ich hab das tolle Plugin von BJ1 aus diesem Forum zwar schon gefunden. Leider löst das aber auch nicht mein Problem: Wenn man in XBMC die Leerlaufzeit auf 10 Minuten stellt, fährt der Rechner runter sobald zehn Minuten lang keine Aktivität registriert wurde. Das ist zwar eine wirklich tolle und sinnvolle Funktion. Leider versagt sie aber bei der Nutzung externer Programme. Wenn man zum Beispiel mit Firefox im Web surft, wird nach zehn Minuten einfach der Rechner ausgeknipst, weil XBMC unbenutzt im Hintergrund läuft.
    Dagegen würde zwar ein systemweiter Auto-Shutdown helfen. Das Runterfahren muss aber von XBMC erledigt werden, damit die nächste Aufwachzeit für die kommende TV-Aufnahme in's Bios geschrieben wird. Das erledigt XBMC nämlich wenn man in XBMC auf Shutdown drückt. Außerdem bin ich mir nicht sicher, ob eine Film- oder Musikwiedergabe in XBMC umgekehrt von Ubuntu nicht ebenfalls als Inaktivität gedeutet würde, weil ja ggf mehrere Stunden lang keine Eingabe erfolgt.

    Ich denke, das Problem hab ich hiermit ganz gut erklärt. Vermutlich besteht es mit allen Programmen, die per Advanced Launcher gestartet werden. Hat also jemand eine Idee für einen intelligenten Shutdown?

    Edited once, last by whocares02 (February 6, 2013 at 3:18 PM).

  • Hi,

    wenn du xbmc beim starten von anderen Programmen schlafen legst (z.B. per script) sollte sich das Problem eigentlich erledigt haben. Es sei denn die Shutdownfunktion schaut auf die Systemzeit und faährt dann nach dem Wecken von xbmc den Rechner einfach runter :). Ein Versuch ist es Wert.

    Gruß
    Atech

    HTPC:
    Softtware: Archlinux mit VDR aus Archvdr repo (1.7.31 mit softhddevice) und xbmc 12.2 Frodo stable
    Hardware: Coolermaster 260 mit Core I3 540, 4 GB Kingst. Ram, GA.H55M-D2H, PCIe 16X RiserCard, NVIDIA 430GT, TT3600USB, TT3650-CI USB, Samsung SSD 640, WD Blue 1TB (WD10TP), IR Einschalter, imon Display, mce FB und 12 Kanal Atmolight (4 Led Streifen) über DFatmo und Boblight

  • Wie geht denn das, ein Programm schlafen legen? Kann man das irgendwie in ein Skript packen, dass man dann per Advanced-Launcher aufruft? Das müsste dann das XBMC einfrieren und außerdem das Zielprogramm aufrufen und solange warten bis es wieder geschlossen ist. Ich glaubeden letzten Schritt würde ich hinkriegen. Das geht per PID. Bei dem Rest bin ich mir nicht so sicher...

  • Ich hoffe das das so auf die schnelle aus meinem Kopf korrekt ist:

    Gruß
    Atech

    HTPC:
    Softtware: Archlinux mit VDR aus Archvdr repo (1.7.31 mit softhddevice) und xbmc 12.2 Frodo stable
    Hardware: Coolermaster 260 mit Core I3 540, 4 GB Kingst. Ram, GA.H55M-D2H, PCIe 16X RiserCard, NVIDIA 430GT, TT3600USB, TT3650-CI USB, Samsung SSD 640, WD Blue 1TB (WD10TP), IR Einschalter, imon Display, mce FB und 12 Kanal Atmolight (4 Led Streifen) über DFatmo und Boblight

  • Ich werd das Skript - oder ein ähnliches - ausprobieren, sobald Zeit ist. Ich denke, ich hab die Methode Verstanden. Da das Backend für TV-Aufnahmen ja eigenständig läuft, sollte die Methode nichtmal geplante Aufzeichnungen stören. Werd es auf jeden Fall testen.

    Einen Zusatz hab ich jetzt nur grad noch auf die Schnelle: Mir ist aufgefallen, dass hier im Haus gerne mal jemand auf den Power-Knopf drückt, wenn er am Wohnzimmer-Rechner vorbeikommt, ohne zu wissen, dass der grade was aufnimmt. Gibt's dagegen vielleicht auch ein Mittel? Ich meine ein vorübergehendes Deaktivieren der Powertaste für die Dauer einer Aufnahme.

    Ich bedanke mich aber auf jeden Fall schonmal für das Schnell-Skript von letztem mal und melde mich, sobald ausprobiert.

  • Gibt's dagegen vielleicht auch ein Mittel? Ich meine ein vorübergehendes Deaktivieren der Powertaste für die Dauer einer Aufnahme.


    Du kannst in der /etc/acpi/powerbtn.sh festlegen, was passieren soll, wenn der Power-Button gedrückt wird - da muss halt noch ein entsprechendes Kriterium rein, dass abfragt ob da gerade eine Aufnahme aktiv ist.

    Meine VDRs

    VDR 1: Intel DH67BL, Celeron 540, 4 GB Ram, POV Geforce GT 1030, Ubuntu 24.04 (yavdr-ansible), VDR 2.7.4, CIR-Empfänger
    VDR 2: Acer Revo 3610, Pinnacle PCTV SAT 452e, Medion X10, yaVDR 0.6
    Client 1: Raspberry Pi 2, Ubuntu 22.04 (yavdr-ansible), VDR 2.6.1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich glaub das mit dem Einfrieren von XBMC funktioniert so nicht. Ich hab's mal manuell ausprobiert mit

    Code
    ps -e | grep xbmc

    und danach mit

    Code
    kill -s stop 2400

    Die Prozess-Nummer kannte ich ja von der Ausgabe des ersten Befehls. Später, so nach ner dreiviertel Stunde wollte ich dann mit

    Code
    kill -s cont 2400

    das XBMC wieder auftauen und weiter benutzen. Der PC schaltete sich aber praktisch im Moment des Enter-Tastendrucks aus. Der Shutdown-Timer lief also während des XBMC-Freeze vermutlich weiter. X(

    ...dumme Sache...

  • Ich glaube ich habe was Weiterführendes gefunden: Laut dieser Seite gibt es im XBMC das Kommando

    Code
    InhibitIdleShutdown

    ,das den Shutdown-Timer deaktiviert. Der Gegenbefehl heißt

    Code
    AllowIdleShutdown

    und schaltet den Countdown wieder ein. Jetzt muss ich nur noch rausfinden, wie man diese Befehle dem XBMC per Bash-Script einimpft. Die sind ja normalerweise für Python-Programmierer von Addons.

    Wen es interessiert: Hier gibt's die aktuelle und vollständige Liste der Builtin-Befehle. Sie sind im Programmtext rot markiert.

    Wäre für Hinweise zur Bash-Verwendung der Befehle sehr dankbar.

    Edited once, last by whocares02: Rechtschreibfehler (February 16, 2013 at 2:38 AM).

  • Ich hab irgendwo ein Skript gefunden wo jemand xbmc-Befehle an einen Client sendet, um ein Library-Update ferngesteuert durchführern zu lassen. Ich weiß beim besten Willen nicht mehr wo ich's her hab, aber vielleicht lässt sich daraus ja lernen:

    Ich glaube der Autor sendet den Befehl per wget an Xbmc. Ich blick da trotzdem nicht ganz durch. Weiß jemand wie man da wohl den Syntax für einen XBMC-Befehl draus ableitet?

    Ich nehme an, dass wohl das Addon XBMC-Commands installiert sein muss - weil der begriff im pfad vorkommt:

    Quote

    NOTIFYSTRING="/xbmcCmds/xbmcHttp?command=ExecBuiltIn(Notification(Auto+Media+Updater,$MSG+being+added))"

    Diesen Link aus dem vorigen Post hatte ich auch aus der Beschreibung des Addons.

    Ich denke, ich bin schon nah dran, aber wie genau, mein Skript aussehen müsste und was ich mit den relativen Pfaden mache ist mir irgendwie noch nicht klar.

  • Google: xbmc-send bzw. xbmc-eventclients

    Grüße

    Hannemann

    Sig.


    HTPC1: ASUS M4N78 Pro, AMD AM2, 2 GB RAM, CableStar HD2
    HTPC2: ASUS M4N78 VM, AMD 4850e, 2 GB RAM, NVIDIA 8200, CableStar HD2
    HTPC3: ASUS M3N78 EM, AMD 4850e, 2 GB RAM, NVIDIA 8300, CableStar HD2
    Sevrer: SandyBridge Celeron, TT 3650 CI, 2xTerratec HTC USB XS HD
    Software alle: Ubuntu 12.04 Server 64 Bit, yavdr/testing-vdr, xbmc Gotham, xvdr, vdpau

  • Hi,

    habe ein ähnliches Problem mal mit sleepd gelöst. um bei der Musik-Wiedergabe nicht runter zu fahren hab eich den IRQ der Soundkarte überwachht...

    Gruß

    Toxic

    Registrierter VDR-User #1275

    VDR-Server: Proxmox 7.1 - LXC Container - Debian 11.5 - eTobi-VDR 2.6.0

    DVB-Hardware: Digital Devices - Cine S2 V5.5 und V6

    VDR-Clients: FireTV Sticks 2 bis 4K Max und Kodi 19.4

  • Hannemann, hab diesen Wiki-Eintrag gefunden. Das sieht interessant aus, scheint aber auf bestimmte Eingabegereäte beschränkt zu sein:

    Quote

    EventServer accepts commands from event clients such as LIRC, joysticks, PDAs, and iPhones.

    Besonders interessant finde ich hier - obwohl es nicht zum Thema passt - Joystick, weil das bei mir leider nicht funuktioniert. Hab schon einen entsprechenden Eintrag in der keymap.xml. XBMC reagiert aber einfach nicht auf Eingaben. Verwirrend finde ich zudem:

    Quote

    7 Known Working EventClients

    All clients are able to talk to any server on any OS, but the client software is often OS specific.


    7.1 XBMC for Linux

    • Sony PlayStation 3 (PS3) Blu-ray Remote
    • PS3 Sixaxis GamePad
    • Wii Remote
    • J2ME (CellPhone)
    • HAMA MCE Remote

    Das klingt kompliziert und nicht nach Skripting-freundlichem.

    Trotzdem sieht das mit dem Eventclient schonmal alles sehr interessant aus. Zu xbmc-send hab ich aber leider nichts gefunden - nur irgendwelche Paket-Beschreibungen von ubuntu und Debian. Nichts Wiki- oder blogmäßiges. Es wäre schon nett, wenn Du was ausführlicher antworten könntest.

    @Mreimer: Ich sag's Dir nur wenn Du mir sagst, wie Du drauf kommst und warum überhaupt. Hab es nämlich bislang extra nicht erwähnt...denke ich.

  • Mit xbmc-send, was ein eventclient ist, kannst du Befehle an xbmc senden. Dazu gehören auch die builtin Funktionen.

    xbmc-send --action="stop"

    Muss natürlich vorher installiert werden.

    Grüße

    Hannemann

    Sig.


    HTPC1: ASUS M4N78 Pro, AMD AM2, 2 GB RAM, CableStar HD2
    HTPC2: ASUS M4N78 VM, AMD 4850e, 2 GB RAM, NVIDIA 8200, CableStar HD2
    HTPC3: ASUS M3N78 EM, AMD 4850e, 2 GB RAM, NVIDIA 8300, CableStar HD2
    Sevrer: SandyBridge Celeron, TT 3650 CI, 2xTerratec HTC USB XS HD
    Software alle: Ubuntu 12.04 Server 64 Bit, yavdr/testing-vdr, xbmc Gotham, xvdr, vdpau

  • Hi,

    ich habe das Script mal korrigiert, falls es jemand mal brauch:

    HTPC:
    Softtware: Archlinux mit VDR aus Archvdr repo (1.7.31 mit softhddevice) und xbmc 12.2 Frodo stable
    Hardware: Coolermaster 260 mit Core I3 540, 4 GB Kingst. Ram, GA.H55M-D2H, PCIe 16X RiserCard, NVIDIA 430GT, TT3600USB, TT3650-CI USB, Samsung SSD 640, WD Blue 1TB (WD10TP), IR Einschalter, imon Display, mce FB und 12 Kanal Atmolight (4 Led Streifen) über DFatmo und Boblight

  • Müsste das Skript dann nicht ungefähr so aussehen?:


    Ich weiß halt nicht ob es die Aktion resume im XBMC überhaupt gibt. Sie steht halt nicht in den beiden Listen. Stop jedoch auch nicht - und das geht trotzdem. Hatte bisher keine Gelegenheit das Skripten weiter auszuprobieren. Eigentlich schwebte mir was in der Art wie das hier vor:

    Problem: Startet man so ein Skript mehrmals wird das erste Skript beim Beenden den Auto-Shutdown wieder einschalten, obwohl die andern Skripte noch nicht fertig sind. Dagegen müsste noch irgendeine Bedingung rein.

    Eine zusätzliche Schwierigkeit habe ich in letzter Zeit auch noch bemerkt: Wenn XBMC abstürzt - was leider häufiger vorkam - gibt's gar keinen Auto-Shutdown. Eine Art Daemon-Skript, das im Hintergrund laufen würde und XBMC bei Bedarf neu startet, verdächtige ich einen echten Shutdown nicht erkennen zu können.

  • Ich habe mich da etwas falsch ausgedrückt. Das Script wie ich es dir ursprünglich gepostet habe müsste so aussehen wie ich es korrigiert habe. Es legt xbmc schlafen und führt halt ein anderes Programm aus. Ich wollte die Korrektur nur der Volständigkeit halber hier kundtun falls jemand anderes mal auf diesen Thread stösst und meine Variante nutzen möchte.

    Die andere Variante mit "xbmc-send --action=" ist sehr Interessant und das werde ich mir bei Gelegenheit mal anschauen. Ich muss etwas in der Art auch noch einbauen wenn ich aus xbmc externe Programme starte.

    Gruß
    Atech

    HTPC:
    Softtware: Archlinux mit VDR aus Archvdr repo (1.7.31 mit softhddevice) und xbmc 12.2 Frodo stable
    Hardware: Coolermaster 260 mit Core I3 540, 4 GB Kingst. Ram, GA.H55M-D2H, PCIe 16X RiserCard, NVIDIA 430GT, TT3600USB, TT3650-CI USB, Samsung SSD 640, WD Blue 1TB (WD10TP), IR Einschalter, imon Display, mce FB und 12 Kanal Atmolight (4 Led Streifen) über DFatmo und Boblight

  • OK, ich habe den Thread nur überflogen und hatte das übersehen. Also mittels "xbmc-send --action="stop" " funktioniert es dann? Dann würde ich mal gerne Wissen wie der Timer funktioniert. Wenn er auf die Systemzeit schaut (wovon ich eigentlich ausgehe) sollte er auch beim erwecken entsprechend auch herunterfahren.

    Gruß
    Atech

    HTPC:
    Softtware: Archlinux mit VDR aus Archvdr repo (1.7.31 mit softhddevice) und xbmc 12.2 Frodo stable
    Hardware: Coolermaster 260 mit Core I3 540, 4 GB Kingst. Ram, GA.H55M-D2H, PCIe 16X RiserCard, NVIDIA 430GT, TT3600USB, TT3650-CI USB, Samsung SSD 640, WD Blue 1TB (WD10TP), IR Einschalter, imon Display, mce FB und 12 Kanal Atmolight (4 Led Streifen) über DFatmo und Boblight

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!