diff options
Diffstat (limited to 'pkgs/servers/home-assistant/custom-components')
7 files changed, 179 insertions, 1 deletions
diff --git a/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix b/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix index a4a514b2693c..d61d1850e13b 100644 --- a/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix +++ b/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix @@ -19,6 +19,6 @@ buildHomeAssistantComponent rec { "Smart TRV control integrates room-temp sensors, window/door sensors, weather forecasts, and ambient probes for efficient heating and calibration, enhancing energy savings and comfort."; homepage = "https://better-thermostat.org/"; maintainers = with maintainers; [ mguentner ]; - license = licenses.agpl3; + license = licenses.agpl3Only; }; } diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index 81e708b637bc..fb558e343220 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -10,6 +10,10 @@ emporia_vue = callPackage ./emporia_vue {}; + epex_spot = callPackage ./epex_spot {}; + + frigate = callPackage ./frigate {}; + govee-lan = callPackage ./govee-lan {}; gpio = callPackage ./gpio {}; @@ -18,7 +22,13 @@ miele = callPackage ./miele {}; + moonraker = callPackage ./moonraker {}; + + omnik_inverter = callPackage ./omnik_inverter {}; + prometheus_sensor = callPackage ./prometheus_sensor {}; + sensi = callPackage ./sensi {}; + waste_collection_schedule = callPackage ./waste_collection_schedule {}; } diff --git a/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix b/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix new file mode 100644 index 000000000000..e655a0d788d9 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix @@ -0,0 +1,39 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, beautifulsoup4 +}: + +buildHomeAssistantComponent rec { + owner = "mampfes"; + domain = "epex_spot"; + version = "2.3.5"; + + src = fetchFromGitHub { + owner = "mampfes"; + repo = "ha_epex_spot"; + rev = "refs/tags/${version}"; + hash = "sha256-WmPsFfQm8ChEr41XVgKi2BGwta5aKH9GDz4iIfTAPK4="; + }; + + propagatedBuildInputs = [ + beautifulsoup4 + ]; + + postPatch = '' + substituteInPlace custom_components/epex_spot/manifest.json --replace-fail 'bs4' 'beautifulsoup4' + ''; + + #skip phases without activity + dontConfigure = true; + doCheck = false; + dontBuild = true; + + meta = with lib; { + changelog = "https://github.com/mampfes/ha_epex_spot/releases/tag/${version}"; + description = "This component adds electricity prices from stock exchange EPEX Spot to Home Assistant"; + homepage = "https://github.com/mampfes/ha_epex_spot"; + maintainers = with maintainers; [ _9R ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/frigate/default.nix b/pkgs/servers/home-assistant/custom-components/frigate/default.nix new file mode 100644 index 000000000000..0065c94b6ebc --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/frigate/default.nix @@ -0,0 +1,32 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, pytz +}: + +buildHomeAssistantComponent rec { + owner = "presto8"; + domain = "frigate"; + version = "5.1.0"; + + src = fetchFromGitHub { + owner = "blakeblackshear"; + repo = "frigate-hass-integration"; + rev = "v${version}"; + hash = "sha256-6W9U0Q0wW36RsErvtFQo1sc1AF7js6MMHxgMQcDFexw="; + }; + + propagatedBuildInputs = [ + pytz + ]; + + dontBuild = true; + + meta = with lib; { + description = "Provides Home Assistant integration to interface with a separately running Frigate service"; + homepage = "https://github.com/blakeblackshear/frigate-hass-integration"; + changelog = "https://github.com/blakeblackshear/frigate-hass-integration/releases/tag/v${version}"; + maintainers = with maintainers; [ presto8 ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/moonraker/default.nix b/pkgs/servers/home-assistant/custom-components/moonraker/default.nix new file mode 100644 index 000000000000..660847ddd2e3 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/moonraker/default.nix @@ -0,0 +1,35 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, moonraker-api +}: + +buildHomeAssistantComponent rec { + owner = "marcolivierarsenault"; + domain = "moonraker"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "marcolivierarsenault"; + repo = "moonraker-home-assistant"; + rev = "refs/tags/${version}"; + hash = "sha256-jxMi4hmSVBU9ztoHxFINoJo8klirfo6j7gWty7FXFkQ="; + }; + + propagatedBuildInputs = [ + moonraker-api + ]; + + #skip phases with nothing to do + dontConfigure = true; + dontBuild = true; + doCheck = false; + + meta = with lib; { + changelog = "https://github.com/marcolivierarsenault/moonraker-home-assistant/releases/tag/${version}"; + description = "Custom integration for Moonraker and Klipper in Home Assistant"; + homepage = "https://github.com/marcolivierarsenault/moonraker-home-assistant"; + maintainers = with maintainers; [ _9R ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix b/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix new file mode 100644 index 000000000000..a0a33f644bac --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix @@ -0,0 +1,32 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, omnikinverter +}: + +buildHomeAssistantComponent rec { + owner = "robbinjanssen"; + domain = "omnik_inverter"; + version = "2.6.4"; + + src = fetchFromGitHub { + owner = "robbinjanssen"; + repo = "home-assistant-omnik-inverter"; + rev = "refs/tags/v${version}"; + hash = "sha256-O1NxT7u27xLydPqEqH72laU0tlYVrMPo0TwWIVNJ+0Q="; + }; + + propagatedBuildInputs = [ + omnikinverter + ]; + + doCheck = false; # no tests + + meta = with lib; { + changelog = "https://github.com/robbinjanssen/home-assistant-omnik-inverter/releases/tag/v${version}"; + description = "The Omnik Inverter integration will scrape data from an Omnik inverter connected to your local network"; + homepage = "https://github.com/robbinjanssen/home-assistant-omnik-inverter"; + maintainers = with maintainers; [ _9R ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/sensi/default.nix b/pkgs/servers/home-assistant/custom-components/sensi/default.nix new file mode 100644 index 000000000000..f8293518a51e --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/sensi/default.nix @@ -0,0 +1,30 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + websockets, +}: +buildHomeAssistantComponent rec { + owner = "iprak"; + domain = "sensi"; + version = "1.3.4"; + + src = fetchFromGitHub { + inherit owner; + repo = domain; + rev = "refs/tags/v${version}"; + hash = "sha256-NbK9h0nvcWNSwsc04YgjqKl+InijxftPJ3SLCQF/Hns="; + }; + + propagatedBuildInputs = [ + websockets + ]; + + meta = with lib; { + changelog = "https://github.com/iprak/sensi/releases/tag/v${version}"; + description = "HomeAssistant integration for Sensi thermostat"; + homepage = "https://github.com/iprak/sensi"; + maintainers = with maintainers; [ ivan ]; + license = licenses.mit; + }; +} |