diff --git a/pkgs/development/python-modules/aioairctrl/default.nix b/pkgs/development/python-modules/aioairctrl/default.nix new file mode 100644 index 0000000000000..4a1de2c77dfba --- /dev/null +++ b/pkgs/development/python-modules/aioairctrl/default.nix @@ -0,0 +1,41 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + wheel, + aiocoap, + pycryptodomex, +}: + +buildPythonPackage rec { + pname = "aioairctrl"; + version = "0.2.5"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-BPUV79S2A0F6vZA2pd3XNLpmRHTp6RSoNXPcI+OJRbk="; + }; + + build-system = [ + setuptools + wheel + ]; + + dependencies = [ + aiocoap + pycryptodomex + ]; + + pythonImportsCheck = [ "aioairctrl" ]; + + doCheck = false; # no tests + + meta = { + description = "Library for controlling Philips air purifiers (using encrypted CoAP)"; + homepage = "https://github.com/kongo09/aioairctrl"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ justinas ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/philips_airpurifier_coap/package.nix b/pkgs/servers/home-assistant/custom-components/philips_airpurifier_coap/package.nix new file mode 100644 index 0000000000000..8681adeccc3e2 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/philips_airpurifier_coap/package.nix @@ -0,0 +1,37 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + + aioairctrl, + getmac, +}: + +buildHomeAssistantComponent rec { + owner = "kongo09"; + domain = "philips_airpurifier_coap"; + version = "0.28.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "philips-airpurifier-coap"; + rev = "v${version}"; + hash = "sha256-yoaph/R3c4j+sXEC02Hv+ixtuif70/y6Gag5NBpKFLs="; + }; + + postPatch = '' + substituteInPlace custom_components/philips_airpurifier_coap/manifest.json --replace-fail 'getmac==0.9.4' 'getmac>=0.9.4' + ''; + + dependencies = [ + aioairctrl + getmac + ]; + + meta = { + description = "Philips AirPurifier custom component for Home Assistant"; + homepage = "https://github.com/kongo09/philips-airpurifier-coap"; + license = lib.licenses.unfree; # See https://github.com/kongo09/philips-airpurifier-coap/issues/209 + maintainers = with lib.maintainers; [ justinas ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 19a640eaf5ef6..359eb578f7b32 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -153,6 +153,8 @@ self: super: with self; { aio-pika = callPackage ../development/python-modules/aio-pika { }; + aioairctrl = callPackage ../development/python-modules/aioairctrl { }; + aioacaia = callPackage ../development/python-modules/aioacaia { }; aioairzone = callPackage ../development/python-modules/aioairzone { };