summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/home/ham/automation/light_buttons.nix
diff options
context:
space:
mode:
authorlassulus <lassulus@lassul.us>2021-03-17 15:42:13 +0100
committerlassulus <lassulus@lassul.us>2021-03-17 15:42:13 +0100
commit3d1472a7cac3ab2c5f9efd06a501368308681999 (patch)
tree950fbe49dfd060923756dd517c41f27f646857de /makefu/2configs/home/ham/automation/light_buttons.nix
parentf659c1879f6e0a0e9228205edd794aaab467aa0b (diff)
parent2044ad632b68ce173463287a9f437aae699bda83 (diff)
Merge remote-tracking branch 'gum/master'
Diffstat (limited to 'makefu/2configs/home/ham/automation/light_buttons.nix')
-rw-r--r--makefu/2configs/home/ham/automation/light_buttons.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/makefu/2configs/home/ham/automation/light_buttons.nix b/makefu/2configs/home/ham/automation/light_buttons.nix
new file mode 100644
index 000000000..32d134ecc
--- /dev/null
+++ b/makefu/2configs/home/ham/automation/light_buttons.nix
@@ -0,0 +1,44 @@
+# light.wohnzimmerbeleuchtung
+# light.wohnzimmer_deko
+# light.arbeitszimmerbeleuchtung
+# light.arbeitszimmer_deko
+# light.schlafzimmerbeleuchtung
+
+let
+ toggle = light: btn:
+ {
+ alias = "Toggle Light ${light} via ${btn}";
+ trigger = {
+ platform = "state";
+ entity_id = "sensor.${btn}_click";
+ to = "single";
+ };
+ action = {
+ service = "light.toggle";
+ data.entity_id = light;
+ data.transition = 0;
+ };
+ };
+ turn_off_all = btn:
+ {
+ alias = "Turn of all lights via ${btn} double click";
+ trigger = {
+ platform = "state";
+ entity_id = "sensor.${btn}_click";
+ to = "double";
+ };
+ action = {
+ service = "light.turn_off";
+ entity_id = "all";
+ };
+ };
+in {
+ services.home-assistant.config.automation = [
+ (toggle "light.arbeitszimmerbeleuchtung" "arbeitszimmer_btn1")
+ (toggle "light.schlafzimmerbeleuchtung" "schlafzimmer_btn2")
+ (toggle "light.wohnzimmerbeleuchtung" "wohnzimmer_btn3")
+ (turn_off_all "arbeitszimmer_btn1")
+ (turn_off_all "schlafzimmer_btn2")
+ (turn_off_all "wohnzimmer_btn3")
+ ];
+}