From 86a042052b92c2cdd6f5e649c794d6af3bf918b5 Mon Sep 17 00:00:00 2001
From: kr69sugu <karl.rackwitz@idiv.de>
Date: Wed, 12 Aug 2020 17:46:56 +0200
Subject: [PATCH] add dmx_data_received listener and log error if none is
 received

---
 skyglow.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/skyglow.py b/skyglow.py
index 1b03827..400b5aa 100755
--- a/skyglow.py
+++ b/skyglow.py
@@ -18,8 +18,9 @@ import sys
 # # # # # # #
 FAIL_DMX=3
 FAIL_DMX_SEND=4
-FAIL_LOG=5
-FAIL_MOON=6
+FAIL_DMX_RECEIVE=5
+FAIL_LOG=6
+FAIL_MOON=7
 
 # either fullpath or just name (then logFile will be created in scriptdir)
 # or fullpath containing '/'
@@ -31,6 +32,7 @@ moonDmx=0
 #dmx setup
 wrapper = None
 UNIVERSE = 10
+dmxDataReceived = False
 
 MAX_DMX_FRAME_SIZE = 512
 
@@ -237,6 +239,8 @@ def dmxSent(status):
 	else:
 		log('\t' + str(moonLux) + "\t" + str(moonDmx) + "\t" + str(skyglow))
 
+def dmxReceive(data):
+  print("Dmx, data received:" + data)
 
 def main(args=""):
 
@@ -285,10 +289,14 @@ def main(args=""):
 		client = wrapper.Client()
 		# send 1 dmx frame with values for channels 1-3 for all ecounits
 		client.SendDmx(UNIVERSE, data, dmxSent)
+	  	client.RegisterUniverse(UNIVERSE, client.REGISTER, dmxReceive)
 		wrapper.Run()
 	except Exception as e:
 		error(FAIL_DMX,e)
 
+	if not dmxDataReceived:
+		error(FAIL_DMX_RECEIVE)
+
 
 if __name__ == '__main__':
 	main()
-- 
GitLab