diff --git a/pkgs/development/python-modules/pysaunum/default.nix b/pkgs/development/python-modules/pysaunum/default.nix new file mode 100644 index 000000000000..9c97b665b580 --- /dev/null +++ b/pkgs/development/python-modules/pysaunum/default.nix @@ -0,0 +1,43 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + pymodbus, + pytestCheckHook, + pytest-asyncio, + pytest-timeout, +}: + +buildPythonPackage (finalAttrs: { + pname = "pysaunum"; + version = "0.5.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "mettolen"; + repo = "pysaunum"; + tag = "v${finalAttrs.version}"; + hash = "sha256-0O/U79265YCr3iauVxXL0NRjVy7TZhlfUV3idfYa3fc="; + }; + + build-system = [ setuptools ]; + + dependencies = [ pymodbus ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + pytest-timeout + ]; + + pythonImportsCheck = [ "pysaunum" ]; + + meta = { + description = "Python library for controlling Saunum sauna controllers via Modbus TCP"; + homepage = "https://github.com/mettolen/pysaunum"; + changelog = "https://github.com/mettolen/pysaunum/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +}) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 34e3b668e27d..bc9b75a56b7d 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -5392,7 +5392,8 @@ ]; "saunum" = ps: with ps; [ - ]; # missing inputs: pysaunum + pysaunum + ]; "scene" = ps: with ps; [ ]; @@ -8013,6 +8014,7 @@ "samsungtv" "sanix" "satel_integra" + "saunum" "scene" "schedule" "schlage" diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 529cba15afd2..ea8eaec3b412 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14841,6 +14841,8 @@ self: super: with self; { pysatochip = callPackage ../development/python-modules/pysatochip { }; + pysaunum = callPackage ../development/python-modules/pysaunum { }; + pysbd = callPackage ../development/python-modules/pysbd { }; pysc2 = callPackage ../development/python-modules/pysc2 { };