diff --git a/pkgs/development/python-modules/heatmiserv3/default.nix b/pkgs/development/python-modules/heatmiserv3/default.nix new file mode 100644 index 000000000000..5d7ed86f225b --- /dev/null +++ b/pkgs/development/python-modules/heatmiserv3/default.nix @@ -0,0 +1,46 @@ +{ + appdirs, + buildPythonPackage, + fetchFromGitHub, + importlib-resources, + lib, + poetry-core, + pyserial, + pyserial-asyncio, + pytestCheckHook, + pyyaml, +}: + +buildPythonPackage rec { + pname = "heatmiserv3"; + version = "2.0.3"; + pyproject = true; + + src = fetchFromGitHub { + owner = "andylockran"; + repo = "heatmiserV3"; + rev = "refs/tags/${version}"; + hash = "sha256-Ia0QUMDvuvn2af52lW7ObSQ9MSPNOgWyBuFBnqfYrpM="; + }; + + build-system = [ poetry-core ]; + + dependencies = [ + appdirs + importlib-resources + pyserial + pyserial-asyncio + pyyaml + ]; + + pythonImportsCheck = [ "heatmiserv3" ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + meta = { + description = "Library to interact with Heatmiser Themostats using V3 protocol"; + homepage = "https://github.com/andylockran/heatmiserV3"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index eb9c323f79c6..c049b0f345df 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -1583,7 +1583,8 @@ pycec ]; "heatmiser" = ps: with ps; [ - ]; # missing inputs: heatmiserV3 + heatmiserv3 + ]; "heiwa" = ps: with ps; [ ]; "heos" = ps: with ps; [ diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index a0477cd0526f..440f6c6cf54b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5509,6 +5509,8 @@ self: super: with self; { heapdict = callPackage ../development/python-modules/heapdict { }; + heatmiserv3 = callPackage ../development/python-modules/heatmiserv3 { }; + heatshrink2 = callPackage ../development/python-modules/heatshrink2 { }; heatzypy = callPackage ../development/python-modules/heatzypy { };