diff --git a/aura.py b/aura.py
index 5b958258ba2e1c6f982e7489796ebe1e68c0385b..996d784931b6ed17ef9ff65eb9c24a5b09206120 100755
--- a/aura.py
+++ b/aura.py
@@ -69,14 +69,15 @@ class Aura(AuraLogger):
         self.scheduler.liquidsoapcommunicator = self.liquidsoapcommunicator
 
         # create the redis adapter
-        self.messenger = ServerRedisAdapter()
-        self.messenger.config = self.config
+        self.messenger = ServerRedisAdapter(self.config)
         self.messenger.scheduler = self.scheduler
         self.messenger.liquidsoapcommunicator = self.liquidsoapcommunicator
 
         self.diskspace_watcher = DiskSpaceWatcher(self.config, self.logger, self.liquidsoapcommunicator)
         self.diskspace_watcher.start()
 
+        
+
         def receive_signal(signum, stack):
             print("received signal")
             server.reload()
diff --git a/libraries/database/statestore.py b/libraries/database/statestore.py
index 3ee45f34d229420bf4b4f850a935eb510009e091..00d47e375fa23cac1266af5dc45237dfe07cafa9 100644
--- a/libraries/database/statestore.py
+++ b/libraries/database/statestore.py
@@ -34,9 +34,9 @@ class RedisStateStore(object):
 
     """Store and get Reports from redis"""
 
-    def __init__(self, **redis_kwargs):
+    def __init__(self, config, **redis_kwargs):
         """The default connection parameters are: host='localhost', port=6379, db=0"""
-        self.db= redis.Redis()
+        self.db = redis.Redis(host=config.get("redis_host"), port=config.get("redis_port"), db=config.get("redis_db"))
         self.channel = '*'
         self.section = '*'
         self.separator = '_'
diff --git a/modules/cli_tool/padavan.py b/modules/cli_tool/padavan.py
index 14296cd3303d7cb0d67ffba2e524165761e70cf8..a25f98ac87da4552d2473354db6aa8f3f194abe4 100644
--- a/modules/cli_tool/padavan.py
+++ b/modules/cli_tool/padavan.py
@@ -115,10 +115,10 @@ class Padavan:
 
     # ------------------------------------------------------------------------------------------ #
     def init_redis_communication(self, with_server=False):
-        self.redisclient = ClientRedisAdapter()
+        self.redisclient = ClientRedisAdapter(self.config)
 
         if with_server:
-            self.redisserver = ServerRedisAdapter()
+            self.redisserver = ServerRedisAdapter(self.config)
 
     # ------------------------------------------------------------------------------------------ #
     def send_redis(self, channel, message):
diff --git a/modules/communication/redis/adapter.py b/modules/communication/redis/adapter.py
index 947bce9e4d2ab531a94f28528508c5e61c6d29b0..b0ca8022f5b2e39d5b1fe9ff0fc4489244d96c09 100644
--- a/modules/communication/redis/adapter.py
+++ b/modules/communication/redis/adapter.py
@@ -51,28 +51,29 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger):
     liquidsoapcommunicator = None
 
     # ------------------------------------------------------------------------------------------ #
-    def __init__(self):
+    def __init__(self, config):
         threading.Thread.__init__(self)
-        RedisMessenger.__init__(self)
+        RedisMessenger.__init__(self, config)
 
         # init
-        threading.Thread.__init__ (self)
+        #threading.Thread.__init__ (self)
+        self.config = config
         self.shutdown_event = Event()
 
         self.channel = RedisChannel.STANDARD.value
         self.section = ''
-        self.rstore = RedisStateStore()
+        self.rstore = RedisStateStore(config)
         self.errnr = '00'
         self.components = {'controller':'01', 'scheduling':'02', 'playd':'03', 'recorder':'04', 'helpers':'09'}
         self.fromMail = ''
         self.adminMails = ''
 
-        self.redisclient = ClientRedisAdapter()
+        self.redisclient = ClientRedisAdapter(config)
         self.connection_tester = ConnectionTester()
 
     # ------------------------------------------------------------------------------------------ #
     def run(self):
-        self.redisdb = redis.Redis()
+        self.redisdb = redis.Redis(host=self.config.get("redis_host"), port=self.config.get("redis_port"), db=self.config.get("redis_db"))
         self.pubsub = self.redisdb.pubsub()
         self.pubsub.subscribe(self.channel)
 
@@ -109,7 +110,7 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger):
 
     # ------------------------------------------------------------------------------------------ #
     def listen_for_one_message(self, channel, socket_timeout=2):
-        self.redisdb = redis.Redis(socket_timeout=socket_timeout)
+        self.redisdb = redis.Redis(host=self.config.get("redis_host"), port=self.config.get("redis_port"), db=self.config.get("redis_db"), socket_timeout=socket_timeout)
         self.pubsub = self.redisdb.pubsub()
         self.pubsub.subscribe(channel)
 
@@ -252,8 +253,8 @@ class ServerRedisAdapter(threading.Thread, RedisMessenger):
 # ------------------------------------------------------------------------------------------ #
 class ClientRedisAdapter(RedisMessenger):
 
-    def __init__(self):
-        RedisMessenger.__init__(self)
+    def __init__(self, config):
+        RedisMessenger.__init__(self, config)
 
     # ------------------------------------------------------------------------------------------ #
     def publish(self, channel, message):
diff --git a/modules/communication/redis/messenger.py b/modules/communication/redis/messenger.py
index 61c7a5f906a364224c554009850cf9047d1dfd44..190c4f688243b1d43e1bfb330c3df9b89a8ab527 100644
--- a/modules/communication/redis/messenger.py
+++ b/modules/communication/redis/messenger.py
@@ -43,7 +43,7 @@ class RedisMessenger():
     rstore = None
 
     # ------------------------------------------------------------------------------------------ #
-    def __init__(self):
+    def __init__(self, config):
         super(RedisMessenger, self).__init__()
         """
             Constructor
@@ -51,7 +51,7 @@ class RedisMessenger():
         self.logger = logging.getLogger("AuraEngine")
         self.channel = RedisChannel.STANDARD
         self.section = ''
-        self.rstore = RedisStateStore()
+        self.rstore = RedisStateStore(config)
         self.errnr = '00'
         self.components = {'controller':'01', 'scheduling':'02', 'playd':'03', 'recorder':'04', 'helpers':'09'}
         self.fromMail = ''
diff --git a/modules/scheduling/calendar.py b/modules/scheduling/calendar.py
index c6c77e5168a42c5e7c62788593871b91f4876ef0..d08210fbc1b1865d119b50f3a78d803b48e39543 100644
--- a/modules/scheduling/calendar.py
+++ b/modules/scheduling/calendar.py
@@ -40,7 +40,7 @@ from modules.communication.redis.messenger import RedisMessenger
 
 
 class AuraCalendarService(threading.Thread):
-    messenger = RedisMessenger()
+    messenger = None
     until = ""
     playlistdir = ""
     xmlplaylist = range(0)
@@ -62,6 +62,7 @@ class AuraCalendarService(threading.Thread):
     def __init__(self, config, datefrom="", dateto=""):
         threading.Thread.__init__(self)
         self.config = config
+        self.messenger = RedisMessenger(config)
         self.logger = logging.getLogger("AuraEngine")
 
         self.messenger.set_channel("aura")
diff --git a/modules/scheduling/scheduler.py b/modules/scheduling/scheduler.py
index 075efb76a1a2458e871947de2e47cde80f9aa111..47969384ac90ca757c672ddf3121556cbda2b022 100644
--- a/modules/scheduling/scheduler.py
+++ b/modules/scheduling/scheduler.py
@@ -71,7 +71,7 @@ class AuraScheduler(ExceptionLogger, threading.Thread):
     Aura Scheduler Class
     Gets data from pv and importer, stores and fires events
     """
-    redismessenger = RedisMessenger()
+    redismessenger = None
     message_timer = []
     job_result = {}
 
@@ -94,6 +94,7 @@ class AuraScheduler(ExceptionLogger, threading.Thread):
         @param   config:               read engine.ini
         """
         self.config = config
+        self.redismessenger = RedisMessenger(config)
         self.logger = logging.getLogger("AuraEngine")
 
         # init threading