public
Last active

Script: write upcoming Tvheadend recording start dates to Synology power scheduler

  • Download Gist
pvr_poweron.py
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
#!/usr/bin/env python
import datetime, os, json
 
# Write upcoming Tvheadend recording start dates to Synology power scheduler
# i.e. turn on your Synology so Tvheadend can record.
# Usage: ./pvr_poweron.py > /etc/power_sched.conf (or use cron)
 
# location of Tvheadend PVR-schedule files:
PVR_DIR="/usr/local/tvheadend/var/dvr/log"
# Day-code constants for power scheduler Monday-Sunday:
DAYS = (16908288, 17039360, 17301504, 17825792, 18874368, 20971520, 16842752)
 
# read in all the recording start dates
start_dates = []
for f in os.listdir(PVR_DIR):
f = open(os.path.join(PVR_DIR,f), 'r')
data = f.read()
f.close()
data = json.loads(data)
start_dates.append(int(data.get('start')))
 
# print out config file, with upcoming dates
print '[Power On schedule]'
for date in start_dates:
d = datetime.datetime.fromtimestamp(date)
n = datetime.datetime.now()
#print d.isoformat()
day_constant = DAYS[d.weekday()]
time_offset = 256*d.hour + d.minute
time_code = day_constant + time_offset
if d > n: print time_code
print '[Power Off schedule]'

TODO: enkel data voor deze week in rekening brengen.

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.