From 165326d2ca6e8bda65c06fd3166eeacebc703e05 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 1 Feb 2024 17:41:54 +0100 Subject: [PATCH 1/2] zigbee2mqtt: 1.35.1 -> 1.35.2 https://github.com/Koenkk/zigbee2mqtt/releases/tag/1.35.2 --- .../modules/services/home-automation/zigbee2mqtt.nix | 1 + pkgs/servers/zigbee2mqtt/default.nix | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/home-automation/zigbee2mqtt.nix b/nixos/modules/services/home-automation/zigbee2mqtt.nix index a653e49a09f6..570ce41aa6d4 100644 --- a/nixos/modules/services/home-automation/zigbee2mqtt.nix +++ b/nixos/modules/services/home-automation/zigbee2mqtt.nix @@ -71,6 +71,7 @@ in after = [ "network.target" ]; environment.ZIGBEE2MQTT_DATA = cfg.dataDir; serviceConfig = { + Type = "notify"; ExecStart = "${cfg.package}/bin/zigbee2mqtt"; User = "zigbee2mqtt"; Group = "zigbee2mqtt"; diff --git a/pkgs/servers/zigbee2mqtt/default.nix b/pkgs/servers/zigbee2mqtt/default.nix index 43ef277ffba3..725b8a34ed9d 100644 --- a/pkgs/servers/zigbee2mqtt/default.nix +++ b/pkgs/servers/zigbee2mqtt/default.nix @@ -2,25 +2,30 @@ , buildNpmPackage , fetchFromGitHub , nodejs_18 +, systemdMinimal , nixosTests , nix-update-script }: buildNpmPackage rec { pname = "zigbee2mqtt"; - version = "1.35.1"; + version = "1.35.2"; src = fetchFromGitHub { owner = "Koenkk"; repo = "zigbee2mqtt"; rev = version; - hash = "sha256-ZOIV7PLBnPbisIStC+MNMZgf+Hw/+n4lONpgomRkZEE="; + hash = "sha256-AesGq2pWb8e2CJxTmP7RmtNYoAsXLAWp65eUjfjBK/A="; }; - npmDepsHash = "sha256-2WSuc9bmt5kK477c3AMOLFguvXZ2Nl+Qb67j5k7eL3o="; + npmDepsHash = "sha256-9mNUOidUmwOA+bFC8+pCerZ7JEYfQhYUM8D/WBW8IaE="; nodejs = nodejs_18; + buildInputs = [ + systemdMinimal + ]; + passthru.tests.zigbee2mqtt = nixosTests.zigbee2mqtt; passthru.updateScript = nix-update-script { }; From dec6392bc29e34e23f21451b58f629930c6ddc78 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Sat, 3 Feb 2024 02:22:44 +0100 Subject: [PATCH 2/2] nixos/tests/zigbee2mqtt: test against dummy serial device --- nixos/tests/zigbee2mqtt.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/nixos/tests/zigbee2mqtt.nix b/nixos/tests/zigbee2mqtt.nix index 1a40d175df83..9d6d03a4b9bb 100644 --- a/nixos/tests/zigbee2mqtt.nix +++ b/nixos/tests/zigbee2mqtt.nix @@ -3,6 +3,15 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: name = "zigbee2mqtt"; nodes.machine = { pkgs, ... }: { + systemd.services.dummy-serial = { + wantedBy = [ + "multi-user.target" + ]; + serviceConfig = { + ExecStart = "${pkgs.socat}/bin/socat pty,link=/dev/ttyACM0,mode=666 pty,link=/dev/ttyACM1"; + }; + }; + services.zigbee2mqtt = { enable = true; }; @@ -11,10 +20,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: }; testScript = '' - machine.wait_for_unit("zigbee2mqtt.service") + machine.wait_for_unit("multi-user.target") machine.wait_until_fails("systemctl status zigbee2mqtt.service") machine.succeed( - "journalctl -eu zigbee2mqtt | grep \"Error: Error while opening serialport 'Error: Error: No such file or directory, cannot open /dev/ttyACM0'\"" + "journalctl -eu zigbee2mqtt | grep 'Failed to connect to the adapter'" ) machine.log(machine.succeed("systemd-analyze security zigbee2mqtt.service"))