84 lines
2.1 KiB
Nix
84 lines
2.1 KiB
Nix
|
{
|
||
|
lights = {
|
||
|
bett = "light.0x0017880106ed3bd8_light";
|
||
|
essen = "light.0x0017880108327622_light";
|
||
|
arbeit = "light.0x0017880106ee2865_light";
|
||
|
nass = "light.0x00178801082e9f2f_light";
|
||
|
};
|
||
|
|
||
|
sensors = {
|
||
|
bett = "0x00178801086ac38c";
|
||
|
};
|
||
|
|
||
|
lightswitch = switch: light: {
|
||
|
automation = [
|
||
|
{
|
||
|
trigger = {
|
||
|
platform = "mqtt";
|
||
|
topic = "zigbee/${switch}";
|
||
|
};
|
||
|
condition = {
|
||
|
condition = "or";
|
||
|
conditions = [
|
||
|
{
|
||
|
condition = "template";
|
||
|
value_template = "{{ trigger.payload_json.action == 'on-press' }}";
|
||
|
}
|
||
|
{
|
||
|
condition = "template";
|
||
|
value_template = "{{ trigger.payload_json.action == 'up-press' }}";
|
||
|
}
|
||
|
{
|
||
|
condition = "and";
|
||
|
conditions = [
|
||
|
{
|
||
|
condition = "template";
|
||
|
value_template = "{{ trigger.payload_json.action == 'down-press' }}";
|
||
|
}
|
||
|
{
|
||
|
condition = "template";
|
||
|
value_template = "{{ trigger.payload_json.brightness > 30 }}";
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
action = [
|
||
|
{
|
||
|
service = "light.turn_on";
|
||
|
data_template = {
|
||
|
entity_id = light;
|
||
|
brightness = "{{ trigger.payload_json.brightness }}";
|
||
|
};
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
{
|
||
|
trigger = {
|
||
|
platform = "mqtt";
|
||
|
topic = "zigbee/${switch}";
|
||
|
};
|
||
|
condition = {
|
||
|
condition = "or";
|
||
|
conditions = [
|
||
|
{
|
||
|
condition = "template";
|
||
|
value_template = "{{ trigger.payload_json.action == 'off-press' }}";
|
||
|
}
|
||
|
{
|
||
|
condition = "template";
|
||
|
value_template = "{{ trigger.payload_json.brightness < 30 }}";
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
action = {
|
||
|
service = "light.turn_off";
|
||
|
data_template = {
|
||
|
entity_id = light;
|
||
|
};
|
||
|
};
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
}
|