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()