diff --git a/pkgs/development/python-modules/aiohomematic/default.nix b/pkgs/development/python-modules/aiohomematic/default.nix index d226d6ebaed6..567f2f7f6c74 100644 --- a/pkgs/development/python-modules/aiohomematic/default.nix +++ b/pkgs/development/python-modules/aiohomematic/default.nix @@ -19,7 +19,7 @@ buildPythonPackage rec { pname = "aiohomematic"; - version = "2026.5.11"; + version = "2026.7.2"; pyproject = true; disabled = pythonOlder "3.14"; @@ -28,7 +28,7 @@ buildPythonPackage rec { owner = "SukramJ"; repo = "aiohomematic"; tag = version; - hash = "sha256-Ua7/sLhL0mbZvJwx+TNfXoP+z+jE2TyCO3DqsFpPe6A="; + hash = "sha256-P9w6re8ZRw04v6YKSYeYwjrpYpwqGSmRNWk4J+GbwpM="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/openccu-data/default.nix b/pkgs/development/python-modules/openccu-data/default.nix index 925e79400eb1..121965f95672 100644 --- a/pkgs/development/python-modules/openccu-data/default.nix +++ b/pkgs/development/python-modules/openccu-data/default.nix @@ -8,14 +8,14 @@ buildPythonPackage (finalAttrs: { pname = "openccu-data"; - version = "2026.5.0"; + version = "2026.6.1"; pyproject = true; src = fetchFromGitHub { owner = "SukramJ"; repo = "openccu-data"; tag = finalAttrs.version; - hash = "sha256-jJNNpBeEQ1CPZP/5ssenXSmvC7FMbUUBhG1Ty/3hGvk="; + hash = "sha256-iG9TKQQH8wM9sEHfaSPfWwbledwCSS/OlnTZ059l774="; }; build-system = [ setuptools ]; diff --git a/pkgs/development/python-modules/openccu-loom-client/default.nix b/pkgs/development/python-modules/openccu-loom-client/default.nix new file mode 100644 index 000000000000..f9b4e4c31f03 --- /dev/null +++ b/pkgs/development/python-modules/openccu-loom-client/default.nix @@ -0,0 +1,52 @@ +{ + aiohomematic, + aiohttp, + buildPythonPackage, + fetchFromGitHub, + lib, + openccu-loom-types, + pydantic, + pytest-asyncio, + pytestCheckHook, + python-slugify, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "openccu-loom-client"; + version = "2026.7.4"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "SukramJ"; + repo = "openccu-loom-client"; + tag = finalAttrs.version; + hash = "sha256-eI8fDslP4yVNamJtYTaMG7yw0liPAib0WmCUu+E9WUk="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohomematic + aiohttp + openccu-loom-types + pydantic + python-slugify + ]; + + pythonImportsCheck = [ "openccu_loom_client" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/SukramJ/openccu-loom-client/blob/${finalAttrs.src.tag}/changelog.md"; + description = "Async Python REST + WebSocket client for the openccu-loom daemon"; + homepage = "https://github.com/SukramJ/openccu-loom-client"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) diff --git a/pkgs/development/python-modules/openccu-loom-types/default.nix b/pkgs/development/python-modules/openccu-loom-types/default.nix new file mode 100644 index 000000000000..c61cccc380f5 --- /dev/null +++ b/pkgs/development/python-modules/openccu-loom-types/default.nix @@ -0,0 +1,43 @@ +{ + buildPythonPackage, + datamodel-code-generator, + fetchFromGitHub, + lib, + pydantic, + pytestCheckHook, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "openccu-loom-types"; + version = "0.1.52"; + pyproject = true; + __structuredAttrs = true; + + src = fetchFromGitHub { + owner = "SukramJ"; + repo = "openccu-loom-types"; + tag = "v${finalAttrs.version}"; + hash = "sha256-cdQvGvOc8RZJ5riWHeRkY07RWu6z9kDYCVSC3+tWPPA="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pydantic + ]; + + pythonImportsCheck = [ "openccu_loom_types" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/SukramJ/openccu-loom-types/blob/${finalAttrs.src.tag}/changelog.md"; + description = "Generated Pydantic / enum types for the openccu-loom REST + WebSocket contract"; + homepage = "https://github.com/SukramJ/openccu-loom-types"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) 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 73ca78499249..f5a05af9eab6 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/package.nix @@ -8,6 +8,7 @@ aiohomematic-test-support, home-assistant, openccu-data, + openccu-loom-client, pytest-homeassistant-custom-component, pytest-xdist, pytestCheckHook, @@ -16,13 +17,13 @@ buildHomeAssistantComponent rec { owner = "SukramJ"; domain = "homematicip_local"; - version = "2.7.3"; + version = "2.8.2"; src = fetchFromGitHub { owner = "SukramJ"; repo = "custom_homematic"; tag = version; - hash = "sha256-9dXvIxMMdHTOi9JbRsHbySqRUYq6dN+MzrOocq9cpdA="; + hash = "sha256-KCvchOYhBYJNYbc/7HvuwrXMDoxkl15ikpJPZMC4cEc="; }; postPatch = '' @@ -36,6 +37,7 @@ buildHomeAssistantComponent rec { aiohomematic aiohomematic-config openccu-data + openccu-loom-client ]; nativeCheckInputs = [ @@ -54,8 +56,6 @@ buildHomeAssistantComponent rec { disabledTests = [ # custom_components.homematicip_local.support.InvalidConfig: C "test_async_validate_config_and_get_system_information" - # Failed: Lingering timer after test - "test_reauth_flow_success" ]; meta = { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c96c2839b5d9..bd13289cacc2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -12177,6 +12177,10 @@ self: super: with self; { openccu-data = callPackage ../development/python-modules/openccu-data { }; + openccu-loom-client = callPackage ../development/python-modules/openccu-loom-client { }; + + openccu-loom-types = callPackage ../development/python-modules/openccu-loom-types { }; + opencensus = callPackage ../development/python-modules/opencensus { }; opencensus-context = callPackage ../development/python-modules/opencensus-context { };