diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 47719ef1fc40..7b0894c2d3a9 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.8.3"; + version = "2024.9.0"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -86,6 +86,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -174,6 +175,15 @@ "anthemav" = ps: with ps; [ anthemav ]; + "anthropic" = ps: with ps; [ + anthropic + ha-ffmpeg + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + ]; "anwb_energie" = ps: with ps; [ ]; "aosmith" = ps: with ps; [ @@ -240,6 +250,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -251,6 +262,8 @@ "arris_tg2492lg" = ps: with ps; [ arris-tg2492lg ]; + "artsound" = ps: with ps; [ + ]; "aruba" = ps: with ps; [ pexpect ]; @@ -269,12 +282,7 @@ home-assistant-intents mutagen pymicro-vad - ]; - "asterisk_cdr" = ps: with ps; [ - asterisk-mbox - ]; - "asterisk_mbox" = ps: with ps; [ - asterisk-mbox + pyspeex-noise ]; "asuswrt" = ps: with ps; [ aioasuswrt @@ -412,6 +420,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -453,6 +462,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -476,6 +486,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -510,7 +521,7 @@ ]; "brother" = ps: with ps; [ brother - pysnmp-lextudio + pysnmp ]; "brottsplatskartan" = ps: with ps; [ brottsplatskartan @@ -555,6 +566,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -591,6 +603,7 @@ plexwebsocket pychromecast pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg zeroconf @@ -631,6 +644,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -763,6 +777,7 @@ pymicro-vad pynacl pyserial + pyspeex-noise python-matter-server pyturbojpeg pyudev @@ -892,6 +907,7 @@ py-dormakaba-dkey pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1098,6 +1114,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1124,6 +1141,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1153,6 +1171,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1258,6 +1277,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1353,6 +1373,9 @@ ]; "fujitsu_anywair" = ps: with ps; [ ]; + "fujitsu_fglair" = ps: with ps; [ + ayla-iot-unofficial + ]; "fully_kiosk" = ps: with ps; [ paho-mqtt_1 python-fullykiosk @@ -1389,6 +1412,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1479,6 +1503,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise ]; "google_mail" = ps: with ps; [ google-api-python-client @@ -1524,6 +1549,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1706,6 +1732,7 @@ pymicro-vad pyroute2 pyserial + pyspeex-noise python-otbr-api pyudev zeroconf @@ -1799,6 +1826,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1826,6 +1854,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1877,6 +1906,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: py-improv-ble-client @@ -1910,6 +1940,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -1991,6 +2022,7 @@ pymicro-vad pynecil pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2008,7 +2040,10 @@ "iss" = ps: with ps; [ ]; # missing inputs: pyiss "ista_ecotrend" = ps: with ps; [ + fnv-hash-fast + psutil-home-assistant pyecotrend-ista + sqlalchemy ]; "isy994" = ps: with ps; [ pyisy @@ -2074,6 +2109,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2106,6 +2142,7 @@ pymicro-vad pymicrobot pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2180,6 +2217,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2205,6 +2243,9 @@ "lawn_mower" = ps: with ps; [ ]; "lcn" = ps: with ps; [ + home-assistant-frontend + lcn-frontend + pillow pypck ]; "ld2410_ble" = ps: with ps; [ @@ -2228,6 +2269,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2251,6 +2293,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: leaone-ble @@ -2275,6 +2318,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2360,10 +2404,6 @@ ]; "logger" = ps: with ps; [ ]; - "logi_circle" = ps: with ps; [ - ha-ffmpeg - logi-circle - ]; "london_air" = ps: with ps; [ ]; "london_underground" = ps: with ps; [ @@ -2379,6 +2419,7 @@ loqedapi mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -2412,8 +2453,6 @@ "madvr" = ps: with ps; [ py-madvr2 ]; - "mailbox" = ps: with ps; [ - ]; "mailgun" = ps: with ps; [ pymailgunner ]; @@ -2473,6 +2512,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: medcom-ble @@ -2511,6 +2551,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; # missing inputs: melnor-bluetooth @@ -2596,6 +2637,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2608,6 +2650,7 @@ pillow pymicro-vad pynacl + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -2658,6 +2701,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2686,6 +2730,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -2774,6 +2819,7 @@ mutagen pyatmo pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -2813,6 +2859,9 @@ "nibe_heatpump" = ps: with ps; [ nibe ]; + "nice_go" = ps: with ps; [ + nice-go + ]; "nightscout" = ps: with ps; [ py-nightscout ]; @@ -2905,6 +2954,7 @@ mutagen ollama pymicro-vad + pyspeex-noise ]; "ombi" = ps: with ps; [ pyombi @@ -2941,6 +2991,7 @@ mutagen openai pymicro-vad + pyspeex-noise ]; "openalpr_cloud" = ps: with ps; [ ]; @@ -3008,6 +3059,7 @@ oralb-ble pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -3054,6 +3106,7 @@ paho-mqtt_1 pymicro-vad pynacl + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3134,6 +3187,7 @@ mutagen pymicro-vad pyplaato + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3186,6 +3240,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev zeroconf ]; @@ -3277,6 +3332,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev qingping-ble zeroconf @@ -3317,6 +3373,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg rachiopy @@ -3370,6 +3427,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev rapt-ble zeroconf @@ -3401,6 +3459,7 @@ mutagen pillow pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3549,6 +3608,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev ruuvitag-ble zeroconf @@ -3642,6 +3702,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev sensirion-ble zeroconf @@ -3673,6 +3734,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev sensorpro-ble zeroconf @@ -3697,6 +3759,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev sensorpush-ble zeroconf @@ -3827,6 +3890,7 @@ pymicro-vad pysmartapp pysmartthings + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -3836,6 +3900,9 @@ "smhi" = ps: with ps; [ smhi-pkg ]; + "smlight" = ps: with ps; [ + pysmlight + ]; "sms" = ps: with ps; [ python-gammu ]; @@ -3850,7 +3917,7 @@ paho-mqtt_1 ]; "snmp" = ps: with ps; [ - pysnmp-lextudio + pysnmp ]; "snooz" = ps: with ps; [ aioesphomeapi @@ -3873,6 +3940,7 @@ pymicro-vad pyserial pysnooz + pyspeex-noise pyudev zeroconf ]; @@ -4050,6 +4118,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyswitchbot pyudev zeroconf @@ -4195,6 +4264,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev thermobeacon-ble zeroconf @@ -4221,6 +4291,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev thermopro-ble zeroconf @@ -4276,6 +4347,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev tilt-ble zeroconf @@ -4311,6 +4383,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg toonapi @@ -4322,6 +4395,9 @@ ]; "touchline" = ps: with ps; [ ]; # missing inputs: pytouchline + "touchline_sl" = ps: with ps; [ + pytouchlinesl + ]; "tplink" = ps: with ps; [ ifaddr python-kasa @@ -4508,7 +4584,7 @@ "viaggiatreno" = ps: with ps; [ ]; "vicare" = ps: with ps; [ - pyvicare + pyvicare-neo ]; "vilfo" = ps: with ps; [ vilfo-api-client @@ -4536,6 +4612,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise voip-utils ]; "volkszaehler" = ps: with ps; [ @@ -4627,6 +4704,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise python-matter-server pyturbojpeg ]; @@ -4659,6 +4737,7 @@ home-assistant-intents mutagen pymicro-vad + pyspeex-noise wyoming ]; "x10" = ps: with ps; [ @@ -4695,6 +4774,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev xiaomi-ble zeroconf @@ -4713,6 +4793,19 @@ ]; "xs1" = ps: with ps; [ ]; # missing inputs: xs1-api-client + "yale" = ps: with ps; [ + ha-ffmpeg + hass-nabucasa + hassil + home-assistant-intents + mutagen + pymicro-vad + pyspeex-noise + python-matter-server + pyturbojpeg + yalexs + yalexs-ble + ]; "yale_home" = ps: with ps; [ ]; "yale_smart_alarm" = ps: with ps; [ @@ -4738,6 +4831,7 @@ mutagen pymicro-vad pyserial + pyspeex-noise pyudev yalexs-ble zeroconf @@ -4870,6 +4964,7 @@ "androidtv_remote" "anova" "anthemav" + "anthropic" "aosmith" "apache_kafka" "apcupsd" @@ -4886,7 +4981,6 @@ "arve" "aseko_pool_live" "assist_pipeline" - "asterisk_mbox" "asuswrt" "atag" "august" @@ -5035,6 +5129,7 @@ "event" "everlights" "evil_genius_labs" + "evohome" "ezviz" "faa_delays" "facebook" @@ -5076,6 +5171,7 @@ "fronius" "frontend" "frontier_silicon" + "fujitsu_fglair" "fully_kiosk" "fyta" "garages_amsterdam" @@ -5246,7 +5342,6 @@ "logbook" "logentries" "logger" - "logi_circle" "london_air" "lookin" "loqed" @@ -5257,7 +5352,6 @@ "lutron_caseta" "lyric" "madvr" - "mailbox" "mailgun" "manual" "manual_mqtt" @@ -5331,6 +5425,7 @@ "nextdns" "nfandroidtv" "nibe_heatpump" + "nice_go" "nightscout" "nina" "nmap_tracker" @@ -5508,6 +5603,7 @@ "smartthings" "smarttub" "smhi" + "smlight" "sms" "smtp" "snapcast" @@ -5600,6 +5696,7 @@ "tomorrowio" "toon" "totalconnect" + "touchline_sl" "tplink" "tplink_omada" "traccar" @@ -5690,6 +5787,7 @@ "xiaomi_aqara" "xiaomi_ble" "xiaomi_miio" + "yale" "yale_smart_alarm" "yalexs_ble" "yamaha" diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 207680107439..1d146f0a8218 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -30,16 +30,6 @@ let # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (self: super: { - aioazuredevops = super.aioazuredevops.overridePythonAttrs (old: rec { - version = "2.1.1"; - src = fetchFromGitHub { - owner = "timmo001"; - repo = "aioazuredevops"; - rev = "refs/tags/${version}"; - hash = "sha256-rnvWjsTRBoojsuNG3uSdBlyycE4XSrhgjmb77jy7fxY="; - }; - }); - aioelectricitymaps = super.aioelectricitymaps.overridePythonAttrs (oldAttrs: rec { version = "0.4.0"; src = fetchFromGitHub { @@ -53,16 +43,6 @@ let ]; }); - aiolyric = super.aiolyric.overridePythonAttrs (oldAttrs: rec { - version = "1.1.1"; - src = fetchFromGitHub { - owner = "timmo001"; - repo = "aiolyric"; - rev = "refs/tags/${version}"; - hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo="; - }; - }); - aiopurpleair = super.aiopurpleair.overridePythonAttrs (oldAttrs: rec { version = "2022.12.1"; src = fetchFromGitHub { @@ -149,26 +129,6 @@ let ]; }); - intellifire4py = super.intellifire4py.overridePythonAttrs (oldAttrs: rec { - version = "2.2.2"; - src = fetchFromGitHub { - owner = "jeeftor"; - repo = "intellifire4py"; - rev = "refs/tags/${version}"; - hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI="; - }; - nativeBuildInputs = with self; [ - setuptools - ]; - propagatedBuildInputs = with self; [ - aenum - aiohttp - pydantic - requests - ]; - doCheck = false; # requires asynctest, which does not work on python 3.11 - }); - openhomedevice = super.openhomedevice.overridePythonAttrs (oldAttrs: rec { version = "2.2"; src = fetchFromGitHub { @@ -275,23 +235,6 @@ let ]; }); - pytibber = super.pytibber.overridePythonAttrs (oldAttrs: rec { - version = "0.28.2"; - src = fetchFromGitHub { - owner = "Danielhiversen"; - repo = "pyTibber"; - rev = "refs/tags/${version}"; - hash = "sha256-vi5f4V0nPb9K3nwdmwMDoNE85Or6haOWjMY4d/2Fj2s="; - }; - dependencies = with self; [ - aiohttp - async-timeout - gql - python-dateutil - websockets - ]; - }); - pykaleidescape = super.pykaleidescape.overridePythonAttrs (oldAttrs: rec { version = "1.0.1"; src = fetchFromGitHub { @@ -471,7 +414,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2024.8.3"; + hassVersion = "2024.9.0"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -489,13 +432,13 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-4UQ2+MpcngkAKQxfA9y0JUKQ3/m0Y7t2K80ujLoJUvU="; + hash = "sha256-tzEiT+1NvwmH/j1FnmUcanwjSGS8+M/FJ2wZY7qAdYk="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-iGAH6hxLgqAEovI82W0FREw7nqgX+4J+gm4cCGIS7h4="; + hash = "sha256-KTseRVRn3O75Sjot4f7fgKioKKEY33eXHcFufsPKLak="; }; build-system = with python.pkgs; [ @@ -513,11 +456,14 @@ in python.pkgs.buildPythonApplication rec { "httpx" "orjson" "pillow" + "pyjwt" "pyopenssl" + "pyyaml" "requests" "sqlalchemy" "typing-extensions" "urllib3" + "yarl" ]; # extract translations from pypi sdist @@ -533,7 +479,7 @@ in python.pkgs.buildPythonApplication rec { # Patch path to ffmpeg binary (substituteAll { src = ./patches/ffmpeg-path.patch; - ffmpeg = "${lib.getBin ffmpeg-headless}/bin/ffmpeg"; + ffmpeg = "${lib.getExe ffmpeg-headless}"; }) ]; diff --git a/pkgs/servers/home-assistant/patches/ffmpeg-path.patch b/pkgs/servers/home-assistant/patches/ffmpeg-path.patch index 5417c64f13ea..287821a1f5fc 100644 --- a/pkgs/servers/home-assistant/patches/ffmpeg-path.patch +++ b/pkgs/servers/home-assistant/patches/ffmpeg-path.patch @@ -1,5 +1,5 @@ diff --git a/homeassistant/components/ffmpeg/__init__.py b/homeassistant/components/ffmpeg/__init__.py -index 4ab4ee32a0..0f04f037f6 100644 +index 5e1be36f39..df19ff1a49 100644 --- a/homeassistant/components/ffmpeg/__init__.py +++ b/homeassistant/components/ffmpeg/__init__.py @@ -46,7 +46,7 @@ CONF_FFMPEG_BIN = "ffmpeg_bin" @@ -9,13 +9,13 @@ index 4ab4ee32a0..0f04f037f6 100644 -DEFAULT_BINARY = "ffmpeg" +DEFAULT_BINARY = "@ffmpeg@" - CONFIG_SCHEMA = vol.Schema( - { + # Currently we only care if the version is < 3 + # because we use a different content-type diff --git a/tests/components/ffmpeg/test_binary_sensor.py b/tests/components/ffmpeg/test_binary_sensor.py -index 6eec115d6f..c55b4fb26c 100644 +index 535ac86336..321eab4270 100644 --- a/tests/components/ffmpeg/test_binary_sensor.py +++ b/tests/components/ffmpeg/test_binary_sensor.py -@@ -24,7 +24,7 @@ async def test_noise_setup_component(hass: HomeAssistant) -> None: +@@ -25,7 +25,7 @@ async def test_noise_setup_component(hass: HomeAssistant) -> None: await async_setup_component(hass, "binary_sensor", CONFIG_NOISE) await hass.async_block_till_done() @@ -24,7 +24,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_noise") is not None -@@ -35,7 +35,7 @@ async def test_noise_setup_component_start(mock_start, hass: HomeAssistant): +@@ -36,7 +36,7 @@ async def test_noise_setup_component_start(mock_start, hass: HomeAssistant) -> N await async_setup_component(hass, "binary_sensor", CONFIG_NOISE) await hass.async_block_till_done() @@ -33,7 +33,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_noise") is not None hass.bus.async_fire(EVENT_HOMEASSISTANT_START) -@@ -55,7 +55,7 @@ async def test_noise_setup_component_start_callback(mock_ffmpeg, hass: HomeAssis +@@ -58,7 +58,7 @@ async def test_noise_setup_component_start_callback( await async_setup_component(hass, "binary_sensor", CONFIG_NOISE) await hass.async_block_till_done() @@ -42,7 +42,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_noise") is not None hass.bus.async_fire(EVENT_HOMEASSISTANT_START) -@@ -80,7 +80,7 @@ async def test_motion_setup_component(hass: HomeAssistant) -> None: +@@ -83,7 +83,7 @@ async def test_motion_setup_component(hass: HomeAssistant) -> None: await async_setup_component(hass, "binary_sensor", CONFIG_MOTION) await hass.async_block_till_done() @@ -51,7 +51,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_motion") is not None -@@ -91,7 +91,7 @@ async def test_motion_setup_component_start(mock_start, hass: HomeAssistant): +@@ -94,7 +94,7 @@ async def test_motion_setup_component_start(mock_start, hass: HomeAssistant) -> await async_setup_component(hass, "binary_sensor", CONFIG_MOTION) await hass.async_block_till_done() @@ -60,7 +60,7 @@ index 6eec115d6f..c55b4fb26c 100644 assert hass.states.get("binary_sensor.ffmpeg_motion") is not None hass.bus.async_fire(EVENT_HOMEASSISTANT_START) -@@ -111,7 +111,7 @@ async def test_motion_setup_component_start_callback(mock_ffmpeg, hass: HomeAssi +@@ -116,7 +116,7 @@ async def test_motion_setup_component_start_callback( await async_setup_component(hass, "binary_sensor", CONFIG_MOTION) await hass.async_block_till_done() @@ -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 452a818859..41ba776436 100644 +index aa407d5b69..e6d292c040 100644 --- a/tests/components/ffmpeg/test_init.py +++ b/tests/components/ffmpeg/test_init.py -@@ -81,7 +81,7 @@ def test_setup_component(): - with assert_setup_component(1): - setup_component(hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}}) +@@ -87,7 +87,7 @@ async def test_setup_component(hass: HomeAssistant) -> None: + with assert_setup_component(1): + await async_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 hass.data[ffmpeg.DATA_FFMPEG].binary == "ffmpeg" ++ assert hass.data[ffmpeg.DATA_FFMPEG].binary == "@ffmpeg@" + async def test_setup_component_test_service(hass: HomeAssistant) -> None: diff --git a/pkgs/servers/home-assistant/update-component-packages.py b/pkgs/servers/home-assistant/update-component-packages.py index 1889aff36148..1c68331d1c1c 100755 --- a/pkgs/servers/home-assistant/update-component-packages.py +++ b/pkgs/servers/home-assistant/update-component-packages.py @@ -106,12 +106,17 @@ def parse_components(version: str = "master"): components_with_tests.append(entry.name) sys.path.append(core_path) - from script.hassfest.model import Integration # type: ignore - integrations = Integration.load_dir( - pathlib.Path( + from script.hassfest.model import Config, Integration # type: ignore + config = Config( + root=pathlib.Path(core_path), + specific_integrations=None, + action="generate", + requirements=False, + core_integrations_path=pathlib.Path( os.path.join(core_path, "homeassistant/components") - ) + ), ) + integrations = Integration.load_dir(config.core_integrations_path, config) for domain in sorted(integrations): integration = integrations[domain] if extra_deps := EXTRA_COMPONENT_DEPS.get(integration.domain):