From 7e0456bd14aa8439e1b97f84c0ee35831e50a897 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Sep 2021 08:36:39 +0200 Subject: [PATCH 1/3] python3Packages.elkm1-lib: init at 1.0.0 --- .../python-modules/elkm1-lib/default.nix | 56 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 58 insertions(+) create mode 100644 pkgs/development/python-modules/elkm1-lib/default.nix diff --git a/pkgs/development/python-modules/elkm1-lib/default.nix b/pkgs/development/python-modules/elkm1-lib/default.nix new file mode 100644 index 000000000000..05625f928396 --- /dev/null +++ b/pkgs/development/python-modules/elkm1-lib/default.nix @@ -0,0 +1,56 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, fetchpatch +, poetry-core +, pyserial-asyncio +, pytest-asyncio +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "elkm1-lib"; + version = "1.0.0"; + format = "pyproject"; + + disabled = pythonOlder "3.6"; + + src = fetchFromGitHub { + owner = "gwww"; + repo = "elkm1"; + rev = version; + sha256 = "04xidix6l5d9rqfwp6cmj6wvais04nlvz5ynp0zwgyjp9sh2nhp6"; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + pyserial-asyncio + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + patches = [ + # Switch to poetry-core, https://github.com/gwww/elkm1/pull/45 + (fetchpatch { + name = "switch-to-poetry-core.patch"; + url = "https://github.com/gwww/elkm1/commit/807a17268498298908bf82af4933b158b37c8f32.patch"; + sha256 = "1539g8wsxppqj6dm6w81ps05frb8vrfaxahxn2cqs76zdhvly3p9"; + }) + ]; + + pythonImportsCheck = [ "elkm1_lib" ]; + + meta = with lib; { + description = "Python module for interacting with ElkM1 alarm/automation panel"; + homepage = "https://github.com/gwww/elkm1"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 0f5dc551e472..4485a6a4b922 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2328,6 +2328,8 @@ in { elgato = callPackage ../development/python-modules/elgato { }; + elkm1-lib = callPackage ../development/python-modules/elkm1-lib { }; + elasticsearch = callPackage ../development/python-modules/elasticsearch { }; elasticsearch-dsl = callPackage ../development/python-modules/elasticsearch-dsl { }; From 0945839a586dfb72b3b069a7fb144f528cc23a84 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Sep 2021 08:37:30 +0200 Subject: [PATCH 2/3] home-assistant: update component-packages --- pkgs/servers/home-assistant/component-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 6204a43b2c53..cb6d8c76cd46 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -218,7 +218,7 @@ "eight_sleep" = ps: with ps; [ pyeight ]; "elgato" = ps: with ps; [ elgato ]; "eliqonline" = ps: with ps; [ ]; # missing inputs: eliqonline - "elkm1" = ps: with ps; [ ]; # missing inputs: elkm1-lib + "elkm1" = ps: with ps; [ elkm1-lib ]; "elv" = ps: with ps; [ pypca ]; "emby" = ps: with ps; [ pyemby ]; "emoncms" = ps: with ps; [ ]; From 1363e03f345b0c23aa9b0e543cc6d589503d3b82 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Mon, 27 Sep 2021 08:39:28 +0200 Subject: [PATCH 3/3] home-assistant: enable elkm1 tests --- pkgs/servers/home-assistant/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index dc1799146145..cb302d5a5c46 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -338,6 +338,7 @@ in with py.pkgs; buildPythonApplication rec { "ee_brightbox" "efergy" "elgato" + "elkm1" "emonitor" "emulated_hue" "emulated_kasa"