Skip to content

Commit a97f32f

Browse files
authored
Merge pull request diyhue#49 from mariusmotea/develop
webgui show current sensors configuration + fix bug diyhue#47
2 parents 83f970f + 5b8dfb2 commit a97f32f

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

BridgeEmulator/HueEmulator.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def schedulerProcessor():
175175
sleep(1)
176176

177177
def addTradfriDimmer(sensor_id, group_id):
178-
rules = [{"actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "on": True }, "method":"PUT" },{ "address":"/groups/" + group_id + "/action", "body":{ "bri": 1 }, "method":"PUT" } ], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" }, { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"2001" }, { "address":"/groups/" + group_id + "/action/on", "operator":"eq", "value":"false" } ], "name":"Remote "+ sensor_id + " turn on" }, { "actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "on":False }, "method":"PUT" } ], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" }, { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"1000" }, { "address":"/groups/" + group_id + "/state/bri", "operator":"eq", "value":"1" }], "name":"Remote "+ sensor_id + " turn off" }, { "actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "bri_inc":56, "transitiontime":9 }, "method":"PUT" } ], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"2001" }, { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" } ], "name":"Dimmer Switch "+ sensor_id + " rotate right" }, { "actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "bri_inc":-56, "transitiontime":9 }, "method":"PUT" } ], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"1001" }, { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" } ], "name":"Dimmer Switch "+ sensor_id + " rotate right"}]
178+
rules = [{"actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "on": True }, "method":"PUT" }], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" }, { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"1000" }, { "address":"/groups/" + group_id + "/action/on", "operator":"eq", "value":"false" } ], "name":"Remote "+ sensor_id + " turn on" }, {"actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "on": False }, "method":"PUT" }], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" }, { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"1000" }, { "address":"/groups/" + group_id + "/action/on", "operator":"eq", "value":"true" } ], "name":"Remote "+ sensor_id + " turn off" }, { "actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "bri_inc":56, "transitiontime":9 }, "method":"PUT" } ], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"2001" }, { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" } ], "name":"Dimmer Switch "+ sensor_id + " rotate right" }, { "actions":[ { "address":"/groups/" + group_id + "/action", "body":{ "bri_inc":-56, "transitiontime":9 }, "method":"PUT" } ], "conditions":[ { "address":"/sensors/" + sensor_id + "/state/buttonevent", "operator":"eq", "value":"1001" }, { "address":"/sensors/" + sensor_id + "/state/lastupdated", "operator":"dx" } ], "name":"Dimmer Switch "+ sensor_id + " rotate right"}]
179179
resourcelinkId = nextFreeId("resourcelinks")
180180
bridge_config["resourcelinks"][resourcelinkId] = {"classid": 15555,"description": "Rules for sensor " + sensor_id, "links": ["/sensors/" + sensor_id], "name": "Emulator rules " + sensor_id,"owner": bridge_config["config"]["whitelist"].keys()[0]}
181181
for rule in rules:
@@ -676,7 +676,10 @@ def webformIndex():
676676
content += "<label for=\"" + deconzSensor + "\">" + bridge_config["sensors"][bridge_config["deconz"]["sensors"][deconzSensor]["bridgeid"]]["name"] + "</label>\n"
677677
content += "<select id=\"" + deconzSensor + "\" name=\"" + bridge_config["deconz"]["sensors"][deconzSensor]["bridgeid"] + "\">\n"
678678
for group in bridge_config["groups"].iterkeys():
679-
content += "<option value=\"" + group + "\">" + bridge_config["groups"][group]["name"] + "</option>\n"
679+
if bridge_config["deconz"]["sensors"][deconzSensor]["room"] == group:
680+
content += "<option value=\"" + group + "\" selected>" + bridge_config["groups"][group]["name"] + "</option>\n"
681+
else:
682+
content += "<option value=\"" + group + "\">" + bridge_config["groups"][group]["name"] + "</option>\n"
680683
content += "</select>\n"
681684
content += "</div>\n"
682685
content += """<div class="pure-controls">
@@ -858,6 +861,11 @@ def do_GET(self):
858861
addTradfriRemote(key, get_parameters[key][0])
859862
elif bridge_config["sensors"][key]["modelid"] == "TRADFRI wireless dimmer":
860863
addTradfriDimmer(key, get_parameters[key][0])
864+
#store room id in deconz sensors
865+
for sensor in bridge_config["deconz"]["sensors"].iterkeys():
866+
if bridge_config["deconz"]["sensors"][sensor]["bridgeid"] == key:
867+
bridge_config["deconz"]["sensors"][sensor]["room"] = get_parameters[key][0]
868+
861869
else:
862870
scanDeconz()
863871
self.wfile.write(webformIndex())

Lights/Arduino/SK6812HueStrip/SK6812HueStrip.ino

+3-2
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,10 @@ void setup() {
291291
for (int j = 0; j < 200; j++) {
292292
lightEngine();
293293
}
294-
WiFiManager wifiManager;
295-
wifiManager.autoConnect("New Hue Light");
296294
}
295+
WiFiManager wifiManager;
296+
wifiManager.autoConnect("New Hue Light");
297+
297298
if (! light_state[0]) {
298299
infoLight(white);
299300
while (WiFi.status() != WL_CONNECTED) {

Lights/Arduino/WS2812BHueStrip/WS2812BHueStrip.ino

+3-2
Original file line numberDiff line numberDiff line change
@@ -290,9 +290,10 @@ void setup() {
290290
for (int j = 0; j < 200; j++) {
291291
lightEngine();
292292
}
293-
WiFiManager wifiManager;
294-
wifiManager.autoConnect("New Hue Light");
295293
}
294+
WiFiManager wifiManager;
295+
wifiManager.autoConnect("New Hue Light");
296+
296297
if (! light_state[0]) {
297298
infoLight(white);
298299
while (WiFi.status() != WL_CONNECTED) {

0 commit comments

Comments
 (0)