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:
@@ -1,11 +1,131 @@
|
|||||||
let
|
{config, ...}: let
|
||||||
port = 8123;
|
port = 8123;
|
||||||
in {
|
in {
|
||||||
networking.firewall.allowedTCPPorts = [port];
|
networking.firewall.allowedTCPPorts = [port];
|
||||||
|
|
||||||
services.nginx.virtualHosts."home.kmein.r" = {
|
services.nginx.virtualHosts."home.kmein.r" = {
|
||||||
locations."/" = {
|
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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user