From be12face6349f883eb684906df624956c462342a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Ko=C4=8D=C3=AD?= Date: Fri, 3 Mar 2023 20:36:00 +0100 Subject: errol: add zigbee2mqtt --- nixos/machine/errol.nix | 28 ++++++++++++++++++++++++++++ nixos/modules/home-assistant.nix | 19 ++++++++++++++----- 2 files changed, 42 insertions(+), 5 deletions(-) (limited to 'nixos') diff --git a/nixos/machine/errol.nix b/nixos/machine/errol.nix index 8609956..74901f9 100644 --- a/nixos/machine/errol.nix +++ b/nixos/machine/errol.nix @@ -86,6 +86,7 @@ with lib; { }; met = {}; default_config = {}; + automation = "!include automations.yaml"; }; extraComponents = []; package = pkgs.home-assistant.override { @@ -95,5 +96,32 @@ with lib; { ]; }; }; + + services.zigbee2mqtt = { + enable = true; + settings = { + serial.port = "/dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20220812153849-if00"; + mqtt = { + server = "mqtt://${config.cynerd.hosts.spt.mox}:1883"; + user = "zigbee2mqtt"; + password = "!secret.yaml mqtt_password"; + }; + advanced = { + network_key = "!secret.yaml network_key"; + homeassistant_legacy_entity_attributes = false; + legacy_api = false; + legacy_availability_payload = false; + last_seen = "epoch"; + }; + frontend = true; + availability = true; + homeassistant = { + legacy_triggers = false; + }; + device_options.legacy = false; + permit_join = false; + devices = config.secrets.zigbee2mqttDevices; + }; + }; }; } diff --git a/nixos/modules/home-assistant.nix b/nixos/modules/home-assistant.nix index 0aac9be..545cec8 100644 --- a/nixos/modules/home-assistant.nix +++ b/nixos/modules/home-assistant.nix @@ -21,21 +21,29 @@ in { acl = ["readwrite #"]; passwordFile = "/run/secrets/mosquitto.cynerd.pass"; }; - bigclown = { - acl = ["readwrite bigclown/#"]; - passwordFile = "/run/secrets/mosquitto.bigclown.pass"; - }; telegraf = { acl = ["read bigclown/node/#"]; passwordFile = "/run/secrets/mosquitto.telegraf.pass"; }; homeassistant = { acl = [ - "readwrite bigclown/#" "readwrite homeassistant/#" + "readwrite bigclown/#" + "readwrite zigbee2mqtt/#" ]; passwordFile = "/run/secrets/mosquitto.homeassistant.pass"; }; + bigclown = { + acl = ["readwrite bigclown/#"]; + passwordFile = "/run/secrets/mosquitto.bigclown.pass"; + }; + zigbee2mqtt = { + acl = [ + "readwrite homeassistant/#" + "readwrite zigbee2mqtt/#" + ]; + passwordFile = "/run/secrets/mosquitto.zigbee2mqtt.pass"; + }; }; } ]; @@ -137,6 +145,7 @@ in { }; met = {}; default_config = {}; + automation = "!include automations.yaml"; }; extraComponents = []; package = pkgs.home-assistant.override { -- cgit v1.2.3