about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMartin Weinelt <mweinelt@users.noreply.github.com>2023-01-05 13:12:09 +0100
committerGitHub <noreply@github.com>2023-01-05 13:12:09 +0100
commitc2b75a520abb8d04f89101b74908d11b1eb92874 (patch)
tree62cd7f93d0aa882de56f1fc6bbb0f91043258f8a
parent6124309e748a26489a99ac3c180eb32baddb6297 (diff)
parent5c63f3299551a41c6643834d192a6213a61f7e1b (diff)
Merge pull request #209096 from NixOS/home-assistant
-rw-r--r--pkgs/development/python-modules/adguardhome/default.nix16
-rw-r--r--pkgs/development/python-modules/async-upnp-client/default.nix4
-rw-r--r--pkgs/development/python-modules/bthome-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/govee-ble/default.nix4
-rw-r--r--pkgs/development/python-modules/odp-amsterdam/default.nix (renamed from pkgs/development/python-modules/garages-amsterdam/default.nix)22
-rw-r--r--pkgs/development/python-modules/pydeconz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyisy/default.nix4
-rw-r--r--pkgs/development/python-modules/pynina/default.nix4
-rw-r--r--pkgs/development/python-modules/pyswitchbee/default.nix4
-rw-r--r--pkgs/development/python-modules/pyswitchbot/default.nix10
-rw-r--r--pkgs/development/python-modules/pytest-unordered/default.nix23
-rw-r--r--pkgs/development/python-modules/vallox-websocket-api/default.nix12
-rw-r--r--pkgs/development/python-modules/xknx/default.nix4
-rw-r--r--pkgs/development/python-modules/zeroconf/default.nix18
-rw-r--r--pkgs/development/python-modules/zwave-js-server-python/default.nix4
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix38
-rw-r--r--pkgs/servers/home-assistant/default.nix34
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py2
-rw-r--r--pkgs/servers/home-assistant/tests.nix1
-rw-r--r--pkgs/tools/security/expliot/default.nix3
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix4
23 files changed, 148 insertions, 76 deletions
diff --git a/pkgs/development/python-modules/adguardhome/default.nix b/pkgs/development/python-modules/adguardhome/default.nix
index 134132f9931e4..500fb1fb9b9fc 100644
--- a/pkgs/development/python-modules/adguardhome/default.nix
+++ b/pkgs/development/python-modules/adguardhome/default.nix
@@ -12,15 +12,16 @@
 
 buildPythonPackage rec {
   pname = "adguardhome";
-  version = "0.5.1";
+  version = "0.6.1";
   format = "pyproject";
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "frenck";
     repo = "python-${pname}";
-    rev = "v${version}";
-    sha256 = "sha256-HAgt52Bo2NOUkpr5xvWTcRyrLKpfcBDlVAZxgDNI7hY=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-ZeajC8FM7Py+DWknVjnwiM4jaCCcnxfC+kTbHEEmyms=";
   };
 
   postPatch = ''
@@ -32,7 +33,9 @@ buildPythonPackage rec {
       --replace 0.0.0 ${version}
   '';
 
-  nativeBuildInputs = [ poetry-core ];
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   propagatedBuildInputs = [
     aiohttp
@@ -45,11 +48,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "adguardhome" ];
+  pythonImportsCheck = [
+    "adguardhome"
+  ];
 
   meta = with lib; {
     description = "Python client for the AdGuard Home API";
     homepage = "https://github.com/frenck/python-adguardhome";
+    changelog = "https://github.com/frenck/python-adguardhome/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jamiemagee ];
   };
diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix
index 451ac4ed221fb..5299ad46e5057 100644
--- a/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.32.3";
+  version = "0.33.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = "refs/tags/${version}";
-    hash = "sha256-1/RW84ammc6mu90izMtL7Cv11krc4WhdqCSq9ncFibI=";
+    hash = "sha256-I7C2ho+pmowerJFK82wYcqEOhRV3KZ5j5IBVCKjhllM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/bthome-ble/default.nix b/pkgs/development/python-modules/bthome-ble/default.nix
index 5831ea18ee33d..8e25f403a5e8d 100644
--- a/pkgs/development/python-modules/bthome-ble/default.nix
+++ b/pkgs/development/python-modules/bthome-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "bthome-ble";
-  version = "2.3.1";
+  version = "2.4.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-4KsMYQQN/4A2sbk2Fj8CYOBf7/UAciJ4wTSFYZaCfdk=";
+    hash = "sha256-BLRXoKZkSWgzGIztwmO8El8pF25QBrTEX05FWXZrHxc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/govee-ble/default.nix b/pkgs/development/python-modules/govee-ble/default.nix
index 7cee9b5713e77..abbac7610982f 100644
--- a/pkgs/development/python-modules/govee-ble/default.nix
+++ b/pkgs/development/python-modules/govee-ble/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "govee-ble";
-  version = "0.19.3";
+  version = "0.21.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Bluetooth-Devices";
     repo = pname;
     rev = "refs/tags/v${version}";
-    hash = "sha256-HoEWFwpEzlTVlCD1sPOSKhvZleErxJdaqxKPv+1PcGo=";
+    hash = "sha256-BObJQTt1l+fFh02/zhcKRNRs0LQl+oJelMQq9EW2XuY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/garages-amsterdam/default.nix b/pkgs/development/python-modules/odp-amsterdam/default.nix
index 2b25decd4fc82..30c98144906b3 100644
--- a/pkgs/development/python-modules/garages-amsterdam/default.nix
+++ b/pkgs/development/python-modules/odp-amsterdam/default.nix
@@ -1,28 +1,33 @@
 { lib
 , aiohttp
+, aresponses
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
 , pythonOlder
+, pytest-asyncio
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  pname = "garages-amsterdam";
-  version = "4.1.0";
+  pname = "odp-amsterdam";
+  version = "5.0.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
-    repo = "garages_amsterdam";
+    repo = "python-odp-amsterdam";
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-ZWp543msRAgn/fFplEt6saSNbZ2flC5gwjxrll4w0W0=";
+    hash = "sha256-zVnM4KYH4R6n2y9IAaYGOZVPnc8RuT/S2bseKJBO9bg=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace '"0.0.0"' '"${version}"'
+
+    sed -i '/addopts/d' pyproject.toml
   '';
 
   nativeBuildInputs = [
@@ -33,11 +38,14 @@ buildPythonPackage rec {
     aiohttp
   ];
 
-  # The only test requires network access
-  doCheck = false;
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
-    "garages_amsterdam"
+    "odp_amsterdam"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pydeconz/default.nix b/pkgs/development/python-modules/pydeconz/default.nix
index c81c42d47707b..86265aebbcb72 100644
--- a/pkgs/development/python-modules/pydeconz/default.nix
+++ b/pkgs/development/python-modules/pydeconz/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pydeconz";
-  version = "105";
+  version = "106";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "Kane610";
     repo = "deconz";
     rev = "refs/tags/v${version}";
-    hash = "sha256-8GQJ4PCl8te3sovC5FwWoaQnXIRR27b7gPwfmyPRVBE=";
+    hash = "sha256-13of5ohz/hezlmGvSNqCu9QoOPKdPPtrhQHbxmG2/Do=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix
index de4373dff41f0..33a47238b36f5 100644
--- a/pkgs/development/python-modules/pyisy/default.nix
+++ b/pkgs/development/python-modules/pyisy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pyisy";
-  version = "3.0.9";
+  version = "3.0.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "automicus";
     repo = "PyISY";
     rev = "refs/tags/v${version}";
-    hash = "sha256-95MUOxWR4YUce0fFcasKc6YjoSHTGhXJcUAg0mbXxCs=";
+    hash = "sha256-nThHJYU23I9q5Irk5SoW1+dy5Agl9IJc5gnLirzp3YM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pynina/default.nix b/pkgs/development/python-modules/pynina/default.nix
index be81bd6e6557a..1d6376d0af69c 100644
--- a/pkgs/development/python-modules/pynina/default.nix
+++ b/pkgs/development/python-modules/pynina/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pynina";
-  version = "0.1.8";
+  version = "0.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyNINA";
     inherit version;
-    sha256 = "sha256-U8/SzkkZJLRBpTQx8NRpFWUlckn4Jr0n9cHR4/plyb0=";
+    hash = "sha256-2Ujq2+6xQXPjKzK3HQbJnjz8cX3ALUV+22gdQflFxFY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyswitchbee/default.nix b/pkgs/development/python-modules/pyswitchbee/default.nix
index 58466f0d9b809..47614cffdfdbb 100644
--- a/pkgs/development/python-modules/pyswitchbee/default.nix
+++ b/pkgs/development/python-modules/pyswitchbee/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "pyswitchbee";
-  version = "1.6.2";
+  version = "1.7.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "jafar-atili";
     repo = "pySwitchbee";
     rev = "refs/tags/${version}";
-    hash = "sha256-MDutpeHI6MW1VwCRTPJK/y08ee4eidOHluMf6lPQfEk=";
+    hash = "sha256-M3sxxBp4IoqZLX9Lyw35Z0zkV6fDT7AkeDOcdPN5k7w=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
index 8100fcea5157b..df5cf9d796077 100644
--- a/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -1,15 +1,18 @@
 { lib
 , bleak
 , bleak-retry-connector
+, boto3
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
 , pythonOlder
 , pytestCheckHook
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.30.1";
+  version = "0.36.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,12 +21,15 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = "refs/tags/${version}";
-    hash = "sha256-5Rn1hQ1TZhRiCJGJCaA1sl+HnerL/oOhRdMiSl1Recg=";
+    hash = "sha256-eXCHmtdizRJJdwFeZU0yLi8NWwMqbET6ZItQQClYVI4=";
   };
 
   propagatedBuildInputs = [
     bleak
     bleak-retry-connector
+    boto3
+    cryptography
+    requests
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pytest-unordered/default.nix b/pkgs/development/python-modules/pytest-unordered/default.nix
index 5dc0916991c9d..5bf17834e0681 100644
--- a/pkgs/development/python-modules/pytest-unordered/default.nix
+++ b/pkgs/development/python-modules/pytest-unordered/default.nix
@@ -1,25 +1,36 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytest
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytest-unordered";
-  version = "0.4.1";
+  version = "0.5.2";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "utapyngo";
-    repo = pname;
-    rev = "972012a984b1e9fb3e98f9e8fe9e2ada16ad8110";
-    hash = "sha256-mCcR6WZb2+V5n0PwgsjvnChWnANkIyQ0YtqwTKBYtaA=";
+    repo = "pytest-unordered";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-51UJjnGBO7qBvQlY8F0B29n8+EO2aa3DF3WOwcjZzSo=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  buildInputs = [
+    pytest
+  ];
 
-  pythonImportsCheck = [ "pytest_unordered" ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pytest_unordered"
+  ];
 
   meta = with lib; {
+    changelog = "https://github.com/utapyngo/pytest-unordered/blob/v${version}/CHANGELOG.md";
     description = "Test equality of unordered collections in pytest";
     homepage = "https://github.com/utapyngo/pytest-unordered";
     license = licenses.mit;
diff --git a/pkgs/development/python-modules/vallox-websocket-api/default.nix b/pkgs/development/python-modules/vallox-websocket-api/default.nix
index 821dbb19e6358..8e760921ba28e 100644
--- a/pkgs/development/python-modules/vallox-websocket-api/default.nix
+++ b/pkgs/development/python-modules/vallox-websocket-api/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
+, setuptools
 , construct
 , websockets
 , asynctest
@@ -10,19 +11,22 @@
 
 buildPythonPackage rec {
   pname = "vallox-websocket-api";
-  version = "2.12.0";
+  version = "3.0.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
-  format = "setuptools";
-
   src = fetchFromGitHub {
     owner = "yozik04";
     repo = "vallox_websocket_api";
     rev = "refs/tags/${version}";
-    hash = "sha256-Ibp+oAd6q8Vu9V+TaLzlPbWIDheFUjCyW83Hg4Ztw20=";
+    hash = "sha256-iy5ipW7ldvLWhfxgPlWcsFeKrAXqtyypveAX74u8zmo=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     construct
     websockets
diff --git a/pkgs/development/python-modules/xknx/default.nix b/pkgs/development/python-modules/xknx/default.nix
index 2f3a3768331fa..9d97d0268edcd 100644
--- a/pkgs/development/python-modules/xknx/default.nix
+++ b/pkgs/development/python-modules/xknx/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "xknx";
-  version = "2.1.0";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "XKNX";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-a8hC63G+FZBe6yePgrmzRsRTzpHWS+tBQmVUS/uHfzI=";
+    hash = "sha256-vz24saI0wuhax4/zCBDM3HB+ZjZI8bGOWr2va4V3zV8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zeroconf/default.nix b/pkgs/development/python-modules/zeroconf/default.nix
index 6bc6b7888d8c5..a65e485004a89 100644
--- a/pkgs/development/python-modules/zeroconf/default.nix
+++ b/pkgs/development/python-modules/zeroconf/default.nix
@@ -4,15 +4,17 @@
 , buildPythonPackage
 , fetchFromGitHub
 , ifaddr
+, poetry-core
 , pytest-asyncio
 , pythonOlder
 , pytestCheckHook
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "zeroconf";
-  version = "0.39.4";
-  format = "setuptools";
+  version = "0.47.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
@@ -20,9 +22,14 @@ buildPythonPackage rec {
     owner = "jstasiak";
     repo = "python-zeroconf";
     rev = "refs/tags/${version}";
-    hash = "sha256-CUHpTtCQBuuy8E8bjxfhGOIKr9n2Gdhg/RIyv6OWGvI=";
+    hash = "sha256-vY4n0QIEzumtUayRbGGqycR3z7kpbOH4XKxSMcnTVrA=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+    setuptools
+  ];
+
   propagatedBuildInputs = [
     async-timeout
     ifaddr
@@ -36,6 +43,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  preCheck = ''
+    sed -i '/addopts/d' pyproject.toml
+  '';
+
   disabledTests = [
     # tests that require network interaction
     "test_close_multiple_times"
@@ -58,6 +69,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
+    changelog = "https://github.com/python-zeroconf/python-zeroconf/releases/tag/${version}";
     description = "Python implementation of multicast DNS service discovery";
     homepage = "https://github.com/jstasiak/python-zeroconf";
     license = licenses.lgpl21Only;
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 42aaaa4d13e19..1f18447ee7221 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.43.1";
+  version = "0.44.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-qnGMUY7c2jqLQbVybVdu9vWcPMFoxCnCCTBhWP+AXE0=";
+    hash = "sha256-AG8LXdQvutlgeg7543bDx8Znidf67CzusnnD6GOakf4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 26f643fcaf30a..dee4a13077ace 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.12.9";
+  version = "2023.1.0";
   components = {
     "3_day_blinds" = ps: with ps; [
     ];
@@ -79,6 +79,9 @@
     "airvisual" = ps: with ps; [
       pyairvisual
     ];
+    "airvisual_pro" = ps: with ps; [
+      pyairvisual
+    ];
     "airzone" = ps: with ps; [
       aioairzone
     ];
@@ -657,9 +660,6 @@
     ];
     "derivative" = ps: with ps; [
     ];
-    "deutsche_bahn" = ps: with ps; [
-      schiene
-    ];
     "device_automation" = ps: with ps; [
     ];
     "device_sun_light_trigger" = ps: with ps; [
@@ -728,6 +728,7 @@
       aiohttp-cors
       async-upnp-client
       fnvhash
+      getmac
       ifaddr
       sqlalchemy
       zeroconf
@@ -1147,7 +1148,7 @@
     "garadget" = ps: with ps; [
     ];
     "garages_amsterdam" = ps: with ps; [
-      garages-amsterdam
+      odp-amsterdam
     ];
     "gaviota" = ps: with ps; [
     ];
@@ -1229,6 +1230,11 @@
       pyturbojpeg
       aiohttp-cors
     ];
+    "google_assistant_sdk" = ps: with ps; [
+      aiohttp-cors
+      fnvhash
+      sqlalchemy
+    ]; # missing inputs: gassist-text
     "google_cloud" = ps: with ps; [
       google-cloud-texttospeech
     ];
@@ -1459,12 +1465,12 @@
       zigpy
     ];
     "homekit" = ps: with ps; [
+      hap-python
       pyqrcode
       pyturbojpeg
       aiohttp-cors
       base36
       fnvhash
-      hap-python
       ha-ffmpeg
       ifaddr
       sqlalchemy
@@ -1586,14 +1592,14 @@
     "ihc" = ps: with ps; [
       defusedxml
     ]; # missing inputs: ihcsdk
-    "image" = ps: with ps; [
-      aiohttp-cors
-      pillow
-    ];
     "image_processing" = ps: with ps; [
       pyturbojpeg
       aiohttp-cors
     ];
+    "image_upload" = ps: with ps; [
+      aiohttp-cors
+      pillow
+    ];
     "imap" = ps: with ps; [
       aioimaplib
     ];
@@ -2667,6 +2673,8 @@
     "pure_energie" = ps: with ps; [
       gridnet
     ];
+    "purpleair" = ps: with ps; [
+    ]; # missing inputs: aiopurpleair
     "push" = ps: with ps; [
       aiohttp-cors
     ];
@@ -2801,6 +2809,9 @@
     "renault" = ps: with ps; [
       renault-api
     ];
+    "reolink" = ps: with ps; [
+      reolink-aio
+    ];
     "repairs" = ps: with ps; [
       aiohttp-cors
     ];
@@ -3619,7 +3630,7 @@
       pytrafikverket
     ];
     "transmission" = ps: with ps; [
-      transmissionrpc
+      transmission-rpc
     ];
     "transport_nsw" = ps: with ps; [
       pytransportnsw
@@ -4102,6 +4113,7 @@
     "airthings_ble"
     "airtouch4"
     "airvisual"
+    "airvisual_pro"
     "airzone"
     "aladdin_connect"
     "alarm_control_panel"
@@ -4354,8 +4366,8 @@
     "icloud"
     "ifttt"
     "ign_sismologia"
-    "image"
     "image_processing"
+    "image_upload"
     "imap_email_content"
     "influxdb"
     "inkbird"
@@ -4552,6 +4564,7 @@
     "radarr"
     "radio_browser"
     "radiotherm"
+    "rainbird"
     "rainforest_eagle"
     "rainmachine"
     "random"
@@ -4562,6 +4575,7 @@
     "reddit"
     "remote"
     "renault"
+    "reolink"
     "repairs"
     "rest"
     "rest_command"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index c09ecc6fb49d0..bc7fc267dafa2 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -43,6 +43,22 @@ let
         };
       });
 
+      astral = super.astral.overridePythonAttrs (oldAttrs: rec {
+        pname = "astral";
+        version = "2.2";
+        src = self.fetchPypi {
+          inherit pname version;
+          hash = "sha256-5B2ZZ9XEi+QhNGVS8PTe2tQ/85qDV09f8q0ytmJ7b74=";
+        };
+        postPatch = ''
+          substituteInPlace pyproject.toml \
+            --replace "poetry.masonry" "poetry.core.masonry"
+        '';
+        propagatedBuildInputs = oldAttrs.propagatedBuildInputs ++ [
+          self.pytz
+        ];
+      });
+
       caldav = super.caldav.overridePythonAttrs (old: rec {
         version = "0.9.1";
         src = fetchFromGitHub {
@@ -69,17 +85,6 @@ let
         };
       });
 
-      hap-python = super.hap-python.overridePythonAttrs (oldAtrs: rec {
-        pname = "ha-hap-python";
-        version = "4.5.2";
-        src = fetchFromGitHub {
-          owner = "bdraco";
-          repo = "ha-HAP-python";
-          rev = "refs/tags/v4.5.2";
-          hash = "sha256-xCmx5QopNShKIuXewT+T86Bxyi4P0ddh8r2UlJ48Wig=";
-        };
-      });
-
       # Pinned due to API changes in 0.1.0
       poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec {
         version = "0.0.8";
@@ -190,7 +195,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.12.9";
+  hassVersion = "2023.1.0";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -208,7 +213,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = "refs/tags/${version}";
-    hash = "sha256-tf2H4+79CGTmbKZtJpzYOzAgi90RpSy89hoDNS24m0Q=";
+    hash = "sha256-uYQnymJQ893F5fX/yi8S3OZL4LkT5z7QNOzkoedXllM=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -225,6 +230,7 @@ in python.pkgs.buildPythonApplication rec {
       "attrs"
       "awesomeversion"
       "bcrypt"
+      "ciso8601"
       "cryptography"
       "home-assistant-bluetooth"
       "httpx"
@@ -284,11 +290,13 @@ in python.pkgs.buildPythonApplication rec {
   checkInputs = with python.pkgs; [
     # test infrastructure (selectively from requirement_test.txt)
     freezegun
+    pytest-asyncio
     pytest-aiohttp
     pytest-freezegun
     pytest-mock
     pytest-rerunfailures
     pytest-socket
+    pytest-unordered
     pytest-xdist
     pytestCheckHook
     requests-mock
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index e91913798a18a..2f694ac96855b 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 = "20221213.1";
+  version = "20230104.0";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    hash = "sha256-QL+3dIZlUJstRgK80ANnK9CKR4muvfEQz16bTTMS3Fs=";
+    hash = "sha256-tzn+TGhEcbXRly1iTLQr1UkG7y2NwLZTobDqmDe1JHo=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index a77b48c6b17eb..162bb4af04b9f 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -39,7 +39,7 @@ PKG_SET = "home-assistant.python.pkgs"
 PKG_PREFERENCES = {
     "fiblary3": "fiblary3-fork",  # https://github.com/home-assistant/core/issues/66466
     "ha-av": "av",
-    "ha-HAP-python": "hap-python",
+    "HAP-python": "hap-python",
     "tensorflow": "tensorflow",
     "youtube_dl": "youtube-dl-light",
 }
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index cbcd0847b790f..601d0fe0367ff 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -14,6 +14,7 @@ let
     generic = [ av ];
     google_translate = [ mutagen ];
     google_sheets = [ oauth2client ];
+    govee_ble = [ ibeacon-ble ];
     hassio = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
     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 ];
diff --git a/pkgs/tools/security/expliot/default.nix b/pkgs/tools/security/expliot/default.nix
index 4c0318ffa3bee..4ec31802710d5 100644
--- a/pkgs/tools/security/expliot/default.nix
+++ b/pkgs/tools/security/expliot/default.nix
@@ -55,7 +55,8 @@ buildPythonApplication rec {
       --replace "pynetdicom>=1.5.1,<2" "pynetdicom>=2,<3" \
       --replace "cryptography>=3.0,<4" "cryptography>=35,<40" \
       --replace "python-can>=3.3.3,<4" "python-can>=3.3.3,<5" \
-      --replace "pyparsing>=2.4.7,<3" "pyparsing>=2.4.7,<4"
+      --replace "pyparsing>=2.4.7,<3" "pyparsing>=2.4.7,<4" \
+      --replace "zeroconf>=0.30,<0.40" "zeroconf"
   '';
 
   # Project has no tests
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index 75f5cf537a20f..4d842aa556c77 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -85,6 +85,7 @@ mapAliases ({
   flask_testing = flask-testing; # added 2022-04-25
   flask_wtf = flask-wtf; # added 2022-05-24
   functorch = throw "functorch is now part of the torch package and has therefore been removed. See https://github.com/pytorch/functorch/releases/tag/v1.13.0 for more info."; # added 2022-12-01
+  garages-amsterdam = throw "garages-amsterdam has been renamed odp-amsterdam."; # added 2023-01-04
   garminconnect-ha = garminconnect; # added 2022-02-05
   gigalixir = throw "gigalixir has been promoted to a top-level attribute"; # Added 2022-10-02
   gitdb2 = throw "gitdb2 has been deprecated, use gitdb instead."; # added 2020-03-14
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b6aaa8a203bd9..c07ff886535eb 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -3622,8 +3622,6 @@ self: super: with self; {
 
   gast = callPackage ../development/python-modules/gast { };
 
-  garages-amsterdam = callPackage ../development/python-modules/garages-amsterdam { };
-
   gatt = callPackage ../development/python-modules/gatt { };
 
   gattlib = callPackage ../development/python-modules/gattlib {
@@ -6452,6 +6450,8 @@ self: super: with self; {
 
   odfpy = callPackage ../development/python-modules/odfpy { };
 
+  odp-amsterdam = callPackage ../development/python-modules/odp-amsterdam { };
+
   offtrac = callPackage ../development/python-modules/offtrac { };
 
   ofxclient = callPackage ../development/python-modules/ofxclient { };