diff options
| author | makefu <github@syntax-fehler.de> | 2020-04-22 00:30:37 +0200 | 
|---|---|---|
| committer | makefu <github@syntax-fehler.de> | 2020-04-22 00:30:37 +0200 | 
| commit | cb7ea9d84af46b606e5daa1252c60eb210d7e576 (patch) | |
| tree | 5166a62dc73c45b3cd3b996078913588d1844266 /lass/2configs/hass/lib.nix | |
| parent | 0b371833e9ef68fd891fac65a657d8e38b5b3fad (diff) | |
| parent | c49867b40327f83a18b956404875637ca379c1ba (diff) | |
Merge remote-tracking branch 'lass/20.03' into 20.03
Diffstat (limited to 'lass/2configs/hass/lib.nix')
| -rw-r--r-- | lass/2configs/hass/lib.nix | 83 | 
1 files changed, 83 insertions, 0 deletions
diff --git a/lass/2configs/hass/lib.nix b/lass/2configs/hass/lib.nix new file mode 100644 index 000000000..c69f5e887 --- /dev/null +++ b/lass/2configs/hass/lib.nix @@ -0,0 +1,83 @@ +{ +  lights = { +    bett = "light.0x0017880106ed3bd8_light"; +    essen = "light.0x0017880108327622_light"; +    arbeit = "light.0x0017880106ee2865_light"; +    nass = "light.0x00178801082e9f2f_light"; +  }; + +  sensors = { +    bett = "0x00178801086ac38c"; +  }; + +  lightswitch = switch: light: { +    automation = [ +      { +        trigger = { +          platform = "mqtt"; +          topic = "zigbee/${switch}"; +        }; +        condition = { +          condition = "or"; +          conditions = [ +            { +              condition = "template"; +              value_template = "{{ trigger.payload_json.action == 'on-press' }}"; +            } +            { +              condition = "template"; +              value_template = "{{ trigger.payload_json.action == 'up-press' }}"; +            } +            { +              condition = "and"; +              conditions = [ +                { +                  condition = "template"; +                  value_template = "{{ trigger.payload_json.action == 'down-press' }}"; +                } +                { +                  condition = "template"; +                  value_template = "{{ trigger.payload_json.brightness > 30 }}"; +                } +              ]; +            } +          ]; +        }; +        action = [ +          { +            service = "light.turn_on"; +            data_template = { +              entity_id = light; +              brightness = "{{ trigger.payload_json.brightness }}"; +            }; +          } +        ]; +      } +      { +        trigger = { +          platform = "mqtt"; +          topic = "zigbee/${switch}"; +        }; +        condition = { +          condition = "or"; +          conditions = [ +            { +              condition = "template"; +              value_template = "{{ trigger.payload_json.action == 'off-press' }}"; +            } +            { +              condition = "template"; +              value_template = "{{ trigger.payload_json.brightness < 30 }}"; +            } +          ]; +        }; +        action = { +          service = "light.turn_off"; +          data_template = { +            entity_id = light; +          }; +        }; +      } +    ]; +  }; +}  | 
