Regelmäßiger Neustart, wenn keine Aufnahme läuft oder gleich geplant ist

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Regelmäßiger Neustart, wenn keine Aufnahme läuft oder gleich geplant ist

      Hi,

      ich suche nach einer Möglichkeit, die VU geplant regelmäßig zu booten. Das geht über Crontab - soweit gab es die Frage schon ein paar Male, und sie wurde auch beantwortet.

      Was ich aber nun auch noch möchte: Die VU soll bitte nur dann booten, wenn (a) nicht gerade eine Aufnahme läuft und (b) nicht gleich (während des Bootens - sagen wir mal nächste 3 Minuten) eine Aufnahme starten soll.

      Ich weiß nicht, ob/wie man diese WENN-Abfragen mit einem Skript realisieren könnte, ob es dafür ein Plugin gibt, das ich noch nicht gefunden habe, ... Aber eine Lösung dafür gibt es hoffentlich?

      Danke!
    • Ich hätte spontan gesagt: Im Menu zwei Aufgaben erstellen: eine für's ausschalten, eine für's einschalten.

      Die Aufgabe "Ausschalten" schaut schon nach, ob eine Aufnahme läuft, und kann auch nachfragen, ob die Box wirklich ausgeschaltet wird.

      Alternativ schau dir das Elektro-Plugin an, das kann das auch alles.

      Deine Wenn-Abfragen bekämst du auch in einem Script abgefragt, aber das wird eine aufwändigere Aktion. Hält dich aber keiner davon ab, das zu probieren. Es gibt dazu im OpenWebif-Repository die API-Dokumentation; programmieren musst du aber selber (Shell, Python, Perl, ...)
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Vielleicht sehe ich das zu kompliziert, aber so ganz komme ich damit nicht klar:

      Eine Aufgabe zum Ausschalten bietet mir die im Wiki vorgesehene Möglichkeit, eine Aufgabe nur im Standby auszuführen, nicht an (s. Screebshot).

      Das Elektro-Plugin scheint keine Möglichkeit für "Ausschalten" oder Reboot zu haben. "Nur" Deep-Standby.

      Und ich brauche tatsächlich den Reboot. Die VU läuft bei mir headless, nur als Recorder. Und bei Dauerbetrieb gibt es irgendwann Hänger/Probleme, die sich durch einen Reboot beheben lassen. D.h. ich suche die Möglichkeit, einmal wöchentlich die VU neu zu starten.

      Dann gehe ich mal schauen, ob ich mir mittels der API von extern was basteln kann.
      Dateien
      • screenshot.png

        (529,72 kB, 8 mal heruntergeladen, zuletzt: )
    • Deep-Standby ist doch ausgeschaltet.

      Entweder erstellst du dir eine Aufgabe "Ausschalten" um z.B. 5 Uhr und eine Aufgabe "Einschalten" dann um 5.10 Uhr (wie das mit dem Abstand am besten passt musst du wirklich ausprobieren).

      Oder schaltest die Box mit dem Elektro-Plugin in Deep-Standby und danach wieder ein.

      Oder programmierst wirklich selber.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Programmieren ist vielleicht etwas hochgegriffen:

      Shell-Script

      1. #!/bin/bash
      2. RECORDING=$(curl -s "vuultimo:81/api/statusinfo" | jq -r '.isRecording')
      3. if [ "$RECORDING" == "false" ]; then
      4. /usr/local/bin/VU_power_off
      5. sleep 5
      6. /usr/local/bin/VU_power_on
      7. echo "ok" >/tmp/vu_reboot
      8. else
      9. echo "failed" >/tmp/vu_reboot
      10. fi
      11. exit 0
      Alles anzeigen
      Ich hätte es noch gerne gehabt zu prüfen, ob innerhalb der nächsten 30s ein Timer mit Aufnehmen anfängt, aber das war mir zu viel parse-Aufwand unter bash :D
    • Hallo,
      Danke für das interessante Script mit dem man den Status auslesen kann.

      Das Auslesen klappt so weit:
      {"inStandby": "true", "currservice_begin": "", "muted": true, "isRecording": "true", "currservice_description": "", "volume": 100, "Recording_list": "\nkabel eins HD: Hawaii Five-0: \n", "currservice_fulldescription": "N/A", "currservice_name": "N/A", "currservice_filename": "", "transcoding": true, "currservice_end": "", "currservice_id": -1}Aber ein spezifischen Status, z.Bsp. isRecording, auslesen geht nicht

      Leider kennt meine vu+ 4K den Befehl jq nicht.

      Fehlermeldung " jq: command not found"
      ich kann den Befehl auch nicht nachträglich installieren mit opkg.
      Gibt es eine Alternative? Oder einen Weg doch noch jq zu installieren ?

      Danke

      Gruß
      Shaka
    • jq ist ein Json-Parser. Für diesen Zweck würde es auch grep tun.
      Du würdest jq für die Vu+ Duo benötigen? Dann könnte ich mal schauen, ob ich es gebaut bekomme. Sag bitte Bescheid.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
    • Voila.
      Dateien
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von rdamas ()

    • Scheinbar ist dieses Paket nicht kompatibel mit der VU+Duo2Wo kann ich dieses Paket für die vu+duo2 herunterladen.

      Ich habe etliche andere Version probiert u.a. auch mipsel, Aber jedes Mal bricht die Installation ab. Welche Version wäre kompatibel ?

      Quellcode

      1. root@vuduo2:/var/volatile/tmp# opkg install jq_1.6-r0_armv7ahf-vfp-neon.ipk
      2. Not selecting jq 1.6 due to incompatible architecture.
      3. Unknown package 'jq'.
      4. Collected errors:
      5. * opkg_install_cmd: Cannot install package jq.
    • Ich hatte versucht, das mit dem Mipsel-Crosscompiler zu übersetzen, das hat aber auf Anhieb nicht funktioniert (das Paket ist komplizierter aufgebaut als man meint).

      Edit: Hab's doch noch hinbekommen, Download auch für mips32el in #9 - bitte einmal testen und Bescheid geben, ob das Binary funktioniert.

      Spoiler anzeigen

      Du könntest versuchen, die Debian-Pakete aus dem Buster-Release für jq-1.5 und mipsel zu nehmen. Hangel dich von hier durch: Debian -- Informationen über Paket jq in buster - du benötigst zusätzlich das Paket libjq1 (dort verlinkt) und libonig5 (ebenfalls dort verlinkt). "Buster", weil das noch mit unserer libc funktioniert, für die neueren Pakete benötigst du eine neuere Version der libc.

      Dann brauchst du noch ein Programm, das dir die .deb-Dateien entpackt. Auf der Box geht das mit "ar x <file.deb>". Die darin enthaltene Datei "data.tar.xz" muss dann mit "tar -C / -xvf data.tar.xz" ausgepackt/installiert werden.

      Und mach vorher ein Image-Backup, bevor du dir bei der Aktion das Image zerschießt.
      Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von rdamas ()

    • Vielen Dank für deine Mühe. Ich habe das Problem nun vorläufig mit wget gelöst. Ich wollte auf einer fremden Box nicht zu viel experimentieren. Bei mir läuft JQ.

      Quellcode

      1. status=$(wget -qO- "http://localhost/api/statusinfo" | grep -o '"isRecording": *"[^"]*"' | sed 's/"isRecording": *"\([^"]*\)"/\1/')