Zeig das Skript bitte mal
Wie gesagt, so wie es SkyBird1980 oben geschrieben hat, nur die 3 Uhrzeiten angepasst.
Zeig das Skript bitte mal
Wie gesagt, so wie es SkyBird1980 oben geschrieben hat, nur die 3 Uhrzeiten angepasst.
Code pasten bitte, sonst drehen wir uns hier im Kreis.
Hallo darkside40,
was passiert denn nach dem Aufwecken durch dein Aufnahme-Script ?
Wie verhinderst du denn ein erneutes einschlafen des Servers während eine Aufnahme läuft ?
Überwachst Du mit dem Sleep-Addon in unRAID die Array Aktivitäten ? Das funktioniert bei mir leider (noch) nicht.
VG
Ich habe es gefunden...
Ich musste bei der Einstellung zur Überwachung das Cache-Laufwerk abwählen...
VG
Ich habe das einschlafen während einer Aufnahme ganz einfach dadurch verhindert das ich für den Record Folder nicht das Cache Drive aktiviert hatte.
Dadurch war immer eine Array HDD am laufen und der Server legt sich nicht schlafen.
unRAID: Server aufwecken um Timeraufnahme zu starten
Hallo Nerds ich brauche bitte eure Unterstützung !
Mein Server wacht nicht auf bzw. tvheadend weckt den Server nicht um eine Timer-Aufname zu starten.
Ich sitze jetzt wirklich schon den ganzen Tag an dem Problem aber komme keinen Schritt mehr weiter.
Wahrscheinlich sehe ich auch keine Bäume mehr im Wald
unRAID in Version 6.6.6 ist installiert.
tvheadend (last) läuft im Docker.
Sleep 3 Addon ist in unraid installiert, macht was es soll. Schaltet den Rechner in suspend wenn das Array ruht und keine IP die hinterlegt wurde online ist.
Der Rechner schläft ein, so soll es sein.
Einer meiner vielen Versuche um sicher zu stellen was geht oder auch nicht geht, war rtcwake.
Mit rtcwake kann ich den Rechner aus suspend und shutdown starten lassen !
Demzufolge kann die Hardware was verlangt wird ?!
Die Bios Zeit und die Systemzeit sind gleich.
In tvheadend wurde ein Benutzer angelegt der die Timer erstellt.
Ich habe in der Docker-Einstellung bridge und host ausprobiert, ohne Erfolg.
Timer werden angelegt und im Verzeichnis /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition] abgespeichert.
Die Zeiten in den Dateien habe ich überprüft, unixzeit in realtime umgewandelt passt alles.
Das unRaid Sleep Addon ruft folgendes Weck-Script auf beim einschlafen:
ZitatAlles anzeigen#!/bin/bash
#
# set ACPI Wakeup alarm
# safe_margin - minutes to start up system before the earliest timer
# script does not check if recording is in progress
#
echo 1 > /timer
# bootup system 60 sec. before timer
safe_margin=180
# modyfy if different location for tvheadend dvr/[definition='1','0']log[/definition] path
cd /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/
######################
start_date=0
stop_date=0
current_date=`date +%s`
for i in $( ls ); do
tmp_start=`cat $i | grep '"start":' | cut -f 2 -d " " | cut -f 1 -d ","`
tmp_stop=`cat $i | grep '"stop":' | cut -f 2 -d " " | cut -f 1 -d ","`
# check for outdated timer
if [ $((tmp_stop)) -gt $((current_date)) -a $((tmp_start)) -gt $((current_date)) ]; then
# take lower value (tmp_start or start_date)
if [ $((start_date)) -eq 0 -o $((tmp_start)) -lt $((start_date)) ]; then
start_date=$tmp_start
stop_date=$tmp_stop
fi
fi
done
wake_date=$((start_date-safe_margin))
echo $start_date >> /timer
echo $wake_date >> /timer
# set up waleup alarm
if [ $((start_date)) -ne 0 ]; then
echo 2 >> /timer
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo $wake_date > /sys/class/rtc/rtc0/wakealarm
fi
Ich hoffe ich komme dem Phänomen auf die Spur :
Was passiert denn im Normalfall mit einem angelegten Timer NACH der Aufnahme ?? Kann hier der Fehler liegen ?
Wenn ich den Inhalt aus dem Verzeichnis /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ lösche, kann ich das weck_script ohne Fehler "von Hand" ausführen.
Ich erstelle einen Timer
der Timer wird unter /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ als Datei angelegt
ich führe das script aus,
ich schicke den Rechner in Standby.
Der Rechner wacht auf, macht seine Aufnahme,
unRaid geht nach der Aufnahme nochmal in Standby
!!!
Unter /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ liegt immer noch der Timer (DAtei)
!!!
Wenn ich jetzt das Script aufrufe gibt es einen Fehler zurück:
./record_wakeup.sh: line 30: 1551700800
1551700780: syntax error in expression (error token is "1551700780")
Ich lege einen neuen Timer an
Der wird ebenfall unter /mnt/cache/appdata/tvheadend/dvr/[definition='1','0']log[/definition]/ als Datei abgespeichert.
Dort liegen jetzt 2 Dateien.
Wenn ich jetzt das Script aufrufe gibt es immer noch den Fehler zurück:
./record_wakeup.sh: line 30: 1551700800
1551700780: syntax error in expression (error token is "1551700780")
ich lösche den "alten" Timer
Das Script funktioniert !!!
Was Wer muss also den alten Timer "normalerweise" löschen ???
Anmerkung:
Der Benutzer der angelegten Dateien für die Timer ist Root aus der Gruppe Root
Das kann ja keiner löschen Aber warum ?
Dateirechte: 600 lesen/scheiben bei Besitzer (Root)
warum gehst du nicht über die status.xml datei?
Script auszug (bin jetzt nicht daheim, wo ich genau schauen kann, probiers mal mit):
curl -s --user $tvh_username:$tvh_password 127.0.0.1:9981/status.xml | grep "next" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'
(ip natürlich anpassen, und ggf die ip adresse vom docker nehmen...)
in der status.xml unter dem xml tag steht drin, wann die nächste aufnahme geplant ist.
edit: kurz google und ein script gefunden das über status.xml geht:
http://motobiff.blogspot.com/2015/08/standb…adend-bash.html
#Query Tvheadend for next recording
echo "Checking recordings"
RECN="`curl -s --user USER:PASSWORD 127.0.0.1:9981/status.xml | grep "next" | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'`"
echo Next recording starts in $RECN minutes
#Convert $RECN to seconds
RECNS=$(($RECN * 60))
echo Next recording starts in $RECNS seconds
Hallo AcidRain, danke, dass schaue mir das ganze bestimmt genauer an ...
Und ob und wie ich es in Unraid und docker ans laufen bekomme.
VG
Hast du da was neues @nebosa? Bin gerade dabei bei meinem Bruder den Umstieg von OMV mit TVHeadEnd auf UnRaid mit TvHeadEnd zu vollziehen (aktuell die Plugin-Version von TvHeadEnd...
ich benutze die Docker Version. Ich glaube die Pluginversion ist etwas einfach zu konfigurieren weil näher an unRAID
aber wer will schon einfach
Im ernst, bei Docker hast du mehr Updates, ich bin bekennender Version-Junkie
Und ja, ich bin zwar noch nicht ganz da wo ich hin will aber ein gutes Stück weiter dank deiner Info
Da die S3/S5 Überwachung bei mir (noch) das S3 Sleep plugin macht, habe ich "dein" Script aufgebröselt.
Ich lese nur sie status.xml ein und setze die nächste Aufnahmezeit.
Das Script habe ich dann im S3 Sleep Plugin eingetragen und wird dort bei jedem wecken oder einschlafen ausgeführt
So funktioniert jetzt bei mir das Aufwecken für eine Aufnahme...
Im SleepPlugin überwache ich die HD, geht die in idle fährt die Kiste runter, das Script wird dabei nochmal ausgeführt der nächste Timer wird gesetzt ...
Ok, dann schau ich mal.
Erstmal teste ich heute die verbesserte / gefixte Version von @darkside40 des s3 sleep Plugins.
Gestern unraid zum ersten Mal aufgesetzt und Daten kopiert.
Heute dann das Feintuning.
Sleep, mit Module ent-/laden und für die Aufnahmen aufwecken.
Könntest du @nebosa dein angepassteste Script ggf zur Verfügung stellen?
Mein Bruder wies mich gestern Nacht noch drauf hin dass seine kodi Clients beim Abspielen ab und zu ruckeln, nachbuffern, und/oder die Wiedergabe abbrechen... denke aber eher, da das bei omv auch schon vor kam, dass es ein Netzwerk Problem ist (Switch, Kabel, o.ä.)
das ist nicht viel script , ja klar...
Zeile 1 musst du anpassen evtl. auch noch username und passwort hinzufügen.
RECN="`curl -s 192.168.178.62:9981/status.xml | grep "next" | awk -F '>' '{pri$
echo Next recording starts in $RECN minutes
#Rechne Minuten in Sekunden
RECNS=$(($RECN * 60))
#Query Unix time
DATE=`date +%s`
echo Next recording starts in $RECNS Sekunden
echo Stelle WakeUpTimer
echo WakeUpTimer : $WAKEUPTIMER
echo Date : $Date
echo RECNS : $RECNS
WAKEUPTIMER=$(($DATE + $RECNS - 60))
echo 0 > /sys/class/rtc/rtc0/wakealarm
echo Setting $WAKEUPTIMER in /sys/class/rtc/rtc0/wakealarm
echo $WAKEUPTIMER > /sys/class/rtc/rtc0/wakealarm
Alles anzeigen
Einige echo befehle braucht keiner, wenn du das script aber auf der konsole ausführst konnte ich so sehen was passiert.
Deshalb habe ich die auch noch drin
Mit ruckeln kann ich leider nix sagen, bei mir läuft alles rund.
VG
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!