summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2022-09-30 18:00:37 +0200
committerGitHub <noreply@github.com>2022-09-30 18:00:37 +0200
commit656e2672751977d7c0c2caf7d8503f6eff55cc5d (patch)
treeff4beda1f131d3a8cec404e2b0a454639e3a86f3
parentdc642a941264f9a234b259d5fe87b394ec24813b (diff)
parent4978672881df1460404f5d0f66dd841c0e37f6c8 (diff)
downloadnixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.tar
nixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.tar.gz
nixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.tar.bz2
nixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.tar.lz
nixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.tar.xz
nixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.tar.zst
nixpkgs-656e2672751977d7c0c2caf7d8503f6eff55cc5d.zip
Merge pull request #193565 from NixOS/home-assistant
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix29
-rw-r--r--pkgs/development/python-modules/aiodiscover/default.nix6
-rw-r--r--pkgs/development/python-modules/aiohomekit/default.nix4
-rw-r--r--pkgs/development/python-modules/airthings-ble/default.nix6
-rw-r--r--pkgs/development/python-modules/bleak-retry-connector/default.nix4
-rw-r--r--pkgs/development/python-modules/bleak/default.nix4
-rw-r--r--pkgs/development/python-modules/bless/default.nix2
-rw-r--r--pkgs/development/python-modules/bluetooth-adapters/default.nix10
-rw-r--r--pkgs/development/python-modules/led-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/xiaomi-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/yalexs-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/zha-quirks/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-xbee/default.nix6
-rw-r--r--pkgs/development/python-modules/zigpy/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix49
-rw-r--r--pkgs/servers/home-assistant/default.nix74
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/tests.nix12
18 files changed, 166 insertions, 64 deletions
diff --git a/nixos/modules/services/home-automation/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index ab29ab80126..26a5e3fe44b 100644
--- a/nixos/modules/services/home-automation/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -415,7 +415,7 @@ in {
           # Empty string first, so we will never accidentally have an empty capability bounding set
           # https://github.com/NixOS/nixpkgs/issues/120617#issuecomment-830685115
           ""
-        ] ++ lib.optionals (builtins.any useComponent [ "bluetooth" "bluetooth_le_tracker" "bluetooth_tracker" "eq3btsmart" "fjaraskupan" "govee_ble" "homekit_controller" "inkbird" "moat" "sensorpush" "switchbot" "xiaomi_ble" ]) [
+        ] ++ lib.optionals (builtins.any useComponent componentsUsingBluetooth) [
           # Required for interaction with hci devices and bluetooth sockets, identified by bluetooth-adapters dependency
           # https://www.home-assistant.io/integrations/bluetooth_le_tracker/#rootless-setup-on-core-installs
           "CAP_NET_ADMIN"
@@ -432,8 +432,30 @@ in {
         ]);
         componentsUsingBluetooth = [
           # Components that require the AF_BLUETOOTH address family
-          "bluetooth_tracker"
+          "august"
+          "bluemaestro"
+          "bluetooth"
           "bluetooth_le_tracker"
+          "bluetooth_tracker"
+          "bthome"
+          "default_config"
+          "eq3btsmart"
+          "esphome"
+          "fjaraskupan"
+          "govee_ble"
+          "homekit_controller"
+          "inkbird"
+          "led_ble"
+          "melnor"
+          "moat"
+          "qingping"
+          "sensorpro"
+          "sensorpush"
+          "switchbot"
+          "thermobeacon"
+          "thermopro"
+          "xiaomi_ble"
+          "yalexs_ble"
         ];
         componentsUsingPing = [
           # Components that require the capset syscall for the ping wrapper
@@ -450,7 +472,6 @@ in {
           # mostly the ones using config flows already.
           "acer_projector"
           "alarmdecoder"
-          "arduino"
           "blackbird"
           "deconz"
           "dsmr"
@@ -464,7 +485,6 @@ in {
           "insteon"
           "kwb"
           "lacrosse"
-          "mhz19"
           "modbus"
           "modem_callerid"
           "mysensors"
@@ -480,7 +500,6 @@ in {
           "usb"
           "velbus"
           "w800rf32"
-          "xbee"
           "zha"
           "zwave"
           "zwave_js"
diff --git a/pkgs/development/python-modules/aiodiscover/default.nix b/pkgs/development/python-modules/aiodiscover/default.nix
index d8fb5c6b38b..61601192596 100644
--- a/pkgs/development/python-modules/aiodiscover/default.nix
+++ b/pkgs/development/python-modules/aiodiscover/default.nix
@@ -1,4 +1,5 @@
 { lib
+, async-timeout
 , buildPythonPackage
 , dnspython
 , fetchFromGitHub
@@ -12,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aiodiscover";
-  version = "1.4.11";
+  version = "1.4.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,10 +22,11 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s5g8otQSWTAOkN4q1LrM/FxVlOnGSv8XKtIDkdwcHMg=";
+    sha256 = "sha256-tIbLb4Jk3vR1hVcdUPuYJrse7BcfE4Z/dXShs/uBDBo=";
   };
 
   propagatedBuildInputs = [
+    async-timeout
     dnspython
     netifaces
     pyroute2
diff --git a/pkgs/development/python-modules/aiohomekit/default.nix b/pkgs/development/python-modules/aiohomekit/default.nix
index 144ebdf520d..a3d3c113b66 100644
--- a/pkgs/development/python-modules/aiohomekit/default.nix
+++ b/pkgs/development/python-modules/aiohomekit/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "aiohomekit";
-  version = "1.5.2";
+  version = "1.5.12";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "Jc2k";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-2EU7Um3uxGP1LBt/PEg2s6v7iny60NHCg8ixX+lIsZY=";
+    hash = "sha256-v29esQUrrpF8PGafu9LF/rN/W8xRSIe+H9V+R4toPxk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/airthings-ble/default.nix b/pkgs/development/python-modules/airthings-ble/default.nix
index 1475e388a6a..428ae9a5949 100644
--- a/pkgs/development/python-modules/airthings-ble/default.nix
+++ b/pkgs/development/python-modules/airthings-ble/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "airthings-ble";
-  version = "0.5.1";
+  version = "0.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -18,12 +18,12 @@ buildPythonPackage rec {
     owner = "vincegio";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-polhWyEyu7ZaJ0fgXOhai+I/XhI8FTYYQGrRxiqAOPc=";
+    hash = "sha256-EPzYIPoT5yAdobmdfaehOYhYeKM6NMpcNZWVR2Dac8k=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'bleak = "^0.15.1"' 'bleak = "*"'
+      --replace 'bleak-retry-connector = "^0.15.1"' 'bleak = "*"'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bleak-retry-connector/default.nix b/pkgs/development/python-modules/bleak-retry-connector/default.nix
index 6a0ee020e6d..2e167add9b9 100644
--- a/pkgs/development/python-modules/bleak-retry-connector/default.nix
+++ b/pkgs/development/python-modules/bleak-retry-connector/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "bleak-retry-connector";
-  version = "1.16.0";
+  version = "2.1.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-IDfamUZB9WJH+ybZ0ULBSEd1koMHTZ1/DaFTf6oviM8=";
+    hash = "sha256-fEdyo6QBmHWgl5o/ZIu/HM8GWp5t88awhb+7SPWngf0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/bleak/default.nix b/pkgs/development/python-modules/bleak/default.nix
index 283cc88ab96..81dd818e227 100644
--- a/pkgs/development/python-modules/bleak/default.nix
+++ b/pkgs/development/python-modules/bleak/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "bleak";
-  version = "0.17.0";
+  version = "0.18.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "hbldh";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-AnH23AWrLw2jq6gSbx9VoGD8QXeCH5dN7FSVVdj4b3w=";
+    hash = "sha256-2/jJ2C2TudwCAshDBLUQjNMbYa2j4XfW8bXmeWrAyrA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bless/default.nix b/pkgs/development/python-modules/bless/default.nix
index 1bb92c410d8..e424a78c10f 100644
--- a/pkgs/development/python-modules/bless/default.nix
+++ b/pkgs/development/python-modules/bless/default.nix
@@ -2,6 +2,7 @@
 , aioconsole
 , bleak
 , buildPythonPackage
+, dbus-next
 , fetchFromGitHub
 , numpy
 , pytestCheckHook
@@ -24,6 +25,7 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     bleak
+    dbus-next
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/bluetooth-adapters/default.nix b/pkgs/development/python-modules/bluetooth-adapters/default.nix
index f07ebd2c2cc..b40b0d3c126 100644
--- a/pkgs/development/python-modules/bluetooth-adapters/default.nix
+++ b/pkgs/development/python-modules/bluetooth-adapters/default.nix
@@ -4,7 +4,8 @@
 , fetchFromGitHub
 , poetry-core
 , async-timeout
-, dbus-next
+, bleak
+, dbus-fast
 , myst-parser
 , pytestCheckHook
 , sphinxHook
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "bluetooth-adapters";
-  version = "0.3.6";
+  version = "0.5.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-mekruNzoix61idaGv/BIgb1fwKcA/+UGOnjX85jQWDQ=";
+    hash = "sha256-SyEe/auJaagRl3wg7JjBkLAgHyAeCeesEXvWXE733M4=";
   };
 
   postPatch = ''
@@ -44,7 +45,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     async-timeout
-    dbus-next
+    bleak
+    dbus-fast
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/led-ble/default.nix b/pkgs/development/python-modules/led-ble/default.nix
index b81f62aa94d..92f397a4c51 100644
--- a/pkgs/development/python-modules/led-ble/default.nix
+++ b/pkgs/development/python-modules/led-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "led-ble";
-  version = "0.7.1";
+  version = "0.10.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-WjSMyuxxScJMtrQAvCHX98IXzbO2dWAsAaOwXf6TEDg=";
+    hash = "sha256-GyVj9g4tqPaR5Gd8N76TtkldaAATnEBsSs/F+2iQqGM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/xiaomi-ble/default.nix b/pkgs/development/python-modules/xiaomi-ble/default.nix
index 858844023e7..b64d2d5f39c 100644
--- a/pkgs/development/python-modules/xiaomi-ble/default.nix
+++ b/pkgs/development/python-modules/xiaomi-ble/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "xiaomi-ble";
-  version = "0.9.2";
+  version = "0.10.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-FitHVfl/N2Q9bixmJFyADBytuM3T4A/D+/36lAU9vls=";
+    hash = "sha256-qpGw9c7O8MC6AEutRIqCEdZncJSQKesaHFRQjOxpa2U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/yalexs-ble/default.nix b/pkgs/development/python-modules/yalexs-ble/default.nix
index 4bf2d1ac4cd..67bbdc965b5 100644
--- a/pkgs/development/python-modules/yalexs-ble/default.nix
+++ b/pkgs/development/python-modules/yalexs-ble/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs-ble";
-  version = "1.6.4";
+  version = "1.9.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-aE8JrGNfsNeJdpoKzyxd/ixYO1WSKCPgXpiV0+HQOcI=";
+    hash = "sha256-ypZ0VDGgQcwlMS1POW+lvTlmd02P7bPR2Qo0lDyBYUw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/zha-quirks/default.nix b/pkgs/development/python-modules/zha-quirks/default.nix
index 241fe676055..2b85a66853f 100644
--- a/pkgs/development/python-modules/zha-quirks/default.nix
+++ b/pkgs/development/python-modules/zha-quirks/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "zha-quirks";
-  version = "0.0.79";
+  version = "0.0.80";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zha-device-handlers";
     rev = "refs/tags/${version}";
-    hash = "sha256-7qE0HLp/ehwHdwVWb0H4eCwCCTUUySAPoZewLYE/MUw=";
+    hash = "sha256-tmXOkOUW2d3Kntx1wgzN3J4l5jrSfz2q9YT1gfHjtro=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zigpy-xbee/default.nix b/pkgs/development/python-modules/zigpy-xbee/default.nix
index ba7292968a8..43cab32768c 100644
--- a/pkgs/development/python-modules/zigpy-xbee/default.nix
+++ b/pkgs/development/python-modules/zigpy-xbee/default.nix
@@ -2,6 +2,7 @@
 , asynctest
 , buildPythonPackage
 , fetchFromGitHub
+, fetchpatch
 , pyserial
 , pyserial-asyncio
 , pytest-asyncio
@@ -38,9 +39,8 @@ buildPythonPackage rec {
   ];
 
   disabledTests = [
-    # assertion failure
-    # E       assert ff:ff:ff:ff:ff:ff:ff:ff is None
-    "test_startup_api_mode_config_fails"
+    # https://github.com/zigpy/zigpy-xbee/issues/126
+    "test_form_network"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/zigpy/default.nix b/pkgs/development/python-modules/zigpy/default.nix
index 395f6eeb418..6f147990174 100644
--- a/pkgs/development/python-modules/zigpy/default.nix
+++ b/pkgs/development/python-modules/zigpy/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy";
-  version = "0.50.2";
+  version = "0.50.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy";
     rev = "refs/tags/${version}";
-    hash = "sha256-0Ha2CgJLLLZjMEEj07GL6kbKcM+x0YblVIjABiaAhXg=";
+    hash = "sha256-Od5BEi5Cu1Gzd4ZkPc2lfmsEZoqsxqiUKqZ2vkW/8sE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 46371245936..71a928b9d85 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 = "2022.9.1";
+  version = "2022.9.7";
   components = {
     "abode" = ps: with ps; [
       abodepy
@@ -192,9 +192,11 @@
     ];
     "august" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       yalexs-ble
@@ -284,10 +286,12 @@
     ];
     "bluemaestro" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluemaestro-ble
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
     ];
@@ -298,17 +302,21 @@
     ];
     "bluetooth" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
     ];
     "bluetooth_le_tracker" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
     ];
@@ -354,10 +362,12 @@
     ]; # missing inputs: btsmarthub_devicelist
     "bthome" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
       bthome-ble
+      dbus-fast
       pyserial
       pyudev
     ];
@@ -525,9 +535,11 @@
       aiodiscover
       aiohttp-cors
       async-upnp-client
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       fnvhash
       hass-nabucasa
       home-assistant-frontend
@@ -691,6 +703,7 @@
     ]; # missing inputs: py-sucks
     "ecowitt" = ps: with ps; [
       aioecowitt
+      aiohttp-cors
     ];
     "eddystone_temperature" = ps: with ps; [
       construct
@@ -782,10 +795,12 @@
     ]; # missing inputs: epsonprinter
     "eq3btsmart" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
       construct
+      dbus-fast
       pyserial
       pyudev
     ]; # missing inputs: python-eq3bt
@@ -795,9 +810,11 @@
     "esphome" = ps: with ps; [
       aioesphomeapi
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       ifaddr
       pyserial
       pyudev
@@ -887,9 +904,11 @@
     ];
     "fjaraskupan" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       fjaraskupan
       pyserial
       pyudev
@@ -1088,9 +1107,11 @@
     ];
     "govee_ble" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       govee-ble
       pyserial
       pyudev
@@ -1236,9 +1257,11 @@
     "homekit_controller" = ps: with ps; [
       aiohomekit
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       ifaddr
       pyserial
       pyudev
@@ -1343,9 +1366,11 @@
     ];
     "inkbird" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       inkbird-ble
       pyserial
       pyudev
@@ -1516,9 +1541,11 @@
     ];
     "led_ble" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       led-ble
       pyserial
       pyudev
@@ -1681,9 +1708,11 @@
     ]; # missing inputs: py-melissa-climate
     "melnor" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
     ]; # missing inputs: melnor-bluetooth
@@ -1752,9 +1781,11 @@
     ];
     "moat" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       moat-ble
       pyserial
       pyudev
@@ -2255,9 +2286,11 @@
     ]; # missing inputs: python-qbittorrent
     "qingping" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       qingping-ble
@@ -2503,18 +2536,22 @@
     ];
     "sensorpro" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       sensorpro-ble
     ];
     "sensorpush" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       sensorpush-ble
@@ -2789,9 +2826,11 @@
     "switchbot" = ps: with ps; [
       pyswitchbot
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
     ];
@@ -2893,18 +2932,22 @@
     ]; # missing inputs: pytfiac
     "thermobeacon" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       thermobeacon-ble
     ];
     "thermopro" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       thermopro-ble
@@ -3281,9 +3324,11 @@
     ];
     "xiaomi_ble" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       xiaomi-ble
@@ -3306,9 +3351,11 @@
     ];
     "yalexs_ble" = ps: with ps; [
       aiohttp-cors
+      bleak-retry-connector
       bleak
       bluetooth-adapters
       bluetooth-auto-recovery
+      dbus-fast
       pyserial
       pyudev
       yalexs-ble
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 01dc882c156..357e381ac74 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -31,17 +31,6 @@ let
     # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt
 
     (self: super: {
-      advantage-air = super.advantage-air.overridePythonAttrs (oldAttrs: rec {
-        version = "0.3.1";
-        src = super.fetchPypi {
-          pname = "advantage_air";
-          inherit version;
-          hash = "sha256-C+cB6oHmbr9mHZKnbls42yenQy3+L8huLk9wKazIWfU=";
-        };
-      });
-    })
-
-    (self: super: {
       backoff = super.backoff.overridePythonAttrs (oldAttrs: rec {
         version = "1.11.1";
         src = fetchFromGitHub {
@@ -68,6 +57,53 @@ let
     })
 
     (self: super: {
+      bleak = super.bleak.overridePythonAttrs (oldAttrs: rec {
+        version = "0.17.0";
+        src = fetchFromGitHub {
+          owner = "hbldh";
+          repo = "bleak";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-AnH23AWrLw2jq6gSbx9VoGD8QXeCH5dN7FSVVdj4b3w=";
+        };
+      });
+
+      bleak-retry-connector = super.bleak-retry-connector.overridePythonAttrs (oldAttrs: rec {
+        version = "1.17.1";
+        src = fetchFromGitHub {
+          owner = "Bluetooth-Devices";
+          repo = "bleak-retry-connector";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-FoQ1cDORQaJcr6y9JaO4MigqV6jiBbwKNIIdYDgFNxQ=";
+        };
+      });
+    })
+
+    (self: super: {
+      blebox-uniapi = super.blebox-uniapi.overridePythonAttrs (oldAttrs: rec {
+        version = "2.0.2";
+        src = fetchFromGitHub {
+          owner = "blebox";
+          repo = "blebox_uniapi";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-0Yiooy7YSUFjqqcyH2fPQ6AWuR0EJxfRRZTw/6JGcMA=";
+        };
+      });
+    })
+
+    (self: super: {
+      bluetooth-adapters = super.bluetooth-adapters.overridePythonAttrs (oldAttrs: rec {
+        version = "0.4.1";
+        propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [ super.dbus-fast ];
+        src = fetchFromGitHub {
+          owner = "Bluetooth-Devices";
+          repo = "bluetooth-adapters";
+          rev = "refs/tags/v${version}";
+          hash = "sha256-LAT4r6RHJWTkrZvuL1aSQDiztvXiOJwGmNQKGFnvFB8=";
+        };
+      });
+    })
+
+    (self: super: {
       gridnet = super.gridnet.overridePythonAttrs (oldAttrs: rec {
         version = "4.0.0";
         src = fetchFromGitHub {
@@ -268,18 +304,6 @@ let
       });
     })
 
-    (self: super: {
-      xiaomi-ble = super.xiaomi-ble.overridePythonAttrs (oldAttrs: rec {
-        version = "0.9.0";
-        src = fetchFromGitHub {
-          owner = "Bluetooth-Devices";
-          repo = "xiaomi-ble";
-          rev = "refs/tags/v${version}";
-          hash = "sha256-xdh8WHrSkbuOGqSiIiufjiVaO719DMDYzbprE3s2kmQ=";
-        };
-      });
-    })
-
     # home-assistant-frontend does not exist in python3.pkgs
     (self: super: {
       home-assistant-frontend = self.callPackage ./frontend.nix { };
@@ -309,7 +333,7 @@ let
   extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.9.1";
+  hassVersion = "2022.9.7";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -327,7 +351,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256-JXMLIMiwM1givdV6HcSGHI9v3zh8gMiF9khaGWR5e9I=";
+    hash = "sha256-V6/y5HnJh8AVwkSg3uanYQRNvDcD1P0L+wBu98NpDek=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 8654b23ff18..0807320ff1a 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 = "20220907.0";
+  version = "20220907.2";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-G/2lOUffxKnEmd4mz/qAlNkzTNAUTfjKaGgvj6vG9ro=";
+    sha256 = "sha256-ykId53EMPRXmMmoS55ZtjF6UR/JVPtBXFqjwuK2E2F4=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index 196da7e6395..feb7331f05d 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -52,6 +52,10 @@ let
       # Sandbox network limitations, fails with unexpected error
       "--deselect tests/components/asuswrt/test_config_flow.py::test_on_connect_failed"
     ];
+    dnsip = [
+      # AssertionError: assert <FlowResultType.FORM: 'form'> == <FlowResultTy...create_entry'>
+      "--deselect tests/components/dnsip/test_config_flow.py::test_options_flow"
+    ];
     history_stats = [
       # Flaky: AssertionError: assert '0.0' == '12.0'
       "--deselect tests/components/history_stats/test_sensor.py::test_end_time_with_microseconds_zeroed"
@@ -66,6 +70,10 @@ let
       "--deselect tests/components/stream/test_recorder.py::test_recorder_log"
       "--deselect tests/components/stream/test_worker.py::test_get_image"
     ];
+    zha = [
+      # AssertionError: assert 'manual_pick_radio_type' == 'choose_serial_port'
+      "--deselect tests/components/zha/test_config_flow.py::test_options_flow_restarts_running_zha_if_cancelled"
+    ];
   };
 in lib.listToAttrs (map (component: lib.nameValuePair component (
   home-assistant.overridePythonAttrs (old: {
@@ -96,9 +104,7 @@ in lib.listToAttrs (map (component: lib.nameValuePair component (
 
     meta = old.meta // {
       broken = lib.elem component [
-        "blebox" # all tests fail with: AttributeError: Mock object has no attribute 'async_from_host'
-        "dnsip"
-        "ssdp"
+        "modem_callerid"
         "subaru"
       ];
       # upstream only tests on Linux, so do we.