diff options
Diffstat (limited to 'makefu/2configs/home/ham/automation/fenster_auf.nix')
-rw-r--r-- | makefu/2configs/home/ham/automation/fenster_auf.nix | 63 |
1 files changed, 52 insertions, 11 deletions
diff --git a/makefu/2configs/home/ham/automation/fenster_auf.nix b/makefu/2configs/home/ham/automation/fenster_auf.nix index ccebd5b00..871f248b9 100644 --- a/makefu/2configs/home/ham/automation/fenster_auf.nix +++ b/makefu/2configs/home/ham/automation/fenster_auf.nix @@ -1,3 +1,8 @@ +{ lib, ... }: +#uses: +# notify.signal +# binary_sensor.badezimmer_fenster_contact +# binary_sensor.dusche_fenster_contact let min = 20; fenster_offen = name: entity: @@ -13,21 +18,57 @@ let action = [ { - service = "notify.firetv_wohnzimmer"; + service = "notify.signal_home"; data = { - title = "${name} seit ${toString min} Minuten offen"; - message = "Bitte einmal checken ob das ok ist :)"; - data = { - interrupt = 1; - duration = 300; - }; + message= "${name} seit ${toString min} Minuten offen\nBitte einmal checken ob das ok ist :)"; }; } + { + service = "input_boolean.turn_on"; + target.entity_id = "input_boolean.${lib.toLower name}_lang_offen"; + } + ]; + }; + fenster_geschlossen_lang = name: entity: + { alias = "${name} wieder geschlossen"; + trigger = [ + { + platform = "state"; + entity_id = entity; + to = "off"; + } + ]; + condition = [ + { condition = "state"; + entity_id = "input_boolean.${lib.toLower name}_lang_offen"; + state = "on"; + } + ]; + action = + [ + { + service = "notify.signal_home"; + data = { + message= "${name} ist wieder geschlossen, Danke!"; + }; + } + { + service = "input_boolean.turn_off"; + target.entity_id = "input_boolean.${lib.toLower name}_lang_offen"; + } ]; }; in { - services.home-assistant.config.automation = [ - (fenster_offen "Badezimmerfenster" "binary_sensor.badezimmer_fenster_contact") - (fenster_offen "Duschfenster" "binary_sensor.dusche_fenster_contact") - ]; + services.home-assistant.config = { + input_boolean = { + badezimmerfinester_lang_offen.name = "Badezimmer lange offen"; + duschfenster_lang_offen.name = "Duschfenster lange offen"; + }; + automation = [ + (fenster_geschlossen_lang "Badezimmerfenster" "binary_sensor.badezimmer_fenster_contact") + (fenster_geschlossen_lang "Duschfenster" "binary_sensor.badezimmer_fenster_contact") + (fenster_offen "Badezimmerfenster" "binary_sensor.badezimmer_fenster_contact") + (fenster_offen "Duschfenster" "binary_sensor.dusche_fenster_contact") + ]; + }; } |