diff options
author | lassulus <lassulus@lassul.us> | 2019-08-13 18:55:08 +0200 |
---|---|---|
committer | lassulus <lassulus@lassul.us> | 2019-08-13 18:55:08 +0200 |
commit | 3047fea88d2379011685be4e57a5b379778423c7 (patch) | |
tree | 23ad61badb3794cabf4a9cc9de89c3465cfec737 /makefu/2configs/bureautomation/automation/schlechteluft.nix | |
parent | 0699b41b05a1f9cd133c15c3aadf70c3a45170f6 (diff) | |
parent | 124b1d7639c404e5a58a9aef0f0bee1424f54a45 (diff) |
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'makefu/2configs/bureautomation/automation/schlechteluft.nix')
-rw-r--r-- | makefu/2configs/bureautomation/automation/schlechteluft.nix | 74 |
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 000000000..8787ee280 --- /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}})!"; + } + ]; + } +] |