diff options
author | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-03-07 17:12:01 +0100 |
---|---|---|
committer | Martin Weinelt <hexa@darmstadt.ccc.de> | 2024-03-07 17:12:13 +0100 |
commit | 1371fe63278d856490bf9dc0b0634828d2e01483 (patch) | |
tree | 9e2a617d4b407bbb1e1ea652fd2a75ee8f924e66 /pkgs/servers/home-assistant | |
parent | 0f6ddea2ff3b20c536b1530f66ee306014b39d83 (diff) | |
parent | 43306c5bb064dd74211844536f099ff74d3fceab (diff) |
Merge remote-tracking branch 'origin/master' into staging-next
Conflicts: - pkgs/servers/home-assistant/default.nix
Diffstat (limited to 'pkgs/servers/home-assistant')
-rw-r--r-- | pkgs/servers/home-assistant/component-packages.nix | 61 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/default.nix | 82 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/frontend.nix | 4 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/intents.nix | 4 | ||||
-rwxr-xr-x | pkgs/servers/home-assistant/parse-requirements.py | 2 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/patches/ffmpeg-path.patch | 18 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/stubs.nix | 4 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/tests.nix | 5 | ||||
-rwxr-xr-x | pkgs/servers/home-assistant/update.py | 2 |
9 files changed, 78 insertions, 104 deletions
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 6cc484b64a592..b9fc857f211cc 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2024.2.5"; + version = "2024.3.0"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -19,6 +19,8 @@ "acmeda" = ps: with ps; [ aiopulse ]; + "acomax" = ps: with ps; [ + ]; "actiontec" = ps: with ps; [ ]; "adax" = ps: with ps; [ @@ -224,6 +226,8 @@ "apprise" = ps: with ps; [ apprise ]; + "aprilaire" = ps: with ps; [ + ]; # missing inputs: pyaprilaire "aprs" = ps: with ps; [ aprslib geopy @@ -568,8 +572,7 @@ "brel_home" = ps: with ps; [ ]; "bring" = ps: with ps; [ - python-bring-api - ]; + ]; # missing inputs: bring-api "broadlink" = ps: with ps; [ broadlink ]; @@ -831,6 +834,7 @@ "decora_wifi" = ps: with ps; [ ]; # missing inputs: decora-wifi "default_config" = ps: with ps; [ + aiodhcpwatcher aiodiscover aiohttp-cors aiohttp-fast-url-dispatcher @@ -862,7 +866,6 @@ python-matter-server pyturbojpeg pyudev - scapy securetar sqlalchemy webrtc-noise-gain @@ -929,9 +932,9 @@ pydexcom ]; "dhcp" = ps: with ps; [ + aiodhcpwatcher aiodiscover cached-ipaddress - scapy ]; "diagnostics" = ps: with ps; [ aiohttp-cors @@ -980,7 +983,6 @@ ifaddr psutil-home-assistant sqlalchemy - zeroconf ]; "dlna_dms" = ps: with ps; [ aiohttp-cors @@ -991,7 +993,6 @@ ifaddr psutil-home-assistant sqlalchemy - zeroconf ]; "dnsip" = ps: with ps; [ aiodns @@ -1080,6 +1081,8 @@ "duotecno" = ps: with ps; [ pyduotecno ]; + "duquesne_light" = ps: with ps; [ + ]; "dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ]; @@ -2131,6 +2134,15 @@ ]; "hurrican_shutters_wholesale" = ps: with ps; [ ]; + "husqvarna_automower" = ps: with ps; [ + aioautomower + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; "huum" = ps: with ps; [ huum ]; @@ -2418,7 +2430,6 @@ "joaoapps_join" = ps: with ps; [ ]; # missing inputs: python-join-api "juicenet" = ps: with ps; [ - python-juicenet ]; "justnimbus" = ps: with ps; [ justnimbus @@ -2557,6 +2568,8 @@ krakenex pykrakenapi ]; + "krispol" = ps: with ps; [ + ]; "kulersky" = ps: with ps; [ pykulersky ]; @@ -2854,6 +2867,8 @@ psutil-home-assistant sqlalchemy ]; + "madeco" = ps: with ps; [ + ]; "mailbox" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher @@ -3025,6 +3040,14 @@ ]; "mfi" = ps: with ps; [ ]; # missing inputs: mficlient + "microbees" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; # missing inputs: microBeesPy "microsoft" = ps: with ps; [ ]; # missing inputs: pycsspeechtts "microsoft_face" = ps: with ps; [ @@ -3396,10 +3419,10 @@ aiohttp-cors aiohttp-fast-url-dispatcher aiohttp-zlib-ng + aiooui fnv-hash-fast getmac ifaddr - mac-vendor-lookup netmap psutil-home-assistant sqlalchemy @@ -4263,6 +4286,8 @@ "saj" = ps: with ps; [ pysaj ]; + "samsam" = ps: with ps; [ + ]; "samsungtv" = ps: with ps; [ aiohttp-cors aiohttp-fast-url-dispatcher @@ -4276,7 +4301,6 @@ samsungtvws sqlalchemy wakeonlan - zeroconf ] ++ samsungctl.optional-dependencies.websocket ++ samsungtvws.optional-dependencies.async @@ -4727,7 +4751,6 @@ ifaddr psutil-home-assistant sqlalchemy - zeroconf ]; "starline" = ps: with ps; [ starline @@ -4899,6 +4922,7 @@ ]; "systemmonitor" = ps: with ps; [ psutil + psutil-home-assistant ]; "tado" = ps: with ps; [ python-tado @@ -5330,7 +5354,6 @@ ifaddr psutil-home-assistant sqlalchemy - zeroconf ]; "uprise_smart_shades" = ps: with ps; [ ]; @@ -5486,6 +5509,8 @@ "weatherflow" = ps: with ps; [ pyweatherflowudp ]; + "weatherflow_cloud" = ps: with ps; [ + ]; # missing inputs: weatherflow4py "weatherkit" = ps: with ps; [ apple-weatherkit ]; @@ -5494,6 +5519,8 @@ aiohttp-fast-url-dispatcher aiohttp-zlib-ng ]; + "webmin" = ps: with ps; [ + ]; # missing inputs: webmin-xmlrpc "webostv" = ps: with ps; [ aiowebostv ]; @@ -5555,7 +5582,7 @@ wled ]; "wolflink" = ps: with ps; [ - ]; # missing inputs: wolf-smartset + ]; # missing inputs: wolf-comm "workday" = ps: with ps; [ holidays ]; @@ -5693,7 +5720,6 @@ ifaddr psutil-home-assistant sqlalchemy - zeroconf ]; "yandex_transport" = ps: with ps; [ aioymaps @@ -5713,7 +5739,6 @@ psutil-home-assistant sqlalchemy yeelight - zeroconf ]; "yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower @@ -5797,6 +5822,8 @@ ]; # missing inputs: ziggo-mediabox-xl "zodiac" = ps: with ps; [ ]; + "zondergas" = ps: with ps; [ + ]; "zone" = ps: with ps; [ ]; "zoneminder" = ps: with ps; [ @@ -5874,6 +5901,7 @@ "arcam_fmj" "aseko_pool_live" "assist_pipeline" + "asterisk_mbox" "asuswrt" "atag" "august" @@ -5905,7 +5933,6 @@ "bond" "bosch_shc" "braviatv" - "bring" "broadlink" "brother" "brottsplatskartan" @@ -6124,6 +6151,7 @@ "huisbaasje" "humidifier" "hunterdouglas_powerview" + "husqvarna_automower" "huum" "hvv_departures" "hydrawise" @@ -6570,6 +6598,7 @@ "vallox" "valve" "velbus" + "velux" "venstar" "vera" "verisure" diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index c06beb8818926..1a41629d92c7e 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -3,7 +3,6 @@ , callPackage , fetchFromGitHub , fetchPypi -, fetchpatch , python312 , substituteAll , ffmpeg-headless @@ -31,15 +30,6 @@ let # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (self: super: { - aemet-opendata = super.aemet-opendata.overridePythonAttrs (oldAttrs: rec { - version = "0.4.7"; - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - rev = "refs/tags/${version}"; - hash = "sha256-kmU2HtNyYhfwWQv6asOtDpLZ6+O+eEICzBNLxUhAwaY="; - }; - }); - aiogithubapi = super.aiogithubapi.overridePythonAttrs (oldAttrs: rec { version = "22.10.1"; src = fetchFromGitHub { @@ -55,23 +45,6 @@ let ]; }); - aionotion = super.aionotion.overridePythonAttrs (oldAttrs: rec { - version = "2023.05.5"; - src = fetchFromGitHub { - owner = "bachya"; - repo = "aionotion"; - rev = "refs/tags/${version}"; - hash = "sha256-/2sF8m5R8YXkP89bi5zR3h13r5LrFOl1OsixAcX0D4o="; - }; - patches = [ - (fetchpatch { - # clean up build dependencies; https://github.com/bachya/aionotion/commit/53c7285110d12810f9b43284295f71d052a81b83 - url = "https://github.com/bachya/aionotion/commit/53c7285110d12810f9b43284295f71d052a81b83.patch"; - hash = "sha256-RLRbHmaR2A8MNc96WHx0L8ccyygoBUaOulAuRJkFuUM="; - }) - ]; - }); - aiopurpleair = super.aiopurpleair.overridePythonAttrs (oldAttrs: rec { version = "2022.12.1"; src = fetchFromGitHub { @@ -87,16 +60,6 @@ let ''; }); - aiopvapi = super.aiopvapi.overridePythonAttrs (oldAttrs: rec { - version = "2.0.4"; - src = fetchFromGitHub { - owner = "sander76"; - repo = "aio-powerview-api"; - rev = "refs/tags/v${version}"; - hash = "sha256-cghfNi5T343/7GxNLDrE0iAewMlRMycQTP7SvDVpU2M="; - }; - }); - aioskybell = super.aioskybell.overridePythonAttrs (oldAttrs: rec { version = "22.7.0"; src = fetchFromGitHub { @@ -149,15 +112,6 @@ let ]; }); - brother = super.brother.overridePythonAttrs (oldAttrs: rec { - version = "3.0.0"; - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - rev = "refs/tags/${version}"; - hash = "sha256-rRzcWT9DcNTBUYxyYYC7WORBbrkgj0toCp2e8ADUN5s="; - }; - }); - debugpy = super.debugpy.overridePythonAttrs (oldAttrs: { # tests are deadlocking too often # https://github.com/NixOS/nixpkgs/issues/262000 @@ -348,16 +302,6 @@ let }; }); - python-slugify = super.python-slugify.overridePythonAttrs (oldAttrs: rec { - version = "8.0.1"; - src = fetchFromGitHub { - owner = "un33k"; - repo = "python-slugify"; - rev = "refs/tags/v${version}"; - hash = "sha256-MJac63XjgWdUQdyyEm8O7gAGVszmHxZzRF4frJtR0BU="; - }; - }); - pytradfri = super.pytradfri.overridePythonAttrs (oldAttrs: rec { version = "9.0.1"; src = fetchFromGitHub { @@ -401,16 +345,6 @@ let }; }); - wyoming = super.wyoming.overridePythonAttrs (oldAttrs: rec { - version = "1.5.2"; - src = fetchFromGitHub { - owner = "rhasspy"; - repo = "wyoming"; - rev = "refs/tags/${version}"; - hash = "sha256-2bc5coKL5KlTeL9fdghPmRF66NXfimHOKGtE2yPXgrA="; - }; - }); - xbox-webapi = super.xbox-webapi.overridePythonAttrs (oldAttrs: rec { version = "2.0.11"; src = fetchFromGitHub { @@ -465,7 +399,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2024.2.5"; + hassVersion = "2024.3.0"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -483,13 +417,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-RRoxWNcubpxzmExzrifRKhgNm0IM5OuNZYHz6tp9zm8="; + hash = "sha256-/DCE2IHdS+oImpzwIaFgXotAsoiPPbe3X3HG7RXbv9g="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-qhUfOMSM4FKUQ9LdeoHLLrVm5cWFrlTER02s+tLVAMU="; + hash = "sha256-G9M1WV+s4zu9BY10RWmJ71ghafAOHMjnCR6BOlggguM="; }; nativeBuildInputs = with python.pkgs; [ @@ -501,6 +435,8 @@ in python.pkgs.buildPythonApplication rec { "attrs" "bcrypt" "ciso8601" + "cryptography" + "httpx" "orjson" "pyopenssl" "typing-extensions" @@ -538,7 +474,7 @@ in python.pkgs.buildPythonApplication rec { aiohttp-fast-url-dispatcher aiohttp-zlib-ng astral - async-timeout + async-interrupt atomicwrites-homeassistant attrs awesomeversion @@ -559,7 +495,9 @@ in python.pkgs.buildPythonApplication rec { python-slugify pyyaml requests + typing-extensions ulid-transform + urllib3 voluptuous voluptuous-serialize yarl @@ -567,7 +505,7 @@ in python.pkgs.buildPythonApplication rec { pyotp pyqrcode # Implicit dependency via homeassistant/requirements.py - setuptools + packaging ]; makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip"; @@ -597,7 +535,9 @@ in python.pkgs.buildPythonApplication rec { ] ++ lib.concatMap (component: getPackages component python.pkgs) [ # some components are needed even if tests in tests/components are disabled "default_config" + "debugpy" "hue" + "sentry" ]; pytestFlagsArray = [ diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index 24ee86b9b25f2..1795e8daa7ba0 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 = "20240207.1"; + version = "20240306.0"; format = "wheel"; src = fetchPypi { @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-uGBVha7nJvYua1rZXlIJGhUzEm5wSrhazrOBUi3omJk="; + hash = "sha256-eDuJC23PJbjaKC9TBCLg5ML3XR6admKrT9RVgfUQCw8="; }; # 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 8bdd0542b9265..ddb576795880f 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -9,14 +9,14 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2024.2.2"; + version = "2024.2.28"; format = "pyproject"; disabled = pythonOlder "3.9"; src = fetchPypi { inherit pname version; - hash = "sha256-Tb9ZZvs5Wyzm2TS5INUSua4Y3/2H+kHEhjpfYWJi+d0="; + hash = "sha256-EmnaYc+L1PHOv6M7odYDl+UBZkLJRtP86xPoqdbuOqU="; }; postPatch = '' diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index 436d1105b10de..5ff1510f23517 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -315,6 +315,6 @@ def main() -> None: if __name__ == "__main__": run_sync(["pyright", __file__]) - run_sync(["ruff", "--ignore=E501", __file__]) + run_sync(["ruff", "check", "--ignore=E501", __file__]) run_sync(["isort", __file__]) main() diff --git a/pkgs/servers/home-assistant/patches/ffmpeg-path.patch b/pkgs/servers/home-assistant/patches/ffmpeg-path.patch index 8a83618b1a4b4..5417c64f13eac 100644 --- a/pkgs/servers/home-assistant/patches/ffmpeg-path.patch +++ b/pkgs/servers/home-assistant/patches/ffmpeg-path.patch @@ -1,8 +1,8 @@ diff --git a/homeassistant/components/ffmpeg/__init__.py b/homeassistant/components/ffmpeg/__init__.py -index a98766c78c..1c47bb1f80 100644 +index 4ab4ee32a0..0f04f037f6 100644 --- a/homeassistant/components/ffmpeg/__init__.py +++ b/homeassistant/components/ffmpeg/__init__.py -@@ -41,7 +41,7 @@ CONF_FFMPEG_BIN = "ffmpeg_bin" +@@ -46,7 +46,7 @@ CONF_FFMPEG_BIN = "ffmpeg_bin" CONF_EXTRA_ARGUMENTS = "extra_arguments" CONF_OUTPUT = "output" @@ -70,15 +70,15 @@ index 6eec115d6f..c55b4fb26c 100644 hass.bus.async_fire(EVENT_HOMEASSISTANT_START) diff --git a/tests/components/ffmpeg/test_init.py b/tests/components/ffmpeg/test_init.py -index 0c6ce300d0..ff74a5d7f7 100644 +index 452a818859..41ba776436 100644 --- a/tests/components/ffmpeg/test_init.py +++ b/tests/components/ffmpeg/test_init.py -@@ -91,7 +91,7 @@ class TestFFmpegSetup: +@@ -81,7 +81,7 @@ def test_setup_component(): with assert_setup_component(1): - setup_component(self.hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}}) + setup_component(hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}}) + +- assert hass.data[ffmpeg.DATA_FFMPEG].binary == "ffmpeg" ++ assert hass.data[ffmpeg.DATA_FFMPEG].binary == "@ffmpeg@" + hass.stop() -- assert self.hass.data[ffmpeg.DATA_FFMPEG].binary == "ffmpeg" -+ assert self.hass.data[ffmpeg.DATA_FFMPEG].binary == "@ffmpeg@" - def test_setup_component_test_service(self): - """Set up ffmpeg component test services.""" diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index 602e04aacdbc1..dc9cbd9e8d3c1 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2024.2.5"; + version = "2024.3.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-izXAm9lK5mhjc8vVTRflDdxYQesqnkBJtFonOHoht9c="; + hash = "sha256-4K/JrmNcvRzso9NgFuh3fThcEQS+Ydk4II6xrWv2KdM="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 3cce799ec19a4..989bfccb7236d 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -82,6 +82,11 @@ let # aioserial mock produces wrong state "--deselect tests/components/modem_callerid/test_init.py::test_setup_entry" ]; + velux = [ + # uses unmocked sockets + "--deselect tests/components/velux/test_config_flow.py::test_user_success" + "--deselect tests/components/velux/test_config_flow.py::test_import_valid_config" + ]; }; in lib.listToAttrs (map (component: lib.nameValuePair component ( home-assistant.overridePythonAttrs (old: { diff --git a/pkgs/servers/home-assistant/update.py b/pkgs/servers/home-assistant/update.py index 30b371e0686dd..c0c3cfdef9938 100755 --- a/pkgs/servers/home-assistant/update.py +++ b/pkgs/servers/home-assistant/update.py @@ -258,6 +258,6 @@ async def main(): if __name__ == "__main__": run_sync(["pyright", __file__]) - run_sync(["ruff", "--ignore=E501", __file__]) + run_sync(["ruff", "check", "--ignore=E501", __file__]) run_sync(["isort", __file__]) asyncio.run(main()) |