about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2023-08-03 13:54:00 +0200
committerGitHub <noreply@github.com>2023-08-03 13:54:00 +0200
commit9eaec2881f216fcd532901cc00341b68c350969d (patch)
treed5dfa25132f286519bf277cd643210b51e9227f1
parent28d4714c826dd2e60b770691275369ff43e34560 (diff)
parentc13da49a88d4075fea4762233db7995b1a5b4144 (diff)
Merge pull request #246836 from NixOS/home-assistant
home-assistant: 2023.7.3 -> 2023.8.0
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix1
-rw-r--r--pkgs/development/python-modules/aioairzone-cloud/default.nix4
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiomqtt/default.nix67
-rw-r--r--pkgs/development/python-modules/aiomysensors/default.nix12
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix8
-rw-r--r--pkgs/development/python-modules/androidtvremote2/default.nix4
-rw-r--r--pkgs/development/python-modules/awesomeversion/default.nix4
-rw-r--r--pkgs/development/python-modules/bleak-retry-connector/default.nix4
-rw-r--r--pkgs/development/python-modules/bluetooth-auto-recovery/default.nix6
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix10
-rw-r--r--pkgs/development/python-modules/dbus-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/fnv-hash-fast/default.nix4
-rw-r--r--pkgs/development/python-modules/fritzconnection/default.nix4
-rw-r--r--pkgs/development/python-modules/hap-python/default.nix6
-rw-r--r--pkgs/development/python-modules/hassil/default.nix4
-rw-r--r--pkgs/development/python-modules/life360/default.nix4
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix22
-rw-r--r--pkgs/development/python-modules/nexia/default.nix6
-rw-r--r--pkgs/development/python-modules/pysensibo/default.nix4
-rw-r--r--pkgs/development/python-modules/python-kasa/default.nix6
-rw-r--r--pkgs/development/python-modules/python-matter-server/default.nix4
-rw-r--r--pkgs/development/python-modules/pyturbojpeg/default.nix4
-rw-r--r--pkgs/development/python-modules/pywemo/default.nix4
-rw-r--r--pkgs/development/python-modules/ulid-transform/default.nix4
-rw-r--r--pkgs/development/python-modules/whirlpool-sixth-sense/default.nix4
-rw-r--r--pkgs/development/python-modules/wyoming/default.nix4
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix19
-rw-r--r--pkgs/development/python-modules/yeelight/default.nix7
-rw-r--r--pkgs/development/python-modules/yolink-api/default.nix8
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix4
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix139
-rw-r--r--pkgs/servers/home-assistant/default.nix23
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/intents.nix23
-rw-r--r--pkgs/servers/home-assistant/stubs.nix4
-rw-r--r--pkgs/servers/home-assistant/tests.nix10
-rw-r--r--pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch17
-rw-r--r--pkgs/tools/audio/wyoming/faster-whisper.nix4
-rw-r--r--pkgs/tools/audio/wyoming/piper-entrypoint.patch20
-rw-r--r--pkgs/tools/audio/wyoming/piper.nix4
-rw-r--r--pkgs/top-level/python-packages.nix2
43 files changed, 337 insertions, 167 deletions
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index abe0b93e412cb..0b8b1d7194187 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -451,6 +451,7 @@ in {
           "eufylife_ble"
           "esphome"
           "fjaraskupan"
+          "gardena_bluetooth"
           "govee_ble"
           "homekit_controller"
           "inkbird"
diff --git a/pkgs/development/python-modules/aioairzone-cloud/default.nix b/pkgs/development/python-modules/aioairzone-cloud/default.nix
index f69358a1305ef..db3f27b5d3f0d 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.0";
+  version = "0.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Noltari";
     repo = "aioairzone-cloud";
     rev = "refs/tags/${version}";
-    hash = "sha256-mfygibuKSkBrVZ+zILCAYnfzEvrzD7ZXbUtTSZ54rVk=";
+    hash = "sha256-GOt6oFf1ogxODrgs6/OdgTjA1UNyiNZOPFr+0DRgz0M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index 0f885273c055f..b126a756b2e58 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "15.1.14";
+  version = "15.1.15";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-rBBjDyUIxwOPp/OAfR8JGtxjjVN/nrnre/lR0WZs1HA=";
+    hash = "sha256-qNljw3V0rfMb6GDtTd+jy/hHBaM3kc9y+RCEoNTKHFM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiomqtt/default.nix b/pkgs/development/python-modules/aiomqtt/default.nix
new file mode 100644
index 0000000000000..17f2cb45e6a0b
--- /dev/null
+++ b/pkgs/development/python-modules/aiomqtt/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+
+# build-system
+, poetry-core
+, poetry-dynamic-versioning
+
+# dependencies
+, paho-mqtt
+, typing-extensions
+
+# tests
+, anyio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aiomqtt";
+  version = "1.0.0";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "sbtinstruments";
+    repo = "aiomqtt";
+    rev = "v${version}";
+    hash = "sha256-ct4KIGxiC5m0yrid0tOa/snO9oErxbqhLLH9kD69aEQ=";
+  };
+
+  patches = [
+    (fetchpatch {
+      # adds test marker for network access
+      url = "https://github.com/sbtinstruments/aiomqtt/commit/225c1bfc99bc6ff908bd03c1115963e43ab8a9e6.patch";
+      hash = "sha256-UMEwCoX2mWBA7+p+JujkH5fc9sd/2hbb28EJ0fN24z4=";
+    })
+  ];
+
+  nativeBuildInputs = [
+    poetry-core
+    poetry-dynamic-versioning
+  ];
+
+  propagatedBuildInputs = [
+    paho-mqtt
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [ "aiomqtt" ];
+
+  nativeCheckInputs = [
+    anyio
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "-m" "'not network'"
+  ];
+
+  meta = with lib; {
+    description = "The idiomatic asyncio MQTT client, wrapped around paho-mqtt";
+    homepage = "https://github.com/sbtinstruments/aiomqtt";
+    changelog = "https://github.com/sbtinstruments/aiomqtt/blob/${src.rev}/CHANGELOG.md";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiomysensors/default.nix b/pkgs/development/python-modules/aiomysensors/default.nix
index 0e3fde70d79af..80bc2b2a05257 100644
--- a/pkgs/development/python-modules/aiomysensors/default.nix
+++ b/pkgs/development/python-modules/aiomysensors/default.nix
@@ -27,6 +27,12 @@ buildPythonPackage rec {
     hash = "sha256-hLUITEPUoUKGqN3AnacahnKwoKdfGN3mp34df74gsbE=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=src --cov-report=term-missing:skip-covered" "" \
+      --replace 'marshmallow = "^3.17"' 'marshmallow = "*"' \
+      --replace 'awesomeversion = "^22.6"' 'awesomeversion = "*"'
+  '';
   nativeBuildInputs = [
     poetry-core
   ];
@@ -45,12 +51,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=src --cov-report=term-missing:skip-covered" "" \
-      --replace 'marshmallow = "^3.17"' 'marshmallow = "*"'
-  '';
-
   pythonImportsCheck = [
     "aiomysensors"
   ];
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index 70f1690a2e85c..9798938070c3a 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -1,6 +1,7 @@
 { lib
 , aiohttp
 , aioresponses
+, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , orjson
@@ -8,11 +9,12 @@
 , pytest-asyncio
 , pytestCheckHook
 , pythonOlder
+, segno
 }:
 
 buildPythonPackage rec {
   pname = "aiounifi";
-  version = "49";
+  version = "50";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,12 +23,14 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-GZ++R8NUhpUQbeNhavWnIhk1AuPnEAAHRq9ZYdeHFDc=";
+    hash = "sha256-ydSKXydtOJaAI2PCPX+8jh4w9otX64Lj7QwbasTdWf0=";
   };
 
   propagatedBuildInputs = [
     aiohttp
+    async-timeout
     orjson
+    segno
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/androidtvremote2/default.nix b/pkgs/development/python-modules/androidtvremote2/default.nix
index 04ef1cfa01974..9640906d169f5 100644
--- a/pkgs/development/python-modules/androidtvremote2/default.nix
+++ b/pkgs/development/python-modules/androidtvremote2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "androidtvremote2";
-  version = "0.0.12";
+  version = "0.0.13";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "tronikos";
     repo = "androidtvremote2";
     rev = "refs/tags/v${version}";
-    hash = "sha256-A/1zNBrYo9oPAVexq/W2G9mqBeTsUvF5/T2db6g9AGk=";
+    hash = "sha256-+9VVUIvM//Fxv1a/+PAKWSQE8/TgBZzeTisgMqj6KPU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix
index fd2f0aa77bd56..d838a0f287501 100644
--- a/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/pkgs/development/python-modules/awesomeversion/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "22.9.0";
+  version = "23.5.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    hash = "sha256-OQArggd7210OyFpZKm3kr3fFbakIDG7U3WBNImAAobw=";
+    hash = "sha256-3bHE3U4MM/fQM9zBYfoLpAObay82vchjX9FpJukMGNg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bleak-retry-connector/default.nix b/pkgs/development/python-modules/bleak-retry-connector/default.nix
index 855090184bf22..846684551480a 100644
--- a/pkgs/development/python-modules/bleak-retry-connector/default.nix
+++ b/pkgs/development/python-modules/bleak-retry-connector/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bleak-retry-connector";
-  version = "3.1.0";
+  version = "3.1.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-hFtk25ia3ZupqAWp9ODLYGMClKLPU9UrSfYFXRX4rJE=";
+    hash = "sha256-fw1Eo4f9MdCjICkZiCUX3wa947s1kv9qqYmYjd0zqF4=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
index c0047b69dd411..c76e979f97d3d 100644
--- a/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
+++ b/pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
@@ -1,5 +1,6 @@
 { lib
 , async-timeout
+, bluetooth-adapters
 , btsocket
 , buildPythonPackage
 , fetchFromGitHub
@@ -12,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-auto-recovery";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +22,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-uPa8iXG++doRMAK83NSnqiqnZSIjdL7zMTkjdRrSjtA=";
+    hash = "sha256-5OOIehWb7nxKs1AF9/0yjZhbc3h4MWdgAVCa7irq5YE=";
   };
 
   nativeBuildInputs = [
@@ -30,6 +31,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     async-timeout
+    bluetooth-adapters
     btsocket
     pyric
     usb-devices
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index 6285f09ec32d6..31774f941983e 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -2,9 +2,9 @@
 , bluetooth-data-tools
 , bluetooth-sensor-state-data
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , poetry-core
-, pycryptodomex
 , pytestCheckHook
 , pythonOlder
 , pytz
@@ -13,16 +13,16 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "2.12.0";
+  version = "3.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Bluetooth-Devices";
-    repo = pname;
+    repo = "bthome-ble";
     rev = "refs/tags/v${version}";
-    hash = "sha256-SonB0pT6sC6kpFmIMzNeASUHyuik4HOOquWx6+K05Y8=";
+    hash = "sha256-dLXeJojGeiwPPxXES1qzay1kC/YiI6pKyxKD2z32Av8=";
   };
 
   nativeBuildInputs = [
@@ -32,8 +32,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     bluetooth-data-tools
     bluetooth-sensor-state-data
+    cryptography
     sensor-state-data
-    pycryptodomex
     pytz
   ];
 
diff --git a/pkgs/development/python-modules/dbus-fast/default.nix b/pkgs/development/python-modules/dbus-fast/default.nix
index 58551be4de1f7..42e10168f3dbe 100644
--- a/pkgs/development/python-modules/dbus-fast/default.nix
+++ b/pkgs/development/python-modules/dbus-fast/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dbus-fast";
-  version = "1.86.0";
+  version = "1.88.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-YSkSnRQqalHpRVJx5PUO8EXXV8V6jRNpycO/GqNWmIM=";
+    hash = "sha256-sx2q/we7f8IfoqdsTiDo1QqMY6TSVMW//vKTtkqcrY8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fnv-hash-fast/default.nix b/pkgs/development/python-modules/fnv-hash-fast/default.nix
index b6fdb148edb31..2be3f227baf79 100644
--- a/pkgs/development/python-modules/fnv-hash-fast/default.nix
+++ b/pkgs/development/python-modules/fnv-hash-fast/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "fnv-hash-fast";
-  version = "0.3.1";
+  version = "0.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "bdraco";
     repo = "fnv-hash-fast";
     rev = "v${version}";
-    hash = "sha256-yApMUTO6Kq2YESGMpkU4/FlN57+hX0uQr2fGH7QIdUE=";
+    hash = "sha256-4JhzrRnpb9+FYXd0S2XcBelaHuRksm8RC29rxZqtlpw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix
index bdc0826ac87b3..1f359dfdf7c34 100644
--- a/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/pkgs/development/python-modules/fritzconnection/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.12.0";
+  version = "1.12.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "kbr";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-1giXmmyuy+qrY6xV3yZn4kcDd6w6l8uCL4ozcZE4N00=";
+    hash = "sha256-e+w3ce6KdvbYzH48XPEQTiBgtjbKWNdQj8ie4yw0rzE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hap-python/default.nix b/pkgs/development/python-modules/hap-python/default.nix
index 05699dd07e343..c40d1633eaedf 100644
--- a/pkgs/development/python-modules/hap-python/default.nix
+++ b/pkgs/development/python-modules/hap-python/default.nix
@@ -1,4 +1,5 @@
 { lib
+, async-timeout
 , buildPythonPackage
 , base36
 , chacha20poly1305-reuseable
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "hap-python";
-  version = "4.7.0";
+  version = "4.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,10 +26,11 @@ buildPythonPackage rec {
     owner = "ikalchev";
     repo = "HAP-python";
     rev = "refs/tags/${version}";
-    hash = "sha256-/UBJh1m+WscN9I85/kvlNQnowNybEDyGVuQk4HBDWLE=";
+    hash = "sha256-M/STfco+Bx+KxBT1lUIrYyGSjBcPw2UVX02gNOROke4=";
   };
 
   propagatedBuildInputs = [
+    async-timeout
     chacha20poly1305-reuseable
     cryptography
     h11
diff --git a/pkgs/development/python-modules/hassil/default.nix b/pkgs/development/python-modules/hassil/default.nix
index 1b80c9a4986e1..6059ce3cb5e6a 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.0.6";
+  version = "1.2.5";
 in
 buildPythonPackage {
   inherit pname version;
@@ -21,7 +21,7 @@ buildPythonPackage {
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-rCSVKFIkfPg2aYFwuYVLMxMO8S11dV8f4eckpFbNB3k=";
+    hash = "sha256-udOkZILoba2+eR8oSFThsB846COaIXawwRYhn261mCA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/life360/default.nix b/pkgs/development/python-modules/life360/default.nix
index cb61561eacd50..e3fd2a8ecbae0 100644
--- a/pkgs/development/python-modules/life360/default.nix
+++ b/pkgs/development/python-modules/life360/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "life360";
-  version = "5.5.0";
+  version = "6.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "pnbruckner";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-F/j3qIdz63pEQ+nj1poP3lBFWSpSq4nLseYg+N2tykU=";
+    hash = "sha256-GRQPH7fp8YkkCEpXtvgFxJO6VLFQK/PBaRe0Tfg3KdU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 9b9eef88eae18..9643dc0140610 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -4,16 +4,16 @@
 , click
 , dnspython
 , fetchFromGitHub
-, mock
 , poetry-core
 , pytest-asyncio
+, pytest-rerunfailures
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "mcstatus";
-  version = "10.0.3";
+  version = "11.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,9 +22,15 @@ buildPythonPackage rec {
     owner = "py-mine";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-LHcLqP9IGqi0YmjgFoTwojyS+IZmBOBujYWMPuqNc6w=";
+    hash = "sha256-+r6WL59T9rNAKl3r4Hef75uJoD7DRYA23uS/OlzRyRk=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0.0.0"' 'version = "${version}"' \
+      --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" ""
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -36,19 +42,11 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
-    mock
     pytest-asyncio
+    pytest-rerunfailures
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'version = "0.0.0"' 'version = "${version}"' \
-      --replace " --cov=mcstatus --cov-append --cov-branch --cov-report=term-missing -vvv --no-cov-on-fail" "" \
-      --replace 'asyncio-dgram = "2.1.2"' 'asyncio-dgram = ">=2.1.2"' \
-      --replace 'dnspython = "2.2.1"' 'dnspython = ">=2.2.0"'
-  '';
-
   pythonImportsCheck = [
     "mcstatus"
   ];
diff --git a/pkgs/development/python-modules/nexia/default.nix b/pkgs/development/python-modules/nexia/default.nix
index b804251ebc232..c5a5a2d006011 100644
--- a/pkgs/development/python-modules/nexia/default.nix
+++ b/pkgs/development/python-modules/nexia/default.nix
@@ -3,6 +3,7 @@
 , buildPythonPackage
 , orjson
 , fetchFromGitHub
+, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , requests
@@ -11,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "nexia";
-  version = "2.0.6";
+  version = "2.0.7";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -20,7 +21,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-VBK+h5K/irI0T0eUaYC1iouzMUo/lJshLTe0h5CtnAQ=";
+    hash = "sha256-1uCmlFkha5oaNm5N0/8402ulBr7fNRUbDDASECfN9r8=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +32,7 @@ buildPythonPackage rec {
   nativeCheckInputs = [
     aioresponses
     requests-mock
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pysensibo/default.nix b/pkgs/development/python-modules/pysensibo/default.nix
index 2ebfa8238f391..75672f3466dd8 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.28";
+  version = "1.0.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-7mYYsJCiJZedbmO9fv/Zr+QZOaSE6d6ld94yWUhUmUQ=";
+    hash = "sha256-5A98g2SyJa+aGFewPLUgL73XpkccQTYec1mCZvIOa9w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-kasa/default.nix b/pkgs/development/python-modules/python-kasa/default.nix
index acbb9383e12bb..78f97117f89f7 100644
--- a/pkgs/development/python-modules/python-kasa/default.nix
+++ b/pkgs/development/python-modules/python-kasa/default.nix
@@ -1,5 +1,6 @@
 { lib
 , anyio
+, async-timeout
 , asyncclick
 , buildPythonPackage
 , fetchFromGitHub
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "python-kasa";
-  version = "0.5.2";
+  version = "0.5.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +26,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-+ezs8mj3TRmeIhKPxyov9BPdNkhj0ri4FgoZdW7O8tA=";
+    hash = "sha256-7GJnkT7FOYzytQyOCP8zU5hUk4SbeC7gc1qkhl5eXGo=";
   };
 
   nativeBuildInputs = [
@@ -34,6 +35,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     anyio
+    async-timeout
     asyncclick
     pydantic
   ];
diff --git a/pkgs/development/python-modules/python-matter-server/default.nix b/pkgs/development/python-modules/python-matter-server/default.nix
index c609630a2df78..c04beb032f950 100644
--- a/pkgs/development/python-modules/python-matter-server/default.nix
+++ b/pkgs/development/python-modules/python-matter-server/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "python-matter-server";
-  version = "3.6.3";
+  version = "3.7.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.10";
@@ -36,7 +36,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = "python-matter-server";
     rev = "refs/tags/${version}";
-    hash = "sha256-xtxbZS8CPCkgyFX08THn7hGurFj8dQV+KIZ6VvTY7hA=";
+    hash = "sha256-t++7jQreibGpJRjJawicxjFIye5X6R1dpFqiM6yvRf0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyturbojpeg/default.nix b/pkgs/development/python-modules/pyturbojpeg/default.nix
index 9384ff0e0b409..3da9eb457fcda 100644
--- a/pkgs/development/python-modules/pyturbojpeg/default.nix
+++ b/pkgs/development/python-modules/pyturbojpeg/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyturbojpeg";
-  version = "1.7.0";
+  version = "1.7.2";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "PyTurboJPEG";
     inherit version;
-    hash = "sha256-9c7lfeM6PXF6CR3JtLi1NPmTwEbrv9Kh1kvdDQbskuI=";
+    hash = "sha256-ChFD05ZK0TCVvM+uqGzma2x5qqyD94uBvFpSnWuyL2c=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix
index f10288cd381a8..6a643979715d4 100644
--- a/pkgs/development/python-modules/pywemo/default.nix
+++ b/pkgs/development/python-modules/pywemo/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "pywemo";
-  version = "1.2.0";
+  version = "1.2.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-NTuL3wm3x+f7rSbtI4A/yra+WYezHAWLvdyZXmUvHlg=";
+    hash = "sha256-6aigzwHP9iAQF4GKKQfnZl9sAbwZfOAG/xPf6ay7rGs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ulid-transform/default.nix b/pkgs/development/python-modules/ulid-transform/default.nix
index e22985753812c..d6ec6611b7551 100644
--- a/pkgs/development/python-modules/ulid-transform/default.nix
+++ b/pkgs/development/python-modules/ulid-transform/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "ulid-transform";
-  version = "0.7.2";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-AQeCgos/6BCvITTSnBYxefvAMWHHbJBsmbVMACl6L3o=";
+    hash = "sha256-UOAeIVjn3Z5zC4jZP0y+XH1HjYesxjGmFYpEknu8cag=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix b/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix
index 36ba90d6d7152..5985b96d6dc94 100644
--- a/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix
+++ b/pkgs/development/python-modules/whirlpool-sixth-sense/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "whirlpool-sixth-sense";
-  version = "0.18.3";
+  version = "0.18.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "abmantis";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-GvebWPO+jKDJk7yuMgEctlvKLXeo95GlJUSuI+FMCRU=";
+    hash = "sha256-9dwkylr+aCTGw/VIY90nxq8IkqBASeEfdr5JGz7pZrc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/wyoming/default.nix b/pkgs/development/python-modules/wyoming/default.nix
index 984e3a285d526..feb7106c513c4 100644
--- a/pkgs/development/python-modules/wyoming/default.nix
+++ b/pkgs/development/python-modules/wyoming/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "wyoming";
-  version = "0.0.1";
+  version = "1.1.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-EIUbKL8DNFNNGmLRcu12mlw4H+gAHmCUw09eLG0s8+M=";
+    hash = "sha256-I5GgDu9HRj6fIX66q3RuDeB13h6dpwxrSBxKhzE+Fus=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index 62bcee4ca7c1a..45edddf408c01 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -1,8 +1,10 @@
 { lib
+, bleak
 , bleak-retry-connector
 , bluetooth-data-tools
 , bluetooth-sensor-state-data
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , home-assistant-bluetooth
 , poetry-core
@@ -14,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.18.2";
+  version = "0.21.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,17 +25,25 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-cYmy7tUO3UcSNCpod4sa5R+9K6qB+w0Xtp3Fjbp6VTw=";
+    hash = "sha256-5AzqsCWDgGhJ1EgJrbA8QHjP/Y14cIdSA0GKwZMrxX0=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" "" \
+      --replace 'pycryptodomex = ">=3.18.0"' 'pycryptodomex = ">=3.17.0"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
+    bleak
     bleak-retry-connector
     bluetooth-data-tools
     bluetooth-sensor-state-data
+    cryptography
     home-assistant-bluetooth
     pycryptodomex
     sensor-state-data
@@ -43,11 +53,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace " --cov=xiaomi_ble --cov-report=term-missing:skip-covered" ""
-  '';
-
   pythonImportsCheck = [
     "xiaomi_ble"
   ];
diff --git a/pkgs/development/python-modules/yeelight/default.nix b/pkgs/development/python-modules/yeelight/default.nix
index 5a19645b6b1fe..05ca35fa759e1 100644
--- a/pkgs/development/python-modules/yeelight/default.nix
+++ b/pkgs/development/python-modules/yeelight/default.nix
@@ -1,4 +1,5 @@
 { lib
+, async-timeout
 , buildPythonPackage
 , fetchFromGitLab
 , flit-core
@@ -10,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.7.11";
+  version = "0.7.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +20,7 @@ buildPythonPackage rec {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "refs/tags/v${version}";
-    hash = "sha256-NKW8f0Xi8kACot+qunJp+tz3ioSa5UGoeLmbPfjBaXg=";
+    hash = "sha256-oTlfrx3YN6mPxu7+xzTmYG2L7KulFDlB3+oOhVOFSA8=";
   };
 
   nativeBuildInputs = [ flit-core ];
@@ -27,6 +28,8 @@ buildPythonPackage rec {
   propagatedBuildInputs = [
     future
     ifaddr
+  ] ++ lib.optionals (pythonOlder "3.11") [
+    async-timeout
   ];
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/yolink-api/default.nix b/pkgs/development/python-modules/yolink-api/default.nix
index 766cfbe6b0e53..a2ac657c9d6ad 100644
--- a/pkgs/development/python-modules/yolink-api/default.nix
+++ b/pkgs/development/python-modules/yolink-api/default.nix
@@ -1,8 +1,8 @@
 { lib
 , aiohttp
+, aiomqtt
 , buildPythonPackage
 , fetchFromGitHub
-, asyncio-mqtt
 , pydantic
 , pythonOlder
 , setuptools
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "yolink-api";
-  version = "0.2.9";
+  version = "0.3.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "YoSmart-Inc";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-DbdoGNwz7HtscnDv+rOI2zcs4i4Dl1DpRZNH/DOcJHc=";
+    hash = "sha256-t/e3DSpmrH48I6ZAmDljL5YblsY2/UWgPCcodi2A7Ro=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +29,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     aiohttp
-    asyncio-mqtt
+    aiomqtt
     pydantic
     tenacity
   ];
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 19e4abdccc71f..5265b9ae7a394 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.70.0";
+  version = "0.72.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-AXzPx6T82TYQhoHFkOeNDawD6xnsIBDk35Jlp+Jt5ZQ=";
+    hash = "sha256-Km7qZEXp0Srzt7XAq9D/U8WI/7go81Lvgx3Xck24XDc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index bf5f6386ac587..29ffbdeb3709f 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.101";
+  version = "0.0.102";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-YZGsDSrxPpxluxyRkOPyvJLQ9YADuZ8NYcznIGZ0BYg=";
+    hash = "sha256-TsL6JRxYf8KqmLqfN0nosxaTbzezlP4Q0Fb876WeTHI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 578339e4d6e44..aed44fb5808e2 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.7.3";
+  version = "2023.8.0";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -62,6 +62,7 @@
       aioruuvigateway
       aioshelly
       airthings-ble
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -205,6 +206,7 @@
       aioruuvigateway
       aioshelly
       aranet4
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -265,6 +267,8 @@
     "aten_pe" = ps: with ps; [
       atenpdu
     ];
+    "atlanticcityelectric" = ps: with ps; [
+    ];
     "atome" = ps: with ps; [
       pyatome
     ];
@@ -336,6 +340,8 @@
     ]; # missing inputs: pybbox
     "beewi_smartclim" = ps: with ps; [
     ]; # missing inputs: beewi-smartclim
+    "bge" = ps: with ps; [
+    ];
     "binary_sensor" = ps: with ps; [
     ];
     "bitcoin" = ps: with ps; [
@@ -369,6 +375,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluemaestro-ble
@@ -413,6 +420,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -437,6 +445,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -511,6 +520,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -623,6 +633,8 @@
     "color_extractor" = ps: with ps; [
       colorthief
     ];
+    "comed" = ps: with ps; [
+    ];
     "comed_hourly_pricing" = ps: with ps; [
     ];
     "comfoconnect" = ps: with ps; [
@@ -741,6 +753,8 @@
     "delijn" = ps: with ps; [
       pydelijn
     ];
+    "delmarva" = ps: with ps; [
+    ];
     "deluge" = ps: with ps; [
       deluge-client
     ];
@@ -807,15 +821,6 @@
     ];
     "discovergy" = ps: with ps; [
     ]; # missing inputs: pydiscovergy
-    "discovery" = ps: with ps; [
-      aiohttp-cors
-      fnv-hash-fast
-      ifaddr
-      netdisco
-      psutil-home-assistant
-      sqlalchemy
-      zeroconf
-    ];
     "dlib_face_detect" = ps: with ps; [
       face-recognition
     ];
@@ -864,6 +869,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -908,6 +914,8 @@
     "dunehd" = ps: with ps; [
       pdunehd
     ];
+    "duotecno" = ps: with ps; [
+    ]; # missing inputs: pyduotecno
     "dwd_weather_warnings" = ps: with ps; [
       dwdwfsapi
     ];
@@ -967,6 +975,12 @@
     ];
     "electrasmart" = ps: with ps; [
     ]; # missing inputs: pyElectra
+    "electric_kiwi" = ps: with ps; [
+      aiohttp-cors
+      fnv-hash-fast
+      psutil-home-assistant
+      sqlalchemy
+    ]; # missing inputs: electrickiwi-api
     "elgato" = ps: with ps; [
       elgato
     ];
@@ -1057,6 +1071,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1085,6 +1100,7 @@
     "esphome" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1114,6 +1130,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1134,6 +1151,10 @@
       webrtcvad
       zeroconf
     ];
+    "event" = ps: with ps; [
+    ];
+    "evergy" = ps: with ps; [
+    ];
     "everlights" = ps: with ps; [
       pyeverlights
     ];
@@ -1221,6 +1242,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1355,6 +1377,31 @@
     "garages_amsterdam" = ps: with ps; [
       odp-amsterdam
     ];
+    "gardena_bluetooth" = 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
+      webrtcvad
+      zeroconf
+    ]; # missing inputs: gardena_bluetooth
     "gaviota" = ps: with ps; [
     ];
     "gc100" = ps: with ps; [
@@ -1487,6 +1534,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1699,6 +1747,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1769,8 +1818,7 @@
       pygti
     ];
     "hydrawise" = ps: with ps; [
-      hydrawiser
-    ];
+    ]; # missing inputs: pydrawise
     "hyperion" = ps: with ps; [
       hyperion-py
     ];
@@ -1789,6 +1837,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1857,6 +1906,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -1996,6 +2046,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2027,6 +2078,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2134,6 +2186,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2159,6 +2212,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2277,6 +2331,12 @@
     ];
     "loqed" = ps: with ps; [
       aiohttp-cors
+      hass-nabucasa
+      hassil
+      home-assistant-intents
+      mutagen
+      pyturbojpeg
+      webrtcvad
     ]; # missing inputs: loqedAPI
     "lovelace" = ps: with ps; [
     ];
@@ -2380,6 +2440,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2439,8 +2500,6 @@
       aiohttp-cors
       pyturbojpeg
     ];
-    "miflora" = ps: with ps; [
-    ];
     "mijndomein_energie" = ps: with ps; [
     ];
     "mikrotik" = ps: with ps; [
@@ -2460,8 +2519,6 @@
     "minio" = ps: with ps; [
       minio
     ];
-    "mitemp_bt" = ps: with ps; [
-    ];
     "mjpeg" = ps: with ps; [
     ];
     "moat" = ps: with ps; [
@@ -2469,6 +2526,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2535,6 +2593,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -2663,7 +2722,6 @@
       google-nest-sdm
       ha-ffmpeg
       psutil-home-assistant
-      python-nest
       sqlalchemy
     ];
     "netatmo" = ps: with ps; [
@@ -2889,6 +2947,12 @@
     "opnsense" = ps: with ps; [
       pyopnsense
     ];
+    "opower" = ps: with ps; [
+      fnv-hash-fast
+      opower
+      psutil-home-assistant
+      sqlalchemy
+    ];
     "opple" = ps: with ps; [
     ]; # missing inputs: pyoppleio-legacy
     "oralb" = ps: with ps; [
@@ -2896,6 +2960,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3001,15 +3066,23 @@
     "peco" = ps: with ps; [
       peco
     ];
+    "peco_opower" = ps: with ps; [
+    ];
+    "pegel_online" = ps: with ps; [
+    ]; # missing inputs: aiopegelonline
     "pencom" = ps: with ps; [
       pencompy
     ];
+    "pepco" = ps: with ps; [
+    ];
     "persistent_notification" = ps: with ps; [
     ];
     "person" = ps: with ps; [
       aiohttp-cors
       pillow
     ];
+    "pge" = ps: with ps; [
+    ];
     "philips_js" = ps: with ps; [
       ha-philipsjs
     ];
@@ -3102,6 +3175,8 @@
     ];
     "ps4" = ps: with ps; [
     ]; # missing inputs: pyps4-2ndscreen
+    "pse" = ps: with ps; [
+    ];
     "pulseaudio_loopback" = ps: with ps; [
       pulsectl
     ];
@@ -3140,6 +3215,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3223,6 +3299,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3389,6 +3466,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3496,6 +3574,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3528,6 +3607,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3553,6 +3633,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3736,6 +3817,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -3926,6 +4008,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4056,6 +4139,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4083,6 +4167,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4142,6 +4227,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4293,8 +4379,6 @@
     "ukraine_alarm" = ps: with ps; [
       uasiren
     ];
-    "ultraloq" = ps: with ps; [
-    ];
     "unifi" = ps: with ps; [
       aiounifi
     ];
@@ -4549,20 +4633,14 @@
       ha-ffmpeg
     ];
     "xiaomi_aqara" = ps: with ps; [
-      aiohttp-cors
-      fnv-hash-fast
-      ifaddr
-      netdisco
-      psutil-home-assistant
       pyxiaomigateway
-      sqlalchemy
-      zeroconf
     ];
     "xiaomi_ble" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4606,6 +4684,7 @@
       aiohttp-cors
       aioruuvigateway
       aioshelly
+      async-interrupt
       bleak
       bleak-retry-connector
       bluetooth-adapters
@@ -4673,10 +4752,9 @@
     "youtube" = ps: with ps; [
       aiohttp-cors
       fnv-hash-fast
-      google-api-python-client
       psutil-home-assistant
       sqlalchemy
-    ];
+    ]; # missing inputs: youtubeaio
     "zabbix" = ps: with ps; [
       py-zabbix
     ];
@@ -4878,7 +4956,6 @@
     "dialogflow"
     "directv"
     "discord"
-    "discovery"
     "dlna_dmr"
     "dlna_dms"
     "dnsip"
@@ -4915,6 +4992,7 @@
     "escea"
     "esphome"
     "eufylife_ble"
+    "event"
     "everlights"
     "evil_genius_labs"
     "ezviz"
@@ -5200,10 +5278,12 @@
     "opengarage"
     "openhardwaremonitor"
     "openhome"
+    "opensky"
     "opentherm_gw"
     "openuv"
     "openweathermap"
     "opnsense"
+    "opower"
     "oralb"
     "otbr"
     "overkiz"
@@ -5487,7 +5567,6 @@
     "yeelight"
     "yolink"
     "youless"
-    "youtube"
     "zamg"
     "zeroconf"
     "zerproc"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index d79b8cf5c913e..d8aa8a5bc4ea2 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -78,11 +78,11 @@ let
 
       ha-av = super.av.overridePythonAttrs (oldAttrs: rec {
         pname = "ha-av";
-        version = "10.1.0";
+        version = "10.1.1";
 
         src = fetchPypi {
           inherit pname version;
-          hash = "sha256-HjOu/A1U3CfoVq6VqxA621/9wXk8hFnTFWtdpnVoFr4=";
+          hash = "sha256-QaMFVvglipN0kG1+ZQNKk7WTydSyIPn2qa32UtvLidw=";
         };
       });
 
@@ -95,17 +95,6 @@ let
         };
       });
 
-      # Pinned due to API changes in 10.0
-      mcstatus = super.mcstatus.overridePythonAttrs (oldAttrs: rec {
-        version = "9.3.0";
-        src = fetchFromGitHub {
-          owner = "py-mine";
-          repo = "mcstatus";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-kNThVElEDqhbCitktBv5tQkjMaU4IsX0dJk63hvLhb0=";
-        };
-      });
-
       # moto tests are a nuissance
       moto = super.moto.overridePythonAttrs (_: {
         doCheck = false;
@@ -297,7 +286,7 @@ let
   extraBuildInputs = extraPackages python.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2023.7.3";
+  hassVersion = "2023.8.0";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -313,7 +302,7 @@ in python.pkgs.buildPythonApplication rec {
   # Primary source is the pypi sdist, because it contains translations
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-wYS7G3AD1G7UzXfrJxrHGpQTBLJFa7Qln1VU0pdcNro=";
+    hash = "sha256-Nvh52oVovcmicqYuXJcQveTTjTd/ZHjrKTMh2rtQKdU=";
   };
 
   # Secondary source is git for tests
@@ -321,7 +310,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-2m0RpEQ4Rds9+JVQj5/HTmOZzYd4yWL+MfjQs923VL0=";
+    hash = "sha256-WGM7xo2iOS1q19eVzBIh4t8B8s1kw7E1gsFChR8SPc0=";
   };
 
   nativeBuildInputs = with python.pkgs; [
@@ -359,7 +348,7 @@ in python.pkgs.buildPythonApplication rec {
       "pyOpenSSL"
       "PyYAML"
       "requests"
-      "typing_extensions"
+      "typing-extensions"
       "voluptuous-serialize"
       "yarl"
     ];
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 5e405401c18d1..172d9f7c9659b 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 = "20230705.1";
+  version = "20230802.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-VC+yrU5RRAj4qe1MhQLMl9RfW6NmAl5NhXZDACfFlmo=";
+    hash = "sha256-fggFSpcdHRgqHKruWvGJ97DkhdgRTSu0V3YmzVNCm4A=";
   };
 
   # 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 35e5853cfa127..282662ccded1b 100644
--- a/pkgs/servers/home-assistant/intents.nix
+++ b/pkgs/servers/home-assistant/intents.nix
@@ -19,25 +19,19 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-intents";
-  version = "2023.6.28";
+  version = "2023.7.25";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "home-assistant";
-    repo = "intents";
+    repo = "intents-package";
     rev = "refs/tags/${version}";
-    hash = "sha256-K441nrwoQ7zzle4iC679oGxU6iZn/yTJOElvDblHB7U=";
+    hash = "sha256-/9+d22CqlEi+ukjIZRsyCuPPeTCD+XZp8+5iUM3Nc3o=";
+    fetchSubmodules = true;
   };
 
-  sourceRoot = "source/package";
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace "2023.4.26" "${version}"
-  '';
-
   nativeBuildInputs = [
     hassil
     jinja2
@@ -48,7 +42,7 @@ buildPythonPackage rec {
   ];
 
   postInstall = ''
-    pushd ..
+    pushd intents
     # https://github.com/home-assistant/intents/blob/main/script/package#L18
     ${python.pythonForBuild.interpreter} -m script.intentfest merged_output $out/${python.sitePackages}/home_assistant_intents/data
     popd
@@ -60,7 +54,12 @@ buildPythonPackage rec {
   ];
 
   pytestFlagsArray = [
-    "../tests"
+    "intents/tests"
+  ];
+
+  disabledTests = [
+    # AssertionError: Recognition failed for 'put apples on the list'
+    "test_shopping_list_HassShoppingListAddItem"
   ];
 
   meta = with lib; {
diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix
index 2539c4bc5a389..0f06de8f7dce1 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.7.3";
+  version = "2023.8.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-M7AGGGB7PpZBrNf9bUNX13SbQ8raK6nEUNkHbTIYuXQ=";
+    hash = "sha256-znnNWQpoJ+omYt7keW14Nc7FDqiCpZNsEWL0hEijtsI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index 5b058ffb92b94..154f8dc2f2797 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -58,6 +58,12 @@ let
       # Flaky: AssertionError: assert '0.0' == '12.0'
       "--deselect tests/components/history_stats/test_sensor.py::test_end_time_with_microseconds_zeroed"
     ];
+    jellyfin = [
+      # AssertionError: assert 'audio/x-flac' == 'audio/flac'
+      "--deselect tests/components/jellyfin/test_media_source.py::test_resolve"
+      # AssertionError: assert [+ received] == [- snapshot]
+      "--deselect tests/components/jellyfin/test_media_source.py::test_music_library"
+    ];
     modbus = [
       # homeassistant.components.modbus.modbus:modbus.py:317 Pymodbus: modbusTest: Modbus Error: test connect exception
       "--deselect tests/components/modbus/test_init.py::test_pymodbus_connect_fail"
@@ -75,6 +81,10 @@ let
       # "TypeError: object Mock can't be used in 'await' expression
       "--deselect tests/components/unifiprotect/test_repairs.py::test_ea_warning_fix"
     ];
+    xiaomi_ble = [
+      # assert 0 == 1"
+      "--deselect tests/components/xiaomi_ble/test_sensor.py::test_xiaomi_consumable"
+    ];
     zha = [
       "--deselect tests/components/zha/test_config_flow.py::test_formation_strategy_restore_manual_backup_non_ezsp"
       "--deselect tests/components/zha/test_config_flow.py::test_formation_strategy_restore_automatic_backup_non_ezsp"
diff --git a/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch b/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch
index 1af62cb1fe224..27a6bd082495f 100644
--- a/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch
+++ b/pkgs/tools/audio/wyoming/faster-whisper-entrypoint.patch
@@ -1,5 +1,5 @@
 diff --git a/setup.py b/setup.py
-index 1c0b2d2..bbff1d1 100644
+index 04eedbc..ee0b495 100644
 --- a/setup.py
 +++ b/setup.py
 @@ -35,4 +35,9 @@ setup(
@@ -13,17 +13,20 @@ index 1c0b2d2..bbff1d1 100644
 +    }
  )
 diff --git a/wyoming_faster_whisper/__main__.py b/wyoming_faster_whisper/__main__.py
-index 5557cc5..bb9d69f 100755
+index 8a5039f..bd1e7b6 100755
 --- a/wyoming_faster_whisper/__main__.py
 +++ b/wyoming_faster_whisper/__main__.py
-@@ -131,5 +131,9 @@ async def main() -> None:
+@@ -131,8 +131,12 @@ async def main() -> None:
  
  # -----------------------------------------------------------------------------
  
--if __name__ == "__main__":
 +def run():
-     asyncio.run(main())
++    asyncio.run(main())
 +
 +
-+if __name__ == "__main__":
-+    run()
+ if __name__ == "__main__":
+     try:
+-        asyncio.run(main())
++        run()
+     except KeyboardInterrupt:
+         pass
diff --git a/pkgs/tools/audio/wyoming/faster-whisper.nix b/pkgs/tools/audio/wyoming/faster-whisper.nix
index 7479473223452..50ec99f6deee4 100644
--- a/pkgs/tools/audio/wyoming/faster-whisper.nix
+++ b/pkgs/tools/audio/wyoming/faster-whisper.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wyoming-faster-whisper";
-  version = "0.0.3";
+  version = "1.0.1";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "wyoming_faster_whisper";
     inherit version;
-    hash = "sha256-uqepa70lprzV3DJK2wrNAAyZkMMJ5S86RKK716zxYU4=";
+    hash = "sha256-wo62m8gIP9hXihkd8j2haVvz3TlJv3m5WWthTPFwesk=";
   };
 
   patches = [
diff --git a/pkgs/tools/audio/wyoming/piper-entrypoint.patch b/pkgs/tools/audio/wyoming/piper-entrypoint.patch
index c2e4245e5b25e..4f7d09fd40ce0 100644
--- a/pkgs/tools/audio/wyoming/piper-entrypoint.patch
+++ b/pkgs/tools/audio/wyoming/piper-entrypoint.patch
@@ -1,8 +1,8 @@
 diff --git a/setup.py b/setup.py
-index 1355313..3b144c1 100644
+index 05e42c1..8347acb 100644
 --- a/setup.py
 +++ b/setup.py
-@@ -35,4 +35,9 @@ setup(
+@@ -41,4 +41,9 @@ setup(
          "Programming Language :: Python :: 3.10",
      ],
      keywords="rhasspy wyoming piper",
@@ -13,18 +13,20 @@ index 1355313..3b144c1 100644
 +    }
  )
 diff --git a/wyoming_piper/__main__.py b/wyoming_piper/__main__.py
-index f60cf13..a0a15f7 100755
+index ab1580b..4c0a143 100755
 --- a/wyoming_piper/__main__.py
 +++ b/wyoming_piper/__main__.py
-@@ -143,5 +143,9 @@ async def main() -> None:
+@@ -143,8 +143,12 @@ def get_description(voice_info: Dict[str, Any]):
  
  # -----------------------------------------------------------------------------
  
--if __name__ == "__main__":
 +def run():
-     asyncio.run(main())
++    asyncio.run(main())
 +
 +
-+if __name__ == "__main__":
-+    run()
-\ No newline at end of file
+ if __name__ == "__main__":
+     try:
+-        asyncio.run(main())
++        run()
+     except KeyboardInterrupt:
+         pass
diff --git a/pkgs/tools/audio/wyoming/piper.nix b/pkgs/tools/audio/wyoming/piper.nix
index 830f72059653b..c5ce6f99005b5 100644
--- a/pkgs/tools/audio/wyoming/piper.nix
+++ b/pkgs/tools/audio/wyoming/piper.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "wyoming-piper";
-  version = "0.0.3";
+  version = "1.2.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "wyoming_piper";
     inherit version;
-    hash = "sha256-vl7LjW/2HBx6o/+vpap+wSG3XXzDwFacNmcbeU/8bOs=";
+    hash = "sha256-cdCWpejHNCjyYtIxGms9yaEerRmFnGllUN7+3uQy4mQ=";
   };
 
   patches = [
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index bf738d556a9fd..e3fc86e21bb2c 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -268,6 +268,8 @@ self: super: with self; {
 
   aiomodernforms = callPackage ../development/python-modules/aiomodernforms { };
 
+  aiomqtt = callPackage ../development/python-modules/aiomqtt { };
+
   aiomultiprocess = callPackage ../development/python-modules/aiomultiprocess { };
 
   aiomusiccast = callPackage ../development/python-modules/aiomusiccast { };