{ self, config, pkgs, python3Packages, inputs, ... }: { age.secrets.home-assistant_giggles_secrets = { file = "${self}/secrets/home-assistant_giggles_secrets.age"; path = "${config.services.home-assistant.configDir}/secrets.yaml"; owner = config.systemd.services.home-assistant.serviceConfig.User; group = config.systemd.services.home-assistant.serviceConfig.Group; mode = "0644"; }; users.users."hass".extraGroups = ["dialout"]; pub-solar.home-assistant = { enable = true; extraComponents = [ "default_config" "homeassistant_hardware" "homeassistant_sky_connect" "apcupsd" "androidtv" "cast" "esphome" "homekit_controller" "icloud" "ipp" "luci" "met" "python_script" "rpi_power" "shopping_list" "spotify" "tasmota" "unifi" "upnp" "vacuum" "xiaomi_aqara" "xiaomi_miio" "zeroconf" ]; extraPackages = python311Packages: with python311Packages; [ # esphome aiodiscover scapy # deutsche bahn schiene # dwd dwdwfsapi # hacs aiogithubapi # philips_airpurifier_coap (callPackage ./aioairctrl.nix {}) # totop pyotp ]; config = { homeassistant = { name = "Wohnung"; country = "DE"; currency = "EUR"; language = "de"; temperature_unit = "C"; time_zone = "Europe/Berlin"; unit_system = "metric"; latitude = "52.31501090166047"; longitude = "8.910633035293603"; elevation = "59"; external_url = "https://ha2.gssws.de"; internal_url = "http://192.168.42.11:8123"; }; http = { ip_ban_enabled = false; use_x_forwarded_for = true; trusted_proxies = [ "127.0.0.1" "10.254.0.21" "10.0.1.5" "10.0.1.6" ]; }; default_config = {}; energy = {}; "automation ui" = "!include automations.yaml"; device_tracker = [ { platform = "luci"; host = "192.168.42.1"; username = "!secret router_admin_username"; password = "!secret router_admin_password"; } ]; python_script = {}; waste_collection_schedule = { sources = [ { name = "jumomind_de"; args = { service_id = "sbm"; city = "Minden"; street = "Schwerinstr."; house_number = "17b"; }; } ]; }; zone = [ { name = "Home"; latitude = "52.31501090166047"; longitude = "8.910633035293603"; radius = "30"; } { name = "DKSB"; latitude = "52.31249954762553"; longitude = "8.910920619964601"; radius = "60"; } { name = "Hainweg"; latitude = "52.3176809501406"; longitude = "8.890610933303835"; radius = "60"; } { name = "Lande"; latitude = "52.35688908037632"; longitude = "8.898582458496096"; radius = "87"; } { name = "Rürups"; latitude = "52.317152702118655"; longitude = "8.89446449221293"; radius = "70"; } { name = "Schule"; latitude = "52.30213492276748"; longitude = "8.88126075267792"; radius = "200"; } { name = "Sokos"; latitude = "50.92777444599559"; longitude = "6.583169284373658"; radius = "50"; } { name = "Wohnung Aachen"; latitude = "50.7800954893528"; longitude = "6.154607534408569"; radius = "13"; } ]; }; mqtt = { enable = true; users = { ha = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$lFt8hQl3O8aKF+bO$pcZuI18IT5t4/fpKZmLZQwQs+vcbxZdAQAYJOxRwXGYsxCRjb8jUSU+ZRlpqokOGqf/Cgvymfvml+yoGaC8eaw=="; }; z2m = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$M0Q/s9ReWPaMy+pT$Y8t9DwmW3y74lyvYrCE+sqEcz9yGG9VaHw8vt4wVZgUVVV9muY00ymjkwsTNtaTIlnQyB7z7POPLT3PURtQfeg=="; }; frigate = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$BZvoqhiaWo8TbFEv$KlE8XiE9dhfNV50SoUiBjTgnvSRaCwWdouuVcN4ZeHkR7/4JufQ7adW0VhVmtpv+6V9KOPDlN3wRaV+5eVlF3Q=="; }; nuki_wohnung = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$21wWveYvOyQKNuhd$rXD8d4F+Wf4k6LDkM09bsfkQfc+iXakRaH2sygYgOQqfrJ5Egt8D+9LVKa9ZQ12HLPSHDo0bP8ygVmY6iVJCjQ=="; }; poffertjes = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$n5J9RKGzFF7bOsOH$YNPQawxsfuDZk/N6NrNzkE5rEfTRlCW5Fjpk6kgwyTg4C6Peyz4I79ii4UMSANJ8DFNsPRL1KohCcXK07SMW2w=="; }; shelly1_flur_deckenlicht = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$n0PyELB9214BiluQ$P24lJlXDpKLaGSerrp51z5UUl3wYSek9SbJN+buqoS9acrCn7s3mtSLZfeMP0JT8zXx83GJrNwlDaA0BOu00xg=="; }; shelly25_abstellraum = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$n9IcybeGEAhnoWv5$RSnkEJFgDsrKUzEaLfNIa/5v4gkTMZSAq2bb7KzWSG6zaufHdnvtDZT+q7dZ3pkBFXndKtoelmuvm7XJLJC1mg=="; }; shelly25_badezimmer = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$PNWBSZUE4Ar5dOhx$2u6dneedx7OLOjH1auoax2AC1GP4oVcXe4OAmO3riNpzXZF9V1cJ7k/GREx9/vO/ONt5PuUygilk3X4SIYnf9A=="; }; tasmota_wohnzimmer_tv_steckdosenleiste = { acl = [ "readwrite #" ]; hashedPassword = "$7$101$cywQWWzxPUUpUqdC$Q9tjqE4bW0VaNMVKIuts/wuyFetC//PyLVcRtpaK02HxwlTPY7jWivXUBA/t8l0wGZsS8lsiOIAu8e6bHb+7Xw=="; }; }; }; zigbee2mqtt = { enable = true; device = "/dev/serial/by-id/usb-Nabu_Casa_SkyConnect_v1.0_aaf7050fdb42ed11bb2843ab2a61ed69-if00-port0"; }; }; }