diff --git a/scripts/ci/test-daemon.py b/scripts/ci/test-daemon.py
new file mode 100644
index 0000000000000000000000000000000000000000..33a5ffedca9af9156eeb2224045e7404d55f1775
--- /dev/null
+++ b/scripts/ci/test-daemon.py
@@ -0,0 +1,14 @@
+#!/usr/bin/python3
+import openrazer.client
+
+devmgr = openrazer.client.DeviceManager()
+
+for d in devmgr.devices:
+    # Sanity check matrix capabilities
+    if d.has("lighting_led_matrix"):
+        d.fx.advanced.matrix[0, 0] = [0, 255, 0]
+        try:
+            d.fx.advanced.draw()
+        except Exception as e:
+            print('\n~~~ ' + d.name + ' ~~~\n')
+            print(e)
diff --git a/scripts/ci/test-daemon.sh b/scripts/ci/test-daemon.sh
index d0ef2648d3c6d131e0201bfcb318b51689c3a30e..06059b81980e7b3e6d1e84cc006b8406f034fabe 100755
--- a/scripts/ci/test-daemon.sh
+++ b/scripts/ci/test-daemon.sh
@@ -11,3 +11,5 @@ if [ "$all_devices" != "$daemon_devices" ]; then
     echo
     exit 1
 fi
+
+PYTHONPATH="pylib:daemon" python3 scripts/ci/test-daemon.py