summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--krebs/2configs/shack/glados/multi/wasser.nix48
1 files changed, 48 insertions, 0 deletions
diff --git a/krebs/2configs/shack/glados/multi/wasser.nix b/krebs/2configs/shack/glados/multi/wasser.nix
index 74ce736a6..bd8252e1c 100644
--- a/krebs/2configs/shack/glados/multi/wasser.nix
+++ b/krebs/2configs/shack/glados/multi/wasser.nix
@@ -4,6 +4,11 @@ let
glados = import ../lib;
seconds = 20;
wasser = "switch.crafting_giesskanne_relay";
+ brotbox = {
+ minutes = 10;
+ pump = "switch.crafting_brotbox_pumpe";
+ sensor = "sensor.statistics_for_sensor_crafting_brotbox_soil_moisture";
+ };
in
{
sensor = map ( entity_id: {
@@ -11,11 +16,54 @@ in
name = "Statistics for ${entity_id}";
inherit entity_id;
max_age.minutes = "60";
+ sampling_size = 1000;
}) ["sensor.crafting_brotbox_soil_moisture"];
automation =
[
+ ### Brotbox #####
+ #{ alias = "Brotbox: water for ${toString brotbox.minutes} minutes every hour";
+ # trigger =
+ # { # Trigger once every hour at :42
+ # platform = "time_pattern";
+ # minutes = 42;
+ # };
+ # condition = {
+ # condition = "numeric_state";
+ # entity_id = brotbox.sensor;
+ # value_template = "{{ state_attr('${brotbox.sensor}', 'median') }}";
+ # below = 75;
+ # };
+ # action =
+ # [
+ # {
+ # service = "homeassistant.turn_on";
+ # entity_id = brotbox.pump;
+ # }
+ # { delay.minutes = brotbox.minutes; }
+ # {
+ # service = "homeassistant.turn_off";
+ # entity_id = brotbox.pump ;
+ # }
+ # ];
+ #}
+ { alias = "Brotbox: Always turn off water after ${toString (brotbox.minutes * 2)} minutes";
+ trigger =
+ {
+ platform = "state";
+ entity_id = brotbox.pump;
+ to = "on";
+ for.minutes = brotbox.minutes*2;
+ };
+ action =
+ {
+ service = "homeassistant.turn_off";
+ entity_id = brotbox.pump;
+ };
+ }
+
+ ##### Kaffeemaschine
{ alias = "Water the plant for ${toString seconds} seconds";
trigger = [
{ # trigger at 20:00 no matter what