diff options
Diffstat (limited to 'makefu')
| -rw-r--r-- | makefu/2configs/bureautomation/lib/scripts.nix | 18 | ||||
| -rw-r--r-- | makefu/2configs/bureautomation/multi/aramark.nix | 24 | 
2 files changed, 42 insertions, 0 deletions
| diff --git a/makefu/2configs/bureautomation/lib/scripts.nix b/makefu/2configs/bureautomation/lib/scripts.nix new file mode 100644 index 000000000..d8665f94f --- /dev/null +++ b/makefu/2configs/bureautomation/lib/scripts.nix @@ -0,0 +1,18 @@ +{ lib, ... }: +{ +  multi_flash = { entity, delays ? [ 500 ], alias ?  "${entity}_multi_flash_${toString (lib.length delays)}" }: +  { +    inherit alias; +    sequence = lib.flatten (builtins.map (delay: [ +      { service = "homeassistant.turn_on"; +        data.entity_id = entity; +      } +      { delay.milliseconds = delay; } +      { service = "homeassistant.turn_off"; +        data.entity_id = entity; +      } +      { delay.milliseconds = delay; } +    ] +     ) delays); +   }; +} diff --git a/makefu/2configs/bureautomation/multi/aramark.nix b/makefu/2configs/bureautomation/multi/aramark.nix new file mode 100644 index 000000000..ebe2cde81 --- /dev/null +++ b/makefu/2configs/bureautomation/multi/aramark.nix @@ -0,0 +1,24 @@ +{ lib, ... }: +let +  aramark = topic: name: +  { platform = "mqtt"; +    inherit name; +    state_topic = "/aramark/thales-deutschland/${topic}"; +  }; +  aramark_menue = menue: +  [ +    (aramark "${menue}/title" menue) +    (aramark "${menue}/description" "${menue} Text") +   ((aramark "${menue}/price" "${menue} Preis") // { unit_of_measurement = "€"; }) +  ]; +in +{ +  sensor = (aramark_menue "Menü 1") +        ++ (aramark_menue "Menü 2") +        ++ (aramark_menue "Mercato") +        ++ (aramark_menue "Aktion"); +  binary_sensor = +  [ +    ((aramark "pommes" "Pommes" ) // { payload_on = "True"; payload_off = "False"; }) +  ]; +} | 
