diff service/mqtt_graph_bridge/mqtt_graph_bridge.py @ 392:79d041273e26

mqtt has two devices now. various older cleanups. Ignore-this: 67ca3acc5dc6aa672d0c896c9f5ae48e
author drewp@bigasterisk.com
date Sat, 19 Jan 2019 12:08:59 -0800
parents b90d9321d2ce
children 7051b8b4766a
line wrap: on
line diff
--- a/service/mqtt_graph_bridge/mqtt_graph_bridge.py	Sat Jan 19 10:44:10 2019 -0800
+++ b/service/mqtt_graph_bridge/mqtt_graph_bridge.py	Sat Jan 19 12:08:59 2019 -0800
@@ -4,13 +4,14 @@
 from rdflib.parser import StringInputSource
 from twisted.internet import reactor
 import cyclone.web
-import sys, logging
+import sys, logging, json
 from mqtt_client import MqttClient
 
 ROOM = Namespace('http://projects.bigasterisk.com/room/')
 
 devs = {
-    ROOM['kitchenLight']: {'root': '004BD965', 'ctx': ROOM['kitchenH801']}
+    ROOM['kitchenLight']: {'root': 'h801_skylight', 'ctx': ROOM['kitchenH801']},
+    ROOM['kitchenCounterLight']: {'root': 'h801_counter', 'ctx': ROOM['kitchenH801']},
 }
 
 logging.basicConfig()
@@ -40,16 +41,16 @@
         self._onStatement(stmt)
             
     def _onStatement(self, stmt):
+        ignored = True
         for dev, attrs in devs.items():
             if stmt[0:2] == (dev, ROOM['brightness']):
-                sw = 'OFF' if stmt[2].toPython() == 0 else 'ON'
-                self.settings.mqtt.publish("%s/w1/light/switch" % attrs['root'], sw)
-                self.settings.mqtt.publish("%s/rgb/rgb/set" % attrs['root'],
-                                           '200,255,200' if sw == 'ON' else '0,0,0')
+                self.settings.mqtt.publish("%s/light/kit_w1/command" % attrs['root'],
+                                           json.dumps({'state': 'ON', 'brightness': int(stmt[2].toPython() * 255)}))                
                 self.settings.masterGraph.patchObject(attrs['ctx'],
                                                       stmt[0], stmt[1], stmt[2])
-                return
-        log.warn("ignoring %s", stmt)
+                ignored = False
+        if ignored:
+            log.warn("ignoring %s", stmt)
             
 if __name__ == '__main__':
     arg = docopt("""