ma ham: use new home-assistant merge function

This commit is contained in:
makefu 2020-11-18 22:23:33 +01:00
parent e04ae7a314
commit 78fc347be0
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
9 changed files with 350 additions and 339 deletions

View File

@ -7,7 +7,10 @@ let
}; };
}; };
sec = seconds: { delay.seconds = seconds; }; sec = seconds: { delay.seconds = seconds; };
in [ in
{
services.home-assistant.config.sensor =
[
{ {
alias = "Nightly reboot of firetv"; alias = "Nightly reboot of firetv";
trigger = { trigger = {
@ -30,4 +33,5 @@ in [
(cmd "RIGHT") (cmd "RIGHT")
]; ];
} }
] ];
}

View File

@ -1,8 +1,13 @@
let let
cred = import <secrets/ham/nextcloud-calendar>; cred = import <secrets/ham/nextcloud-calendar>;
in in
{
services.home-assistant.config.calendar =
[
{ {
platform = "caldav"; platform = "caldav";
inherit (cred) username password; inherit (cred) username password;
url = "https://o.euer.krebsco.de/remote.php/dav"; url = "https://o.euer.krebsco.de/remote.php/dav";
} }
];
}

View File

@ -4,39 +4,27 @@
## wake-on-lan server ## wake-on-lan server
## ##
let let
upkgs = (import <nixpkgs-unstable> {}).pkgs; prefix = (import ./lib).prefix;
hlib = (import ./lib);
prefix = hlib.prefix;
tasmota = hlib.tasmota;
firetv_stick = "192.168.1.24"; firetv_stick = "192.168.1.24";
hassdir = "/var/lib/hass"; hassdir = "/var/lib/hass";
zigbee = import ./multi/zigbee2mqtt.nix;
#flurlicht = import ./multi/flurlicht.nix;
kurzzeitwecker = import ./multi/kurzzeitwecker.nix;
firetv_restart = import ./multi/firetv_restart.nix;
the_playlist = import ./multi/the_playlist.nix;
fliegen-counter = import ./multi/fliegen-couter.nix;
# switch
# automation
# binary_sensor
# sensor
# input_select
# timer
in { in {
imports = [ imports = [
./mqtt.nix ./mqtt.nix
./zigbee2mqtt/default.nix
# hass config
./zigbee2mqtt/hass.nix
# ./multi/flurlicht.nix
./multi/kurzzeitwecker.nix
./multi/the_playlist.nix
./multi/fliegen-couter.nix
./device_tracker/openwrt.nix
./sensor/outside.nix
./calendar/nextcloud.nix
./automation/firetv_restart.nix
]; ];
services.home-assistant = { services.home-assistant = {
package = (upkgs.home-assistant.overrideAttrs (old: {
doCheck = false;
checkPhase = ":";
installCheckPhase = ":";
})).override {
extraPackages = ps: with ps; [
python-forecastio jsonrpc-async jsonrpc-websocket mpd2 pkgs.picotts androidtv
];
};
config = { config = {
influxdb = { influxdb = {
database = "ham"; database = "ham";
@ -48,8 +36,6 @@ in {
}; };
config = {}; config = {};
input_select = zigbee.input_select; # dict
timer = zigbee.timer // kurzzeitwecker.timer; # dict
homeassistant = { homeassistant = {
name = "Home"; time_zone = "Europe/Berlin"; name = "Home"; time_zone = "Europe/Berlin";
latitude = "48.7687"; latitude = "48.7687";
@ -60,12 +46,10 @@ in {
conversation = {}; conversation = {};
history = {}; history = {};
logbook = {}; logbook = {};
counter = fliegen-counter.counter;
logger = { logger = {
default = "info"; default = "info";
}; };
rest_command = {} rest_command = {};
// the_playlist.rest_command;
tts = [ tts = [
{ platform = "google_translate"; { platform = "google_translate";
language = "de"; language = "de";
@ -101,7 +85,6 @@ in {
]; ];
sun.elevation = 247; sun.elevation = 247;
recorder = {}; recorder = {};
device_tracker = (import ./device_tracker/openwrt.nix);
media_player = [ media_player = [
{ platform = "FireTV Stick kodi"; { platform = "FireTV Stick kodi";
host = firetv_stick; host = firetv_stick;
@ -149,25 +132,12 @@ in {
monitored_conditions = [ "ping" "download" "upload" ]; monitored_conditions = [ "ping" "download" "upload" ];
} }
# https://www.home-assistant.io/cookbook/automation_for_rainy_days/ # https://www.home-assistant.io/cookbook/automation_for_rainy_days/
] ];
++ ((import ./sensor/outside.nix) {inherit lib;})
++ the_playlist.sensor
++ zigbee.sensor ;
frontend = { }; frontend = { };
calendar = [ (import ./calendar/nextcloud.nix) ];
# light = flurlicht.light;
http = { }; http = { };
switch = []; switch = [];
automation = [] automation = [];
++ (import ./automation/firetv_restart.nix) script = { };
++ kurzzeitwecker.automation
#++ flurlicht.automation
++ the_playlist.automation
++ fliegen-counter.automation
++ zigbee.automation;
script =
{ }
// kurzzeitwecker.script; # dict
}; };
enable = true; enable = true;
configDir = hassdir; configDir = hassdir;

View File

@ -1,3 +1,5 @@
{
services.home-assistant.config.device_tracker =
[ [
{ platform = "luci"; { platform = "luci";
host = "192.168.1.5"; host = "192.168.1.5";
@ -7,4 +9,5 @@
consider_home = 300; # 5 minutes timeout consider_home = 300; # 5 minutes timeout
new_device_defaults.track_new_devices = true; new_device_defaults.track_new_devices = true;
} }
] ];
}

View File

@ -15,7 +15,10 @@ let
data.entity_id = "counter.${for}_fliegen"; data.entity_id = "counter.${for}_fliegen";
}) incr; }) incr;
}; };
in { in
{
services.home-assistant.config =
{
counter = { counter = {
felix_fliegen = {}; felix_fliegen = {};
misa_fliegen = {}; misa_fliegen = {};
@ -64,4 +67,5 @@ in {
]; ];
} }
]; ];
};
} }

View File

@ -8,7 +8,9 @@
# notify.telegrambot # notify.telegrambot
let let
button = "sensor.zigbee_btn2_click"; button = "sensor.zigbee_btn2_click";
in { in
{
services.home-assistant.config = {
timer.kurzzeitwecker = timer.kurzzeitwecker =
{ {
name = "Zigbee Kurzzeitwecker"; name = "Zigbee Kurzzeitwecker";
@ -129,4 +131,5 @@ in {
]; ];
} }
]; ];
};
} }

View File

@ -6,6 +6,8 @@
# rest_command # rest_command
# automation # automation
# sensor # sensor
{
services.home-assistant.config =
{ {
rest_command = { rest_command = {
good_song = { good_song = {
@ -80,4 +82,5 @@
}; };
} }
]; ];
};
} }

View File

@ -1,4 +1,8 @@
{lib,...}: [ {lib,...}:
{
services.home-assistant.config.sensor =
[
{ platform = "darksky"; { platform = "darksky";
api_key = lib.removeSuffix "\n" api_key = lib.removeSuffix "\n"
(builtins.readFile <secrets/hass/darksky.apikey>); (builtins.readFile <secrets/hass/darksky.apikey>);
@ -17,4 +21,5 @@
units = "si" ; units = "si" ;
scan_interval = "00:30:00"; scan_interval = "00:30:00";
} }
] ];
}

View File

@ -0,0 +1,14 @@
{
availability_topic: /ham/zigbee/bridge/state
command_topic: /ham/zigbee/flur_arbeitszimmer_osram2/set
- platform: "mqtt"
state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
availability_topic: "zigbee2mqtt/bridge/state"
payload_on: true
payload_off: false
value_template: "{{ value_json.battery_low}}"
device_class: "battery"
}