diff --git a/pkgs/development/python-modules/pycontrol4/default.nix b/pkgs/development/python-modules/pycontrol4/default.nix new file mode 100644 index 000000000000..93f7dcdc0a23 --- /dev/null +++ b/pkgs/development/python-modules/pycontrol4/default.nix @@ -0,0 +1,43 @@ +{ lib +, buildPythonPackage +, pythonOlder +, fetchFromGitHub +, aiohttp +, xmltodict +}: + +buildPythonPackage rec { + pname = "pycontrol4"; + version = "0.1.0"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "lawtancool"; + repo = "pyControl4"; + rev = "v${version}"; + sha256 = "0idw9kv6yxrbp0r33vb1jlzgil20m2rjjfrxhcwxmbjjqv93zn6d"; + }; + + propagatedBuildInputs = [ + aiohttp + xmltodict + ]; + + # tests access network + doCheck = false; + + pythonImportsCheck = [ + "pyControl4.account" + "pyControl4.alarm" + "pyControl4.director" + "pyControl4.light" + ]; + + meta = with lib; { + description = "Python 3 asyncio package for interacting with Control4 systems"; + homepage = "https://github.com/lawtancool/pyControl4"; + license = licenses.asl20; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 09f446216bb1..f27cec2fcfef 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -138,7 +138,7 @@ "concord232" = ps: with ps; [ ]; # missing inputs: concord232 "config" = ps: with ps; [ aiohttp-cors ]; "configurator" = ps: with ps; [ ]; - "control4" = ps: with ps; [ ]; # missing inputs: pyControl4 + "control4" = ps: with ps; [ pycontrol4 ]; "conversation" = ps: with ps; [ aiohttp-cors ]; "coolmaster" = ps: with ps; [ ]; # missing inputs: pycoolmasternet-async "coronavirus" = ps: with ps; [ coronavirus ]; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index d903b619d5da..ab1354764ae8 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -334,6 +334,7 @@ in with py.pkgs; buildPythonApplication rec { "compensation" "config" "configurator" + "control4" "conversation" "coronavirus" "counter" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8f017233ac37..8bdc94b343c4 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5230,6 +5230,8 @@ in { pyatag = callPackage ../development/python-modules/pyatag { }; + pycontrol4 = callPackage ../development/python-modules/pycontrol4 { }; + pyfireservicerota = callPackage ../development/python-modules/pyfireservicerota { }; pyflick = callPackage ../development/python-modules/pyflick { };