summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/bureautomation/automation/schlechteluft.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2019-08-13 18:55:08 +0200
committerlassulus <lassulus@lassul.us>2019-08-13 18:55:08 +0200
commit3047fea88d2379011685be4e57a5b379778423c7 (patch)
tree23ad61badb3794cabf4a9cc9de89c3465cfec737 /makefu/2configs/bureautomation/automation/schlechteluft.nix
parent0699b41b05a1f9cd133c15c3aadf70c3a45170f6 (diff)
parent124b1d7639c404e5a58a9aef0f0bee1424f54a45 (diff)
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'makefu/2configs/bureautomation/automation/schlechteluft.nix')
-rw-r--r--makefu/2configs/bureautomation/automation/schlechteluft.nix74
1 files changed, 74 insertions, 0 deletions
diff --git a/makefu/2configs/bureautomation/automation/schlechteluft.nix b/makefu/2configs/bureautomation/automation/schlechteluft.nix
new file mode 100644
index 00000000..8787ee28
--- /dev/null
+++ b/makefu/2configs/bureautomation/automation/schlechteluft.nix
@@ -0,0 +1,74 @@
+let
+ long_threshold = 30;
+in [
+ {
+ alias = "Bad Air Alarm 60 seconds";
+ trigger =
+ { platform = "numeric_state";
+ entity_id = "sensor.air_quality";
+ above = 1523;
+ for.seconds = 60;
+ };
+ condition = {
+ condition = "and";
+ conditions = [
+ { condition = "state";
+ entity_id = "group.team";
+ state = "home";
+ }
+ { condition = "time";
+ after = "06:00:00";
+ before = "20:00:00";
+ }
+ ];
+ };
+
+ action = [
+ { service = "homeassistant.turn_on";
+ entity_id = [
+ "script.schlechteluft"
+ ];
+ }
+ ];
+ }
+ {
+ alias = "Bad Air Alarm ${toString long_threshold} Minutes";
+ trigger =
+ { platform = "numeric_state";
+ entity_id = "sensor.air_quality";
+ above = 1523;
+ for.minutes = long_threshold;
+ };
+ condition = {
+ condition = "and";
+ conditions = [
+ { condition = "state";
+ entity_id = "group.team";
+ state = "home";
+ }
+ { condition = "time";
+ after = "06:00:00";
+ before = "20:00:00";
+ }
+ ];
+ };
+
+ action = [
+ { service = "homeassistant.turn_on";
+ entity_id = [
+ "script.schlechteluft"
+ ];
+ }
+ { service = "tts.google_say";
+ entity_id = "media_player.mpd";
+ data_template = {
+ message = "BEEP BEEP - Die luft ist schon ${toString long_threshold} Minuten schlecht! Student Nummer {{ range(1,500) | random }}, öffne ein Fenster.";
+ language = "de";
+ };
+ }
+ { service = "notify.matrix_notify";
+ data_template.message = "Schlechte Luft Alarm seit ${toString long_threshold} Minuten ({{states.sensor.air_quality.state_with_unit}})!";
+ }
+ ];
+ }
+]