about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2024-02-11 01:18:04 +0100
committerGitHub <noreply@github.com>2024-02-11 01:18:04 +0100
commitaeea37e779933d7b77f4a0e9c1bb383ab71cd450 (patch)
tree6ae7d406de6e52fdbb6f81dcd5de93c23760ccc0
parenta971794a6198695f386b075fdb2a7e2c960071e8 (diff)
parent19ea0822e5986283b7ce72dcbe9b3354b73ffa9b (diff)
downloadnixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.tar
nixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.tar.gz
nixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.tar.bz2
nixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.tar.lz
nixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.tar.xz
nixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.tar.zst
nixlib-aeea37e779933d7b77f4a0e9c1bb383ab71cd450.zip
Merge pull request #287480 from NixOS/home-assistant
home-assistant: 2024.1.6 -> 2024.2.1
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix1
-rw-r--r--pkgs/development/python-modules/aioecowitt/default.nix11
-rw-r--r--pkgs/development/python-modules/aioelectricitymaps/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp-zlib-ng/default.nix6
-rw-r--r--pkgs/development/python-modules/aioshelly/default.nix17
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix6
-rw-r--r--pkgs/development/python-modules/awesomeversion/default.nix4
-rw-r--r--pkgs/development/python-modules/bellows/default.nix4
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/habluetooth/default.nix4
-rw-r--r--pkgs/development/python-modules/hass-nabucasa/default.nix4
-rw-r--r--pkgs/development/python-modules/hassil/default.nix4
-rw-r--r--pkgs/development/python-modules/holidays/default.nix10
-rw-r--r--pkgs/development/python-modules/home-assistant-bluetooth/default.nix2
-rw-r--r--pkgs/development/python-modules/home-assistant-chip-clusters/default.nix4
-rw-r--r--pkgs/development/python-modules/home-assistant-chip-core/default.nix4
-rw-r--r--pkgs/development/python-modules/knx-frontend/default.nix16
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix76
-rw-r--r--pkgs/development/python-modules/python-matter-server/default.nix8
-rw-r--r--pkgs/development/python-modules/tesla-powerwall/default.nix16
-rw-r--r--pkgs/development/python-modules/thermopro-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/universal-silabs-flasher/default.nix11
-rw-r--r--pkgs/development/python-modules/wyoming/default.nix4
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-znp/default.nix11
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix148
-rw-r--r--pkgs/servers/home-assistant/default.nix106
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/intents.nix54
-rw-r--r--pkgs/servers/home-assistant/stubs.nix6
-rw-r--r--pkgs/tools/audio/wyoming/faster-whisper.nix16
33 files changed, 319 insertions, 264 deletions
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index a01628968966..5c2ea8f1840b 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -533,6 +533,7 @@ in {
           "inkbird"
           "improv_ble"
           "keymitt_ble"
+          "leaone-ble"
           "led_ble"
           "medcom_ble"
           "melnor"
diff --git a/pkgs/development/python-modules/aioecowitt/default.nix b/pkgs/development/python-modules/aioecowitt/default.nix
index 415a0b791a2a..14146ef64d1f 100644
--- a/pkgs/development/python-modules/aioecowitt/default.nix
+++ b/pkgs/development/python-modules/aioecowitt/default.nix
@@ -6,12 +6,13 @@
 , pytest-aiohttp
 , pytestCheckHook
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aioecowitt";
-  version = "2024.2.0";
-  format = "setuptools";
+  version = "2024.2.1";
+  pyproject = true;
 
   disabled = pythonOlder "3.9";
 
@@ -19,9 +20,13 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-vKpzD6m0zG8yAghmoNKcufqoJUYOTxN3w+ix1ObuLpw=";
+    hash = "sha256-PBV5jk0oItelCDFZsk8et0raIGEWxOaNdHuAViQ6LZc=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     meteocalc
diff --git a/pkgs/development/python-modules/aioelectricitymaps/default.nix b/pkgs/development/python-modules/aioelectricitymaps/default.nix
index 753a108d93a7..fe16afab2258 100644
--- a/pkgs/development/python-modules/aioelectricitymaps/default.nix
+++ b/pkgs/development/python-modules/aioelectricitymaps/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aioelectricitymaps";
-  version = "0.3.0";
+  version = "0.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "jpbede";
     repo = "aioelectricitymaps";
     rev = "refs/tags/v${version}";
-    hash = "sha256-saIzVbgYx5nIM5fk7i3wu4X1gOIj81L/rRNq5Xl4cnw=";
+    hash = "sha256-q06B40c0uvSuzH/3YCoxg4p9aNIOPrphsoESktF+B14=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index a640c978764a..7c81afa0f8b3 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "21.0.1";
+  version = "21.0.2";
   pyproject = true;
 
   disabled = pythonOlder "3.9";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-HPnyFHHx1BahqzvRChT85BaG4eJM3qvTq2Tpbqb3SDI=";
+    hash = "sha256-uNVf0wnqVntjTxkNTilvb0v6h3VBCjd91wbLQJ6q71g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix b/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
index d97a21bf6589..bb5337203f6f 100644
--- a/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
+++ b/pkgs/development/python-modules/aiohttp-zlib-ng/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-zlib-ng";
-  version = "0.1.3";
+  version = "0.3.1";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -19,12 +19,12 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = "aiohttp-zlib-ng";
     rev = "refs/tags/v${version}";
-    hash = "sha256-t7T3KIGId5CoBciSkwu/sejW45i2EYtq1fHvNKNXlhA=";
+    hash = "sha256-XA2XSX9KA/oBzOLJrhj78uoy6ufLbVTENYZL3y/+fwU=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace " --cov=aiohttp_zlib_ng --cov-report=term-missing:skip-covered" ""
+      --replace-fail " --cov=aiohttp_zlib_ng --cov-report=term-missing:skip-covered" ""
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix
index 832bd768a8bd..4e77bc9c6509 100644
--- a/pkgs/development/python-modules/aioshelly/default.nix
+++ b/pkgs/development/python-modules/aioshelly/default.nix
@@ -3,28 +3,37 @@
 , bluetooth-data-tools
 , buildPythonPackage
 , fetchFromGitHub
+, habluetooth
 , orjson
 , pythonOlder
+, setuptools
+, yarl
 }:
 
 buildPythonPackage rec {
   pname = "aioshelly";
-  version = "7.1.0";
-  format = "setuptools";
+  version = "8.0.1";
+  pyproject = true;
 
-  disabled = pythonOlder "3.9";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-W8oAJ7q4cAWq+RF4Hwd8cuPkEZQorsBnjmos5tVSBzc=";
+    hash = "sha256-3W5XfSOaKCCBjDHJh8IP/5I48py3j6i2O3FfhbcQzbY=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     bluetooth-data-tools
+    habluetooth
     orjson
+    yarl
   ];
 
   # Project has no test
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index cf1615734d20..886c0e4d4c1e 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "69";
+  version = "70";
   pyproject = true;
 
   disabled = pythonOlder "3.11";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "aiounifi";
     rev = "refs/tags/v${version}";
-    hash = "sha256-XYwdnG3OprHRZm3zQgoPw4VOzvvVflsQzi7+XQiASAU=";
+    hash = "sha256-yLqGqRWzuMqymGqGR1mA4oQb+tWt58lA7C/kXC5bYz8=";
   };
 
   postPatch = ''
@@ -66,6 +66,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/Kane610/aiounifi";
     changelog = "https://github.com/Kane610/aiounifi/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ peterhoeg ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix
index 164b89ae4cc6..4cd972d95b8c 100644
--- a/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/pkgs/development/python-modules/awesomeversion/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "23.11.0";
+  version = "24.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-glnM32ha5eXVpoaDkEsbwdH1oiG9qMxFwbtqLx+Kl98=";
+    hash = "sha256-bpLtHhpWc1VweVl5G8mM473Js3bXT11N3Zc0jiVqq5c=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/bellows/default.nix b/pkgs/development/python-modules/bellows/default.nix
index 24052663f1c2..f7431e6ea4eb 100644
--- a/pkgs/development/python-modules/bellows/default.nix
+++ b/pkgs/development/python-modules/bellows/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "bellows";
-  version = "0.37.6";
+  version = "0.38.0";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "bellows";
     rev = "refs/tags/${version}";
-    hash = "sha256-S3Yf0C+KInYoDaixlJf+9WSPIcEhfQCdcwEuNQYxugU=";
+    hash = "sha256-7aqzhujTn1TMYBA6+79Ok76yv8hXszuuZ7TjhJ6zbQw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index c7b9d6e2b295..014e7ad01f72 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "2.21.0";
+  version = "2.21.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-P2Czo7XRJLDnR62eLb2lYn97nS5x6LsnYHs47+mvktQ=";
+    hash = "sha256-L3PZjxbcVfqWktWuN5l8JxfR1GyxuA+1ZtO/W2YqFZA=";
   };
 
   # The project can build both an optimized cython version and an unoptimized
diff --git a/pkgs/development/python-modules/habluetooth/default.nix b/pkgs/development/python-modules/habluetooth/default.nix
index 9e347d9a1553..e37c6a680742 100644
--- a/pkgs/development/python-modules/habluetooth/default.nix
+++ b/pkgs/development/python-modules/habluetooth/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "habluetooth";
-  version = "2.1.0";
+  version = "2.4.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = "habluetooth";
     rev = "refs/tags/v${version}";
-    hash = "sha256-oPdKmaj2wKgOQw7QYwOQc8efcNtQiGryZgNJ+bbB6L8=";
+    hash = "sha256-bZtcvidjUhlb9ML1UIP00yqJ+KnJig5i0j/tAZSK7+Y=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/hass-nabucasa/default.nix b/pkgs/development/python-modules/hass-nabucasa/default.nix
index 61b1fdf58a1a..3730f653ead1 100644
--- a/pkgs/development/python-modules/hass-nabucasa/default.nix
+++ b/pkgs/development/python-modules/hass-nabucasa/default.nix
@@ -21,7 +21,7 @@
 
 buildPythonPackage rec {
   pname = "hass-nabucasa";
-  version = "0.75.1";
+  version = "0.78.0";
   pyproject = true;
 
   disabled = pythonOlder "3.10";
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "nabucasa";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VQ5nxkrHt6xp+bk/wqAPJ+srTuf9WyamoLXawW1mKWo=";
+    hash = "sha256-ZqBYmh+MA4ZuhnUQPn/C8d7CVPrwp6mirsWnoB/ZMFw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/hassil/default.nix b/pkgs/development/python-modules/hassil/default.nix
index 65b97fd7c485..229abe5f4a52 100644
--- a/pkgs/development/python-modules/hassil/default.nix
+++ b/pkgs/development/python-modules/hassil/default.nix
@@ -13,7 +13,7 @@
 
 let
   pname = "hassil";
-  version = "1.5.1";
+  version = "1.6.1";
 in
 buildPythonPackage {
   inherit pname version;
@@ -23,7 +23,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-GLvDT8BUBvEzgiqKaXokF912g3fOH+KsXnmeOXIwe9U=";
+    hash = "sha256-jkPo02Jy6UqyC5YvwMw+DDkT8rG5Xe4EiNVED/JHzKc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/holidays/default.nix b/pkgs/development/python-modules/holidays/default.nix
index 8e3918fe02a4..6cdc3fb4a30f 100644
--- a/pkgs/development/python-modules/holidays/default.nix
+++ b/pkgs/development/python-modules/holidays/default.nix
@@ -21,16 +21,16 @@
 
 buildPythonPackage rec {
   pname = "holidays";
-  version = "0.40";
+  version = "0.42";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
-    owner = "dr-prodigy";
+    owner = "vacanza";
     repo = "python-holidays";
     rev = "refs/tags/v${version}";
-    hash = "sha256-rFitLHUgXSWNd59VzG01ggaTHfVzI50OAi7Gxr6pMug=";
+    hash = "sha256-BVmH3LO0VjIcpS8HoQmP6mHv7zDK0Aw3pS4oiZWhF/4=";
   };
 
   nativeBuildInputs = [
@@ -75,8 +75,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Generate and work with holidays in Python";
-    homepage = "https://github.com/dr-prodigy/python-holidays";
-    changelog = "https://github.com/dr-prodigy/python-holidays/releases/tag/v${version}";
+    homepage = "https://github.com/vacanza/python-holidays";
+    changelog = "https://github.com/vacanza/python-holidays/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ fab jluttine ];
   };
diff --git a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
index 8d58ea765509..de204e5fb425 100644
--- a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
+++ b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "home-assistant-bluetooth";
     rev = "refs/tags/v${version}";
-    hash = "sha256-1Bp43TaJkrT9lZsBu4yiuOD4tE7vv6bYRlcgTfNwOuA=";
+    hash = "sha256-KTaZ3xbZpBIN5zP73YdJW6QeCQThGdqejnfWwvL+0R8=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/home-assistant-chip-clusters/default.nix b/pkgs/development/python-modules/home-assistant-chip-clusters/default.nix
index 8787a8da31e8..44fb32e25c2d 100644
--- a/pkgs/development/python-modules/home-assistant-chip-clusters/default.nix
+++ b/pkgs/development/python-modules/home-assistant-chip-clusters/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-chip-clusters";
-  version = "2023.12.0";
+  version = "2024.1.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     pname = "home_assistant_chip_clusters";
     dist = "py3";
     python = "py3";
-    hash = "sha256-4yAfbQBqHMEXWMwJ0kSDs0We/AsHweJ+Tc8aZiWi90w=";
+    hash = "sha256-4btkqAHbwAsyGV1LjngEoeTT5qyI8dtqFVTp0lIFwmg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/home-assistant-chip-core/default.nix b/pkgs/development/python-modules/home-assistant-chip-core/default.nix
index 5f437a150d82..3ed3b1729de9 100644
--- a/pkgs/development/python-modules/home-assistant-chip-core/default.nix
+++ b/pkgs/development/python-modules/home-assistant-chip-core/default.nix
@@ -28,7 +28,7 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-chip-core";
-  version = "2023.12.0";
+  version = "2024.1.0";
   format = "wheel";
 
   disabled = pythonOlder "3.7";
@@ -41,7 +41,7 @@ buildPythonPackage rec {
       };
       "x86_64-linux" = {
         name = "x86_64";
-        hash = "sha256-wRJWgT+uycCwNKMgHaiACv1y+AvOLrPOpcm2I8hVAxk=";
+        hash = "sha256-/+gegUMd2n7MpJvdilS5VWefXc0tuRcLrXBBXSH35b0=";
       };
     }.${stdenv.system} or (throw "Unsupported system");
   in fetchPypi {
diff --git a/pkgs/development/python-modules/knx-frontend/default.nix b/pkgs/development/python-modules/knx-frontend/default.nix
index 47b9fa4d8357..6b6a1cff6700 100644
--- a/pkgs/development/python-modules/knx-frontend/default.nix
+++ b/pkgs/development/python-modules/knx-frontend/default.nix
@@ -1,35 +1,23 @@
 { lib
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
 , setuptools
-, wheel
 }:
 
 buildPythonPackage rec {
   pname = "knx-frontend";
-  version = "2023.6.23.191712";
+  version = "2024.1.20.105944";
   format = "pyproject";
 
   # TODO: source build, uses yarn.lock
   src = fetchPypi {
     pname = "knx_frontend";
     inherit version;
-    hash = "sha256-MeurZ6731qjeBK6HTwXYLVs6+nXF9Hf1p8/NNwxmae4=";
+    hash = "sha256-5u+BaZjbGpIpQd3k+u5NC099TQuiwGKdE/EoIWny01I=";
   };
 
-  patches = [
-    # https://github.com/XKNX/knx-frontend/pull/96
-    (fetchpatch {
-      name = "relax-setuptools-dependency.patch";
-      url = "https://github.com/XKNX/knx-frontend/commit/72ac6dc42eeeb488992b0709ee58ea4a79287817.patch";
-      hash = "sha256-EpfgEq4pIx7ahqJZalzo30ruj8NlZYHcKHxFXCGL98w=";
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools
-    wheel
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index db6b13b0fcc3..38daf62a635b 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -1,54 +1,57 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, logbook
+
+# build-system
+, poetry-core
+
+# dependencies
 , aiofiles
 , aiohttp
 , aiohttp-socks
-, aioresponses
-, atomicwrites
-, attrs
-, cachetools
-, faker
-, future
-, git
 , h11
 , h2
-, hypothesis
 , jsonschema
-, peewee
-, poetry-core
-, py
 , pycryptodome
+, unpaddedbase64
+
+# optional-dependencies
+, atomicwrites
+, cachetools
+, peewee
+, python-olm
+
+# tests
+, aioresponses
+, faker
+, hpack
+, hyperframe
+, hypothesis
 , pytest-aiohttp
 , pytest-benchmark
 , pytestCheckHook
-, python-olm
-, unpaddedbase64
+
+# passthru tests
+, nixosTests
+, opsdroid
+, pantalaimon
+, weechatScripts
+, zulip
 }:
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.22.1";
+  version = "0.24.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    hash = "sha256-hFSS2Nys95YJgBNED8SBan24iRo2q/UOr6pqUPAF5Ms=";
+    hash = "sha256-XlswVHLvKOi1qr+I7Mbm4IBjn1DG7glgDsNY48NA5Ew=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'aiofiles = "^0.6.0"' 'aiofiles = "*"' \
-      --replace 'h11 = "^0.12.0"' 'h11 = "*"' \
-      --replace 'cachetools = { version = "^4.2.1", optional = true }' 'cachetools = { version = "*", optional = true }' \
-      --replace 'aiohttp-socks = "^0.7.0"' 'aiohttp-socks = "*"'
-  '';
-
   nativeBuildInputs = [
-    git
     poetry-core
   ];
 
@@ -56,12 +59,9 @@ buildPythonPackage rec {
     aiofiles
     aiohttp
     aiohttp-socks
-    attrs
-    future
     h11
     h2
     jsonschema
-    logbook
     pycryptodome
     unpaddedbase64
   ];
@@ -78,8 +78,9 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     faker
+    hpack
+    hyperframe
     hypothesis
-    py
     pytest-aiohttp
     pytest-benchmark
     pytestCheckHook
@@ -96,6 +97,23 @@ buildPythonPackage rec {
     "test_transfer_monitor_callbacks"
   ];
 
+  passthru.tests = {
+    inherit (nixosTests)
+      dendrite
+      matrix-appservice-irc
+      matrix-conduit
+      mjolnir
+    ;
+    inherit (weechatScripts)
+      weechat-matrix
+    ;
+    inherit
+      opsdroid
+      pantalaimon
+      zulip
+    ;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/poljar/matrix-nio";
     changelog = "https://github.com/poljar/matrix-nio/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix
index 8c6ccf5754e6..570ee23fcbf4 100644
--- a/pkgs/development/python-modules/python-matter-server/default.nix
+++ b/pkgs/development/python-modules/python-matter-server/default.nix
@@ -18,6 +18,7 @@
 # optionals
 , cryptography
 , home-assistant-chip-core
+, zeroconf
 
 # tests
 , python
@@ -28,7 +29,7 @@
 
 buildPythonPackage rec {
   pname = "python-matter-server";
-  version = "5.1.1";
+  version = "5.5.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -37,7 +38,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "python-matter-server";
     rev = "refs/tags/${version}";
-    hash = "sha256-y4gapml7rIwOu1TVDEHPch7JS5Rl/cIfMLeVMIFzXOY=";
+    hash = "sha256-8daAABR5l8ZEX+PR4XrxRHlLllgnOVE4Q9yY/7UQXHw=";
   };
 
   postPatch = ''
@@ -63,6 +64,7 @@ buildPythonPackage rec {
     server = [
       cryptography
       home-assistant-chip-core
+      zeroconf
     ];
   };
 
@@ -70,7 +72,7 @@ buildPythonPackage rec {
     pytest-aiohttp
     pytestCheckHook
   ]
-  ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
+  ++ lib.flatten (lib.attrValues passthru.optional-dependencies);
 
   preCheck = let
     pythonEnv = python.withPackages (_: propagatedBuildInputs ++ nativeCheckInputs ++ [ pytest ]);
diff --git a/pkgs/development/python-modules/tesla-powerwall/default.nix b/pkgs/development/python-modules/tesla-powerwall/default.nix
index 1feefef49b6f..fcdab982a02d 100644
--- a/pkgs/development/python-modules/tesla-powerwall/default.nix
+++ b/pkgs/development/python-modules/tesla-powerwall/default.nix
@@ -3,14 +3,16 @@
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
-, requests
-, responses
+, aiohttp
+, urllib3
+, orjson
+, aresponses
 , setuptools
 }:
 
 buildPythonPackage rec {
   pname = "tesla-powerwall";
-  version = "0.4.0";
+  version = "0.5.1";
   pyproject = true;
 
   disabled = pythonOlder "3.7";
@@ -19,7 +21,7 @@ buildPythonPackage rec {
     owner = "jrester";
     repo = "tesla_powerwall";
     rev = "refs/tags/v${version}";
-    hash = "sha256-IqUxWwEvrSEbLAEnHG84oCV75qO0L5LmgpHOfaM6G8o=";
+    hash = "sha256-if/FCfxAB48WGXZOMvCtdSOW2FWO43OrlcHZbXIPmGE=";
   };
 
   nativeBuildInputs = [
@@ -27,12 +29,14 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    requests
+    aiohttp
+    urllib3
+    orjson
   ];
 
   nativeCheckInputs = [
+    aresponses
     pytestCheckHook
-    responses
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/thermopro-ble/default.nix b/pkgs/development/python-modules/thermopro-ble/default.nix
index 3cf2170ed084..b6680af0d2fb 100644
--- a/pkgs/development/python-modules/thermopro-ble/default.nix
+++ b/pkgs/development/python-modules/thermopro-ble/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "thermopro-ble";
-  version = "0.8.0";
+  version = "0.9.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "bluetooth-devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-ENzFX0rD97hCnllFKjcSGbAbEksqln/Hj0MuDVOKGDo=";
+    hash = "sha256-x/eO+LNJ98ThrQD5c9S54cPRnupN21UkpF7uR3+WwSU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/universal-silabs-flasher/default.nix b/pkgs/development/python-modules/universal-silabs-flasher/default.nix
index 3872cd5ce2a5..938856691b7a 100644
--- a/pkgs/development/python-modules/universal-silabs-flasher/default.nix
+++ b/pkgs/development/python-modules/universal-silabs-flasher/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , buildPythonPackage
 , fetchFromGitHub
+, pythonRelaxDepsHook
 
 # build-system
 , setuptools
@@ -26,21 +27,27 @@
 
 buildPythonPackage rec {
   pname = "universal-silabs-flasher";
-  version = "0.0.15";
+  version = "0.0.18";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "NabuCasa";
     repo = "universal-silabs-flasher";
     rev = "v${version}";
-    hash = "sha256-5hA1i2XzKzQDRrZfOaA6I3X7hU+nSd7HpcHHNIzZO7g=";
+    hash = "sha256-XUMpWzDqouhbsP+s0b13f6N0YGdXJK6qhbWQLqMzNHM=";
   };
 
   nativeBuildInputs = [
+    pythonRelaxDepsHook
     setuptools
     setuptools-git-versioning
   ];
 
+  pythonRelaxDeps = [
+    # https://github.com/NabuCasa/universal-silabs-flasher/pull/50
+    "gpiod"
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     bellows
diff --git a/pkgs/development/python-modules/wyoming/default.nix b/pkgs/development/python-modules/wyoming/default.nix
index 715c20b842ac..debc6ad7bba1 100644
--- a/pkgs/development/python-modules/wyoming/default.nix
+++ b/pkgs/development/python-modules/wyoming/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "wyoming";
-  version = "1.4.0";
+  version = "1.5.2";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "wyoming";
     rev = "refs/tags/${version}";
-    hash = "sha256-59/6tRHHAu31VFuKhj2LCEUqkdVi81fu5POuGJmw9bw=";
+    hash = "sha256-2bc5coKL5KlTeL9fdghPmRF66NXfimHOKGtE2yPXgrA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 9063ecd02db0..f3fcfc74d4f5 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.109";
+  version = "0.0.111";
   pyproject = true;
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-fkE44j+wXdIJekJJNoO67YzsghalTUpyNx9R/B2Vn1Y=";
+    hash = "sha256-e2Ho/LBdnEKn7hgykhstjv8ZUYAn41e1+rsgA1MEmf4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/zigpy-znp/default.nix b/pkgs/development/python-modules/zigpy-znp/default.nix
index 4378570f77f9..8bc40b8a5566 100644
--- a/pkgs/development/python-modules/zigpy-znp/default.nix
+++ b/pkgs/development/python-modules/zigpy-znp/default.nix
@@ -62,6 +62,17 @@ buildPythonPackage rec {
     "--reruns=3"
   ];
 
+  disabledTests = [
+    # failing since zigpy 0.60.0
+    "test_join_device"
+    "test_nonstandard_profile"
+    "test_permit_join"
+    "test_request_recovery_route_rediscovery_zdo"
+    "test_watchdog"
+    "test_zigpy_request"
+    "test_zigpy_request_failure"
+  ];
+
   pythonImportsCheck = [
     "zigpy_znp"
   ];
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index c3f1c2b5d43e..9038d29222d5 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -18,8 +18,8 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.60.2";
-  format = "pyproject";
+  version = "0.62.3";
+  pyproject = true;
 
   disabled = pythonOlder "3.8";
 
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = "refs/tags/${version}";
-    hash = "sha256-3hYgb2uvyFQmtfdVKBorGhTgVt/Dq1roXTu7xvE7SHY=";
+    hash = "sha256-LMcyYDUH/jGrDW8sjrT9kHdIWQ20fOOcOJRhUpKMGi8=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index cc2c6d5cf7d3..57faad5e0902 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "2024.1.6";
+  version = "2024.2.1";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -94,6 +94,8 @@
     "airtouch4" = ps: with ps; [
       airtouch4pyapi
     ];
+    "airtouch5" = ps: with ps; [
+    ]; # missing inputs: airtouch5py
     "airvisual" = ps: with ps; [
       pyairvisual
     ];
@@ -157,6 +159,8 @@
       psutil-home-assistant
       sqlalchemy
     ];
+    "analytics_insights" = ps: with ps; [
+    ]; # missing inputs: python-homeassistant-analytics
     "android_ip_webcam" = ps: with ps; [
       pydroid-ipcam
     ];
@@ -383,6 +387,8 @@
     "balboa" = ps: with ps; [
       pybalboa
     ];
+    "bang_olufsen" = ps: with ps; [
+    ]; # missing inputs: mozart-api
     "bayesian" = ps: with ps; [
     ];
     "bbox" = ps: with ps; [
@@ -561,6 +567,8 @@
     ];
     "brel_home" = ps: with ps; [
     ];
+    "bring" = ps: with ps; [
+    ]; # missing inputs: python-bring-api
     "broadlink" = ps: with ps; [
       broadlink
     ];
@@ -680,9 +688,6 @@
     "cisco_mobility_express" = ps: with ps; [
       ciscomobilityexpress
     ];
-    "cisco_webex_teams" = ps: with ps; [
-      webexteamssdk
-    ];
     "citybikes" = ps: with ps; [
     ];
     "clementine" = ps: with ps; [
@@ -719,6 +724,8 @@
     "co2signal" = ps: with ps; [
       aioelectricitymaps
     ];
+    "coautilities" = ps: with ps; [
+    ];
     "coinbase" = ps: with ps; [
     ]; # missing inputs: coinbase
     "color_extractor" = ps: with ps; [
@@ -1115,6 +1122,7 @@
       pyeconet
     ];
     "ecovacs" = ps: with ps; [
+      deebot-client
     ]; # missing inputs: py-sucks
     "ecowitt" = ps: with ps; [
       aioecowitt
@@ -1170,6 +1178,11 @@
     "elv" = ps: with ps; [
       pypca
     ];
+    "elvia" = ps: with ps; [
+      fnv-hash-fast
+      psutil-home-assistant
+      sqlalchemy
+    ]; # missing inputs: elvia
     "emby" = ps: with ps; [
       pyemby
     ];
@@ -1238,6 +1251,9 @@
     "ephember" = ps: with ps; [
       pyephember
     ];
+    "epion" = ps: with ps; [
+      epion
+    ];
     "epson" = ps: with ps; [
       epson-projector
     ];
@@ -1332,8 +1348,6 @@
     ];
     "facebook" = ps: with ps; [
     ];
-    "facebox" = ps: with ps; [
-    ];
     "fail2ban" = ps: with ps; [
     ];
     "familyhub" = ps: with ps; [
@@ -1787,6 +1801,15 @@
       webrtc-noise-gain
       zeroconf
     ];
+    "govee_light_local" = ps: with ps; [
+      aiohttp-cors
+      aiohttp-fast-url-dispatcher
+      aiohttp-zlib-ng
+      fnv-hash-fast
+      ifaddr
+      psutil-home-assistant
+      sqlalchemy
+    ]; # missing inputs: govee-local-api
     "gpsd" = ps: with ps; [
       gps3
     ];
@@ -1898,6 +1921,8 @@
     "hive" = ps: with ps; [
       pyhiveapi
     ];
+    "hko" = ps: with ps; [
+    ]; # missing inputs: hko
     "hlk_sw16" = ps: with ps; [
       hlk-sw16
     ];
@@ -1915,10 +1940,6 @@
       sqlalchemy
     ];
     "home_plus_control" = ps: with ps; [
-      aiohttp-cors
-      aiohttp-fast-url-dispatcher
-      aiohttp-zlib-ng
-      homepluscontrol
     ];
     "homeassistant" = ps: with ps; [
     ];
@@ -2108,6 +2129,9 @@
     ];
     "hurrican_shutters_wholesale" = ps: with ps; [
     ];
+    "huum" = ps: with ps; [
+      huum
+    ];
     "hvv_departures" = ps: with ps; [
       pygti
     ];
@@ -2542,6 +2566,9 @@
     ];
     "lacrosse_view" = ps: with ps; [
     ]; # missing inputs: lacrosse-view
+    "lamarzocco" = ps: with ps; [
+      lmcloud
+    ];
     "lametric" = ps: with ps; [
       aiohttp-cors
       aiohttp-fast-url-dispatcher
@@ -2608,6 +2635,35 @@
       webrtc-noise-gain
       zeroconf
     ];
+    "leaone" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aiohttp-fast-url-dispatcher
+      aiohttp-zlib-ng
+      aioruuvigateway
+      aioshelly
+      bleak
+      bleak-esphome
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      ha-ffmpeg
+      habluetooth
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ]; # missing inputs: leaone-ble
     "led_ble" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
@@ -2650,7 +2706,6 @@
       aiopyarr
     ];
     "life360" = ps: with ps; [
-      life360
     ];
     "lifx" = ps: with ps; [
       aiohttp-cors
@@ -2962,9 +3017,6 @@
     "meteoclimatic" = ps: with ps; [
       pymeteoclimatic
     ];
-    "metoffice" = ps: with ps; [
-      datapoint
-    ];
     "mfi" = ps: with ps; [
     ]; # missing inputs: mficlient
     "microsoft" = ps: with ps; [
@@ -3211,6 +3263,14 @@
     "mythicbeastsdns" = ps: with ps; [
       mbddns
     ];
+    "myuplink" = ps: with ps; [
+      aiohttp-cors
+      aiohttp-fast-url-dispatcher
+      aiohttp-zlib-ng
+      fnv-hash-fast
+      psutil-home-assistant
+      sqlalchemy
+    ]; # missing inputs: myuplink
     "nad" = ps: with ps; [
       nad-receiver
     ];
@@ -3884,6 +3944,17 @@
     "qwikswitch" = ps: with ps; [
       pyqwikswitch
     ];
+    "rabbitair" = ps: with ps; [
+      aiohttp-cors
+      aiohttp-fast-url-dispatcher
+      aiohttp-zlib-ng
+      fnv-hash-fast
+      ifaddr
+      psutil-home-assistant
+      python-rabbitair
+      sqlalchemy
+      zeroconf
+    ];
     "rachio" = ps: with ps; [
       aiohttp-cors
       aiohttp-fast-url-dispatcher
@@ -3920,6 +3991,16 @@
       aioeagle
       eagle100
     ];
+    "rainforest_raven" = ps: with ps; [
+      aiohttp-cors
+      aiohttp-fast-url-dispatcher
+      aiohttp-zlib-ng
+      fnv-hash-fast
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+    ]; # missing inputs: aioraven
     "rainmachine" = ps: with ps; [
       regenmaschine
     ];
@@ -4079,6 +4160,8 @@
     "roku" = ps: with ps; [
       rokuecp
     ];
+    "romy" = ps: with ps; [
+    ]; # missing inputs: romy
     "roomba" = ps: with ps; [
       roombapy
     ];
@@ -4826,8 +4909,7 @@
       tank-utility
     ];
     "tankerkoenig" = ps: with ps; [
-      pytankerkoenig
-    ];
+    ]; # missing inputs: aiotankerkoenig
     "tapsaff" = ps: with ps; [
     ]; # missing inputs: tapsaff
     "tasmota" = ps: with ps; [
@@ -4843,9 +4925,17 @@
     ];
     "tcp" = ps: with ps; [
     ];
+    "technove" = ps: with ps; [
+    ]; # missing inputs: python-technove
     "ted5000" = ps: with ps; [
       xmltodict
     ];
+    "tedee" = ps: with ps; [
+      aiohttp-cors
+      aiohttp-fast-url-dispatcher
+      aiohttp-zlib-ng
+      pytedee-async
+    ];
     "telegram" = ps: with ps; [
       aiohttp-cors
       aiohttp-fast-url-dispatcher
@@ -4881,6 +4971,9 @@
     "tesla_wall_connector" = ps: with ps; [
       tesla-wall-connector
     ];
+    "teslemetry" = ps: with ps; [
+      tesla-fleet-api
+    ];
     "tessie" = ps: with ps; [
     ]; # missing inputs: tessie-api
     "text" = ps: with ps; [
@@ -5085,6 +5178,8 @@
     "tplink_omada" = ps: with ps; [
       tplink-omada-client
     ];
+    "tplink_tapo" = ps: with ps; [
+    ];
     "traccar" = ps: with ps; [
       aiohttp-cors
       aiohttp-fast-url-dispatcher
@@ -5092,6 +5187,9 @@
       pytraccar
       stringcase
     ];
+    "traccar_server" = ps: with ps; [
+      pytraccar
+    ];
     "trace" = ps: with ps; [
     ];
     "tractive" = ps: with ps; [
@@ -5133,8 +5231,7 @@
     ];
     "tuya" = ps: with ps; [
       ha-ffmpeg
-      tuya-iot-py-sdk
-    ];
+    ]; # missing inputs: tuya-device-sharing-sdk
     "twentemilieu" = ps: with ps; [
       twentemilieu
     ];
@@ -5891,6 +5988,7 @@
     "enocean"
     "enphase_envoy"
     "environment_canada"
+    "epion"
     "epson"
     "escea"
     "esphome"
@@ -5901,7 +5999,6 @@
     "ezviz"
     "faa_delays"
     "facebook"
-    "facebox"
     "fail2ban"
     "fan"
     "feedreader"
@@ -5972,6 +6069,7 @@
     "google_travel_time"
     "google_wifi"
     "govee_ble"
+    "gpsd"
     "gpslogger"
     "graphite"
     "gree"
@@ -5995,7 +6093,6 @@
     "hlk_sw16"
     "holiday"
     "home_connect"
-    "home_plus_control"
     "homeassistant"
     "homeassistant_alerts"
     "homeassistant_green"
@@ -6015,6 +6112,7 @@
     "huisbaasje"
     "humidifier"
     "hunterdouglas_powerview"
+    "huum"
     "hvv_departures"
     "hydrawise"
     "hyperion"
@@ -6065,6 +6163,7 @@
     "kostal_plenticore"
     "kraken"
     "kulersky"
+    "lamarzocco"
     "lametric"
     "landisgyr_heat_meter"
     "lastfm"
@@ -6096,6 +6195,8 @@
     "loqed"
     "lovelace"
     "luftdaten"
+    "lupusec"
+    "lutron"
     "lutron_caseta"
     "lyric"
     "mailbox"
@@ -6116,7 +6217,6 @@
     "met_eireann"
     "meteo_france"
     "meteoclimatic"
-    "metoffice"
     "microsoft_face"
     "microsoft_face_detect"
     "microsoft_face_identify"
@@ -6244,6 +6344,7 @@
     "qnap"
     "qnap_qsw"
     "qwikswitch"
+    "rabbitair"
     "rachio"
     "radarr"
     "radio_browser"
@@ -6382,16 +6483,17 @@
     "tag"
     "tailscale"
     "tailwind"
-    "tankerkoenig"
     "tasmota"
     "tautulli"
     "tcp"
+    "tedee"
     "telegram"
     "telegram_bot"
     "tellduslive"
     "temper"
     "template"
     "tesla_wall_connector"
+    "teslemetry"
     "text"
     "thermobeacon"
     "thermopro"
@@ -6414,6 +6516,7 @@
     "tplink"
     "tplink_omada"
     "traccar"
+    "traccar_server"
     "trace"
     "tractive"
     "tradfri"
@@ -6425,7 +6528,6 @@
     "transport_nsw"
     "trend"
     "tts"
-    "tuya"
     "twentemilieu"
     "twilio"
     "twinkly"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 8321f8598f82..a3d74d51c4df 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -90,7 +90,7 @@ let
           hash = "sha256-YmJH4brWkTpgzyHwu9UnIWrY5qlDCmMtvF+KxQFXwfk=";
         };
         postPatch = ''
-          substituteInPlace pyproject.toml --replace \
+          substituteInPlace pyproject.toml --replace-fail \
             '"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \
             '"poetry-core"'
         '';
@@ -125,21 +125,12 @@ let
           hash = "sha256-tWnxGLJT+CRFvkhxFamHxnLXBvoR8tfOvzH1o1i5JJg=";
         };
         postPatch = ''
-          substituteInPlace pyproject.toml --replace \
+          substituteInPlace pyproject.toml --replace-fail \
             '"setuptools >= 35.0.2", "wheel >= 0.29.0", "poetry>=0.12"' \
             '"poetry-core"'
         '';
       });
 
-      amberelectric = super.amberelectric.overridePythonAttrs (oldAttrs: rec {
-        version = "1.0.4";
-        src = fetchPypi {
-          inherit (oldAttrs) pname;
-          inherit version;
-          hash = "sha256-5SWJnTxRm6mzP0RxrgA+jnV+Gp23WjqQA57wbT2V9Dk=";
-        };
-      });
-
       anova-wifi = super.anova-wifi.overridePythonAttrs (old: rec {
         version = "0.10.3";
         src = fetchFromGitHub {
@@ -159,8 +150,8 @@ let
         };
         postPatch = ''
           substituteInPlace pyproject.toml \
-            --replace "poetry>=1.0.0b1" "poetry-core" \
-            --replace "poetry.masonry" "poetry.core.masonry"
+            --replace-fail "poetry>=1.0.0b1" "poetry-core" \
+            --replace-fail "poetry.masonry" "poetry.core.masonry"
         '';
         propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
           self.pytz
@@ -216,14 +207,25 @@ let
         };
       });
 
-      justnimbus = super.justnimbus.overridePythonAttrs (oldAttrs: rec {
-        version = "0.6.0";
+      lxml = super.lxml.overridePythonAttrs (oldAttrs: rec {
+        version = "5.1.0";
+        pyprojet = true;
+
         src = fetchFromGitHub {
-          owner = "kvanzuijlen";
-          repo = "justnimbus";
-          rev = "refs/tags/${version}";
-          hash = "sha256-uQ5Nc5sxqHeAuavyfX4Q6Umsd54aileJjFwOOU6X7Yg=";
+          owner = "lxml";
+          repo = "lxml";
+          rev = "refs/tags/lxml-${version}";
+          hash = "sha256-eWLYzZWatYDmhuBTZynsdytlNFKKmtWQ1XIyzVD8sDY=";
         };
+
+        nativeBuildInputs = with self; [
+          cython_3
+          setuptools
+          libxml2.dev
+          libxslt.dev
+        ];
+
+        patches = [];
       });
 
       notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec {
@@ -321,16 +323,6 @@ let
         };
       });
 
-      pydrawise = super.pydrawise.overridePythonAttrs (oldAttrs: rec {
-        version = "2023.11.0";
-        src = fetchFromGitHub {
-          owner = "dknowles2";
-          repo = "pydrawise";
-          rev = "refs/tags/${version}";
-          hash = "sha256-gKOyTvdETGzKlpU67UKaHYTIvnAX9znHIynP3BiVbt4=";
-        };
-      });
-
       pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec {
         version = "1.0.1";
         src = fetchFromGitHub {
@@ -350,35 +342,6 @@ let
         };
       });
 
-      python-kasa = super.python-kasa.overridePythonAttrs (oldAttrs: rec {
-        version = "0.5.4";
-        src = fetchFromGitHub {
-          owner = "python-kasa";
-          repo = "python-kasa";
-          rev = "refs/tags/${version}";
-          hash = "sha256-wGPMrYaTtKkkNW88eyiiciFcBSTRqqChYi6e15WUCHo=";
-        };
-      });
-
-      python-roborock = super.python-roborock.overridePythonAttrs (oldAttrs: rec {
-        version = "0.38.0";
-        src = fetchFromGitHub {
-          owner = "humbertogontijo";
-          repo = "python-roborock";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-jYESUMhLb5oiM3PWIIIU4dn/waGUnCAaXe0URnIq0C8=";
-        };
-      });
-
-      python-slugify = super.python-slugify.overridePythonAttrs (oldAttrs: rec {
-        pname = "python-slugify";
-        version = "4.0.1";
-        src = fetchPypi {
-          inherit pname version;
-          hash = "sha256-aaUXdm4AwSaOW7/A0BCgqFCN4LGNMK1aH/NX+K5yQnA=";
-        };
-      });
-
       pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec {
         version = "9.0.1";
         src = fetchFromGitHub {
@@ -389,16 +352,6 @@ let
         };
       });
 
-      tesla-powerwall = super.tesla-powerwall.overridePythonAttrs (oldAttrs: rec {
-        version = "0.3.19";
-        src = fetchFromGitHub {
-          owner = "jrester";
-          repo = "tesla_powerwall";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-ClrMgPAMBtDMfD6hCJIN1u4mp75QW+c3re28v3FreQg=";
-        };
-      });
-
       versioningit = super.versioningit.overridePythonAttrs (oldAttrs: rec {
         version = "2.2.0";
         src = fetchPypi {
@@ -483,7 +436,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2024.1.6";
+  hassVersion = "2024.2.1";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -501,13 +454,13 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-zCpdOl16ZkO9mr0nYZg1mlnGNaPaX0RALFEDRHGfKvM=";
+    hash = "sha256-PtBDSxl0744rytMeMOTAj60eERzANzD2dyd4sPivgqQ=";
   };
 
   # Secondary source is pypi sdist for translations
   sdist = fetchPypi {
     inherit pname version;
-    hash = "sha256-ipAw+vqePa5KA/Gqhl3WsQbzmzMXjmVx0NvbrM84SKg=";
+    hash = "sha256-iLCHoDfZ1gz+LxNxIiKNsSDaL2Taq8B3Huu000eXSxc=";
   };
 
   nativeBuildInputs = with python.pkgs; [
@@ -516,19 +469,12 @@ in python.pkgs.buildPythonApplication rec {
   ];
 
   pythonRelaxDeps = [
-    "awesomeversion"
+    "attrs"
     "ciso8601"
-    "cryptography"
-    "home-assistant-bluetooth"
-    "httpx"
-    "jinja2"
-    "lru-dict"
     "orjson"
     "pyopenssl"
     "typing-extensions"
     "urllib3"
-    "voluptuous"
-    "yarl"
   ];
 
   # extract translations from pypi sdist
@@ -549,7 +495,7 @@ in python.pkgs.buildPythonApplication rec {
   ];
 
   postPatch = ''
-    substituteInPlace tests/test_config.py --replace '"/usr"' '"/build/media"'
+    substituteInPlace tests/test_config.py --replace-fail '"/usr"' '"/build/media"'
 
     sed -i 's/setuptools[~=]/setuptools>/' pyproject.toml
     sed -i 's/wheel[~=]/wheel>/' pyproject.toml
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index c3584697ea01..24ee86b9b25f 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ buildPythonPackage rec {
   # the frontend version corresponding to a specific home-assistant version can be found here
   # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
   pname = "home-assistant-frontend";
-  version = "20240104.0";
+  version = "20240207.1";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-AQkrnU5UKsrl02CXDNf/aMTPII39poWJoZ4nBpySTZE=";
+    hash = "sha256-uGBVha7nJvYua1rZXlIJGhUzEm5wSrhazrOBUi3omJk=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix
index 8e5921ceb2ff..8bdd0542b926 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -1,73 +1,41 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , pythonOlder
 
-# build
-, hassil
-, jinja2
-, pyyaml
-, regex
-, voluptuous
-, python
+# build-system
 , setuptools
-, wheel
-
-# tests
-, pytest-xdist
-, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
-  version = "2024.1.2";
+  version = "2024.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
-  src = fetchFromGitHub {
-    owner = "home-assistant";
-    repo = "intents-package";
-    rev = "refs/tags/${version}";
-    hash = "sha256-uOrSvkzymG31nRmAgrn6z1IDJWahxqXHcPDflLPRVT4=";
-    fetchSubmodules = true;
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Tb9ZZvs5Wyzm2TS5INUSua4Y3/2H+kHEhjpfYWJi+d0=";
   };
 
   postPatch = ''
-    substituteInPlace pyproject.toml --replace 'requires = ["setuptools~=62.3", "wheel~=0.37.1"]' 'requires = ["setuptools", "wheel"]'
+    substituteInPlace pyproject.toml --replace-fail \
+      'requires = ["setuptools~=62.3", "wheel~=0.37.1"]' \
+      'requires = ["setuptools"]'
   '';
 
   nativeBuildInputs = [
-    hassil
-    jinja2
-    pyyaml
-    regex
     setuptools
-    wheel
-    voluptuous
   ];
 
-  postInstall = ''
-    pushd intents
-    # https://github.com/home-assistant/intents/blob/main/script/package#L18
-    ${python.pythonOnBuildForHost.interpreter} -m script.intentfest merged_output $out/${python.sitePackages}/home_assistant_intents/data
-    popd
-  '';
-
-  checkInputs = [
-    pytest-xdist
-    pytestCheckHook
-  ];
+  # sdist does not ship tests
+  doCheck = false;
 
   pytestFlagsArray = [
     "intents/tests"
   ];
 
-  disabledTests = [
-    # AssertionError: Recognition failed for 'put apples on the list'
-    "test_shopping_list_HassShoppingListAddItem"
-  ];
-
   meta = with lib; {
     description = "Intents to be used with Home Assistant";
     homepage = "https://github.com/home-assistant/intents";
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index 6638a50683c4..536dce6652a7 100644
--- a/pkgs/servers/home-assistant/stubs.nix
+++ b/pkgs/servers/home-assistant/stubs.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "homeassistant-stubs";
-  version = "2024.1.6";
+  version = "2024.2.1";
   format = "pyproject";
 
   disabled = python.version != home-assistant.python.version;
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "KapJI";
     repo = "homeassistant-stubs";
     rev = "refs/tags/${version}";
-    hash = "sha256-htFz3Cw5AvI1h2YvECOJdMA4N3JAQRRRhx1tfR4h5co=";
+    hash = "sha256-1a2iwyRyXOD8iaTzdnEGfwCgw6dU2bV1iWpoD7s35QI=";
   };
 
   nativeBuildInputs = [
@@ -27,7 +27,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     # Relax constraint to year and month
-    substituteInPlace pyproject.toml --replace \
+    substituteInPlace pyproject.toml --replace-fail \
       'homeassistant = "${version}"' \
       'homeassistant = "~${lib.versions.majorMinor home-assistant.version}"'
   '';
diff --git a/pkgs/tools/audio/wyoming/faster-whisper.nix b/pkgs/tools/audio/wyoming/faster-whisper.nix
index e7eecd18350d..cd1a9def0189 100644
--- a/pkgs/tools/audio/wyoming/faster-whisper.nix
+++ b/pkgs/tools/audio/wyoming/faster-whisper.nix
@@ -6,27 +6,21 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wyoming-faster-whisper";
-  version = "1.0.2";
+  version = "1.1.0";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "wyoming-faster-whisper";
     rev = "refs/tags/v${version}";
-    hash = "sha256-mKnWab3i6lEnCBbO3ucNmWIxaaWwQagzfDhaD1U3qow=";
+    hash = "sha256-RD6J/Q7kvd+sgTpR6ERyV+D8gpm0fF38L3U/Jp7gOgk=";
   };
 
   patches = [
-    # add wyoming-faster-whisper executable
     (fetchpatch {
-      url = "https://github.com/rhasspy/wyoming-faster-whisper/commit/a5715197abab34253d2864ed8cf406210834b4ec.patch";
-      hash = "sha256-a9gmXMngwXo9ZJDbxl/pPzm6WSy5XeGbz/Xncj7bOog=";
-    })
-
-    # fix model retrieval on python3.11+
-    (fetchpatch {
-      url = "https://github.com/rhasspy/wyoming-faster-whisper/commit/d5229df2c3af536013bc931c1ed7cc239b618208.patch";
-      hash = "sha256-CMpOJ1qSPcdtX2h2ecGmQ/haus/gaSH8r/PCFsMChRY=";
+      # fix setup.py
+      url = "https://github.com/rhasspy/wyoming-faster-whisper/commit/cdd1536997a091dcf9054da9ff424a2603067755.patch";
+      hash = "sha256-LGYo21FhKGXcAN9DjXzwIRqkOzTz3suXiQdgGrJSDBw=";
     })
   ];