diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index d8b05c3a638c..cb2af1696bc5 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 = "2025.10.4"; + version = "2025.11.0"; components = { "3_day_blinds" = ps: with ps; [ @@ -56,6 +56,10 @@ "actiontec" = ps: with ps; [ ]; + "actron_air" = + ps: with ps; [ + actron-neo-api + ]; "adax" = ps: with ps; [ adax @@ -907,6 +911,7 @@ ]; "citybikes" = ps: with ps; [ + python-citybikes ]; "clementine" = ps: with ps; [ @@ -1463,6 +1468,7 @@ "elevenlabs" = ps: with ps; [ elevenlabs + sentence-stream ]; "elgato" = ps: with ps; [ @@ -1542,9 +1548,6 @@ ps: with ps; [ openwebifpy ]; - "enmax" = - ps: with ps; [ - ]; "enocean" = ps: with ps; [ enocean @@ -1758,6 +1761,9 @@ psutil-home-assistant sqlalchemy ]; + "fing" = + ps: with ps; [ + ]; # missing inputs: fing_agent_api "fints" = ps: with ps; [ fints @@ -1765,6 +1771,10 @@ "fire_tv" = ps: with ps; [ ]; + "firefly_iii" = + ps: with ps; [ + pyfirefly + ]; "fireservicerota" = ps: with ps; [ pyfireservicerota @@ -2375,14 +2385,18 @@ "homeassistant_green" = ps: with ps; [ aiohasupervisor + aiousbwatcher ha-silabs-firmware-client psutil-home-assistant + pyserial universal-silabs-flasher ]; "homeassistant_hardware" = ps: with ps; [ aiohasupervisor + aiousbwatcher ha-silabs-firmware-client + pyserial universal-silabs-flasher ]; "homeassistant_sky_connect" = @@ -2397,8 +2411,10 @@ "homeassistant_yellow" = ps: with ps; [ aiohasupervisor + aiousbwatcher ha-silabs-firmware-client psutil-home-assistant + pyserial universal-silabs-flasher ]; "homee" = @@ -2709,6 +2725,11 @@ "indianamichiganpower" = ps: with ps; [ ]; + "inels" = + ps: with ps; [ + aiohasupervisor + paho-mqtt + ]; # missing inputs: elkoep-aio-mqtt "influxdb" = ps: with ps; [ influxdb @@ -3426,6 +3447,10 @@ ps: with ps; [ luftdaten ]; + "lunatone" = + ps: with ps; [ + lunatone-rest-api-client + ]; "lupusec" = ps: with ps; [ lupupy @@ -3620,6 +3645,10 @@ ps: with ps; [ meteofrance-api ]; + "meteo_lt" = + ps: with ps; [ + meteo-lt-pkg + ]; "meteoalarm" = ps: with ps; [ meteoalertapi @@ -4052,6 +4081,10 @@ ps: with ps; [ pynina ]; + "nintendo_parental_controls" = + ps: with ps; [ + pynintendoparental + ]; "nissan_leaf" = ps: with ps; [ pycarwings2 @@ -4223,7 +4256,7 @@ ]; "onewire" = ps: with ps; [ - pyownet + aio-ownet ]; "onkyo" = ps: with ps; [ @@ -4287,6 +4320,10 @@ ps: with ps; [ openhomedevice ]; + "openrgb" = + ps: with ps; [ + openrgb-python + ]; "opensensemap" = ps: with ps; [ opensensemap-api @@ -4582,7 +4619,6 @@ ]; "plum_lightpad" = ps: with ps; [ - plumlightpad ]; "pocketcasts" = ps: with ps; [ @@ -5632,6 +5668,10 @@ "solaredge" = ps: with ps; [ aiosolaredge + fnv-hash-fast + psutil-home-assistant + solaredge-web + sqlalchemy stringcase ]; "solaredge_local" = @@ -5798,6 +5838,10 @@ "sun" = ps: with ps; [ ]; + "sunricher_dali" = + ps: with ps; [ + pysrdaligateway + ]; "sunweg" = ps: with ps; [ ]; @@ -6583,10 +6627,6 @@ "volvooncall" = ps: with ps; [ ]; - "vultr" = - ps: with ps; [ - vultr - ]; "w800rf32" = ps: with ps; [ pyw800rf32 @@ -6617,10 +6657,6 @@ ps: with ps; [ watergate-local-api ]; - "watson_iot" = - ps: with ps; [ - ibmiotf - ]; "watttime" = ps: with ps; [ aiowatttime @@ -7007,6 +7043,7 @@ "acaia" "accuweather" "acmeda" + "actron_air" "adax" "adguard" "advantage_air" @@ -7246,6 +7283,7 @@ "filesize" "filter" "fints" + "firefly_iii" "fireservicerota" "firmata" "fitbit" @@ -7475,6 +7513,7 @@ "loqed" "lovelace" "luftdaten" + "lunatone" "lupusec" "lutron" "lutron_caseta" @@ -7504,6 +7543,7 @@ "met" "met_eireann" "meteo_france" + "meteo_lt" "meteoclimatic" "metoffice" "mfi" @@ -7573,6 +7613,7 @@ "nightscout" "niko_home_control" "nina" + "nintendo_parental_controls" "nmap_tracker" "nmbs" "no_ip" @@ -7614,6 +7655,7 @@ "opengarage" "openhardwaremonitor" "openhome" + "openrgb" "opensky" "opentherm_gw" "openuv" @@ -7831,6 +7873,7 @@ "subaru" "suez_water" "sun" + "sunricher_dali" "sunweg" "surepetcare" "swiss_public_transport" @@ -7950,7 +7993,6 @@ "volumio" "volvo" "volvooncall" - "vultr" "wake_on_lan" "wake_word" "wallbox" diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 575e174a89a1..51f5b443e56a 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -259,37 +259,6 @@ let doCheck = false; }); - python-telegram-bot = super.python-telegram-bot.overridePythonAttrs (oldAttrs: rec { - version = "21.5"; - - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - tag = version; - hash = "sha256-i1YEcN615xeI4HcygXV9kzuXpT2yDSnlNU6bZqu1dPM="; - }; - }); - - pytraccar = super.pytraccar.overridePythonAttrs (oldAttrs: rec { - version = "2.1.1"; - - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - tag = version; - hash = "sha256-WTRqYw66iD4bbb1aWJfBI67+DtE1FE4oiuUKpfVqypE="; - }; - }); - - # Pinned due to API changes ~1.0 - vultr = super.vultr.overridePythonAttrs (oldAttrs: rec { - version = "0.1.2"; - src = fetchFromGitHub { - owner = "spry-group"; - repo = "python-vultr"; - rev = version; - hash = "sha256-sHCZ8Csxs5rwg1ZG++hP3MfK7ldeAdqm5ta9tEXeW+I="; - }; - }); - wolf-comm = super.wolf-comm.overridePythonAttrs rec { version = "0.0.23"; src = fetchFromGitHub { @@ -330,7 +299,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2025.10.4"; + hassVersion = "2025.11.0"; in python.pkgs.buildPythonApplication rec { @@ -351,13 +320,13 @@ python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; tag = version; - hash = "sha256-CaS/37Pastpoeb6fXLiChVcQXNqVJMaXV04HGnNFlL0="; + hash = "sha256-+syn/y2ukZKsnCniZxodRWVcCE3AcvUKt80L2XslKKI="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-Ue1Aat8aSEXHUSIl2ji1cQaZEnVRgY7+PBHB9mQBJ6I="; + hash = "sha256-JSWr+yGvpXYc6Bw3B+xVLpYokVM11dsJZBWYy+W4bH4="; }; build-system = with python.pkgs; [ @@ -471,7 +440,6 @@ python.pkgs.buildPythonApplication rec { pytest-asyncio pytest-aiohttp pytest-freezer - pytest-mock pytest-socket pytest-timeout pytest-unordered @@ -480,11 +448,10 @@ python.pkgs.buildPythonApplication rec { requests-mock respx syrupy - tomli - # Sneakily imported in tests/conftest.py - paho-mqtt # Used in tests/non_packaged_scripts/test_alexa_locales.py beautifulsoup4 + # Used in tests/scripts/test_check_config.py + colorlog ] ++ lib.concatMap (component: getPackages component python.pkgs) [ # some components are needed even if tests in tests/components are disabled diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 9dcbdb0cfe95..19d31b0c774a 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -18,14 +18,9 @@ let homeassistant_hardware = getComponentDeps "otbr" ++ getComponentDeps "zha"; homeassistant_sky_connect = getComponentDeps "zha"; homeassistant_yellow = getComponentDeps "zha"; - husqvarna_automower_ble = getComponentDeps "gardena_bluetooth"; lovelace = [ pychromecast ]; - matrix = [ - pydantic - ]; - mopeka = getComponentDeps "switchbot"; onboarding = [ pymetno radios @@ -44,7 +39,6 @@ let system_log = [ isal ]; - tesla_fleet = getComponentDeps "teslemetry"; xiaomi_miio = [ arrow ]; @@ -57,34 +51,12 @@ let }; extraDisabledTestPaths = { - backup = [ - # outdated snapshot - "tests/components/backup/test_sensors.py::test_sensors" - ]; - bosch_alarm = [ - # outdated snapshots - "tests/components/bosch_alarm/test_binary_sensor.py::test_binary_sensor[None-solution_3000]" - "tests/components/bosch_alarm/test_binary_sensor.py::test_binary_sensor[None-amax_3000]" - "tests/components/bosch_alarm/test_binary_sensor.py::test_binary_sensor[None-b5512]" - ]; - bmw_connected_drive = [ - # outdated snapshot - "tests/components/bmw_connected_drive/test_binary_sensor.py::test_entity_state_attrs" - ]; - dnsip = [ - # Tries to resolve DNS entries - "tests/components/dnsip/test_config_flow.py::test_options_flow" - ]; jellyfin = [ # AssertionError: assert 'audio/x-flac' == 'audio/flac' "tests/components/jellyfin/test_media_source.py::test_resolve" "tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve" "tests/components/jellyfin/test_media_source.py::test_music_library" ]; - matter = [ - # outdated snapshot in eve_weather_sensor variant - "tests/components/matter/test_number.py::test_numbers" - ]; minecraft_server = [ # FileNotFoundError: [Errno 2] No such file or directory: '/etc/resolv.conf' "tests/components/minecraft_server/test_binary_sensor.py" @@ -104,22 +76,17 @@ let "tests/components/nzbget/test_init.py::test_async_setup_raises_entry_not_ready" ]; openai_conversation = [ - # outdated snapshot - "tests/components/openai_conversation/test_conversation.py::test_function_call" # Pydantic validation error "tests/components/openai_conversation/test_conversation.py" "tests/components/openai_conversation/test_ai_task.py" - # TypeError: object ImagesResponse can't be used in 'await' expression - "tests/components/openai_conversation/test_init.py::test_generate_image_service" - "tests/components/openai_conversation/test_init.py::test_generate_image_service_error" ]; overseerr = [ # imports broken future module "tests/components/overseerr/test_event.py" ]; - technove = [ + youtube = [ # outdated snapshot - "tests/components/technove/test_switch.py::test_switches" + "tests/components/youtube/test_sensor.py::test_sensor" ]; }; @@ -128,10 +95,6 @@ let # intent fixture mismatch "test_error_no_device_on_floor" ]; - forecast_solar = [ - # language fixture mismatch - "test_enabling_disable_by_default" - ]; sensor = [ # Failed: Translation not found for sensor "test_validate_unit_change_convertible" @@ -147,14 +110,6 @@ let # tries to retrieve file from github "test_non_text_stdout_capture" ]; - smartthings = [ - # outdated snapshots - "test_all_entities" - ]; - websocket_api = [ - # AssertionError: assert 'unknown_error' == 'template_error' - "test_render_template_with_timeout" - ]; zeroconf = [ # multicast socket bind, not possible in the sandbox "test_subscribe_discovery"