summaryrefslogtreecommitdiffstats
path: root/makefu/2configs/bureautomation/hass.nix
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/2configs/bureautomation/hass.nix')
-rw-r--r--makefu/2configs/bureautomation/hass.nix93
1 files changed, 66 insertions, 27 deletions
diff --git a/makefu/2configs/bureautomation/hass.nix b/makefu/2configs/bureautomation/hass.nix
index ace1d10ce..05b98243d 100644
--- a/makefu/2configs/bureautomation/hass.nix
+++ b/makefu/2configs/bureautomation/hass.nix
@@ -1,12 +1,33 @@
-{ pkgs, lib, ... }:
+{ config, pkgs, lib, ... }:
let
kodi-host = "192.168.8.11";
+ ten_hours = import ./combination/10h_timers.nix { inherit lib; }; # provides: timer automation script
+ mittagessen = import ./combination/mittagessen.nix { inherit lib; }; # provides: automation script
in {
networking.firewall.allowedTCPPorts = [ 8123 ];
state = [ "/var/lib/hass/known_devices.yaml" ];
- services.home-assistant = {
+ services.home-assistant = let
+ dwd_pollen = pkgs.fetchFromGitHub {
+ owner = "marcschumacher";
+ repo = "dwd_pollen";
+ rev = "0.1";
+ sha256 = "1af2mx99gv2hk1ad53g21fwkdfdbymqcdl3jvzd1yg7dgxlkhbj1";
+ };
+ in {
enable = true;
- package = pkgs.home-assistant.override { python3 = pkgs.python36; };
+ package = (pkgs.home-assistant.overrideAttrs (old: {
+ # TODO: find correct python package
+ postInstall = ''
+ cp -r ${dwd_pollen} $out/lib/python3.7/site-packages/homeassistant/components/dwd_pollen
+ '';
+ })).override {
+ extraPackages = ps: with ps; [
+ pkgs.pico2wave
+ python-forecastio jsonrpc-async jsonrpc-websocket mpd2
+ (callPackage ./gtts-token.nix { })
+ ];
+ };
+ autoExtraComponents = true;
config = {
homeassistant = {
name = "Bureautomation";
@@ -22,6 +43,14 @@ in {
}
];
};
+ # https://www.home-assistant.io/components/influxdb/
+ influxdb = {
+ database = "hass";
+ tags = {
+ instance = "wbob";
+ source = "hass";
+ };
+ };
mqtt = {
broker = "localhost";
port = 1883;
@@ -42,23 +71,10 @@ in {
};
};
switch = (import ./switch/tasmota_switch.nix) ++
- (import ./switch/rfbridge.nix);
+ (import ./switch/rfbridge.nix);
light = (import ./light/statuslight.nix) ++
- (import ./light/buzzer.nix);
- timer = {
- felix_10h = {
- name = "Felix 10h Timer";
- duration = "10:00:00";
- };
- felix_8_30h = {
- name = "Felix 8_30h Timer";
- duration = "08:30:00";
- };
- felix_7h = {
- name = "Felix 7h Timer";
- duration = "07:00:00";
- };
- };
+ (import ./light/buzzer.nix);
+ timer = ten_hours.timer;
notify = [
{
platform = "kodi";
@@ -77,13 +93,21 @@ in {
{ platform = "kodi";
host = kodi-host;
}
+ { platform = "mpd";
+ host = "127.0.0.1";
+ }
+ ];
+ script = lib.fold lib.recursiveUpdate {} [
+ ((import ./script/multi_blink.nix) {inherit lib;})
+ ten_hours.script
+ mittagessen.script
];
- script = (import ./script/multi_blink.nix) {inherit lib;};
binary_sensor =
(import ./binary_sensor/buttons.nix) ++
(import ./binary_sensor/motion.nix);
sensor =
+ (import ./sensor/pollen.nix) ++
(import ./sensor/espeasy.nix) ++
((import ./sensor/outside.nix) {inherit lib;}) ++
(import ./sensor/influxdb.nix) ++
@@ -99,6 +123,7 @@ in {
frontend = { };
http = {
# TODO: https://github.com/home-assistant/home-assistant/issues/16149
+ base_url = "http://192.168.8.11:8123";
api_password = "sistemas";
trusted_networks = [
"127.0.0.1/32"
@@ -110,7 +135,18 @@ in {
conversation = {};
history = {};
logbook = {};
- tts = [ { platform = "google";} ];
+ tts = [
+ { platform = "google";
+ language = "de";
+ }
+ { platform = "voicerss";
+ api_key = builtins.readFile <secrets/hass/voicerss.apikey>;
+ language = "de-de";
+ }
+ { platform = "picotts";
+ language = "de-DE";
+ }
+ ];
recorder = {};
sun = {};
telegram_bot = [
@@ -129,8 +165,8 @@ in {
"group.switches"
];
};
- automation = [
- ];
+ automation = [];
+
switches = [
"switch.bauarbeiterlampe"
"switch.blitzdings"
@@ -147,6 +183,8 @@ in {
"device_tracker.daniel_phone"
"device_tracker.carsten_phone"
"device_tracker.thierry_phone"
+ "device_tracker.frank_phone"
+ "device_tracker.anthony_phone"
# "person.thorsten"
# "person.felix"
# "person.ecki"
@@ -168,6 +206,7 @@ in {
"script.blitz_10s"
"script.buzz_red_led_fast"
"timer.felix_10h"
+ "timer.frank_10h"
"sensor.easy2_dht22_humidity"
"sensor.easy2_dht22_temperature"
# "binary_sensor.redbutton"
@@ -181,7 +220,6 @@ in {
"sensor.dark_sky_uv_index"
# "sensor.dark_sky_pressure"
"sensor.dark_sky_hourly_summary"
- "device_tracker.router"
];
};
# only for automation
@@ -189,9 +227,10 @@ in {
# 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/hass-restart.nix) ++
- (import ./automation/10h_timer.nix);
+ (import ./automation/nachtlicht.nix) ++
+ (import ./automation/hass-restart.nix) ++
+ ten_hours.automation ++
+ mittagessen.automation;
device_tracker = (import ./device_tracker/openwrt.nix );
};
};