diff --git a/pkgs/development/python-modules/pyxiaomigateway/default.nix b/pkgs/development/python-modules/pyxiaomigateway/default.nix new file mode 100644 index 000000000000..1d3a83177edb --- /dev/null +++ b/pkgs/development/python-modules/pyxiaomigateway/default.nix @@ -0,0 +1,30 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, cryptography +}: + +buildPythonPackage rec { + pname = "pyxiaomigateway"; + version = "0.13.4"; + + src = fetchFromGitHub { + owner = "Danielhiversen"; + repo = "PyXiaomiGateway"; + rev = version; + sha256 = "1xg89sdds04wgil88ihs84cjr3df6lajjbkyb1aymj638ibdyqns"; + }; + + propagatedBuildInputs = [ cryptography ]; + + # Tests are not mocking the gateway completely + doCheck = false; + pythonImportsCheck = [ "xiaomi_gateway" ]; + + meta = with lib; { + description = "Python library to communicate with the Xiaomi Gateway"; + homepage = "https://github.com/Danielhiversen/PyXiaomiGateway/"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 53df1f1c597b..6b56853cc5e4 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -948,7 +948,7 @@ "xeoma" = ps: with ps; [ pyxeoma ]; "xfinity" = ps: with ps; [ ]; # missing inputs: xfinity-gateway "xiaomi" = ps: with ps; [ ha-ffmpeg ]; - "xiaomi_aqara" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: PyXiaomiGateway + "xiaomi_aqara" = ps: with ps; [ pyxiaomigateway aiohttp-cors netdisco zeroconf ]; "xiaomi_miio" = ps: with ps; [ construct python-miio ]; "xiaomi_tv" = ps: with ps; [ ]; # missing inputs: pymitv "xmpp" = ps: with ps; [ slixmpp ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 98f0b12aca63..b2a13c3b5b09 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6638,6 +6638,8 @@ in { pyxeoma = callPackage ../development/python-modules/pyxeoma { }; + pyxiaomigateway = callPackage ../development/python-modules/pyxiaomigateway { }; + pyxl3 = callPackage ../development/python-modules/pyxl3 { }; pyxml = disabledIf isPy3k (callPackage ../development/python-modules/pyxml { });