Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
109e8cf25f
|
|||
d88c6f7d7b
|
|||
926a71e6a8
|
@ -65,7 +65,7 @@ data:
|
|||||||
"wolfgang": {
|
"wolfgang": {
|
||||||
"label": "wolfgang",
|
"label": "wolfgang",
|
||||||
"windows": [
|
"windows": [
|
||||||
{ "topic": "homegear/instance1/plain/24/1/STATE", "label": "Garten", "converter": "max" }
|
{ "topic": "homegear/instance1/plain/24/1/STATE", "label": "Garten", "converter": "aqara" }
|
||||||
],
|
],
|
||||||
"output_topic": "heating/homegear/instance1/set/43/1/SET_TEMPERATURE",
|
"output_topic": "heating/homegear/instance1/set/43/1/SET_TEMPERATURE",
|
||||||
"output_converter": "max"
|
"output_converter": "max"
|
||||||
|
@ -8,7 +8,8 @@ CONVERTERS = {
|
|||||||
"max": lambda x: x["output_temperature"],
|
"max": lambda x: x["output_temperature"],
|
||||||
},
|
},
|
||||||
"window_contact_input": {
|
"window_contact_input": {
|
||||||
"max": lambda x: 'closed' if (x.lower() in ('false', 'close', 'closed')) else 'open'
|
"max": lambda x: 'closed' if (x.lower() in ('false', 'close', 'closed')) else 'open',
|
||||||
|
"aqara": lambda x: 'closed' if json.loads(x)["contact"] else 'open'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -142,9 +143,9 @@ def process_high_temp(box_name, context, local_context, payload):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def process_window(box_name, context, local_context, sub_key, payload):
|
def process_window(box_name, context, local_context, sub_key, payload):
|
||||||
// default converter
|
# default converter
|
||||||
converter = lambda x:x
|
converter = lambda x:x
|
||||||
for sk in box["windows"]:
|
for sk in context["boxes"][box_name]["windows"]:
|
||||||
if sk["label"] == sub_key:
|
if sk["label"] == sub_key:
|
||||||
converter = CONVERTERS["window_contact_input"][sk["converter"]]
|
converter = CONVERTERS["window_contact_input"][sk["converter"]]
|
||||||
break
|
break
|
||||||
|
Reference in New Issue
Block a user