diff --git a/pkgs/development/python-modules/aiohomematic-test-support/default.nix b/pkgs/development/python-modules/aiohomematic-test-support/default.nix new file mode 100644 index 000000000000..4121f93725a2 --- /dev/null +++ b/pkgs/development/python-modules/aiohomematic-test-support/default.nix @@ -0,0 +1,28 @@ +{ + aiohomematic, + buildPythonPackage, + setuptools, +}: + +buildPythonPackage rec { + pname = "aiohomematic-test-support"; + inherit (aiohomematic) version src; + pyproject = true; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail 'dynamic = ["version"]' 'version = "${version}"' + ''; + + sourceRoot = "${src.name}/aiohomematic_test_support"; + + build-system = [ setuptools ]; + + pythonImportsCheck = [ "aiohomematic_test_support" ]; + + meta = { + description = "Support-only package for AioHomematic (tests/dev)"; + homepage = "https://github.com/SukramJ/aiohomematic/tree/devel/aiohomematic_test_support"; + inherit (aiohomematic.meta) license maintainers; + }; +} diff --git a/pkgs/development/python-modules/aiohomematic/default.nix b/pkgs/development/python-modules/aiohomematic/default.nix index 363dbf4fc3ce..b5c0f4bf18fb 100644 --- a/pkgs/development/python-modules/aiohomematic/default.nix +++ b/pkgs/development/python-modules/aiohomematic/default.nix @@ -16,21 +16,16 @@ buildPythonPackage rec { pname = "aiohomematic"; - version = "2025.10.5"; + version = "2025.11.5"; pyproject = true; src = fetchFromGitHub { owner = "SukramJ"; repo = "aiohomematic"; tag = version; - hash = "sha256-DgLeshxPo2ZwQXe8pSg81kFLviEWKakOY8DtdQH/H58="; + hash = "sha256-bqhuh+9rcqKreZCc3WJPFR1i3Y8mjtLER/bLlbMp6xc="; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "setuptools==80.9.0" "setuptools" - ''; - build-system = [ setuptools ]; dependencies = [ @@ -50,11 +45,6 @@ buildPythonPackage rec { pythonImportsCheck = [ "aiohomematic" ]; - disabledTests = [ - # AssertionError: assert 548 == 555 - "test_central_full" - ]; - meta = { description = "Module to interact with HomeMatic devices"; homepage = "https://github.com/SukramJ/aiohomematic"; diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix index 27863dcaf353..f0a178c08d2b 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix @@ -1,21 +1,25 @@ { lib, + async-upnp-client, buildHomeAssistantComponent, fetchFromGitHub, aiohomematic, + aiohomematic-test-support, home-assistant, + pytest-homeassistant-custom-component, + pytestCheckHook, }: buildHomeAssistantComponent rec { owner = "SukramJ"; domain = "homematicip_local"; - version = "1.89.1"; + version = "1.90.0"; src = fetchFromGitHub { owner = "SukramJ"; repo = "custom_homematic"; tag = version; - hash = "sha256-40t64RAJy/isLfcP71pKiqh3cFXy/s1Mv35NosPnh48="; + hash = "sha256-tdOxZWofsb2loN1ItQNeEwjIR4divLidyiyAgze6hqw="; }; postPatch = '' @@ -29,6 +33,18 @@ buildHomeAssistantComponent rec { aiohomematic ]; + nativeCheckInputs = [ + aiohomematic-test-support + async-upnp-client + pytest-homeassistant-custom-component + pytestCheckHook + ]; + + disabledTests = [ + # custom_components.homematicip_local.support.InvalidConfig: C + "test_async_validate_config_and_get_system_information" + ]; + meta = { changelog = "https://github.com/SukramJ/custom_homematic/blob/${src.tag}/changelog.md"; description = "Custom Home Assistant Component for HomeMatic"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 41059f238981..f22805eed7cc 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -296,6 +296,8 @@ self: super: with self; { aiohomematic = callPackage ../development/python-modules/aiohomematic { }; + aiohomematic-test-support = callPackage ../development/python-modules/aiohomematic-test-support { }; + aiohttp = callPackage ../development/python-modules/aiohttp { }; aiohttp-apispec = callPackage ../development/python-modules/aiohttp-apispec { };