summaryrefslogtreecommitdiffstats
path: root/makefu
diff options
context:
space:
mode:
authormakefu <github@syntax-fehler.de>2019-07-04 08:06:35 +0200
committermakefu <github@syntax-fehler.de>2019-07-04 08:06:56 +0200
commitd0189deacb43a4d34364ff8612769ddba151fb53 (patch)
tree7a4a5036a34beec6fcad4a337cbe11f4ea5d867f /makefu
parentb3b2dd65211fa7bcdb2f5e507895ce5edde45160 (diff)
ma bureautomation: enable schlechteluft, matrix publisher
Diffstat (limited to 'makefu')
-rw-r--r--makefu/2configs/bureautomation/combination/matrix.nix65
-rw-r--r--makefu/2configs/bureautomation/default.nix5
2 files changed, 70 insertions, 0 deletions
diff --git a/makefu/2configs/bureautomation/combination/matrix.nix b/makefu/2configs/bureautomation/combination/matrix.nix
new file mode 100644
index 00000000..85ba3198
--- /dev/null
+++ b/makefu/2configs/bureautomation/combination/matrix.nix
@@ -0,0 +1,65 @@
+{ 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/default.nix b/makefu/2configs/bureautomation/default.nix
index 564c0c45..b783d8e0 100644
--- a/makefu/2configs/bureautomation/default.nix
+++ b/makefu/2configs/bureautomation/default.nix
@@ -5,6 +5,9 @@ let
mittagessen = import ./combination/mittagessen.nix { inherit lib; }; # provides: automation script
matrix = import ./combination/matrix.nix { inherit lib; }; # provides: matrix automation
in {
+ imports = [
+ ./ota.nix
+ ];
networking.firewall.allowedTCPPorts = [ 8123 ];
state = [ "/var/lib/hass/known_devices.yaml" ];
services.home-assistant = let
@@ -214,6 +217,7 @@ in {
"timer.frank_10h"
"sensor.easy2_dht22_humidity"
"sensor.easy2_dht22_temperature"
+ "sensor.air_quality"
# "binary_sensor.redbutton"
];
outside = [
@@ -233,6 +237,7 @@ 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 ++