diff options
author | lassulus <lass@xerxes.r> | 2019-09-06 15:37:58 +0200 |
---|---|---|
committer | lassulus <lass@xerxes.r> | 2019-09-06 15:37:58 +0200 |
commit | ed97000b20623a952e41e808756ea8c8dfb666e6 (patch) | |
tree | f039f642bc03388704a66d94fc8ace402b583945 /krebs/2configs/shack/glados/multi/wasser.nix | |
parent | c2773285ebf8165fd725065047df7a58da01fb42 (diff) | |
parent | fce2c4275caf7df064fb13a4280291a9aefaef1f (diff) |
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'krebs/2configs/shack/glados/multi/wasser.nix')
-rw-r--r-- | krebs/2configs/shack/glados/multi/wasser.nix | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/krebs/2configs/shack/glados/multi/wasser.nix b/krebs/2configs/shack/glados/multi/wasser.nix new file mode 100644 index 000000000..a2c80851b --- /dev/null +++ b/krebs/2configs/shack/glados/multi/wasser.nix @@ -0,0 +1,65 @@ +let + tasmota_plug = name: topic: + { platform = "mqtt"; + inherit name; + state_topic = "sonoff/stat/${topic}/POWER1"; + command_topic = "sonoff/cmnd/${topic}/POWER1"; + availability_topic = "sonoff/tele/${topic}/LWT"; + payload_on= "ON"; + payload_off= "OFF"; + payload_available= "Online"; + payload_not_available= "Offline"; + retain = false; + qos = 1; + }; +in +{ + switch = [ + (tasmota_plug "Wasser" "plug") + ]; + automation = + [ + { alias = "Water the plant for 10 seconds"; + trigger = [ + { # trigger at 20:00 no matter what + # TODO: retry or run only if switch.wasser is available + platform = "time"; + at = "20:00:00"; + } + ]; + action = + [ + { + service = "homeassistant.turn_on"; + entity_id = [ + "switch.wasser" + ]; + } + { delay.seconds = 10; } + { + service = "homeassistant.turn_off"; + entity_id = [ + "switch.wasser" + ]; + } + ]; + } + { alias = "Always turn off water after 15 seconds"; + trigger = [ + { + platform = "state"; + entity_id = "switch.wasser"; + to = "on"; + for.seconds = 15; + } + ]; + action = + [ + { + service = "homeassistant.turn_off"; + entity_id = [ "switch.wasser" ]; + } + ]; + } + ]; +} |