From 6d0b6a9ff7d9efc691207c507009f88efe094eeb Mon Sep 17 00:00:00 2001 From: arcnmx Date: Sun, 9 Oct 2022 11:12:15 -0700 Subject: [PATCH 1/2] feat: espresence tile tracking --- nixos/systems/tewi/home-assistant.nix | 44 ++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/nixos/systems/tewi/home-assistant.nix b/nixos/systems/tewi/home-assistant.nix index 235675fa..dc335f96 100644 --- a/nixos/systems/tewi/home-assistant.nix +++ b/nixos/systems/tewi/home-assistant.nix @@ -1,5 +1,5 @@ { config, lib, tf, ... }: let - inherit (lib.attrsets) attrNames filterAttrs; + inherit (lib.attrsets) attrNames filterAttrs mapAttrs' nameValuePair; in { # MDNS services.avahi.enable = true; @@ -49,6 +49,18 @@ in { path = "gensokyo/home-assistant"; field = "iphone-se-irk"; }; + secrets.variables.tile-bee = { + path = "gensokyo/home-assistant"; + field = "tile-bee"; + }; + secrets.variables.tile-kat-wallet = { + path = "gensokyo/home-assistant"; + field = "tile-kat-wallet"; + }; + secrets.variables.tile-kat-keys = { + path = "gensokyo/home-assistant"; + field = "tile-kat-keys"; + }; secrets.variables.mpd-shanghai-password = { path = "gensokyo/abby"; field = "mpd"; @@ -56,14 +68,21 @@ in { secrets.files.home-assistant-secrets = { - text = builtins.toJSON rec { + text = let + espresenceDevices = { + iphone-se-irk = tf.variables.iphone-se-irk.ref; + tile-kat-wallet = tf.variables.tile-kat-wallet.ref; + tile-kat-keys = tf.variables.tile-kat-keys.ref; + tile-bee = tf.variables.tile-bee.ref; + }; + in builtins.toJSON ({ latitude = tf.variables.latitude.ref; longitude = tf.variables.longitude.ref; elevation = tf.variables.elevation.ref; - iphone-se-irk = tf.variables.iphone-se-irk.ref; - iphone-se-irk-topic = "espresense/devices/${iphone-se-irk}"; mpd-shanghai-password = tf.variables.mpd-shanghai-password.ref; - }; + } // mapAttrs' (key: device_id: + nameValuePair "${key}-topic" "espresense/devices/${device_id}" + ) espresenceDevices); owner = "hass"; group = "hass"; }; @@ -280,6 +299,21 @@ in { device_id = "3003c8383b6c"; name = "Nue"; }) + (mkESPresenceBeacon { + device_id = "!secret tile-bee"; + state_topic = "!secret tile-bee-topic"; + name = "Bee"; + }) + (mkESPresenceBeacon { + device_id = "!secret tile-kat-wallet"; + state_topic = "!secret tile-kat-wallet-topic"; + name = "Kat's Wallet"; + }) + (mkESPresenceBeacon { + device_id = "!secret tile-kat-keys"; + state_topic = "!secret tile-kat-keys-topic"; + name = "Knife"; + }) ]; }; extraPackages = python3Packages: with python3Packages; [ From cfb2364ea239f25ae71fc5a82fb0dbf1dcf7b846 Mon Sep 17 00:00:00 2001 From: arcnmx Date: Wed, 12 Oct 2022 09:08:22 -0700 Subject: [PATCH 2/2] feat: update espresence beacons --- nixos/systems/tewi/home-assistant.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/systems/tewi/home-assistant.nix b/nixos/systems/tewi/home-assistant.nix index dc335f96..b4fec60d 100644 --- a/nixos/systems/tewi/home-assistant.nix +++ b/nixos/systems/tewi/home-assistant.nix @@ -297,7 +297,15 @@ in { }) (mkESPresenceBeacon { device_id = "3003c8383b6c"; - name = "Nue"; + name = "MT7922 BT"; + }) + (mkESPresenceBeacon { + device_id = "d8f8833681ba"; + name = "AX210 BT"; + }) + (mkESPresenceBeacon { + device_id = "md:03ff:6"; + name = "Kat's Smartwatch"; }) (mkESPresenceBeacon { device_id = "!secret tile-bee";