Mercurial > code > home > repos > homeauto
diff service/mqtt_graph_bridge/mqtt_graph_bridge.py @ 1263:82fe44eadf00
build updates. hack in r/g/b and some fixed multipliers
Ignore-this: 155d402cd863cf9be2b59f5595131c0d
darcs-hash:6de7e740eeb64dc602e61154a49251bf63d074f4
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Sat, 20 Apr 2019 23:32:36 -0700 |
parents | d8acab2b01f5 |
children | 30022797642e |
line wrap: on
line diff
--- a/service/mqtt_graph_bridge/mqtt_graph_bridge.py Sat Apr 20 23:31:16 2019 -0700 +++ b/service/mqtt_graph_bridge/mqtt_graph_bridge.py Sat Apr 20 23:32:36 2019 -0700 @@ -10,8 +10,14 @@ ROOM = Namespace('http://projects.bigasterisk.com/room/') devs = { - ROOM['kitchenLight']: {'root': 'h801_skylight', 'ctx': ROOM['kitchenH801']}, - ROOM['kitchenCounterLight']: {'root': 'h801_counter', 'ctx': ROOM['kitchenH801']}, + ROOM['kitchenLight']: { + 'root': 'h801_skylight', + 'ctx': ROOM['kitchenH801'] + }, + ROOM['kitchenCounterLight']: { + 'root': 'h801_counter', + 'ctx': ROOM['kitchenH801'] + }, } logging.basicConfig() @@ -44,10 +50,19 @@ ignored = True for dev, attrs in devs.items(): if stmt[0:2] == (dev, ROOM['brightness']): - 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]) + for chan, scale in [('w1', 1), + ('r', 1), + ('g', .8), + ('b', .8)]: + out = stmt[2].toPython() * scale + self.settings.mqtt.publish( + "%s/light/kit_%s/command" % (attrs['root'], chan), + json.dumps({ + 'state': 'ON', + 'brightness': int(out * 255)})) + self.settings.masterGraph.patchObject( + attrs['ctx'], + stmt[0], stmt[1], stmt[2]) ignored = False if ignored: log.warn("ignoring %s", stmt) @@ -70,6 +85,8 @@ port = 10008 reactor.listenTCP(port, cyclone.web.Application([ + (r"/()", cyclone.web.StaticFileHandler, + {"path": ".", "default_filename": "index.html"}), (r"/graph", CycloneGraphHandler, {'masterGraph': masterGraph}), (r"/graph/events", CycloneGraphEventsHandler, {'masterGraph': masterGraph}),