summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/bureautomation/combination
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2019-09-25 14:03:46 +0200
committermakefu <github@syntax-fehler.de>2019-09-25 14:03:46 +0200
commit73435b3866a876dc7bca45be068a8311caac5eaf (patch)
treec4111e9d18b20e27efd64bb6379eea1376c6d107 /makefu/2configs/bureautomation/combination
parent314a593bd0fd2e32e7cba93bd49554af1b841bd4 (diff)
ma bureautomation: combination -> multi
Diffstat (limited to 'makefu/2configs/bureautomation/combination')
-rw-r--r--makefu/2configs/bureautomation/combination/10h_timers.nix194
-rw-r--r--makefu/2configs/bureautomation/combination/README.md3
-rw-r--r--makefu/2configs/bureautomation/combination/matrix.nix65
-rw-r--r--makefu/2configs/bureautomation/combination/mittagessen.nix89
4 files changed, 0 insertions, 351 deletions
diff --git a/makefu/2configs/bureautomation/combination/10h_timers.nix b/makefu/2configs/bureautomation/combination/10h_timers.nix
deleted file mode 100644
index dec5347a..00000000
--- a/makefu/2configs/bureautomation/combination/10h_timers.nix
+++ /dev/null
@@ -1,194 +0,0 @@
-{lib, ... }:
-let
- persons = [ "frank" "daniel" "thorsten" "carsten" "thierry" "ecki" "felix"
- "anthony" # antony
- "thierry" # tjeri
- ];
- random_zu_lange = name: ''{{ [
- "Du musst jetzt endlich nach Hause gehen ${name}!",
- "${name} - 10 Stunden sind rum, bald schenkst du den Franzosen deine Lebenszeit",
- "Nur eine Minute über 10 Stunden kann zu einer Stunde Arbeit für Thorsten werden, ${name}.",
- "In 10 Minuten kommt dich der Security Mann holen, ${name}",
- "Das Sandmännchen ist schon vorbei, gleich fallen dir die Augen zu ${name}.",
- "Wenn ${name} sofort los geht, dann ist er noch rechtzeitig für den Tatort zu Hause.",
- "${name} muss jetzt gehen, sonst verpasst er die Tagesschau!",
- "Es ist spät ${name}. Ausstempeln hilft zwar kurzfristig, kann aber zu langfristigen Problemen führen.",
- "${name}, wenn du nach zehn Stunden nach Hause gehst, muss dir dein Vorgesetzter ein Taxi bestellen",
- "${name}, wenn du nach zehn Stunden nach Hause gehst, bist du auf dem Rückweg nicht mehr versichert!",
- "Zu lange, ${name}!" ] | random }}'' ;
-
-
- random_announce = name: ''{{ [
- "${name} is in da House",
- "Ahoi ${name}",
- "Moinsen ${name}",
- "Moin Moin ${name}",
- "Palim, Palim ${name}",
- "Vorwärts Genosse ${name}",
- "Gemeinsame Grüße, Genosse ${name}",
- "Sozialistische Grüße, Genosse ${name}",
- "Konzentrierte Grüße, Genosse ${name}",
- "Ach, der ${name} ist auch wieder da...",
- "Nicht ${name} schon wieder",
- "Tri tra tralala, der ${name} ist wieder da.",
- "Na sieh mal einer an, ${name} hat es auch her geschafft",
- "Wer ist im Büro eingetroffen? ${name} ist es!",
- "Willkommen in deinem Lieblingsbüro, ${name}.",
- "Klopf, Klopf, wer ist da? ${name} ist da!",
- "Messer, Gabel, Schere, Licht sind für kleinen ${name} nicht.",
- "Ich kenne ein Geheimnis, ${name} ist angekommen",
- "Wir sind ${name}. Sie werden assimiliert werden",
- "Achtung, es erfolgt eine Durchsage. ${name} ist eingetroffen",
- "Die Scanner haben eine dem System bekannte Lebensform mit dem Namen ${name} detektiert",
- "Das Büro sieht dich, ${name}",
- "Das Büro riecht dich, ${name}",
- "Im Kalender von ${name} sind heute acht Meetings eingeplant, von denen zwei bereits verpasst wurden",
- "Das Postfach von ${name} beinhaltet einhundertachtundzwanzig ungelesene E-Mails.",
- "Nachricht von Serge: ${name}, bitte melden Sie sich Umgehend bei mir im Büro!",
- "Luftqualität hat sich durch das Eintreffen von ${name} um zweihunder Punkte verschlechtert, bitte alle Fenster öffnen.",
- "Die Tür geht auf, wer mag das sein? Schon schreitet hier der ${name} ein. Das Volk, es jubelt, Dirnen schmachten. Fürs Festmahl beginnt man schon zu schlachten. Er wird nur nach dem besten streben! Der ${name}, er soll lange leben!",
- "${name} arbeitet gern für seinen Konzern",
- "${name} ist nur froh im Großraumbüro",
- "Für ${name} ist die schönste Zeit ... die Arbeit",
- "Ein Fleißbienchen für ${name} zum rechtzeitigen Erscheinen im Büro",
- "${name} ist heute wohl doch nicht im Office Home",
- "${name} ist bereit für einen Tag voller Meetings",
- "Und es startet für ${name} wieder ein Tag im Paradies",
- "Lieber ${name}, Markus Keck hat dich bereits drei mal Versucht anzurufen!",
- "Trotz schwerer Männergrippe ist ${name} heute im Büro erschienen.",
- "${name} kenne keine Parteien mehr, ${name} kenne nur noch Arbeitsplätze",
- "${name}, Frage nicht, was dein Arbeitsplatz für dich tun kann. Frage, was du für deinen Arbeitsplatz tun kannst",
- "${name} läuft bis in den Jemen - für sein Unternehmen. ${name} schwimmt bis nach Birma - für meine Firma",
- "Der Cyberian ${name} ist gekommen um die Bahnwelt vor Cyber-Angriffen zu schützen",
- "Alles paletto im Ghetto, ${name}?",
- "Hach, ${name}, wenn du hier rein kommst fühlt es sich gleich wieder an wie Montag.",
- "Oh nein, nicht schon wieder ${name}",
- "Wer wohnt in der Ananas ganz tief im Meer? ${name} Schwammkopf!",
- "Arbeit ist Freizeit! Wachstum ist Fortschritt! Sicherheit ist Freiheit! Eine kleine Erinnerung für ${name}"] | random }}'' ;
- tmr_10h = name: {
- "${name}_10h" = {
- name = "${name} 10h Timer";
- duration = "10:00:00";
- };
- };
-
- zu_lange_user = name:
- { "zu_lange_${name}" = {
- alias = "Random Zu Lange ${name}";
-
- 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_zu_lange name;
- language = "de";
- };
- }
- ];
- };
- };
- announce_user = name:
- { "announce_${name}" = {
- alias = "Random Announce ${name}";
- sequence = [
- { delay.seconds = 7; }
- { service = "media_player.play_media";
- data = {
- entity_id = "media_player.mpd";
- media_content_type = "playlist";
- media_content_id = "ansage";
- };
- }
- { delay.seconds = 4; }
- { service = "tts.google_say";
- entity_id = "media_player.mpd";
- data_template = {
- message = random_announce name;
- language = "de";
- };
- }
- ];
- };
- };
- automation_10h = name: [
- { alias = "start ${name} 10h";
- trigger = {
- platform = "state";
- # TODO: ecki
- entity_id = [ "device_tracker.${name}_phone"];
- from = "not_home";
- to = "home";
- };
- condition = {
- condition = "and";
- conditions = [
- {
- condition = "state";
- entity_id = "timer.${name}_10h";
- state = "idle";
- }
- {
- condition = "time";
- after = "06:00:00";
- before = "12:00:00";
- }
- ];
- };
- action = [
- { service = "timer.start";
- entity_id = [ "timer.${name}_10h" ] ;
- }
- { service = "homeassistant.turn_on";
- entity_id = [
- # "script.buzz_${name}"
- "script.blitz_10s"
- "script.announce_${name}"
- ];
- }
- ];
- }
-
- { alias = "Zu lange ${name}!";
- trigger =
- {
- platform = "event";
- event_type = "timer.finished";
- event_data.entity_id = "timer.${name}_10h";
- };
-
- condition =
- {
- condition = "state";
- entity_id = "device_tracker.${name}_phone";
- state = "home";
- };
-
- action =
- [
- { service = "homeassistant.turn_on";
- entity_id = [
- "script.blitz_10s"
- "script.zu_lange_${name}"
- ];
- }
- ];
- }
- ];
-in
-{
- timer =lib.fold lib.recursiveUpdate {}
- (map tmr_10h persons);
- automation = (lib.flatten (map automation_10h persons));
- script = lib.fold lib.recursiveUpdate {} (
- (map (p: announce_user p) persons) ++
- (map (p: zu_lange_user p) persons)
- );
-}
diff --git a/makefu/2configs/bureautomation/combination/README.md b/makefu/2configs/bureautomation/combination/README.md
deleted file mode 100644
index baad87fd..00000000
--- a/makefu/2configs/bureautomation/combination/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Combination Folder
-files return a dictionary of different types used in home-assistant instead of
-a single thing.
diff --git a/makefu/2configs/bureautomation/combination/matrix.nix b/makefu/2configs/bureautomation/combination/matrix.nix
deleted file mode 100644
index 85ba3198..00000000
--- a/makefu/2configs/bureautomation/combination/matrix.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ lib, ... }:
-#matrix:
-# password: supersecurepassword
-# rooms:
-# - "#hasstest:matrix.org"
-# commands:
-# - word: my_command
-# name: my_command
-let
- mom_room = "!kTQjvTQvfVsvfEtmth:thales.citadel.team";
-in {
- matrix =
- {
- # secrets:
- # homeserver, username, password
- homeserver = "https://ext01.citadel.team";
- rooms = [
- mom_room
- ];
- commands = [
- {
- # alternative: expression for regexp
- word = "version";
- name = "version";
- }
- {
- word = "luftqualität";
- name = "luftqualitaet";
- }
- ];
- } // (builtins.fromJSON (builtins.readFile
- <secrets/hass/citadel-bot.json>));
- automation = [
- {
- alias = "React to !version";
- trigger = {
- platform = "event";
- event_type = "matrix_command";
- event_data.command = "version";
- };
- action = {
- service = "notify.matrix_notify";
- data_template.message = "Running home-assistant {{states.sensor.current_version.state}}";
- };
- }
- {
- alias = "React to !luftqualität";
- trigger = {
- platform = "event";
- event_type = "matrix_command";
- event_data.command = "luftqualitaet";
- };
- action = {
- service = "notify.matrix_notify";
- data_template.message = "Temp: {{states.sensor.easy2_dht22_temperature.state_with_unit}} Hum:{{states.sensor.easy2_dht22_humidity.state_with_unit}} airquality:{{states.sensor.air_quality.state_with_unit}}";
- };
- }
-
- ];
- notify = [{
- name = "matrix_notify";
- platform = "matrix";
- default_room = mom_room;
- }];
-}
diff --git a/makefu/2configs/bureautomation/combination/mittagessen.nix b/makefu/2configs/bureautomation/combination/mittagessen.nix
deleted file mode 100644
index 3ec70998..00000000
--- a/makefu/2configs/bureautomation/combination/mittagessen.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ lib, ... }:
-let
- # TODO: remove redundant code (from multi_blink) via lib
- flash_entity = { entity, delay ? 500, count ? 4, alias ? "${entity}_blink_${toString count}_${toString delay}" }:
- {
- inherit alias;
- sequence = lib.flatten (builtins.genList (i: [
- { service = "homeassistant.turn_on";
- data.entity_id = entity;
- }
- { delay.milliseconds = delay; }
- { service = "homeassistant.turn_off";
- data.entity_id = entity;
- }
- { delay.milliseconds = delay; }
- ]
- ) count);
- };
- # TODO: use influxdb and check if pommes
- random_mittagessen = '' {{ [
- "Es ist 12 uhr 30. Der Aramark Gourmettempel hat, wie jeden Tag, wieder die feinsten Köstlichkeiten für euch Vorbereitet",
- "Heute bei Aramark: Rezepte aus Ländern, von denen Ihr noch nie gehört habt, Deutsch zubereitet",
- "Heute bei Aramark im Angebot: Scheiss mit Reis oder Reste von Freitag",
- "MHHHH es ist wieder mal so weit, lecker Bayerisch Kraut mit asiatischen Nudeln",
- "Es ist 12 Uhr 30 und Heute gibt es Pommes - vielleicht",
- "Heute gibt es Pommes - leider nicht einzeln zu verkaufen, da die Schälchen alle sind",
- "Heute gibt es Pommes - verarscht! Natürlich gibt es nur salzlosen Reis, oder salzlose Nudeln.",
- "Heute auf dem Speiseplan: Sushi vom Vortag",
- "Aramark Kantinenessen: Der Hunger treibt es rein, der Geiz hält es drin.",
- "Das Essen in der Snackeria sieht heute wie die bessere Alternative aus",
- "Heute ist wohl wieder ein Beilagen-Tag",
- "Lunch time! Good luck, you will need it!",
- "Heute vielleicht lieber doch nur einen Salat?",
- "Im Büro ist es eh gerade viel zu warm, also ab zur Kantine",
- "Im Büro ist es eh gerade viel zu kalt, also ab zur Kantine",
- "Heute scheint die Auswahl wieder sehr schwierig zu sein. Vielleicht doch lieber ein Brötchen mit Fleischkäse vom Bäcker beim Baumarkt?",
- "Wer hat hier schon wieder ein Meeting auf 12 Uhr gelegt? Skandal!",
- "Jetzt nur noch kurz die Mail fertig schreiben und schon kann es los gehen.",
- "Es ist 13 Uhr und die Mittagspause ist bald vorbei .... Kleiner Scherz, es ist erst 12:30, aber Ihr hättet auch nicht wirklich etwas verpasst.",
- "Hallo, es ist nun 12 Uhr 30! Dies entspricht der Essenszeit aller Büroinsassen. Bitte begebt euch zur Aramark Essensausgabe um euren menschlichen Bedürfnissen nachzukommen."] | random }}'';
-in {
- automation = [
- { alias = "Mittagessen";
- trigger = {
- platform = "time";
- at = "12:30:00";
- };
- action = [
- { service = "homeassistant.turn_on";
- entity_id = [
- "script.mittagessen_announce"
- "script.blitz_10s"
- "script.mittagessenlicht"
- ];
- }
- ];
- }
- ];
- script = {
- mittagessenlicht = (flash_entity {
- entity = "switch.bauarbeiterlampe";
- alias = "Bauarbeiterlampe Mittagessenlicht";
- delay = 1000;
- count = 5;
- });
- mittagessen_announce = {
- alias = "Random Mittagessen announce";
- 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_mittagessen;
- language = "de";
- };
- }
- ];
- };
- };
-}