Mercurial > code > home > repos > homeauto
comparison service/rdf_to_mqtt/rdf_to_mqtt.py @ 1703:80b01d548b9c
add new devs, factor out to devs.py
author | drewp@bigasterisk.com |
---|---|
date | Sat, 23 Oct 2021 13:14:45 -0700 |
parents | ac1ae0c21bb0 |
children | 3f4b447d65f5 |
comparison
equal
deleted
inserted
replaced
1702:ac1ae0c21bb0 | 1703:80b01d548b9c |
---|---|
13 from greplin.scales.cyclonehandler import StatsHandler | 13 from greplin.scales.cyclonehandler import StatsHandler |
14 from mqtt_client import MqttClient | 14 from mqtt_client import MqttClient |
15 from rdflib import Namespace | 15 from rdflib import Namespace |
16 from standardservice.logsetup import log, verboseLogging | 16 from standardservice.logsetup import log, verboseLogging |
17 from twisted.internet import reactor | 17 from twisted.internet import reactor |
18 | 18 from devs import devs |
19 import rdf_over_http | 19 import rdf_over_http |
20 | 20 |
21 ROOM = Namespace('http://projects.bigasterisk.com/room/') | 21 ROOM = Namespace('http://projects.bigasterisk.com/room/') |
22 | 22 |
23 STATS = scales.collection( | 23 STATS = scales.collection( |
24 '/root', | 24 '/root', |
25 scales.PmfStat('putRequests'), | 25 scales.PmfStat('putRequests'), |
26 scales.PmfStat('statement'), | 26 scales.PmfStat('statement'), |
27 scales.PmfStat('mqttPublish'), | 27 scales.PmfStat('mqttPublish'), |
28 ) | 28 ) |
29 | |
30 devs = { | |
31 ROOM['kitchenLight']: { | |
32 'root': 'h801_skylight', | |
33 'hasWhite': True, | |
34 }, | |
35 ROOM['kitchenCounterLight']: { | |
36 'root': 'h801_counter', | |
37 'hasWhite': True, | |
38 }, | |
39 ROOM['livingLampShelf']: { 'root': 'sonoff_0/switch/sonoff_basic_relay/command', 'values': 'binary', }, | |
40 ROOM['livingLampMantleEntry']: { 'root': 'sonoff_1/switch/sonoff_basic_relay/command', 'values': 'binary', }, | |
41 ROOM['livingLampMantleChair']: { 'root': 'sonoff_2/switch/sonoff_basic_relay/command', 'values': 'binary', }, | |
42 ROOM['livingLampToyShelf']: { 'root': 'sonoff_3/switch/sonoff_basic_relay/command', 'values': 'binary', }, | |
43 ROOM['livingLampPiano']: { 'root': 'sonoff_4/switch/sonoff_basic_relay/command', 'values': 'binary', }, | |
44 ROOM['theater']: { | |
45 'root': 'theater_blaster/ir_out', | |
46 'values': 'theaterOutputs', | |
47 }, | |
48 ROOM['bedHeadboard']: { | |
49 'root': 'bed/light/headboard/command', | |
50 'hasWhite': True, | |
51 }, | |
52 # https://github.com/Koenkk/zigbee2mqtt.io/blob/new_api/docs/information/mqtt_topics_and_message_structure.md#general | |
53 ROOM['frontRoom1']: { 'root': 'zigbee-dash/frontRoom1/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
54 ROOM['frontRoom2']: { 'root': 'zigbee-dash/frontRoom2/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
55 ROOM['asherCeiling']: { 'root': 'zigbee-frontbed/0xf0d1b80000022c86/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
56 ROOM['asherBedBar']: { 'root': 'bed_bar_asher/light/rgb/command', 'hasBrightness': True, 'defaults': {}}, | |
57 ROOM['stairTop']: { 'root': 'zigbee-dash/stairTop/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
58 ROOM['noname1']: { 'root': 'zigbee-bang/0xf0d1b8000001ffc6/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
59 ROOM['noname2']: { 'root': 'zigbee-bang/0xf0d1b80000023583/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
60 ROOM['noname3']: { 'root': 'zigbee-bang/0xf0d1b80000023708/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
61 ROOM['noname4']: { 'root': 'zigbee-bang/0xf0d1b80000022adc/set', 'hasBrightness': True, 'defaults': { 'transition': 0, } }, | |
62 } | |
63 | 29 |
64 | 30 |
65 class OutputPage(PrettyErrorHandler, cyclone.web.RequestHandler): | 31 class OutputPage(PrettyErrorHandler, cyclone.web.RequestHandler): |
66 | 32 |
67 @STATS.putRequests.time() | 33 @STATS.putRequests.time() |