Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
67ca83983b
|
|||
ad0b2a5d99
|
|||
109e8cf25f
|
|||
d88c6f7d7b
|
@ -65,10 +65,10 @@ data:
|
|||||||
"wolfgang": {
|
"wolfgang": {
|
||||||
"label": "wolfgang",
|
"label": "wolfgang",
|
||||||
"windows": [
|
"windows": [
|
||||||
{ "topic": "homegear/instance1/plain/24/1/STATE", "label": "Garten", "converter": "max" }
|
{ "topic": "zigbee2mqtt/0x00158d008b3328da", "label": "Garten", "converter": "aqara" }
|
||||||
],
|
],
|
||||||
"output_topic": "heating/homegear/instance1/set/43/1/SET_TEMPERATURE",
|
"output_topic": "zigbee2mqtt/0x540f57fffe7e3cfe/set",
|
||||||
"output_converter": "max"
|
"output_converter": "brennenstuhl"
|
||||||
},
|
},
|
||||||
"esszimmer": {
|
"esszimmer": {
|
||||||
"label": "esszimmer",
|
"label": "esszimmer",
|
||||||
|
@ -6,9 +6,11 @@ import json
|
|||||||
CONVERTERS = {
|
CONVERTERS = {
|
||||||
"target_temperature_output": {
|
"target_temperature_output": {
|
||||||
"max": lambda x: x["output_temperature"],
|
"max": lambda x: x["output_temperature"],
|
||||||
|
"brennenstuhl": lambda x: json.dumps({"current_heating_setpoint":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',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,7 +146,7 @@ def process_high_temp(box_name, context, local_context, payload):
|
|||||||
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