summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2023-10-05 05:30:10 +0200
committerGitHub <noreply@github.com>2023-10-05 05:30:10 +0200
commit45f2fb90eba6ae42fcd5a9395d3e95693079811f (patch)
tree2980b7d06d60c9ff0b0c74795b5d4fad16842342 /pkgs
parentc748544b2f3bc3c7716c91ccedb2b2fef300e789 (diff)
parentf92134d363dfd5f11bd017ca106779bf59aa7866 (diff)
Merge pull request #259083 from NixOS/home-assistant
home-assistant: 2023.9.3 -> 2023.10.0
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/python-modules/aioairzone-cloud/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohue/default.nix22
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix6
-rw-r--r--pkgs/development/python-modules/faadelays/default.nix21
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix4
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyenphase/default.nix5
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix14
-rw-r--r--pkgs/development/python-modules/pysensibo/default.nix4
-rw-r--r--pkgs/development/python-modules/pyserial-asyncio-fast/default.nix53
-rw-r--r--pkgs/development/python-modules/python-roborock/default.nix4
-rw-r--r--pkgs/development/python-modules/screenlogicpy/default.nix4
-rw-r--r--pkgs/development/python-modules/syrupy/default.nix4
-rw-r--r--pkgs/development/python-modules/twitchapi/default.nix26
-rw-r--r--pkgs/development/python-modules/webrtc-noise-gain/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-xbee/default.nix8
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix230
-rw-r--r--pkgs/servers/home-assistant/default.nix26
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/intents.nix4
-rw-r--r--pkgs/servers/home-assistant/stubs.nix4
-rw-r--r--pkgs/servers/home-assistant/tests.nix2
-rw-r--r--pkgs/top-level/python-packages.nix2
24 files changed, 320 insertions, 143 deletions
diff --git a/pkgs/development/python-modules/aioairzone-cloud/default.nix b/pkgs/development/python-modules/aioairzone-cloud/default.nix
index f69f45d7efd03..bdc21d70892f7 100644
--- a/pkgs/development/python-modules/aioairzone-cloud/default.nix
+++ b/pkgs/development/python-modules/aioairzone-cloud/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aioairzone-cloud";
-  version = "0.2.2";
+  version = "0.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone-cloud";
     rev = "refs/tags/${version}";
-    hash = "sha256-SGHbM7D21ykFWwg4aTUUMIFpwZ0K8CQohZYtzXOPJQg=";
+    hash = "sha256-7sjiY20jDUHtEnqAMwEHsBboK9XCH5XjE0sHR82YvEA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohue/default.nix b/pkgs/development/python-modules/aiohue/default.nix
index efd590e7e827e..56b911ee4f893 100644
--- a/pkgs/development/python-modules/aiohue/default.nix
+++ b/pkgs/development/python-modules/aiohue/default.nix
@@ -5,23 +5,35 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pytest-aiohttp
+, pytest-asyncio
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "4.6.2";
-  format = "setuptools";
+  version = "4.7.0";
+  pyproject = true;
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-DzslGfKwsXXWWhbTb0apJCsnNdnUe7AbvrRT8ZnPbVU=";
+    hash = "sha256-t48rUPAM0XpbDreCwHU/smoyhPtxhwrpDkb1170GkQM=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"'
+  '';
+
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     awesomeversion
     aiohttp
@@ -30,6 +42,8 @@ buildPythonPackage rec {
 
   nativeCheckInputs = [
     pytestCheckHook
+    pytest-asyncio
+    pytest-aiohttp
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index a906f8311f812..02e84b8f7e04e 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -10,12 +10,13 @@
 , pythonOlder
 , segno
 , setuptools
+, trustme
 , wheel
 }:
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "62";
+  version = "63";
   format = "pyproject";
 
   disabled = pythonOlder "3.11";
@@ -24,7 +25,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-5XCF67YuelS4RDUxfImSAELfdb3rJWGprIYQeQPp+yk=";
+    hash = "sha256-am11pFgYMRccUNaK/iKdp6mfk5NQ4QnU41xbFiGCMPs=";
   };
 
   postPatch = ''
@@ -51,6 +52,7 @@ buildPythonPackage rec {
     pytest-aiohttp
     pytest-asyncio
     pytestCheckHook
+    trustme
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/faadelays/default.nix b/pkgs/development/python-modules/faadelays/default.nix
index 22f764ad4aced..e19b3192e3503 100644
--- a/pkgs/development/python-modules/faadelays/default.nix
+++ b/pkgs/development/python-modules/faadelays/default.nix
@@ -3,25 +3,38 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "faadelays";
-  version = "0.0.7";
+  version = "2023.9.1";
+  format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-osZqfSYlKPYZMelBR6YB331iRB4DTjCUlmX7pcrIiGk=";
+    hash = "sha256-ngMFd+BE3hKeaeGEX4xHpzDIrtGFDsSwxBbrc4ZMFas=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  nativeBuildInputs = [
+    setuptools
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "faadelays" ];
+
+  pythonImportsCheck = [
+    "faadelays"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/ntilley905/faadelays/releases/tag/v${version}";
     description = "Python package to retrieve FAA airport status";
     homepage = "https://github.com/ntilley905/faadelays";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 03bc6015843d0..77f47543c52aa 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -29,14 +29,14 @@
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.20.1";
+  version = "0.21.2";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    hash = "sha256-6oMOfyl8yR8FMprPYD831eiXh9g/bqslvxDmVcrNK80=";
+    hash = "sha256-eK5DPmPZ/hv3i3lzoIuS9sJXKpUNhmBv4+Nw2u/RZi0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index d2ecca94cb4d1..57b4cb430b77a 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.15.3";
+  version = "4.15.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = "refs/tags/${version}";
-    hash = "sha256-3Rnwo6KpOsfrIWmJjxh1DSDFoVqBckB0uZh5PdsjRO8=";
+    hash = "sha256-NBV4jrLfU5vqQljQh28tJxgaNSo/ilph8xsjdVKCOJg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyenphase/default.nix b/pkgs/development/python-modules/pyenphase/default.nix
index ca106a91fac4b..716846949ade8 100644
--- a/pkgs/development/python-modules/pyenphase/default.nix
+++ b/pkgs/development/python-modules/pyenphase/default.nix
@@ -56,6 +56,11 @@ buildPythonPackage rec {
     syrupy
   ];
 
+  disabledTests = [
+    # https://github.com/pyenphase/pyenphase/issues/97
+    "test_with_7_x_firmware"
+  ];
+
   pythonImportsCheck = [
     "pyenphase"
   ];
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index dbf6ab12b44eb..8980da8e24bda 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -4,7 +4,6 @@
 , async-generator
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , pypubsub
 , pyserial
 , pyserial-asyncio
@@ -17,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.5.0";
+  version = "1.5.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -26,18 +25,9 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-REm0E7+otqDypVslB5heHEaWA+q3Nh1O96gxFeCC3As=";
+    hash = "sha256-H2rgPA0GW6neFIHZVZxmAP50HJUPCWDZcJ90QxLGXJ8=";
   };
 
-  patches = [
-    # https://github.com/pyinsteon/pyinsteon/pull/361
-    (fetchpatch {
-      name = "relax-setuptools-dependency.patch";
-      url = "https://github.com/pyinsteon/pyinsteon/commit/676bc5fff11b73a4c3fd189a6ac6d3de9ca21ae0.patch";
-      hash = "sha256-kTu1+IwDrcdqelyK/vfhxw8MQBis5I1jag7YTytKQhs=";
-    })
-  ];
-
   nativeBuildInputs = [
     setuptools
     wheel
diff --git a/pkgs/development/python-modules/pysensibo/default.nix b/pkgs/development/python-modules/pysensibo/default.nix
index 0d79ed3116255..603800f9a1696 100644
--- a/pkgs/development/python-modules/pysensibo/default.nix
+++ b/pkgs/development/python-modules/pysensibo/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pysensibo";
-  version = "1.0.33";
+  version = "1.0.35";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-A7IzAIV8dQVSmYTEp9yeySQ8eXnLFVkiuWFS3pe2YTA=";
+    hash = "sha256-E3XUQ7Ltu9zhjWVvl1LN+UUz8B2dAjLa0CZI9ca35nc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix b/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix
new file mode 100644
index 0000000000000..d935b2c171551
--- /dev/null
+++ b/pkgs/development/python-modules/pyserial-asyncio-fast/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# build-system
+, setuptools
+, wheel
+
+# dependencies
+, pyserial
+
+# tests
+, pytestCheckHook
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "pyserial-asyncio-fast";
+  version = "0.11";
+  pyproject = true;
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = "pyserial-asyncio-fast";
+    rev = version;
+    hash = "sha256-B1CLk7ggI7l+DaMDlnMjl2tfh+evvaf1nxzBpmqMBZk=";
+  };
+
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
+  propagatedBuildInputs = [
+    pyserial
+  ];
+
+  pythonImportsCheck = [
+    "serial_asyncio_fast"
+  ];
+
+  nativeCheckInputs = [
+    pytestCheckHook
+    pytest-asyncio
+  ];
+
+  meta = with lib; {
+    description = "Fast asyncio extension package for pyserial that implements eager writes";
+    homepage = "https://github.com/bdraco/pyserial-asyncio-fast";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-roborock/default.nix b/pkgs/development/python-modules/python-roborock/default.nix
index f5a5eefd5c9f4..7fa3607037571 100644
--- a/pkgs/development/python-modules/python-roborock/default.nix
+++ b/pkgs/development/python-modules/python-roborock/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "python-roborock";
-  version = "0.34.5";
+  version = "0.34.6";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "humbertogontijo";
     repo = "python-roborock";
     rev = "refs/tags/v${version}";
-    hash = "sha256-BJZ24TfdIybSzLLWn7+vRMaxnBKVZSzCNLzKFaFvhok=";
+    hash = "sha256-c55E5J0PKk9FG3KDIO0R3vGQjYjj8u7zXz8o9oA1Grc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/screenlogicpy/default.nix b/pkgs/development/python-modules/screenlogicpy/default.nix
index 7ed829df16794..fef2b05f9e8cf 100644
--- a/pkgs/development/python-modules/screenlogicpy/default.nix
+++ b/pkgs/development/python-modules/screenlogicpy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "screenlogicpy";
-  version = "0.8.2";
+  version = "0.9.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "dieselrabbit";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-7w2cg+LfL3w2Xxf8s7lFxE/HkqZ6RBYp8LkZTOwgK+I=";
+    hash = "sha256-bBdOaAr9VH7UeY/UdeKS9oOevJwW2HChJiTGCNbbikM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/syrupy/default.nix b/pkgs/development/python-modules/syrupy/default.nix
index cd9d2addc6041..8759f35625966 100644
--- a/pkgs/development/python-modules/syrupy/default.nix
+++ b/pkgs/development/python-modules/syrupy/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "syrupy";
-  version = "4.2.1";
+  version = "4.5.0";
   format = "pyproject";
 
   disabled = lib.versionOlder python.version "3.8.1";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tophat";
     repo = "syrupy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-MXUuLw4+J/9JtXY1DYwBjj2sgAbO2cXQi1HnVRx3BhM=";
+    hash = "sha256-HRCURqnFzo1l+PjX1LtXTSVZGA36OaRgmy4xKizeuOg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/twitchapi/default.nix b/pkgs/development/python-modules/twitchapi/default.nix
index 7df76ab5dfc9d..f9db5fa4ecc8c 100644
--- a/pkgs/development/python-modules/twitchapi/default.nix
+++ b/pkgs/development/python-modules/twitchapi/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonPackage
 , pythonOlder
-, fetchPypi
+, fetchFromGitHub
+, setuptools
+, wheel
 , aiohttp
 , python-dateutil
 , typing-extensions
@@ -9,18 +11,24 @@
 
 buildPythonPackage rec {
   pname = "twitchapi";
-  version = "3.11.0";
+  version = "4.0.1";
 
   disabled = pythonOlder "3.7";
 
-  format = "setuptools";
+  format = "pyproject";
 
-  src = fetchPypi {
-    pname = "twitchAPI";
-    inherit version;
-    hash = "sha256-TkQzF32nt89uBvC6aj/b5f2DQkOVDz7UyeUXRyVYumM=";
+  src = fetchFromGitHub {
+    owner = "Teekeks";
+    repo = "pyTwitchAPI";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-WrZb734K51NYqlcMCRr8HO8E7XByioltd4vanTN8HUg=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+    wheel
+  ];
+
   propagatedBuildInputs = [
     aiohttp
     python-dateutil
@@ -35,11 +43,11 @@ buildPythonPackage rec {
     "twitchAPI.oauth"
     "twitchAPI.pubsub"
     "twitchAPI.twitch"
-    "twitchAPI.types"
+    "twitchAPI.type"
   ];
 
   meta = with lib; {
-    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/v${version}/docs/changelog.rst";
+    changelog = "https://github.com/Teekeks/pyTwitchAPI/blob/${src.rev}/docs/changelog.rst";
     description = "Python implementation of the Twitch Helix API, its Webhook, PubSub and EventSub";
     homepage = "https://github.com/Teekeks/pyTwitchAPI";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/webrtc-noise-gain/default.nix b/pkgs/development/python-modules/webrtc-noise-gain/default.nix
index 52b1d1fde48ad..63b02a1bfd0d2 100644
--- a/pkgs/development/python-modules/webrtc-noise-gain/default.nix
+++ b/pkgs/development/python-modules/webrtc-noise-gain/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "webrtc-noise-gain";
-  version = "1.2.2";
+  version = "1.2.3";
   pyproject = true;
 
   src = fetchFromGitHub {
     owner = "rhasspy";
     repo = "webrtc-noise-gain";
     rev = "v${version}";
-    hash = "sha256-yHuCa2To9/9kD+tLG239I1aepuhcPUV4a4O1TQtBPlE=";
+    hash = "sha256-DFEtuO49zXNixLwBjQ/WOiARDhMAXVH+5hfc3eSdPIo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix
index a94eb4e4c5458..fe0eb86075826 100644
--- a/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-xbee";
-  version = "0.18.2";
+  version = "0.18.3";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-xbee";
     rev = "refs/tags/${version}";
-    hash = "sha256-aglKQWIMh0IyrcGt+PZVtzcgs88YbtZB7Tfg7hlB+18=";
+    hash = "sha256-+qtbOC3rsse57kqd4RLl9EKXzru0vdgIIPSl1OQ652U=";
   };
 
   buildInputs = [
@@ -36,8 +36,8 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # https://github.com/zigpy/zigpy-xbee/issues/126
-    "test_form_network"
+    # fixed in https://github.com/zigpy/zigpy-xbee/commit/f85233fc28ae01c08267965e99a29e43b00e1561
+    "test_shutdown"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/zwave-js-server-python/default.nix b/pkgs/development/python-modules/zwave-js-server-python/default.nix
index 754da83efc3a3..105dbbbe04249 100644
--- a/pkgs/development/python-modules/zwave-js-server-python/default.nix
+++ b/pkgs/development/python-modules/zwave-js-server-python/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zwave-js-server-python";
-  version = "0.51.3";
+  version = "0.52.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.11";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-79INvk5WLuSki/kBU25hMHRxGk7FAznU89U+y3Eh+wI=";
+    hash = "sha256-+zGLWti99mYTyPkSxiYgE5RqVvEr2PGt8vFwesjcquo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index da8c4d4c36f11..2082b96424634 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 = "2023.9.3";
+  version = "2023.10.0";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -79,7 +79,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "airtouch4" = ps: with ps; [
@@ -200,7 +200,7 @@
       aqualogic
     ];
     "aquostv" = ps: with ps; [
-    ]; # missing inputs: sharp-aquos-rc
+    ]; # missing inputs: sharp_aquos_rc
     "aranet" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
@@ -224,7 +224,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "arcam_fmj" = ps: with ps; [
@@ -251,7 +251,7 @@
       hassil
       home-assistant-intents
       mutagen
-      webrtcvad
+      webrtc-noise-gain
     ];
     "asterisk_cdr" = ps: with ps; [
       asterisk-mbox
@@ -395,7 +395,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "blueprint" = ps: with ps; [
@@ -439,7 +439,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "bluetooth_le_tracker" = ps: with ps; [
@@ -464,7 +464,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "bluetooth_tracker" = ps: with ps; [
@@ -540,7 +540,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "bticino" = ps: with ps; [
@@ -581,7 +581,7 @@
       pychromecast
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "cert_expiry" = ps: with ps; [
@@ -620,7 +620,7 @@
       home-assistant-intents
       mutagen
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "cloudflare" = ps: with ps; [
       pycfdns
@@ -754,7 +754,7 @@
       scapy
       securetar
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "delijn" = ps: with ps; [
@@ -895,7 +895,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "dovado" = ps: with ps; [
@@ -956,6 +956,8 @@
     "ecobee" = ps: with ps; [
       python-ecobee-api
     ];
+    "ecoforest" = ps: with ps; [
+    ]; # missing inputs: pyecoforest
     "econet" = ps: with ps; [
       pyeconet
     ];
@@ -1052,6 +1054,8 @@
     "enigma2" = ps: with ps; [
       openwebifpy
     ];
+    "enmax" = ps: with ps; [
+    ];
     "enocean" = ps: with ps; [
       enocean
     ];
@@ -1098,7 +1102,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ]; # missing inputs: python-eq3bt
     "escea" = ps: with ps; [
@@ -1126,7 +1130,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "etherscan" = ps: with ps; [
@@ -1157,7 +1161,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "event" = ps: with ps; [
@@ -1269,7 +1273,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "fleetgo" = ps: with ps; [
@@ -1410,9 +1414,9 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
-    ]; # missing inputs: gardena_bluetooth
+    ]; # missing inputs: gardena-bluetooth
     "gaviota" = ps: with ps; [
     ];
     "gc100" = ps: with ps; [
@@ -1563,7 +1567,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "gpsd" = ps: with ps; [
@@ -1694,6 +1698,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1713,6 +1718,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1732,6 +1738,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1751,6 +1758,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -1799,7 +1807,7 @@
       python-otbr-api
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "homematic" = ps: with ps; [
@@ -1889,12 +1897,37 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "icloud" = ps: with ps; [
       pyicloud
     ];
+    "idasen_desk" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ]; # missing inputs: idasen-ha
     "idteck_prox" = ps: with ps; [
     ]; # missing inputs: rfk101py
     "ifttt" = ps: with ps; [
@@ -1958,7 +1991,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "input_boolean" = ps: with ps; [
@@ -2098,7 +2131,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "keyboard" = ps: with ps; [
@@ -2130,7 +2163,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "kira" = ps: with ps; [
@@ -2240,7 +2273,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "led_ble" = ps: with ps; [
@@ -2266,7 +2299,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "legrand" = ps: with ps; [
@@ -2372,7 +2405,7 @@
       home-assistant-intents
       mutagen
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ]; # missing inputs: loqedAPI
     "lovelace" = ps: with ps; [
     ];
@@ -2435,7 +2468,8 @@
       mastodon-py
     ];
     "matrix" = ps: with ps; [
-      matrix-client
+      matrix-nio
+      pillow
     ];
     "matter" = ps: with ps; [
       aiohttp-cors
@@ -2453,6 +2487,31 @@
     "meater" = ps: with ps; [
       meater-python
     ];
+    "medcom_ble" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ]; # missing inputs: medcom-ble
     "media_extractor" = ps: with ps; [
       aiohttp-cors
       yt-dlp
@@ -2493,7 +2552,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ]; # missing inputs: melnor-bluetooth
     "meraki" = ps: with ps; [
@@ -2548,8 +2607,6 @@
     "min_max" = ps: with ps; [
     ];
     "minecraft_server" = ps: with ps; [
-      aiodns
-      getmac
       mcstatus
     ];
     "minio" = ps: with ps; [
@@ -2580,7 +2637,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "mobile_app" = ps: with ps; [
@@ -2595,7 +2652,7 @@
       pynacl
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "mochad" = ps: with ps; [
     ]; # missing inputs: pymochad
@@ -2647,7 +2704,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "motion_blinds" = ps: with ps; [
@@ -2712,8 +2769,7 @@
       sqlalchemy
     ];
     "myq" = ps: with ps; [
-      pymyq
-    ];
+    ]; # missing inputs: python-myq
     "mysensors" = ps: with ps; [
       aiohttp-cors
       janus
@@ -2771,7 +2827,7 @@
       pyatmo
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "netdata" = ps: with ps; [
       netdata
@@ -3014,7 +3070,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "oru" = ps: with ps; [
@@ -3037,6 +3093,7 @@
       pyroute2
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       python-otbr-api
       pyudev
       sqlalchemy
@@ -3068,7 +3125,7 @@
       paho-mqtt
       pynacl
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "p1_monitor" = ps: with ps; [
       p1monitor
@@ -3153,7 +3210,7 @@
       mutagen
       pyplaato
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "plant" = ps: with ps; [
       fnv-hash-fast
@@ -3184,6 +3241,31 @@
     "powerwall" = ps: with ps; [
       tesla-powerwall
     ];
+    "private_ble_device" = ps: with ps; [
+      aioesphomeapi
+      aiohttp-cors
+      aioruuvigateway
+      aioshelly
+      async-interrupt
+      bleak
+      bleak-retry-connector
+      bluetooth-adapters
+      bluetooth-auto-recovery
+      bluetooth-data-tools
+      dbus-fast
+      esphome-dashboard-api
+      fnv-hash-fast
+      hassil
+      home-assistant-intents
+      ifaddr
+      mutagen
+      psutil-home-assistant
+      pyserial
+      pyudev
+      sqlalchemy
+      webrtc-noise-gain
+      zeroconf
+    ];
     "profiler" = ps: with ps; [
       guppy3
       objgraph
@@ -3273,7 +3355,7 @@
       pyudev
       qingping-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "qld_bushfire" = ps: with ps; [
@@ -3308,7 +3390,7 @@
       mutagen
       pyturbojpeg
       rachiopy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "radarr" = ps: with ps; [
       aiopyarr
@@ -3357,7 +3439,7 @@
       pyudev
       rapt-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "raspberry_pi" = ps: with ps; [
@@ -3481,7 +3563,6 @@
     ];
     "ruckus_unleashed" = ps: with ps; [
       aioruckus
-      xmltodict
     ];
     "russound_rio" = ps: with ps; [
     ]; # missing inputs: russound-rio
@@ -3525,7 +3606,7 @@
       pyudev
       ruuvitag-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "rympro" = ps: with ps; [
@@ -3546,7 +3627,7 @@
       psutil-home-assistant
       pyturbojpeg
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
     ];
     "saj" = ps: with ps; [
       pysaj
@@ -3636,7 +3717,7 @@
       pyudev
       sensirion-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "sensor" = ps: with ps; [
@@ -3669,7 +3750,7 @@
       pyudev
       sensorpro-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "sensorpush" = ps: with ps; [
@@ -3695,7 +3776,7 @@
       pyudev
       sensorpush-ble
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "sentry" = ps: with ps; [
@@ -3833,7 +3914,7 @@
       pysmartapp
       pysmartthings
       pyturbojpeg
-      webrtcvad
+      webrtc-noise-gain
     ];
     "smarttub" = ps: with ps; [
       python-smarttub
@@ -3880,7 +3961,7 @@
       pysnooz
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "solaredge" = ps: with ps; [
@@ -4071,9 +4152,11 @@
       pyswitchbot
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
+    "switchbot_cloud" = ps: with ps; [
+    ]; # missing inputs: switchbot-api
     "switcher_kis" = ps: with ps; [
       aioswitcher
     ];
@@ -4202,7 +4285,7 @@
       pyudev
       sqlalchemy
       thermobeacon-ble
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "thermoplus" = ps: with ps; [
@@ -4230,7 +4313,7 @@
       pyudev
       sqlalchemy
       thermopro-ble
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "thermoworks_smoke" = ps: with ps; [
@@ -4290,7 +4373,7 @@
       pyudev
       sqlalchemy
       tilt-ble
-      webrtcvad
+      webrtc-noise-gain
       zeroconf
     ];
     "time" = ps: with ps; [
@@ -4323,7 +4406,7 @@
       mutagen
       pyturbojpeg
       toonapi
-      webrtcvad
+      webrtc-noise-gain
     ];
     "torque" = ps: with ps; [
       aiohttp-cors
@@ -4410,6 +4493,10 @@
       ttls
     ];
     "twitch" = ps: with ps; [
+      aiohttp-cors
+      fnv-hash-fast
+      psutil-home-assistant
+      sqlalchemy
       twitchapi
     ];
     "twitter" = ps: with ps; [
@@ -4427,6 +4514,8 @@
     "ukraine_alarm" = ps: with ps; [
       uasiren
     ];
+    "ultraloq" = ps: with ps; [
+    ];
     "unifi" = ps: with ps; [
       aiounifi
     ];
@@ -4557,7 +4646,7 @@
       hassil
       home-assistant-intents
       mutagen
-      webrtcvad
+      webrtc-noise-gain
     ]; # missing inputs: voip-utils
     "volkszaehler" = ps: with ps; [
       volkszaehler
@@ -4602,6 +4691,11 @@
     ];
     "weather" = ps: with ps; [
     ];
+    "weatherflow" = ps: with ps; [
+      pyweatherflowudp
+    ];
+    "weatherkit" = ps: with ps; [
+    ]; # missing inputs: apple_weatherkit
     "webhook" = ps: with ps; [
       aiohttp-cors
     ];
@@ -4636,8 +4730,14 @@
     "withings" = ps: with ps; [
       aiohttp-cors
       fnv-hash-fast
+      hass-nabucasa
+      hassil
+      home-assistant-intents
+      mutagen
       psutil-home-assistant
+      pyturbojpeg
       sqlalchemy
+      webrtc-noise-gain
       withings-api
     ];
     "wiz" = ps: with ps; [
@@ -4710,7 +4810,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       xiaomi-ble
       zeroconf
     ];
@@ -4754,7 +4854,7 @@
       pyserial
       pyudev
       sqlalchemy
-      webrtcvad
+      webrtc-noise-gain
       yalexs-ble
       zeroconf
     ];
@@ -4844,6 +4944,7 @@
       psutil-home-assistant
       pyserial
       pyserial-asyncio
+      pyserial-asyncio-fast
       pyudev
       sqlalchemy
       universal-silabs-flasher
@@ -4894,6 +4995,7 @@
     "adguard"
     "advantage_air"
     "aemet"
+    "aftership"
     "agent_dvr"
     "air_quality"
     "airly"
@@ -5071,6 +5173,7 @@
     "filter"
     "fireservicerota"
     "firmata"
+    "fitbit"
     "fivem"
     "fjaraskupan"
     "flic"
@@ -5168,6 +5271,7 @@
     "humidifier"
     "hunterdouglas_powerview"
     "hvv_departures"
+    "hydrawise"
     "hyperion"
     "ialarm"
     "iaqualink"
@@ -5252,10 +5356,12 @@
     "mailgun"
     "manual"
     "manual_mqtt"
+    "matrix"
     "matter"
     "maxcube"
     "mazda"
     "meater"
+    "media_extractor"
     "media_player"
     "media_source"
     "melcloud"
@@ -5292,7 +5398,6 @@
     "mullvad"
     "mutesync"
     "my"
-    "myq"
     "mysensors"
     "mystrom"
     "mythicbeastsdns"
@@ -5372,6 +5477,7 @@
     "point"
     "poolsense"
     "powerwall"
+    "private_ble_device"
     "profiler"
     "prometheus"
     "prosegur"
@@ -5603,10 +5709,12 @@
     "wake_on_lan"
     "wake_word"
     "wallbox"
+    "waqi"
     "water_heater"
     "watttime"
     "waze_travel_time"
     "weather"
+    "weatherflow"
     "webhook"
     "webostv"
     "websocket_api"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 3d7ea12691b1d..eb5367cda93d1 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -134,16 +134,6 @@ let
         };
       });
 
-      plexapi = super.plexapi.overridePythonAttrs (oldAttrs: rec {
-        version = "4.13.2";
-        src = fetchFromGitHub {
-          owner = "pkkid";
-          repo = "python-plexapi";
-          rev = "refs/tags/${version}";
-          hash = "sha256-5YwINPgQ4efZBvu5McsLYicW/7keKSi011lthJUR9zw=";
-        };
-      });
-
       # Pinned due to API changes in 0.1.0
       poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec {
         version = "0.0.8";
@@ -282,16 +272,6 @@ let
         };
       });
 
-      zeroconf = super.zeroconf.overridePythonAttrs (oldAttrs: rec {
-        version = "0.98.0";
-        src = fetchFromGitHub {
-          owner = "python-zeroconf";
-          repo = "python-zeroconf";
-          rev = "refs/tags/${version}";
-          hash = "sha256-oajSXGQTsJsajRAnS/MkkbSyxTeVvdjvw1eiJaPzZMY=";
-        };
-      });
-
       # internal python packages only consumed by home-assistant itself
       home-assistant-frontend = self.callPackage ./frontend.nix { };
       home-assistant-intents = self.callPackage ./intents.nix { };
@@ -316,7 +296,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2023.9.3";
+  hassVersion = "2023.10.0";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -332,7 +312,7 @@ in python.pkgs.buildPythonApplication rec {
   # Primary source is the pypi sdist, because it contains translations
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-tcIGYJ+r2+0jnf3xUxnFdwnLiOK9P0Y6sw0Mpd/YIT0=";
+    hash = "sha256-UmgIQJRQRDMzjUO9lJVpKsIvrFHBzoXc5Kig69ZHttU=";
   };
 
   # Secondary source is git for tests
@@ -340,7 +320,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-zAUMevj2xvRkhZg4wuHDz0+X//cEU/D/HmokmX9oeCU=";
+    hash = "sha256-M8TuH9oF4+6PuHDCHiGWxSnrQcOw/OsJVSfX/8XfyIM=";
   };
 
   nativeBuildInputs = with python.pkgs; [
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 118f179a9c532..39f41f6fca6b1 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 = "20230911.0";
+  version = "20231002.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-AcMZYjSbsBrfC0Oh5P+eruNILWdVmk46+p+8xLpqfuo=";
+    hash = "sha256-19HFMuR7INHM805HwWyWS2qWXPOYuFjnpf0UP93tObg=";
   };
 
   # 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 6d894aa0c9bea..5f815628a50fd 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
-  version = "2023.9.22";
+  version = "2023.10.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "home-assistant";
     repo = "intents-package";
     rev = "refs/tags/${version}";
-    hash = "sha256-n0IIWS5edh4XD/W9Eo88pal2+zJQtrHg74FSGvPIlPg=";
+    hash = "sha256-4zaMDYHrUape+s9Z1nfGpud74pbkAeKBpJtmIyLdCjk=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index af923462a0a66..2ede793de96f2 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 = "2023.9.3";
+  version = "2023.10.0";
   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-dZOpfSfq47sGJJB6CvcBDlSLBG8EVAX8RMuNzbP7bTs=";
+    hash = "sha256-/RVv2gfODAiG5mPteeHOleqkQwmamCfliCGrf1eSIr4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index f2c9044678524..e4561cdcc3ed5 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -5,6 +5,7 @@
 let
   # some components' tests have additional dependencies
   extraCheckInputs = with home-assistant.python.pkgs; {
+    airzone_cloud = [ aioairzone ];
     alexa = [ av ];
     bluetooth = [ pyswitchbot ];
     bthome = [ xiaomi-ble ];
@@ -19,6 +20,7 @@ let
     homeassistant_sky_connect = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp zwave-js-server-python ];
     homeassistant_yellow = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
     lovelace = [ pychromecast ];
+    matrix = [ pydantic ];
     mopeka = [ pyswitchbot ];
     nest = [ av ];
     onboarding = [ pymetno radios rpi-bad-power ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index a3e8bb1255b9f..67ad8fc444a78 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -10780,6 +10780,8 @@ self: super: with self; {
 
   pyserial-asyncio = callPackage ../development/python-modules/pyserial-asyncio { };
 
+  pyserial-asyncio-fast = callPackage ../development/python-modules/pyserial-asyncio-fast { };
+
   pyserial = callPackage ../development/python-modules/pyserial { };
 
   pysftp = callPackage ../development/python-modules/pysftp { };