Mercurial > code > home > repos > homeauto
comparison service/mqtt_graph_bridge/mqtt_graph_bridge.py @ 1384:a29a55f3429c
mqtt_graph_bridge to new build rules and to py3
Ignore-this: 1a064e89a2016ed583c1d4c9bbfd6f7c
darcs-hash:b40c5fcff313002f6468e7a94a2059f1dd5dd97c
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Thu, 09 May 2019 22:31:04 -0700 |
parents | 82fe44eadf00 |
children | b112da45e035 |
comparison
equal
deleted
inserted
replaced
1383:d66790a031ea | 1384:a29a55f3429c |
---|---|
1 import json | |
2 | |
1 from docopt import docopt | 3 from docopt import docopt |
2 from patchablegraph import PatchableGraph, CycloneGraphHandler, CycloneGraphEventsHandler | |
3 from rdflib import Namespace, URIRef, Literal, Graph | 4 from rdflib import Namespace, URIRef, Literal, Graph |
4 from rdflib.parser import StringInputSource | 5 from rdflib.parser import StringInputSource |
5 from twisted.internet import reactor | 6 from twisted.internet import reactor |
6 import cyclone.web | 7 import cyclone.web |
7 import sys, logging, json | 8 |
8 from mqtt_client import MqttClient | 9 from mqtt_client import MqttClient |
10 from patchablegraph import PatchableGraph, CycloneGraphHandler, CycloneGraphEventsHandler | |
11 from standardservice.logsetup import log, verboseLogging | |
9 | 12 |
10 ROOM = Namespace('http://projects.bigasterisk.com/room/') | 13 ROOM = Namespace('http://projects.bigasterisk.com/room/') |
11 | 14 |
12 devs = { | 15 devs = { |
13 ROOM['kitchenLight']: { | 16 ROOM['kitchenLight']: { |
17 ROOM['kitchenCounterLight']: { | 20 ROOM['kitchenCounterLight']: { |
18 'root': 'h801_counter', | 21 'root': 'h801_counter', |
19 'ctx': ROOM['kitchenH801'] | 22 'ctx': ROOM['kitchenH801'] |
20 }, | 23 }, |
21 } | 24 } |
22 | |
23 logging.basicConfig() | |
24 log = logging.getLogger() | |
25 | 25 |
26 def rdfGraphBody(body, headers): | 26 def rdfGraphBody(body, headers): |
27 g = Graph() | 27 g = Graph() |
28 g.parse(StringInputSource(body), format='nt') | 28 g.parse(StringInputSource(body), format='nt') |
29 return g | 29 return g |
71 arg = docopt(""" | 71 arg = docopt(""" |
72 Usage: mqtt_graph_bridge.py [options] | 72 Usage: mqtt_graph_bridge.py [options] |
73 | 73 |
74 -v Verbose | 74 -v Verbose |
75 """) | 75 """) |
76 log.setLevel(logging.WARN) | 76 verboseLogging(arg['-v']) |
77 if arg['-v']: | |
78 from twisted.python import log as twlog | |
79 twlog.startLogging(sys.stdout) | |
80 log.setLevel(logging.DEBUG) | |
81 | 77 |
82 masterGraph = PatchableGraph() | 78 masterGraph = PatchableGraph() |
83 | 79 |
84 mqtt = MqttClient(brokerPort=1883) | 80 mqtt = MqttClient(brokerPort=1883) |
85 | 81 |
96 | 92 |
97 for dev, attrs in devs.items(): | 93 for dev, attrs in devs.items(): |
98 masterGraph.patchObject(attrs['ctx'], | 94 masterGraph.patchObject(attrs['ctx'], |
99 dev, ROOM['brightness'], Literal(0.0)) | 95 dev, ROOM['brightness'], Literal(0.0)) |
100 | 96 |
101 | |
102 reactor.run() | 97 reactor.run() |