1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 fetchFromGitHub,
6 freezegun,
7 orjson,
8 pydevccu,
9 pytest-asyncio,
10 pytest-socket,
11 pytestCheckHook,
12 python-slugify,
13 setuptools,
14 voluptuous,
15}:
16
17buildPythonPackage rec {
18 pname = "aiohomematic";
19 version = "2025.10.1";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "SukramJ";
24 repo = "aiohomematic";
25 tag = version;
26 hash = "sha256-6bJh+9giJaxmUB/UHRt/RmtoMYkCJ4ZF01WA2K6NF9Y=";
27 };
28
29 postPatch = ''
30 substituteInPlace pyproject.toml \
31 --replace-fail "setuptools==80.9.0" "setuptools"
32 '';
33
34 build-system = [ setuptools ];
35
36 dependencies = [
37 aiohttp
38 orjson
39 python-slugify
40 voluptuous
41 ];
42
43 nativeCheckInputs = [
44 freezegun
45 pydevccu
46 pytest-asyncio
47 pytest-socket
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [ "aiohomematic" ];
52
53 disabledTests = [
54 # AssertionError: assert 548 == 555
55 "test_central_full"
56 ];
57
58 meta = {
59 description = "Module to interact with HomeMatic devices";
60 homepage = "https://github.com/SukramJ/aiohomematic";
61 changelog = "https://github.com/SukramJ/aiohomematic/blob/${src.tag}/changelog.md";
62 license = lib.licenses.mit;
63 maintainers = with lib.maintainers; [
64 dotlambda
65 fab
66 ];
67 };
68}