{lib, ...}: let inherit (lib) mkForce; in { services = { home-assistant = { extraComponents = [ "mqtt" "smlight" "zha" ]; }; mosquitto = { enable = true; listeners = [ { port = 1883; acl = ["pattern readwrite #"]; omitPasswordAuth = true; settings.allow_anonymous = true; } ]; }; zigbee2mqtt = { enable = true; settings = { serial = { port = "tcp://192.168.0.129:6638"; baudrate = 115200; adapter = "zstack"; disable_led = false; }; mqtt.server = "mqtt://localhost/1883"; availability.enabled = true; frontend = { port = 8080; host = "100.64.0.10"; }; advanced.transmit_power = 20; }; }; }; # Make sure it stays running through SMLIGHT reboots systemd.services."zigbee2mqtt".serviceConfig = { Restart = mkForce "always"; StartLimitIntervalSec = 0; }; }