From 1093962cf04c9d25f5c8cd9413c3be122f92fbbb Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Wed, 1 Jul 2020 19:17:01 +0200 Subject: [PATCH] nixos/tests/home-assistant: replace internal mqtt broker with mosquitto The internal broker was deprecated since 0.92.0 and removed in 0.112.0. --- nixos/tests/home-assistant.nix | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix index 0d1fcedcd85..a93a28d877a 100644 --- a/nixos/tests/home-assistant.nix +++ b/nixos/tests/home-assistant.nix @@ -2,6 +2,7 @@ import ./make-test-python.nix ({ pkgs, ... }: let configDir = "/var/lib/foobar"; + mqttUsername = "homeassistant"; mqttPassword = "secret"; in { name = "home-assistant"; @@ -11,6 +12,15 @@ in { nodes.hass = { pkgs, ... }: { environment.systemPackages = with pkgs; [ mosquitto ]; + services.mosquitto = { + enable = true; + users = { + "${mqttUsername}" = { + acl = [ "pattern readwrite #" ]; + password = mqttPassword; + }; + }; + }; services.home-assistant = { inherit configDir; enable = true; @@ -23,8 +33,11 @@ in { elevation = 0; }; frontend = {}; - # uses embedded mqtt broker - mqtt.password = mqttPassword; + mqtt = { + broker = "127.0.0.1"; + username = mqttUsername; + password = mqttPassword; + }; binary_sensor = [{ platform = "mqtt"; state_topic = "home-assistant/test"; @@ -64,10 +77,10 @@ in { with subtest("Toggle a binary sensor using MQTT"): # wait for broker to become available hass.wait_until_succeeds( - "mosquitto_sub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -W 1 -t '*'" + "mosquitto_sub -V mqttv311 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -W 1 -t '*'" ) hass.succeed( - "mosquitto_pub -V mqttv311 -t home-assistant/test -u homeassistant -P '${mqttPassword}' -m let_there_be_light" + "mosquitto_pub -V mqttv311 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -m let_there_be_light" ) with subtest("Print log to ease debugging"): output_log = hass.succeed("cat ${configDir}/home-assistant.log")