diff --git a/pkgs/development/python-modules/somweb/default.nix b/pkgs/development/python-modules/somweb/default.nix new file mode 100644 index 000000000000..7abe33c14bf3 --- /dev/null +++ b/pkgs/development/python-modules/somweb/default.nix @@ -0,0 +1,41 @@ +{ + lib, + aiohttp, + buildPythonPackage, + fetchFromGitHub, + requests, + setuptools, +}: + +buildPythonPackage rec { + pname = "somweb"; + version = "1.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "taarskog"; + repo = "pySOMweb"; + rev = "v${version}"; + hash = "sha256-cLKEKDCMK7lCtbmj2KbhgJUCZpPnPI5tZvO5L+ey8qI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + aiohttp + requests + ]; + + pythonImportsCheck = [ "somweb" ]; + + doCheck = false; # no tests + + meta = with lib; { + changelog = "https://github.com/taarskog/pySOMweb/releases/tag/v${version}"; + description = "A client library to control garage door operators produced by SOMMER through their SOMweb device"; + homepage = "https://github.com/taarskog/pysomweb"; + license = licenses.mit; + maintainers = with maintainers; [ uvnikita ]; + mainProgram = "somweb"; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index 5941137e2a45..7d6f885481d9 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -58,6 +58,8 @@ smartthinq-sensors = callPackage ./smartthinq-sensors {}; + somweb = callPackage ./somweb {}; + spook = callPackage ./spook {}; tuya_local = callPackage ./tuya_local {}; diff --git a/pkgs/servers/home-assistant/custom-components/somweb/default.nix b/pkgs/servers/home-assistant/custom-components/somweb/default.nix new file mode 100644 index 000000000000..90b166138914 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/somweb/default.nix @@ -0,0 +1,29 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + somweb, +}: + +buildHomeAssistantComponent rec { + owner = "taarskog"; + domain = "somweb"; + version = "1.1.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "home-assistant-component-somweb"; + rev = "refs/tags/v${version}"; + hash = "sha256-anOcpaGeblFVaP2EFVuxx1EuXnNgxy/QoYqvYJMv1Fo="; + }; + + dependencies = [ somweb ]; + + meta = with lib; { + changelog = "https://github.com/taarskog/home-assistant-component-somweb/releases/tag/v${version}"; + description = "Custom component for Home Assistant to manage garage doors and gates by Sommer through SOMweb"; + homepage = "https://github.com/taarskog/home-assistant-component-somweb"; + maintainers = with maintainers; [ uvnikita ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 6b61d467f8e2..72faea20cfe6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14712,6 +14712,8 @@ self: super: with self; { somfy-mylink-synergy = callPackage ../development/python-modules/somfy-mylink-synergy { }; + somweb = callPackage ../development/python-modules/somweb { }; + sonarr = callPackage ../development/python-modules/sonarr { }; sonos-websocket = callPackage ../development/python-modules/sonos-websocket { };