1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00

wip: hass with nix

This commit is contained in:
2023-02-08 10:09:18 +01:00
parent 7c349f1383
commit 9f0c8c7a73

View File

@@ -1,11 +1,131 @@
let
{config, ...}: let
port = 8123;
in {
networking.firewall.allowedTCPPorts = [port];
services.nginx.virtualHosts."home.kmein.r" = {
locations."/" = {
proxyPass = "http://127.0.0.1:${toString port}";
proxyPass = "http://127.0.0.1:${toString config.services.home-assistant.http.server_port}";
};
};
services.home-assistant = {
enable = true;
config = {
frontend = {};
sun = {};
# TODO calendar = { platform = "caldav"; url = "TODO"; username = "TODO"; password = "TODO"; }
config = {};
mobile_app = {};
network = {};
homeassistant = {
name = "Home";
latitude = "";
};
auth.users = [
{
id = "aa6284a151da4a9c91b4a18d86a5788b";
group_ids = ["system-admin"];
is_owner = true;
is_active = true;
name = "kmein";
}
];
"core.area_registry".areas = [
{
id = "living_room";
name = "Saal";
}
{
id = "kitchen";
name = "Küche";
}
{
id = "bedroom";
name = "Zimmer";
}
{
id = "corridor";
name = "Korridor";
}
];
default_config = {};
http.server_port = 8124;
automation = [
{
id = "1647008057816";
alias = "Abend";
description = "";
trigger = [
{
platform = "sun";
event = "sunset";
offset = 15;
}
];
condition = [];
mode = "single";
action = [
{
service = "scene.turn_on";
target.entity_id = "scene.abend";
metadata = {};
}
];
}
{
id = "1647205852858";
alias = "Come home";
description = "";
trigger = [
{
platform = "device";
device_id = "7279f87d95574352ff7e9cc69c325a63";
domain = "device_tracker";
entity_id = "device_tracker.moto_g_7_power";
type = "enters";
zone = "zone.home";
}
];
condition = [
{
condition = "sun";
after = "sunset";
after_offset = 15;
}
];
mode = "single";
action = [
{
type = "turn_on";
device_id = "4cf6a7217da6633d4a9c74fdf82ff30f";
entity_id = "light.corridor_ceiling";
domain = "light";
}
];
}
];
tradfri = {};
openweathermap = {};
weather = {};
scene = [
{
id = "1647007926507";
name = "Abend";
entities = {
"switch.kette".state = "on";
"switch.tradfri_outlet_2".state = "on"; # Kette 2
"light.arod" = {
min_mireds = 250;
max_mireds = 454;
color_mode = "hs";
brightness = 76;
hs_color = [29.021 74.588];
state = "on";
};
};
}
];
};
};