summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2019-11-05 23:01:37 +0100
committermakefu <github@syntax-fehler.de>2019-11-05 23:01:43 +0100
commitae8dede5f875042eba73f0035f20defb55cfc97f (patch)
tree33fe2988180113f99acac53dec3907b170c40244
parent4b5e3cbc6155ee807a9b6c474972df3e4fcd237b (diff)
ma bureautomation: add frosch,daily-standup
-rw-r--r--makefu/2configs/bureautomation/default.nix84
-rw-r--r--makefu/2configs/bureautomation/multi/10h_timers.nix4
-rw-r--r--makefu/2configs/bureautomation/multi/daily-standup.nix54
-rw-r--r--makefu/2configs/bureautomation/multi/frosch.nix2
4 files changed, 107 insertions, 37 deletions
diff --git a/makefu/2configs/bureautomation/default.nix b/makefu/2configs/bureautomation/default.nix
index e07e0ddf..c55bc1d1 100644
--- a/makefu/2configs/bureautomation/default.nix
+++ b/makefu/2configs/bureautomation/default.nix
@@ -4,7 +4,9 @@ let
ten_hours = import ./multi/10h_timers.nix { inherit lib; }; # provides: timer automation script
mittagessen = import ./multi/mittagessen.nix { inherit lib; }; # provides: automation script
matrix = import ./multi/matrix.nix { inherit lib; }; # provides: matrix automation
- aramark = import ./multi/aramark.nix { inherit lib; }; # provides: pommes sensor
+ frosch = import ./multi/frosch.nix { inherit lib; }; # provides: sensor binary_sensor switch light script automation
+ aramark = import ./multi/aramark.nix { inherit lib; }; # provides: sensor binary_sensor
+ standup = import ./multi/daily-standup.nix { inherit lib; }; # provides: automation script
in {
imports = [
./ota.nix
@@ -88,10 +90,12 @@ in {
retain = true;
};
};
- switch = (import ./switch/tasmota_switch.nix) ++
- (import ./switch/rfbridge.nix);
- light = (import ./light/statuslight.nix) ++
- (import ./light/buzzer.nix);
+ switch = (import ./switch/tasmota_switch.nix)
+ ++ frosch.switch
+ ++ (import ./switch/rfbridge.nix);
+ light = (import ./light/statuslight.nix)
+ ++ (import ./light/buzzer.nix)
+ ++ frosch.light;
timer = ten_hours.timer;
notify = [
{
@@ -117,31 +121,34 @@ in {
];
script = lib.fold lib.recursiveUpdate {} [
((import ./script/multi_blink.nix) {inherit lib;})
+ frosch.script
ten_hours.script
mittagessen.script
+ standup.script
];
binary_sensor =
- (import ./binary_sensor/buttons.nix) ++
- (import ./binary_sensor/motion.nix) ++
- aramark.binary_sensor;
+ (import ./binary_sensor/buttons.nix)
+ ++ (import ./binary_sensor/motion.nix)
+ ++ frosch.binary_sensor
+ ++ aramark.binary_sensor;
sensor =
# [{ platform = "version"; }] ++ # pyhaversion
- (import ./sensor/pollen.nix) ++
- (import ./sensor/espeasy.nix) ++
- (import ./sensor/airquality.nix) ++
- ((import ./sensor/outside.nix) {inherit lib;}) ++
- (import ./sensor/influxdb.nix) ++
- (import ./sensor/tasmota_firmware.nix) ++
- aramark.sensor;
+ (import ./sensor/pollen.nix)
+ ++ (import ./sensor/espeasy.nix)
+ ++ (import ./sensor/airquality.nix)
+ ++ ((import ./sensor/outside.nix) {inherit lib;})
+ ++ (import ./sensor/influxdb.nix)
+ ++ (import ./sensor/tasmota_firmware.nix)
+ ++ frosch.sensor
+ ++ aramark.sensor;
camera =
(import ./camera/verkehrskamera.nix)
++ (import ./camera/comic.nix);
- # not yet released
- #person =
- # (import ./person/team.nix );
+ person =
+ (import ./person/team.nix );
frontend = { };
http = {
@@ -196,13 +203,22 @@ in {
"light.buslicht"
];
team = [
- "device_tracker.thorsten_phone"
- "device_tracker.felix_phone"
- "device_tracker.ecki_tablet"
- "device_tracker.daniel_phone"
- "device_tracker.carsten_phone"
- "device_tracker.thierry_phone"
- "device_tracker.frank_phone"
+ "person.thorsten"
+ #"device_tracker.thorsten_phone"
+ "person.felix"
+ "person.ecki"
+ "person.daniel"
+ # "person.carsten"
+ "person.thierry"
+ "person.frank"
+ "person.emeka"
+ #"device_tracker.felix_phone"
+ #"device_tracker.ecki_tablet"
+ #"device_tracker.daniel_phone"
+ #"device_tracker.carsten_phone"
+ #"device_tracker.thierry_phone"
+ #"device_tracker.frank_phone"
+ #"device_tracker.emeka_phone"
# "person.thorsten"
# "person.felix"
# "person.ecki"
@@ -237,8 +253,6 @@ in {
];
sensors = [
"media_player.kodi"
- "script.blitz_10s"
- "script.buzz_red_led_fast"
"timer.felix_10h"
"timer.frank_10h"
"sensor.easy2_dht22_humidity"
@@ -262,13 +276,15 @@ in {
# feedreader.urls = [ "http://www.heise.de/security/rss/news-atom.xml" ];
# we don't use imports because the expressions do not merge in
# home-assistant
- automation = (import ./automation/bureau-shutdown.nix) ++
- (import ./automation/nachtlicht.nix) ++
- (import ./automation/schlechteluft.nix) ++
- (import ./automation/hass-restart.nix) ++
- ten_hours.automation ++
- matrix.automation ++
- mittagessen.automation;
+ automation = (import ./automation/bureau-shutdown.nix)
+ ++ (import ./automation/nachtlicht.nix)
+ ++ (import ./automation/schlechteluft.nix)
+ ++ (import ./automation/hass-restart.nix)
+ ++ ten_hours.automation
+ ++ matrix.automation
+ ++ standup.automation
+ ++ frosch.automation
+ ++ mittagessen.automation;
device_tracker = (import ./device_tracker/openwrt.nix );
};
};
diff --git a/makefu/2configs/bureautomation/multi/10h_timers.nix b/makefu/2configs/bureautomation/multi/10h_timers.nix
index 8cdaa8cf..73709e73 100644
--- a/makefu/2configs/bureautomation/multi/10h_timers.nix
+++ b/makefu/2configs/bureautomation/multi/10h_timers.nix
@@ -122,7 +122,7 @@ let
trigger = {
platform = "state";
# TODO: ecki
- entity_id = [ "device_tracker.${name}_phone"];
+ entity_id = [ "person.${name}"];
from = "not_home";
to = "home";
};
@@ -166,7 +166,7 @@ let
condition =
{
condition = "state";
- entity_id = "device_tracker.${name}_phone";
+ entity_id = "person.${name}";
state = "home";
};
diff --git a/makefu/2configs/bureautomation/multi/daily-standup.nix b/makefu/2configs/bureautomation/multi/daily-standup.nix
new file mode 100644
index 00000000..f5bd85b9
--- /dev/null
+++ b/makefu/2configs/bureautomation/multi/daily-standup.nix
@@ -0,0 +1,54 @@
+{ lib }:
+let
+ random_daily_text = ''{{ [
+ "Es ist so weit, es ist Standup Zeit!",
+ "Zehn Uhr Fünfunddreissig ist genau die richtige Zeit für ein Standup!",
+ "Hat jeder seine Hausaufgaben gemacht? Bitte einmal aufstehen und den Zettel nach rechts geben",
+ "Aufstehen zum Appell, es wird die Anwesenheit kontrolliert!",
+ "Hallo Kinder, wisst ihr welche Zeit es ist??? ... Genau! ... Standup Zeit!",
+ "Morgens, halb elf in Deutschland - das Standupchen" ] | random }}'';
+
+in {
+ script =
+ { "random_daily" = {
+ alias = "Random Daily Introduction";
+
+ sequence = [
+ { service = "media_player.play_media";
+ data = {
+ entity_id = "media_player.mpd";
+ media_content_type = "playlist";
+ media_content_id = "ansage";
+ };
+ }
+ { delay.seconds = 5; }
+ { service = "tts.google_say";
+ entity_id = "media_player.mpd";
+ data_template = {
+ message = random_daily_text;
+ language = "de";
+ };
+ }
+ ];
+ };
+ };
+ automation = [
+ {
+ alias = "Daily Standup";
+ trigger = {
+ platform = "time";
+ at = "10:35:00";
+ };
+ action =
+ [
+ { service = "homeassistant.turn_on";
+ entity_id = [
+ "script.blitz_10s"
+ "script.random_daily"
+ ];
+ }
+ ];
+
+ }
+ ];
+}
diff --git a/makefu/2configs/bureautomation/multi/frosch.nix b/makefu/2configs/bureautomation/multi/frosch.nix
index de93ce2b..c0e267b6 100644
--- a/makefu/2configs/bureautomation/multi/frosch.nix
+++ b/makefu/2configs/bureautomation/multi/frosch.nix
@@ -1,6 +1,6 @@
{ lib }:
+# needs: binary_sensor.pommes
let
-
random_pommes = '' {{ [
"Nur ein Pommes Tag ist ein guter Tag",
"Schaut wie schön sie fliegen, die Pommes Seifenblasen",