diff options
Diffstat (limited to 'pkgs/servers/home-assistant/custom-components')
40 files changed, 881 insertions, 96 deletions
diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md index 6b942df8b9429..238c320ba2797 100644 --- a/pkgs/servers/home-assistant/custom-components/README.md +++ b/pkgs/servers/home-assistant/custom-components/README.md @@ -20,7 +20,7 @@ versions into the Python environment. ```nix { lib -, buildHomeAssistantcomponent +, buildHomeAssistantComponent , fetchFromGitHub }: diff --git a/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix b/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix index 1d2ae2228a5b2..9c35395d3e98e 100644 --- a/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix +++ b/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "basnijholt"; domain = "adaptive_lighting"; - version = "1.19.1"; + version = "1.22.0"; src = fetchFromGitHub { owner = "basnijholt"; repo = "adaptive-lighting"; rev = "refs/tags/${version}"; - hash = "sha256-AZsloE1vNQ9o2pg878J6I5qYXyI4fqYEvr18SrTocWo="; + hash = "sha256-k5pCgPM5xjVfWjOcr0UDFzYl/8z7yUwgYdBmC3+2F5k="; }; propagatedBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-components/alarmo/default.nix b/pkgs/servers/home-assistant/custom-components/alarmo/default.nix new file mode 100644 index 0000000000000..ace6633a8c6ed --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/alarmo/default.nix @@ -0,0 +1,31 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, +}: + +buildHomeAssistantComponent rec { + owner = "nielsfaber"; + domain = "alarmo"; + version = "1.10.4"; + + postInstall = '' + cd $out/custom_components/alarmo/frontend + ls . | grep -v dist | xargs rm -rf + ''; + + src = fetchFromGitHub { + owner = "nielsfaber"; + repo = "alarmo"; + rev = "refs/tags/v${version}"; + hash = "sha256-/hNzGPckLHUX0mrBF3ugAXstrOc1mWdati+nRJCwldc="; + }; + + meta = with lib; { + changelog = "https://github.com/nielsfaber/alarmo/releases/tag/v${version}"; + description = "Alarm System for Home Assistant"; + homepage = "https://github.com/nielsfaber/alarmo"; + maintainers = with maintainers; [ mindstorms6 ]; + license = licenses.unfree; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/average/default.nix b/pkgs/servers/home-assistant/custom-components/average/default.nix new file mode 100644 index 0000000000000..be381233a116c --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/average/default.nix @@ -0,0 +1,25 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, +}: + +buildHomeAssistantComponent rec { + owner = "Limych"; + domain = "average"; + version = "2.3.4"; + + src = fetchFromGitHub { + inherit owner; + repo = "ha-average"; + rev = version; + hash = "sha256-PfN2F1/ScVScXfh5jKQDZ6rK4XlqD9+YW8k4f4i3bk0="; + }; + + meta = with lib; { + description = "Average Sensor for Home Assistant"; + homepage = "https://github.com/Limych/ha-average"; + maintainers = with maintainers; [ matthiasbeyer ]; + license = licenses.cc-by-nc-40; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/awtrix/default.nix b/pkgs/servers/home-assistant/custom-components/awtrix/default.nix new file mode 100644 index 0000000000000..738dbbea5dbca --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/awtrix/default.nix @@ -0,0 +1,30 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, requests +}: + +buildHomeAssistantComponent rec { + owner = "10der"; + domain = "awtrix"; + version = "unstable-2024-05-26"; + + src = fetchFromGitHub { + inherit owner; + repo = "homeassistant-custom_components-awtrix"; + rev = "329d8eec28478574b9f34778f96b5768f30be2ab"; + hash = "sha256-ucSaQWMS6ZwXHnw5Ct/STxpl1JjBRua3edrLvBAsdyw="; + }; + + propagatedBuildInputs = [ + requests + ]; + + meta = with lib; { + description = "Home-assistant integration for awtrix"; + homepage = "https://github.com/10der/homeassistant-custom_components-awtrix"; + maintainers = with maintainers; [ pinpox ]; + license = licenses.mit; + }; +} + 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 5557e11761dfd..414449cabb38f 100644 --- a/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix +++ b/pkgs/servers/home-assistant/custom-components/better_thermostat/default.nix @@ -1,24 +1,26 @@ -{ lib, fetchFromGitHub, buildHomeAssistantComponent }: +{ + buildHomeAssistantComponent, + fetchFromGitHub, + lib, +}: buildHomeAssistantComponent rec { owner = "KartoffelToby"; domain = "better_thermostat"; - version = "1.5.0"; + version = "1.6.0"; src = fetchFromGitHub { owner = "KartoffelToby"; repo = "better_thermostat"; rev = "refs/tags/${version}"; - hash = "sha256-noo96Uks+MHtTbwIoU5gnekp/IwMry0U18X4I1qe4LQ="; + hash = "sha256-9iwrGKk3/m38ghDVGzKODWo9vzzZxJ91413/KWnULJU="; }; - meta = with lib; { - changelog = - "https://github.com/KartoffelToby/better_thermostat/releases/tag/${version}"; - description = - "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."; + meta = { + changelog = "https://github.com/KartoffelToby/better_thermostat/releases/tag/${version}"; + description = "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.agpl3Only; + maintainers = with lib.maintainers; [ mguentner ]; + license = lib.licenses.agpl3Only; }; } diff --git a/pkgs/servers/home-assistant/custom-components/bodymiscale/default.nix b/pkgs/servers/home-assistant/custom-components/bodymiscale/default.nix new file mode 100644 index 0000000000000..e2b23891db94d --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/bodymiscale/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + + cachetools, +}: + +buildHomeAssistantComponent rec { + owner = "dckiller51"; + domain = "bodymiscale"; + version = "2024.6.0"; + + src = fetchFromGitHub { + inherit owner; + repo = domain; + rev = version; + hash = "sha256-6bYKqU9yucISjTrmCUx1bNn9kqvT9jW1OBrqAa4ayEQ="; + }; + + postPatch = '' + substituteInPlace custom_components/bodymiscale/manifest.json --replace-fail 'cachetools==5.3.0' 'cachetools>=5.3.0' + ''; + + propagatedBuildInputs = [ + cachetools + ]; + + meta = { + description = "Home Assistant custom component providing body metrics for Xiaomi Mi Scale 1 and 2"; + homepage = "https://github.com/dckiller51/bodymiscale"; + license = with lib.licenses; [ asl20 ]; + maintainers = with lib.maintainers; [ justinas ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index acfcf038f20ef..55e9b7d39ff04 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -4,16 +4,30 @@ { adaptive_lighting = callPackage ./adaptive_lighting {}; + alarmo = callPackage ./alarmo {}; + auth-header = callPackage ./auth-header {}; + awtrix = callPackage ./awtrix {}; + + average = callPackage ./average {}; + better_thermostat = callPackage ./better_thermostat {}; + bodymiscale = callPackage ./bodymiscale { }; + + dwd = callPackage ./dwd { }; + + elevenlabs_tts = callPackage ./elevenlabs_tts {}; + emporia_vue = callPackage ./emporia_vue {}; epex_spot = callPackage ./epex_spot {}; frigate = callPackage ./frigate {}; + garmin_connect = callPackage ./garmin_connect {}; + govee-lan = callPackage ./govee-lan {}; gpio = callPackage ./gpio {}; @@ -26,22 +40,46 @@ localtuya = callPackage ./localtuya {}; + mass = callPackage ./mass { }; + + midea_ac = callPackage ./midea_ac { }; + + midea_ac_lan = callPackage ./midea_ac_lan {}; + midea-air-appliances-lan = callPackage ./midea-air-appliances-lan {}; miele = callPackage ./miele {}; moonraker = callPackage ./moonraker {}; + ntfy = callPackage ./ntfy {}; + omnik_inverter = callPackage ./omnik_inverter {}; prometheus_sensor = callPackage ./prometheus_sensor {}; + samsungtv-smart = callPackage ./samsungtv-smart {}; + sensi = callPackage ./sensi {}; smartir = callPackage ./smartir {}; smartthinq-sensors = callPackage ./smartthinq-sensors {}; + solax_modbus = callPackage ./solax_modbus {}; + + solis-sensor = callPackage ./solis-sensor {}; + + somweb = callPackage ./somweb {}; + + spook = callPackage ./spook {}; + + tuya_local = callPackage ./tuya_local {}; + + volkswagen_we_connect_id = callPackage ./volkswagen_we_connect_id { }; + + volkswagencarnet = callPackage ./volkswagencarnet { }; + waste_collection_schedule = callPackage ./waste_collection_schedule {}; xiaomi_gateway3 = callPackage ./xiaomi_gateway3 {}; diff --git a/pkgs/servers/home-assistant/custom-components/dwd/default.nix b/pkgs/servers/home-assistant/custom-components/dwd/default.nix new file mode 100644 index 0000000000000..5d8cba11f2d78 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/dwd/default.nix @@ -0,0 +1,34 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + defusedxml, +}: + +buildHomeAssistantComponent rec { + owner = "hg1337"; + domain = "dwd"; + version = "2024.9.0"; + + src = fetchFromGitHub { + owner = "hg1337"; + repo = "homeassistant-dwd"; + rev = version; + hash = "sha256-9zS6ufy7tYt1KwFeqdg0Az8xz3x5UzU9ZO9aOyWjdQE="; + }; + + dependencies = [ defusedxml ]; + + # defusedxml version mismatch + dontCheckManifest = true; + + meta = with lib; { + description = "Custom component for Home Assistant that integrates weather data (measurements and forecasts) of Deutscher Wetterdienst"; + homepage = "https://github.com/hg1337/homeassistant-dwd"; + license = licenses.asl20; + maintainers = with maintainers; [ + hexa + emilylange + ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix b/pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix new file mode 100644 index 0000000000000..f69117f215476 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/elevenlabs_tts/default.nix @@ -0,0 +1,26 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, +}: + +buildHomeAssistantComponent rec { + owner = "carleeno"; + domain = "elevenlabs_tts"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "carleeno"; + repo = "elevenlabs_tts"; + rev = "refs/tags/${version}"; + hash = "sha256-7/Di3K7b0IzxatqBXqgVeMziRwalOVmIJ5IuEWJVjkE="; + }; + + meta = with lib; { + changelog = "https://github.com/carleeno/elevenlabs_tts/releases/tag/${version}"; + description = "Home Assistant Eleven Labs TTS Integration"; + homepage = "https://github.com/carleeno/elevenlabs_tts"; + maintainers = with maintainers; [ mindstorms6 ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix b/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix index e655a0d788d9d..136c36010442d 100644 --- a/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix +++ b/pkgs/servers/home-assistant/custom-components/epex_spot/default.nix @@ -7,23 +7,19 @@ buildHomeAssistantComponent rec { owner = "mampfes"; domain = "epex_spot"; - version = "2.3.5"; + version = "2.3.8"; src = fetchFromGitHub { owner = "mampfes"; repo = "ha_epex_spot"; rev = "refs/tags/${version}"; - hash = "sha256-WmPsFfQm8ChEr41XVgKi2BGwta5aKH9GDz4iIfTAPK4="; + hash = "sha256-BwNDI2OMF6bXqFcdr0AJgj9Gb6Uz8BWOfE7M4jqzQJc="; }; propagatedBuildInputs = [ beautifulsoup4 ]; - postPatch = '' - substituteInPlace custom_components/epex_spot/manifest.json --replace-fail 'bs4' 'beautifulsoup4' - ''; - #skip phases without activity dontConfigure = true; doCheck = false; diff --git a/pkgs/servers/home-assistant/custom-components/frigate/default.nix b/pkgs/servers/home-assistant/custom-components/frigate/default.nix index 0065c94b6ebcf..e54cab3c6e4a1 100644 --- a/pkgs/servers/home-assistant/custom-components/frigate/default.nix +++ b/pkgs/servers/home-assistant/custom-components/frigate/default.nix @@ -1,24 +1,23 @@ -{ lib -, fetchFromGitHub -, buildHomeAssistantComponent -, pytz +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + pytz, }: buildHomeAssistantComponent rec { - owner = "presto8"; + owner = "blakeblackshear"; domain = "frigate"; - version = "5.1.0"; + version = "5.3.0"; src = fetchFromGitHub { owner = "blakeblackshear"; repo = "frigate-hass-integration"; rev = "v${version}"; - hash = "sha256-6W9U0Q0wW36RsErvtFQo1sc1AF7js6MMHxgMQcDFexw="; + hash = "sha256-0eTEgRDgm4+Om2uqrt24Gj7dSdA6OJs/0oi5J5SHOyI="; }; - propagatedBuildInputs = [ - pytz - ]; + dependencies = [ pytz ]; dontBuild = true; diff --git a/pkgs/servers/home-assistant/custom-components/garmin_connect/default.nix b/pkgs/servers/home-assistant/custom-components/garmin_connect/default.nix new file mode 100644 index 0000000000000..1ad5adfbd3bce --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/garmin_connect/default.nix @@ -0,0 +1,35 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + garminconnect, + tzlocal, +}: + +buildHomeAssistantComponent { + owner = "cyberjunky"; + domain = "garmin_connect"; + version = "unstable-2024-08-31"; + + src = fetchFromGitHub { + owner = "cyberjunky"; + repo = "home-assistant-garmin_connect"; + rev = "d42edcabc67ba6a7f960e849c8aaec1aabef87c0"; + hash = "sha256-KqbP6TpH9B0/AjtsW5TcWSNgUhND+w8rO6X8fHqtsDI="; + }; + + propagatedBuildInputs = [ + garminconnect + tzlocal + ]; + + meta = with lib; { + description = "The Garmin Connect integration allows you to expose data from Garmin Connect to Home Assistant"; + homepage = "https://github.com/cyberjunky/home-assistant-garmin_connect"; + maintainers = with maintainers; [ + matthiasbeyer + dmadisetti + ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix b/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix index 60c58bb85850d..6d66dc8fe357f 100644 --- a/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix +++ b/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix @@ -1,7 +1,11 @@ { lib , buildHomeAssistantComponent , fetchFromGitHub +, fetchpatch2 , govee-led-wez +, pytest-cov-stub +, pytest-homeassistant-custom-component +, pytestCheckHook }: buildHomeAssistantComponent { @@ -16,19 +20,27 @@ buildHomeAssistantComponent { hash = "sha256-ZhrxEPBEi+Z+2ZOAQ1amhO0tqvhM6tyFQgoRIVNDtXY="; }; + patches = [ + (fetchpatch2 { + url = "https://github.com/wez/govee-lan-hass/commit/b4cecac5ae00d95c49fcfe3bbfc405cbfc5dd84c.patch"; + hash = "sha256-+MPO4kxxE1nZ/+sIY7v8WukHMrVowgMMBVfRDw2uv8o="; + }) + ]; + dontBuild = true; propagatedBuildInputs = [ govee-led-wez ]; - # enable when pytest-homeassistant-custom-component is packaged + # AttributeError: 'async_generator' object has no attribute 'config' doCheck = false; - # nativeCheckInputs = [ - # pytest-homeassistant-custom-component - # pytestCheckHook - # ]; + nativeCheckInputs = [ + pytest-cov-stub + pytest-homeassistant-custom-component + pytestCheckHook + ]; meta = with lib; { description = "Control Govee lights via the LAN API from Home Assistant"; diff --git a/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix index f6dcd994719b4..75778c6434c89 100644 --- a/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix +++ b/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "danielperna84"; domain = "homematicip_local"; - version = "1.60.1"; + version = "1.65.0"; src = fetchFromGitHub { owner = "danielperna84"; repo = "custom_homematic"; rev = "refs/tags/${version}"; - hash = "sha256-EJj9zmDdJ+T7yrANmRJuLRCSwvGLy2CkIBsO9H3LIs4="; + hash = "sha256-rUiesrVpGZMMo8JSboFTDE2oE0Q9hNYR4AvA/GR5+MY="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/indego/default.nix b/pkgs/servers/home-assistant/custom-components/indego/default.nix index 657d8b80a862f..6f185dd718c58 100644 --- a/pkgs/servers/home-assistant/custom-components/indego/default.nix +++ b/pkgs/servers/home-assistant/custom-components/indego/default.nix @@ -6,25 +6,24 @@ }: buildHomeAssistantComponent rec { - owner = "jm-73"; + owner = "sander1988"; domain = "indego"; - version = "5.5.0"; + version = "5.7.4"; src = fetchFromGitHub { - owner = "jm-73"; + owner = "sander1988"; repo = "Indego"; rev = "refs/tags/${version}"; - hash = "sha256-ur6KOqU6KAseABL0ibpGJ6109wSSZq9HWSVbMIrRSqc="; + hash = "sha256-SiYjducy0NP5bF3STVzhBdnJraNjHywHfD7OmAnYmr0="; }; dependencies = [ pyindego ]; meta = with lib; { description = "Bosch Indego lawn mower component"; - changelog = "https://github.com/jm-73/Indego/releases/tag/${version}"; - homepage = "https://github.com/jm-73/Indego"; - # https://github.com/jm-73/pyIndego/issues/125 - license = licenses.unfree; + changelog = "https://github.com/sander1988/Indego/releases/tag/${version}"; + homepage = "https://github.com/sander1988/Indego"; + license = licenses.asl20; maintainers = with maintainers; [ hexa ]; }; } diff --git a/pkgs/servers/home-assistant/custom-components/localtuya/default.nix b/pkgs/servers/home-assistant/custom-components/localtuya/default.nix index 3e3c17a33cdfa..8773f981e45f6 100644 --- a/pkgs/servers/home-assistant/custom-components/localtuya/default.nix +++ b/pkgs/servers/home-assistant/custom-components/localtuya/default.nix @@ -6,18 +6,18 @@ buildHomeAssistantComponent rec { owner = "rospogrigio"; domain = "localtuya"; - version = "5.2.1"; + version = "5.2.2"; src = fetchFromGitHub { owner = "rospogrigio"; repo = "localtuya"; rev = "v${version}"; - hash = "sha256-hA/1FxH0wfM0jz9VqGCT95rXlrWjxV5oIkSiBf0G0ac="; + hash = "sha256-GexGUu4hevRDGF7gv7Jklr5YZJV+QH3kZN7p+eK9HlM="; }; meta = with lib; { changelog = "https://github.com/rospogrigio/localtuya/releases/tag/${version}"; - description = "A Home Assistant custom Integration for local handling of Tuya-based devices"; + description = "Home Assistant custom Integration for local handling of Tuya-based devices"; homepage = "https://github.com/rospogrigio/localtuya"; maintainers = with maintainers; [ rhoriguchi ]; license = licenses.gpl3Only; diff --git a/pkgs/servers/home-assistant/custom-components/mass/default.nix b/pkgs/servers/home-assistant/custom-components/mass/default.nix new file mode 100644 index 0000000000000..2e0d893d60560 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/mass/default.nix @@ -0,0 +1,45 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, toPythonModule +, async-timeout +, music-assistant +, pytestCheckHook +, pytest-asyncio +, pytest-cov-stub +, pytest-homeassistant-custom-component +}: + +buildHomeAssistantComponent rec { + owner = "music-assistant"; + domain = "mass"; + version = "2024.8.1"; + + src = fetchFromGitHub { + owner = "music-assistant"; + repo = "hass-music-assistant"; + rev = version; + hash = "sha256-lrJx2wsVY0aJ+iVBxbZryC6QRvaXdxjBsTma/4ptl4o="; + }; + + dependencies = [ + async-timeout + (toPythonModule music-assistant) + ]; + + dontCheckManifest = true; # expects music-assistant 2.0.6, we have 2.0.7 + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + pytest-cov-stub + pytest-homeassistant-custom-component + ]; + + meta = with lib; { + description = "Turn your Home Assistant instance into a jukebox, hassle free streaming of your favorite media to Home Assistant media players"; + homepage = "https://github.com/music-assistant/hass-music-assistant"; + license = licenses.asl20; + maintainers = with maintainers; [ hexa ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/midea_ac/default.nix b/pkgs/servers/home-assistant/custom-components/midea_ac/default.nix new file mode 100644 index 0000000000000..f188355099f9e --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/midea_ac/default.nix @@ -0,0 +1,31 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + msmart-ng, +}: + +buildHomeAssistantComponent rec { + owner = "mill1000"; + domain = "midea_ac"; + version = "2024.9.2"; + + src = fetchFromGitHub { + owner = "mill1000"; + repo = "midea-ac-py"; + rev = version; + hash = "sha256-PVR3yuyWMilmyOS341pS73c9ocOrFfJ9dwiKEYqCtM4="; + }; + + dependencies = [ msmart-ng ]; + + meta = with lib; { + description = "Home Assistant custom integration to control Midea (and associated brands) air conditioners via LAN"; + homepage = "https://github.com/mill1000/midea-ac-py"; + license = licenses.mit; + maintainers = with maintainers; [ + hexa + emilylange + ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/midea_ac_lan/default.nix b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/default.nix new file mode 100644 index 0000000000000..7123389e8bc19 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/midea_ac_lan/default.nix @@ -0,0 +1,25 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +}: + +buildHomeAssistantComponent rec { + owner = "georgezhao2010"; + domain = "midea_ac_lan"; + version = "0.3.22"; + + src = fetchFromGitHub { + inherit owner; + repo = domain; + rev = "v${version}"; + hash = "sha256-xTnbA4GztHOE61QObEJbzUSdbuSrhbcJ280DUDdM+n4="; + }; + + meta = with lib; { + description = "Auto-configure and then control your Midea M-Smart devices (Air conditioner, Fan, Water heater, Washer, etc) via local area network"; + homepage = "https://github.com/georgezhao2010/midea_ac_lan/"; + changelog = "https://github.com/georgezhao2010/midea_ac_lan/releases/tag/v${version}"; + maintainers = with maintainers; [ k900 ]; + license = licenses.mit; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/miele/default.nix b/pkgs/servers/home-assistant/custom-components/miele/default.nix index 3ebdc6283c035..408530620548d 100644 --- a/pkgs/servers/home-assistant/custom-components/miele/default.nix +++ b/pkgs/servers/home-assistant/custom-components/miele/default.nix @@ -27,7 +27,7 @@ buildHomeAssistantComponent rec { meta = with lib; { changelog = "https://github.com/astrandb/miele/releases/tag/v${version}"; - description = "A modern integration for Miele devices in Home Assistant"; + description = "Modern integration for Miele devices in Home Assistant"; homepage = "https://github.com/astrandb/miele"; maintainers = with maintainers; [jamiemagee]; 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 index efe0654d01cbe..e975b7515b0e2 100644 --- a/pkgs/servers/home-assistant/custom-components/moonraker/default.nix +++ b/pkgs/servers/home-assistant/custom-components/moonraker/default.nix @@ -7,13 +7,13 @@ buildHomeAssistantComponent rec { owner = "marcolivierarsenault"; domain = "moonraker"; - version = "1.2.0"; + version = "1.3.5"; src = fetchFromGitHub { owner = "marcolivierarsenault"; repo = "moonraker-home-assistant"; rev = "refs/tags/${version}"; - hash = "sha256-oFHV9+5byWCOUxUhOvGHNilCZaoOp2xxb33nF8+CYjE="; + hash = "sha256-DufryUG4+tT77ErD6IzEkClnNJ4Rzz0ojkCZuZzhAlU="; }; propagatedBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-components/ntfy/default.nix b/pkgs/servers/home-assistant/custom-components/ntfy/default.nix new file mode 100644 index 0000000000000..43920dbaef9e8 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/ntfy/default.nix @@ -0,0 +1,30 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, requests +}: + +buildHomeAssistantComponent rec { + owner = "hbrennhaeuser"; + domain = "ntfy"; + version = "1.1.0-pre.2"; + + src = fetchFromGitHub { + inherit owner; + repo = "homeassistant_integration_ntfy"; + rev = "v${version}"; + hash = "sha256-OGCAJsAsnUjwaLR8lCBdU+ghVOGFF0mT73t5JtcngUA="; + }; + + propagatedBuildInputs = [ + requests + ]; + + meta = with lib; { + description = "Send notifications with ntfy.sh and selfhosted ntfy-servers"; + homepage = "https://github.com/hbrennhaeuser/homeassistant_integration_ntfy"; + maintainers = with maintainers; [ koral ]; + license = licenses.gpl3; + }; +} + diff --git a/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix b/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix index a0a33f644bac9..38dd56feb0000 100644 --- a/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix +++ b/pkgs/servers/home-assistant/custom-components/omnik_inverter/default.nix @@ -24,7 +24,7 @@ buildHomeAssistantComponent rec { 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"; + description = "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/prometheus_sensor/default.nix b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix index 2368d85552b25..769e01bff5b2d 100644 --- a/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix +++ b/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix @@ -6,13 +6,13 @@ buildHomeAssistantComponent rec { owner = "mweinelt"; domain = "prometheus_sensor"; - version = "1.0.0"; + version = "1.1.0"; src = fetchFromGitHub { owner = "mweinelt"; repo = "ha-prometheus-sensor"; rev = "refs/tags/${version}"; - hash = "sha256-10COLFXvmpm8ONLyx5c0yiQdtuP0SC2NKq/ZYHro9II="; + hash = "sha256-xfLAfTBgJjrRU1EFcbRvzUSq4m+dd6izaxP9DMisz/0="; }; dontBuild = true; diff --git a/pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix b/pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix new file mode 100644 index 0000000000000..fea99dce2ef6c --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/samsungtv-smart/default.nix @@ -0,0 +1,37 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + aiofiles, + casttube, + websocket-client, + wakeonlan, +}: + +buildHomeAssistantComponent rec { + owner = "ollo69"; + domain = "samsungtv_smart"; + version = "0.13.5"; + + src = fetchFromGitHub { + owner = "ollo69"; + repo = "ha-samsungtv-smart"; + rev = "refs/tags/v${version}"; + hash = "sha256-12wx8HaTEFQZOnxfcuAKFOXPdDpfAl608N1E6gmWqBI="; + }; + + dependencies = [ + aiofiles + casttube + websocket-client + wakeonlan + ]; + + meta = with lib; { + changelog = "https://github.com/ollo69/ha-samsungtv-smart/releases/tag/v${version}"; + description = "Home Assistant Samsung TV Integration"; + homepage = "https://github.com/ollo69/ha-samsungtv-smart"; + maintainers = with maintainers; [ mindstorms6 ]; + license = licenses.asl20; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/smartir/default.nix b/pkgs/servers/home-assistant/custom-components/smartir/default.nix index 5dc9eb2473d72..876579639b647 100644 --- a/pkgs/servers/home-assistant/custom-components/smartir/default.nix +++ b/pkgs/servers/home-assistant/custom-components/smartir/default.nix @@ -1,8 +1,11 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, aiofiles -, broadlink +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + fetchpatch, + aiofiles, + broadlink, + nix-update-script, }: buildHomeAssistantComponent rec { @@ -17,6 +20,15 @@ buildHomeAssistantComponent rec { hash = "sha256-E6TM761cuaeQzlbjA+oZ+wt5HTJAfkF2J3i4P1Wbuic="; }; + patches = [ + # Replace distutils.version.StrictVersion with packaging.version.Version + # https://github.com/smartHomeHub/SmartIR/pull/1250 + (fetchpatch { + url = "https://github.com/smartHomeHub/SmartIR/commit/1ed8ef23a8f7b9dcae75721eeab8d5f79013b851.patch"; + hash = "sha256-IhdnTDtUa7mS+Vw/+BqfqWIKK4hbshbVgJNjfKjgAvI="; + }) + ]; + propagatedBuildInputs = [ aiofiles broadlink @@ -28,6 +40,8 @@ buildHomeAssistantComponent rec { cp -r codes $out/custom_components/smartir/ ''; + passthru.updateScript = nix-update-script { }; + meta = with lib; { changelog = "https://github.com/smartHomeHub/SmartIR/releases/tag/v${version}"; description = "Integration for Home Assistant to control climate, TV and fan devices via IR/RF controllers (Broadlink, Xiaomi, MQTT, LOOKin, ESPHome)"; diff --git a/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix b/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix index 3ebb482939dcb..4e118bb3e24e9 100644 --- a/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix +++ b/pkgs/servers/home-assistant/custom-components/smartthinq-sensors/default.nix @@ -9,13 +9,13 @@ buildHomeAssistantComponent rec { owner = "ollo69"; domain = "smartthinq_sensors"; - version = "0.39.0"; + version = "0.39.2"; src = fetchFromGitHub { inherit owner; repo = "ha-smartthinq-sensors"; rev = "v${version}"; - hash = "sha256-mt5/XHDAUeoMUA1jWdCNXTUgZBQkqabL5Y4MxwxcweY="; + hash = "sha256-tLq4sqeKmjEDDaowA8ouH/mI7jQfq49kkt/a8+40rhQ="; }; propagatedBuildInputs = [ diff --git a/pkgs/servers/home-assistant/custom-components/solax_modbus/default.nix b/pkgs/servers/home-assistant/custom-components/solax_modbus/default.nix new file mode 100644 index 0000000000000..8780ce2fa2565 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/solax_modbus/default.nix @@ -0,0 +1,29 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + pymodbus, +}: + +buildHomeAssistantComponent rec { + owner = "wills106"; + domain = "solax_modbus"; + version = "2024.09.5"; + + src = fetchFromGitHub { + owner = "wills106"; + repo = "homeassistant-solax-modbus"; + rev = "refs/tags/${version}"; + hash = "sha256-mpsa+9LBnDfvMbOuEwctoPSg8IHRmkrFalVyg+1KR00=x"; + }; + + dependencies = [ pymodbus ]; + + meta = { + changelog = "https://github.com/wills106/homeassistant-solax-modbus/releases/tag/${version}"; + description = "SolaX Power Modbus custom_component for Home Assistant (Supports some Ginlong Solis, Growatt, Sofar Solar, TIGO TSI & Qcells Q.Volt Hyb)"; + homepage = "https://github.com/wills106/homeassistant-solax-modbus"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ Luflosi ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/solis-sensor/default.nix b/pkgs/servers/home-assistant/custom-components/solis-sensor/default.nix new file mode 100644 index 0000000000000..2a370fc9de114 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/solis-sensor/default.nix @@ -0,0 +1,29 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + aiofiles, +}: + +buildHomeAssistantComponent rec { + owner = "hultenvp"; + domain = "solis"; + version = "3.7.0"; + + src = fetchFromGitHub { + owner = "hultenvp"; + repo = "solis-sensor"; + rev = "v${version}"; + sha256 = "sha256-bKe8c+gQj9jvZKlqcbLiD6NhPDJVy/2mxRM8jjlOPnI="; + }; + + dependencies = [ aiofiles ]; + + meta = with lib; { + description = "Home Assistant integration for the SolisCloud PV Monitoring portal via SolisCloud API"; + changelog = "https://github.com/hultenvp/solis-sensor/releases/tag/v${version}"; + homepage = "https://github.com/hultenvp/solis-sensor"; + license = licenses.asl20; + maintainers = with maintainers; [ jnsgruk ]; + }; +} 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 0000000000000..90b1661389142 --- /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/servers/home-assistant/custom-components/spook/default.nix b/pkgs/servers/home-assistant/custom-components/spook/default.nix new file mode 100644 index 0000000000000..280f7b9491b2a --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/spook/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + pillow, + fnv-hash-fast, + psutil-home-assistant, + sqlalchemy, +}: +buildHomeAssistantComponent rec { + owner = "frenck"; + domain = "spook"; + version = "3.0.1"; + + src = fetchFromGitHub { + inherit owner; + repo = domain; + rev = "refs/tags/v${version}"; + hash = "sha256-ChHsevryWuim8BEFqXVkCOW9fGMrt5vol+B2SreMUws="; + }; + + patches = [./remove-sub-integration-symlink-hack.patch]; + + dependencies = [ + pillow + fnv-hash-fast + psutil-home-assistant + sqlalchemy + ]; + + meta = { + changelog = "https://github.com/frenck/spook/releases/tag/v${version}"; + description = "Toolbox for Home Assistant"; + homepage = "https://spook.boo/"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [kkoniuszy]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch b/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch new file mode 100644 index 0000000000000..4756e4a2c389a --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/spook/remove-sub-integration-symlink-hack.patch @@ -0,0 +1,109 @@ +diff --git a/custom_components/spook/__init__.py b/custom_components/spook/__init__.py +index 213fb2c..c7dc299 100644 +--- a/custom_components/spook/__init__.py ++++ b/custom_components/spook/__init__.py +@@ -23,8 +23,6 @@ from .templating import SpookTemplateFunctionManager + from .util import ( + async_ensure_template_environments_exists, + async_forward_setup_entry, +- link_sub_integrations, +- unlink_sub_integrations, + ) + + if TYPE_CHECKING: +@@ -34,48 +32,6 @@ if TYPE_CHECKING: + + async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: + """Set up from a config entry.""" +- # Symlink all sub integrations from Spook to the parent integrations folder +- # if one is missing, we have to restart Home Assistant. +- # This is a workaround for the fact that Home Assistant doesn't support +- # sub integrations. +- if await hass.async_add_executor_job(link_sub_integrations, hass): +- LOGGER.debug("Newly symlinked sub integrations, restarting Home Assistant") +- +- @callback +- def _restart(_: Event | None = None) -> None: +- """Restart Home Assistant.""" +- hass.data["homeassistant_stop"] = asyncio.create_task( +- hass.async_stop(RESTART_EXIT_CODE), +- ) +- +- # User asked to restart Home Assistant in the config flow. +- if hass.data.get(DOMAIN) == "Boo!": +- _restart() +- return False +- +- # Should be OK to restart. Better to do it before anything else started. +- if hass.state == CoreState.starting: +- _restart() +- return False +- +- # If all other fails, but we are not running yet... wait for it. +- if hass.state == CoreState.not_running: +- # Listen to both... just in case. +- hass.bus.async_listen_once(EVENT_HOMEASSISTANT_START, _restart) +- hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STARTED, _restart) +- return False +- +- LOGGER.info( +- "Home Assistant needs to be restarted in for Spook to complete setting up", +- ) +- ir.async_create_issue( +- hass=hass, +- domain=DOMAIN, +- issue_id="restart_required", +- is_fixable=True, +- severity=ir.IssueSeverity.WARNING, +- translation_key="restart_required", +- ) + + # Ensure template environments exists + async_ensure_template_environments_exists(hass) +@@ -120,4 +76,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: + + async def async_remove_entry(hass: HomeAssistant, _: ConfigEntry) -> None: + """Remove a config entry.""" +- await hass.async_add_executor_job(unlink_sub_integrations, hass) +diff --git a/custom_components/spook/util.py b/custom_components/spook/util.py +index 32e9bd2..845d463 100644 +--- a/custom_components/spook/util.py ++++ b/custom_components/spook/util.py +@@ -104,37 +104,6 @@ async def async_forward_platform_entry_setups_to_ectoplasm( + ) + + +-def link_sub_integrations(hass: HomeAssistant) -> bool: +- """Link Spook sub integrations.""" +- LOGGER.debug("Linking up Spook sub integrations") +- +- changes = False +- for manifest in Path(__file__).parent.rglob("integrations/*/manifest.json"): +- LOGGER.debug("Linking Spook sub integration: %s", manifest.parent.name) +- dest = Path(hass.config.config_dir) / "custom_components" / manifest.parent.name +- if not dest.exists(): +- src = ( +- Path(hass.config.config_dir) +- / "custom_components" +- / DOMAIN +- / "integrations" +- / manifest.parent.name +- ) +- dest.symlink_to(src) +- changes = True +- return changes +- +- +-def unlink_sub_integrations(hass: HomeAssistant) -> None: +- """Unlink Spook sub integrations.""" +- LOGGER.debug("Unlinking Spook sub integrations") +- for manifest in Path(__file__).parent.rglob("integrations/*/manifest.json"): +- LOGGER.debug("Unlinking Spook sub integration: %s", manifest.parent.name) +- dest = Path(hass.config.config_dir) / "custom_components" / manifest.parent.name +- if dest.exists(): +- dest.unlink() +- +- + @callback + def async_ensure_template_environments_exists(hass: HomeAssistant) -> None: + """Ensure default template environments exist. diff --git a/pkgs/servers/home-assistant/custom-components/tuya_local/default.nix b/pkgs/servers/home-assistant/custom-components/tuya_local/default.nix new file mode 100644 index 0000000000000..a097dac5d6efe --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/tuya_local/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub + +# dependencies +, tinytuya +, tuya-device-sharing-sdk +}: + +buildHomeAssistantComponent rec { + owner = "make-all"; + domain = "tuya_local"; + version = "2024.8.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "tuya-local"; + rev = "refs/tags/${version}"; + hash = "sha256-IHTWcNxmNXJk7SNnrLNFbaXJQSg6VYkAgAVmyt3JmRw="; + }; + + dependencies = [ + tinytuya + tuya-device-sharing-sdk + ]; + + meta = with lib; { + description = "Local support for Tuya devices in Home Assistant"; + homepage = "https://github.com/make-all/tuya-local"; + changelog = "https://github.com/make-all/tuya-local/releases/tag/${version}"; + license = licenses.mit; + maintainers = with maintainers; [ pathob ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/volkswagen_we_connect_id/default.nix b/pkgs/servers/home-assistant/custom-components/volkswagen_we_connect_id/default.nix new file mode 100644 index 0000000000000..b87b8c7aa738e --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/volkswagen_we_connect_id/default.nix @@ -0,0 +1,36 @@ +{ + ascii-magic, + buildHomeAssistantComponent, + fetchFromGitHub, + lib, + weconnect, +}: + +buildHomeAssistantComponent rec { + owner = "mitch-dc"; + domain = "volkswagen_we-connect_id"; + version = "0.2.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "volkswagen_we_connect_id"; + rev = "refs/tags/v${version}"; + hash = "sha256-Pmx1jXWXYta/kY51Ih1YRB+QeIfklVvBKcUYU5bHbsQ="; + }; + + dependencies = [ + ascii-magic + weconnect + ]; + + # upstream has no tests + doCheck = false; + + meta = { + changelog = "https://github.com/mitch-dc/volkswagen_we_connect_id/releases/tag/v${version}"; + description = "Statistics from the Volkswagen ID API"; + homepage = "https://github.com/mitch-dc/volkswagen_we_connect_id"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/volkswagencarnet/default.nix b/pkgs/servers/home-assistant/custom-components/volkswagencarnet/default.nix new file mode 100644 index 0000000000000..d39c5f3481dce --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/volkswagencarnet/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + volkswagencarnet, + pytest-homeassistant-custom-component, + pytestCheckHook, +}: + +buildHomeAssistantComponent rec { + owner = "robinostlund"; + domain = "volkswagencarnet"; + version = "5.0.3"; + + src = fetchFromGitHub { + owner = "robinostlund"; + repo = "homeassistant-volkswagencarnet"; + rev = "refs/tags/v${version}"; + hash = "sha256-3wykS2TYjr9hoQSPc1F3m5aDiLW1tzvQfjfjnr4N2Y0="; + }; + + dependencies = [ volkswagencarnet ]; + + nativeCheckInputs = [ + pytest-homeassistant-custom-component + pytestCheckHook + ]; + + # https://github.com/robinostlund/homeassistant-volkswagencarnet/issues/651 + doCheck = false; + + meta = { + description = "Volkswagen Connect component for Home Assistant"; + homepage = "https://github.com/robinostlund/homeassistant-volkswagencarnet"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix index 513d593ce51d3..7e911c14f1d0c 100644 --- a/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix +++ b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix @@ -1,39 +1,32 @@ { lib , buildHomeAssistantComponent , fetchFromGitHub -, fetchpatch , beautifulsoup4 , icalendar , icalevents , lxml +, pycryptodome , recurring-ical-events }: buildHomeAssistantComponent rec { owner = "mampfes"; domain = "waste_collection_schedule"; - version = "1.44.0"; + version = "2.2.0"; src = fetchFromGitHub { inherit owner; repo = "hacs_${domain}"; rev = "refs/tags/${version}"; - hash = "sha256-G1x7HtgdtK+IaPAfxT+7xsDJi5FnXN4Pg3q7T5Xr8lA="; + hash = "sha256-XzHShFM0H8F/erc/XiCMDotCfN/JJoO5SWX+O9Fqxkw="; }; - patches = [ - # Corrects a dependency on beautifulsoup4 - (fetchpatch { - url = "https://github.com/mampfes/hacs_waste_collection_schedule/pull/1515.patch"; - hash = "sha256-dvmicKTjolEcCrKRtZfpN0M/9RQCEQkFk+M6E+qCqfQ="; - }) - ]; - - propagatedBuildInputs = [ + dependencies = [ beautifulsoup4 icalendar icalevents lxml + pycryptodome recurring-ical-events ]; diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix index fd453e0d321c0..fc659ba68e471 100644 --- a/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix +++ b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix @@ -1,29 +1,31 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, zigpy +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + zigpy, + nix-update-script, }: buildHomeAssistantComponent rec { owner = "AlexxIT"; domain = "xiaomi_gateway3"; - version = "4.0.3"; + version = "4.0.6"; src = fetchFromGitHub { owner = "AlexxIT"; repo = "XiaomiGateway3"; rev = "v${version}"; - hash = "sha256-YGaVQaz3A0yM8AIC02CvMKWMJ3tW3OADYgKY8ViIt5U="; + hash = "sha256-E3BekX0Xbp1R36+dYmOlsI2BTrdGjFsMoYYRIiBi1qU="; }; - propagatedBuildInputs = [ - zigpy - ]; + propagatedBuildInputs = [ zigpy ]; dontBuild = true; + passthru.updateScript = nix-update-script { }; + meta = with lib; { - changelog = "https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v{version}"; + changelog = "https://github.com/AlexxIT/XiaomiGateway3/releases/tag/v${version}"; description = "Home Assistant custom component for control Xiaomi Multimode Gateway (aka Gateway 3), Xiaomi Multimode Gateway 2, Aqara Hub E1 on default firmwares over LAN"; homepage = "https://github.com/AlexxIT/XiaomiGateway3"; maintainers = with maintainers; [ azuwis ]; diff --git a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix index 0c64655d76df5..4dba1f70bdef3 100644 --- a/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix +++ b/pkgs/servers/home-assistant/custom-components/xiaomi_miot/default.nix @@ -1,22 +1,24 @@ -{ lib -, buildHomeAssistantComponent -, fetchFromGitHub -, hap-python -, micloud -, pyqrcode -, python-miio +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + hap-python, + micloud, + pyqrcode, + python-miio, + nix-update-script, }: buildHomeAssistantComponent rec { owner = "al-one"; domain = "xiaomi_miot"; - version = "0.7.17"; + version = "0.7.20"; src = fetchFromGitHub { owner = "al-one"; repo = "hass-xiaomi-miot"; rev = "v${version}"; - hash = "sha256-IpL4e2mKCdtNu8NtI+xpx4FPW/uj1M5Rk6DswXmSJBk="; + hash = "sha256-wR5N6a+g4TE9cRv1k4zExCWiui7ZHwK54j0oUxnhcR0="; }; propagatedBuildInputs = [ @@ -28,9 +30,11 @@ buildHomeAssistantComponent rec { dontBuild = true; + passthru.updateScript = nix-update-script { }; + meta = with lib; { - changelog = "https://github.com/al-one/hass-xiaomi-miot/releases/tag/${version}"; - description = "Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices."; + changelog = "https://github.com/al-one/hass-xiaomi-miot/releases/tag/v${version}"; + description = "Automatic integrate all Xiaomi devices to HomeAssistant via miot-spec, support Wi-Fi, BLE, ZigBee devices"; homepage = "https://github.com/al-one/hass-xiaomi-miot"; maintainers = with maintainers; [ azuwis ]; license = licenses.asl20; diff --git a/pkgs/servers/home-assistant/custom-components/yassi/default.nix b/pkgs/servers/home-assistant/custom-components/yassi/default.nix index 266d926b086b7..39d8cd5145b52 100644 --- a/pkgs/servers/home-assistant/custom-components/yassi/default.nix +++ b/pkgs/servers/home-assistant/custom-components/yassi/default.nix @@ -7,19 +7,19 @@ buildHomeAssistantComponent rec { owner = "samuelspagl"; domain = "samsung_soundbar"; - version = "0.4.0b2"; + version = "0.4.0"; src = fetchFromGitHub { inherit owner; repo = "ha_samsung_soundbar"; rev = version; - hash = "sha256-htAUCQe8mpk+GFwxXkPVnWS0m3mZd2hUt+f4qES+W4U="; + hash = "sha256-pkwkXI05zDMEXPoE90YJBxoPYlzmSHH/BLExq0J1JrQ="; }; propagatedBuildInputs = [ pysmartthings ]; meta = with lib; { - description = "A HomeAssistant integration for Samsung Soundbars"; + description = "HomeAssistant integration for Samsung Soundbars"; homepage = "https://ha-samsung-soundbar.vercel.app/"; changelog = "https://github.com/samuelspagl/ha_samsung_soundbar/releases/tag/${version}"; maintainers = with maintainers; [ k900 ]; |