summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/bureautomation/automation/bureau-shutdown.nix
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/bureautomation/automation/bureau-shutdown.nix')
-rw-r--r--makefu/2configs/bureautomation/automation/bureau-shutdown.nix49
1 files changed, 30 insertions, 19 deletions
diff --git a/makefu/2configs/bureautomation/automation/bureau-shutdown.nix b/makefu/2configs/bureautomation/automation/bureau-shutdown.nix
index 9e657430..c632a9e6 100644
--- a/makefu/2configs/bureautomation/automation/bureau-shutdown.nix
+++ b/makefu/2configs/bureautomation/automation/bureau-shutdown.nix
@@ -1,9 +1,10 @@
[
- { alias = "Turn on Fernseher on movement";
+ { alias = "Turn on Fernseher on group home";
trigger = {
platform = "state";
- entity_id = "binary_sensor.motion";
- to = "on";
+ entity_id = "group.team";
+ from = "not_home";
+ to = "home";
};
action = {
service = "homeassistant.turn_on";
@@ -13,28 +14,38 @@
];
};
}
- { alias = "Turn off Fernseher 10 minutes after last movement";
+ { alias = "Turn off Fernseher after last in group left";
trigger = [
{ # trigger when movement was detected at the time
platform = "state";
- entity_id = "binary_sensor.motion";
- to = "off";
- for.minutes = 10;
+ entity_id = "group.team";
+ from = "home";
+ to = "not_home";
}
- { # trigger at 20:00 no matter what
+ { # trigger at 18:00 no matter what
# to avoid 'everybody left before 18:00:00'
platform = "time";
at = "18:00:00";
}
];
- action = {
- service = "homeassistant.turn_off";
- entity_id = [
- "switch.fernseher"
- "switch.feuer"
- "light.status_felix"
- ];
- };
+ action = [
+ {
+ service = "homeassistant.turn_off";
+ entity_id = [
+ "switch.fernseher"
+ "switch.feuer"
+ "light.status_felix"
+ "light.status_daniel"
+ ];
+ }
+ {
+ service = "notify.telegrambot";
+ data = {
+ title = "Bureau Shutdown";
+ message = "All devices are turned off due to {{ trigger.platform }} - {{ trigger }}";
+ };
+ }
+ ];
condition =
{ condition = "and";
conditions = [
@@ -44,10 +55,10 @@
after = "18:00:00";
# weekday = [ "mon" "tue" "wed" "thu" "fri" ];
}
- {
+ { # if anybody is still there
condition = "state";
- entity_id = "binary_sensor.motion";
- state = "off";
+ entity_id = "group.team";
+ state = "not_home";
}
];
};