diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt b/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt
index 3ecab74198..db2483809b 100644
--- a/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt
+++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/changelog.txt
@@ -1,3 +1,6 @@
+2.1.3
+- add option to wake up periodically
+
2.1.2
- improve startup script
diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml
index 6bdd7c4637..ddd2a65d06 100644
--- a/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml
+++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/config/settings.xml
@@ -3,4 +3,6 @@
+
+
diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py
index aecda97fc3..ef9cbb8064 100644
--- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py
+++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/default.py
@@ -26,6 +26,8 @@ import subprocess
import xbmc
import urllib2
import socket
+import time
+import datetime
from configobj import ConfigObj
__scriptname__ = "SABnzbd Suite"
@@ -37,7 +39,7 @@ __path__ = xbmc.translatePath( os.path.join( __cwd__, 'bin', "SABnzbd-Suit
checkInterval = 120
timeout = 20
-
+wake_times = ['01:00','03:00','05:00','07:00','09:00','11:00','13:00','15:00','17:00','19:00','21:00','23:00']
# Launch Suite
subprocess.call(['python',__path__])
@@ -55,14 +57,22 @@ sabNzbdQueue = 'http://' + sabNzbdAddress + '/sabnzbd/api?mode=queue&output
# start checking SABnzbd for activity and prevent sleeping if necessary
socket.setdefaulttimeout(timeout)
+# perform some initial checks and log essential settings
shouldKeepAwake = __settings__.getSetting('SABNZBD_KEEP_AWAKE')
+wakePeriodically = __settings__.getSetting('SABNZBD_PERIODIC_WAKE')
+wakeHourIdx = int(__settings__.getSetting('SABNZBD_WAKE_AT'))
if shouldKeepAwake:
xbmc.log('SABnzbd-Suite: will prevent idle sleep/shutdown while downloading')
+if wakePeriodically:
+ xbmc.log('SABnzbd-Suite: will try to wake system daily at ' + wake_times[wakeHourIdx])
+
while (not xbmc.abortRequested):
# reread setting in case it has changed
shouldKeepAwake = __settings__.getSetting('SABNZBD_KEEP_AWAKE')
+ wakePeriodically = __settings__.getSetting('SABNZBD_PERIODIC_WAKE')
+ wakeHourIdx = int(__settings__.getSetting('SABNZBD_WAKE_AT'))
# check if SABnzbd is downloading
sabIsActive = False
@@ -85,5 +95,17 @@ while (not xbmc.abortRequested):
if (sabIsActive and timeToShutdown <= checkInterval - timeout):
xbmc.log('SABnzbd-Suite: still downloading. Resetting XBMC idle timer.')
xbmc.executehttpapi("SendKey(0xF000)")
-
+
+ # calculate and set the time to wake up at (if any)
+ if (wakePeriodically):
+ wakeHour = wakeHourIdx * 2 + 1
+ timeOfDay = datetime.time(hour=wakeHour)
+ now = datetime.datetime.now()
+ wakeTime = now.combine(now.date(),timeOfDay)
+ if now.time() > timeOfDay:
+ wakeTime += datetime.timedelta(days=1)
+ secondsSinceEpoch = time.mktime(wakeTime.timetuple())
+ open("/sys/class/rtc/rtc0/wakealarm", "w").write("0")
+ open("/sys/class/rtc/rtc0/wakealarm", "w").write(str(secondsSinceEpoch))
+
xbmc.sleep(checkInterval * 1000)
\ No newline at end of file
diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml
index 3fae37f4a3..304ce60eca 100644
--- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml
+++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/English/strings.xml
@@ -10,5 +10,7 @@
Allowed IP addresses
Sleep
Keep awake while downloading
+ Wake up periodically
+ Wake up at
diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml
index fb2a450293..0ff4656c37 100644
--- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml
+++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/language/German/strings.xml
@@ -10,5 +10,7 @@
Erlaubte IP Adressen
Ruhezustand
Verhindere Ruhezustand wenn aktiv
+ Periodisch aufwachen
+ Aufwachen um
diff --git a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml
index 6ac0150f85..33b9d33e3e 100755
--- a/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml
+++ b/packages/addons/service/downloadmanager/SABnzbd-Suite/source/resources/settings.xml
@@ -15,5 +15,10 @@
+
+
+
diff --git a/projects/Fusion/linux/linux.i386.conf b/projects/Fusion/linux/linux.i386.conf
index 1fb12c117f..1db704dd73 100644
--- a/projects/Fusion/linux/linux.i386.conf
+++ b/projects/Fusion/linux/linux.i386.conf
@@ -1887,6 +1887,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1951,7 +1952,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Fusion/linux/linux.x86_64.conf b/projects/Fusion/linux/linux.x86_64.conf
index 6373dddcf7..01dd06302f 100644
--- a/projects/Fusion/linux/linux.x86_64.conf
+++ b/projects/Fusion/linux/linux.x86_64.conf
@@ -1839,6 +1839,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1903,7 +1904,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Generic/linux/linux.i386.conf b/projects/Generic/linux/linux.i386.conf
index b3eeb029eb..b303b7ba45 100644
--- a/projects/Generic/linux/linux.i386.conf
+++ b/projects/Generic/linux/linux.i386.conf
@@ -1968,6 +1968,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -2032,7 +2033,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Generic_OSS/linux/linux.i386.conf b/projects/Generic_OSS/linux/linux.i386.conf
index ffcc7b10e5..10fd7bf0f4 100644
--- a/projects/Generic_OSS/linux/linux.i386.conf
+++ b/projects/Generic_OSS/linux/linux.i386.conf
@@ -1966,6 +1966,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -2030,7 +2031,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/ION/linux/linux.i386.conf b/projects/ION/linux/linux.i386.conf
index 630d1f1133..ecf1bb1aa4 100644
--- a/projects/ION/linux/linux.i386.conf
+++ b/projects/ION/linux/linux.i386.conf
@@ -1820,6 +1820,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1884,7 +1885,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/ION/linux/linux.x86_64.conf b/projects/ION/linux/linux.x86_64.conf
index 3359458e79..87f94e5a1c 100644
--- a/projects/ION/linux/linux.x86_64.conf
+++ b/projects/ION/linux/linux.x86_64.conf
@@ -1764,6 +1764,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1828,7 +1829,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Intel/linux/linux.i386.conf b/projects/Intel/linux/linux.i386.conf
index fccf79b2b2..eac79e3ad3 100644
--- a/projects/Intel/linux/linux.i386.conf
+++ b/projects/Intel/linux/linux.i386.conf
@@ -1857,6 +1857,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1921,7 +1922,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Intel/linux/linux.x86_64.conf b/projects/Intel/linux/linux.x86_64.conf
index 26d12da529..c800e39b25 100644
--- a/projects/Intel/linux/linux.x86_64.conf
+++ b/projects/Intel/linux/linux.x86_64.conf
@@ -1802,6 +1802,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1866,7 +1867,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Virtual/linux/linux.i386.conf b/projects/Virtual/linux/linux.i386.conf
index 49ca2a5846..5af8bcfda1 100644
--- a/projects/Virtual/linux/linux.i386.conf
+++ b/projects/Virtual/linux/linux.i386.conf
@@ -1865,6 +1865,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1929,7 +1930,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set
diff --git a/projects/Virtual/linux/linux.x86_64.conf b/projects/Virtual/linux/linux.x86_64.conf
index 2ef182bcfd..06573a0f70 100644
--- a/projects/Virtual/linux/linux.x86_64.conf
+++ b/projects/Virtual/linux/linux.x86_64.conf
@@ -1810,6 +1810,7 @@ CONFIG_VIDEO_IR_I2C=m
CONFIG_VIDEO_TVAUDIO=m
CONFIG_VIDEO_TDA7432=m
CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_CS5345=m
CONFIG_VIDEO_CS53L32A=m
CONFIG_VIDEO_WM8775=m
@@ -1874,7 +1875,8 @@ CONFIG_MEDIA_ALTERA_CI=m
# CONFIG_VIDEO_CX25821 is not set
CONFIG_VIDEO_AU0828=m
# CONFIG_VIDEO_IVTV is not set
-# CONFIG_VIDEO_CX18 is not set
+CONFIG_VIDEO_CX18=m
+CONFIG_VIDEO_CX18_ALSA=m
CONFIG_VIDEO_SAA7164=m
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_SOC_CAMERA is not set