diff --git a/pkgs/development/python-modules/omnilogic/default.nix b/pkgs/development/python-modules/omnilogic/default.nix new file mode 100644 index 00000000000..6e12e573706 --- /dev/null +++ b/pkgs/development/python-modules/omnilogic/default.nix @@ -0,0 +1,39 @@ +{ lib +, aiohttp +, xmltodict +, buildPythonPackage +, fetchFromGitHub +}: + +buildPythonPackage rec { + pname = "omnilogic"; + version = "0.4.3"; + + src = fetchFromGitHub { + owner = "djtimca"; + repo = "omnilogic-api"; + rev = "v${version}"; + sha256 = "19pmbykq0mckk23aj33xbhg3gjx557xy9a481mp6pkmihf2lsc8z"; + }; + + propagatedBuildInputs = [ + aiohttp + xmltodict + ]; + + postPatch = '' + # Is not used but still present in setup.py + substituteInPlace setup.py --replace "'config'," "" + ''; + + # Project has no tests + doCheck = false; + pythonImportsCheck = [ "omnilogic" ]; + + meta = with lib; { + description = "Python interface for the Hayward Omnilogic pool control system"; + homepage = "https://github.com/djtimca/omnilogic-api"; + license = with licenses; [ asl20 ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 409869d5b96..3ef0896f007 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -581,7 +581,7 @@ "oem" = ps: with ps; [ ]; # missing inputs: oemthermostat "ohmconnect" = ps: with ps; [ defusedxml ]; "ombi" = ps: with ps; [ ]; # missing inputs: pyombi - "omnilogic" = ps: with ps; [ ]; # missing inputs: omnilogic + "omnilogic" = ps: with ps; [ omnilogic ]; "onboarding" = ps: with ps; [ aiohttp-cors pillow ]; "ondilo_ico" = ps: with ps; [ aiohttp-cors ]; # missing inputs: ondilo "onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index c2987c19e6f..adf4c302826 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -286,6 +286,7 @@ in with py.pkgs; buildPythonApplication rec { "notify" "notion" "number" + "omnilogic" "ozw" "panel_custom" "panel_iframe" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dc77324c0b9..12e89dca432 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4801,6 +4801,8 @@ in { omegaconf = callPackage ../development/python-modules/omegaconf { }; + omnilogic = callPackage ../development/python-modules/omnilogic { }; + onkyo-eiscp = callPackage ../development/python-modules/onkyo-eiscp { }; onnx = callPackage ../development/python-modules/onnx { };