diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/home-assistant')
19 files changed, 943 insertions, 152 deletions
diff --git a/nixpkgs/pkgs/servers/home-assistant/build-custom-component/check_manifest.py b/nixpkgs/pkgs/servers/home-assistant/build-custom-component/check_manifest.py index bbe9535824e7..463a7579763d 100644 --- a/nixpkgs/pkgs/servers/home-assistant/build-custom-component/check_manifest.py +++ b/nixpkgs/pkgs/servers/home-assistant/build-custom-component/check_manifest.py @@ -1,28 +1,31 @@ #!/usr/bin/env python3 import json -import importlib_metadata +import os import sys +import importlib_metadata from packaging.requirements import Requirement +def error(msg: str) -> None: + print(f" - {msg}", file=sys.stderr) + return False + + def check_requirement(req: str): # https://packaging.pypa.io/en/stable/requirements.html requirement = Requirement(req) try: version = importlib_metadata.distribution(requirement.name).version except importlib_metadata.PackageNotFoundError: - print(f" - Dependency {requirement.name} is missing", file=sys.stderr) - return False + return error(f"{requirement.name}{requirement.specifier} not present") # https://packaging.pypa.io/en/stable/specifiers.html - if not version in requirement.specifier: - print( - f" - {requirement.name}{requirement.specifier} expected, but got {version}", - file=sys.stderr, + if version not in requirement.specifier: + return error( + f"{requirement.name}{requirement.specifier} expected, but got {version}" ) - return False return True @@ -30,13 +33,24 @@ def check_requirement(req: str): def check_manifest(manifest_file: str): with open(manifest_file) as fd: manifest = json.load(fd) + + ok = True + + derivation_domain = os.environ.get("domain") + manifest_domain = manifest["domain"] + if derivation_domain != manifest_domain: + ok = False + error( + f"Derivation attribute domain ({derivation_domain}) must match manifest domain ({manifest_domain})" + ) + if "requirements" in manifest: - ok = True for requirement in manifest["requirements"]: ok &= check_requirement(requirement) - if not ok: - print("Manifest requirements are not met", file=sys.stderr) - sys.exit(1) + + if not ok: + error("Manifest check failed.") + sys.exit(1) if __name__ == "__main__": diff --git a/nixpkgs/pkgs/servers/home-assistant/build-custom-component/default.nix b/nixpkgs/pkgs/servers/home-assistant/build-custom-component/default.nix index 05b7c2d4b039..2948d15bb814 100644 --- a/nixpkgs/pkgs/servers/home-assistant/build-custom-component/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/build-custom-component/default.nix @@ -3,7 +3,8 @@ , makeSetupHook }: -{ pname +{ owner +, domain , version , format ? "other" , ... @@ -17,13 +18,14 @@ let in home-assistant.python.pkgs.buildPythonPackage ( { + pname = "${owner}/${domain}"; inherit format; installPhase = '' runHook preInstall mkdir $out - cp -r $src/custom_components/ $out/ + cp -r ./custom_components/ $out/ runHook postInstall ''; diff --git a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix index 0ed97c596724..31a389b98200 100644 --- a/nixpkgs/pkgs/servers/home-assistant/component-packages.nix +++ b/nixpkgs/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2023.11.3"; + version = "2023.12.3"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -60,10 +60,11 @@ "airthings_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly airthings-ble - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -72,6 +73,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -110,6 +112,8 @@ ]; "alexa" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg ]; "alpha_vantage" = ps: with ps; [ @@ -123,6 +127,8 @@ ]; "ambiclimate" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ambiclimate ]; "ambient_station" = ps: with ps; [ @@ -139,6 +145,8 @@ ]; "analytics" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -175,9 +183,13 @@ ]; "api" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "apple_tv" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -187,6 +199,8 @@ ]; "application_credentials" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -206,10 +220,11 @@ "aranet" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly aranet4 - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -218,6 +233,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -242,6 +258,8 @@ ]; "arwn" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; @@ -250,6 +268,9 @@ ]; "assist_pipeline" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + ha-ffmpeg hassil home-assistant-intents mutagen @@ -263,6 +284,7 @@ ]; "asuswrt" = ps: with ps; [ aioasuswrt + pyasuswrt ]; "atag" = ps: with ps; [ pyatag @@ -292,9 +314,13 @@ ]; "auth" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "automation" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "avea" = ps: with ps; [ avea @@ -310,6 +336,8 @@ ]; "axis" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng axis janus paho-mqtt @@ -325,6 +353,8 @@ ]; "backup" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant securetar @@ -377,9 +407,10 @@ "bluemaestro" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluemaestro-ble @@ -389,6 +420,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -407,6 +439,8 @@ ]; "bluetooth" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bleak bleak-retry-connector bluetooth-adapters @@ -422,9 +456,10 @@ "bluetooth_adapters" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -433,6 +468,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -447,9 +483,10 @@ "bluetooth_le_tracker" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -458,6 +495,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -475,12 +513,15 @@ ]; "bmw_connected_drive" = ps: with ps; [ bimmer-connected - ]; + ] + ++ bimmer-connected.optional-dependencies.china; "bond" = ps: with ps; [ bond-async ]; "bosch_shc" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng boschshcpy fnv-hash-fast ifaddr @@ -522,9 +563,10 @@ "bthome" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -534,6 +576,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -559,9 +602,13 @@ ]; "calendar" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "camera" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg ]; "canary" = ps: with ps; [ @@ -570,7 +617,10 @@ ]; "cast" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents @@ -581,6 +631,7 @@ plexwebsocket psutil-home-assistant pychromecast + python-matter-server pyturbojpeg sqlalchemy webrtc-noise-gain @@ -617,11 +668,18 @@ ]; "cloud" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen + psutil-home-assistant + python-matter-server pyturbojpeg + sqlalchemy webrtc-noise-gain ]; "cloudflare" = ps: with ps; [ @@ -630,7 +688,7 @@ "cmus" = ps: with ps; [ ]; # missing inputs: pycmus "co2signal" = ps: with ps; [ - co2signal + aioelectricitymaps ]; "coinbase" = ps: with ps; [ ]; # missing inputs: coinbase @@ -658,6 +716,8 @@ ]; "config" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "configurator" = ps: with ps; [ ]; @@ -666,6 +726,8 @@ ]; "conversation" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng hassil home-assistant-intents ]; @@ -687,6 +749,8 @@ ]; "crownstone" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng crownstone-cloud crownstone-sse crownstone-uart @@ -732,6 +796,8 @@ "default_config" = ps: with ps; [ aiodiscover aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client bleak bleak-retry-connector @@ -741,6 +807,7 @@ dbus-fast fnv-hash-fast ha-av + ha-ffmpeg hass-nabucasa hassil home-assistant-frontend @@ -753,6 +820,7 @@ psutil-home-assistant pynacl pyserial + python-matter-server pyturbojpeg pyudev scapy @@ -771,6 +839,8 @@ ]; "demo" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng hassil home-assistant-intents ]; @@ -781,16 +851,31 @@ ]; "derivative" = ps: with ps; [ ]; + "devialet" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + devialet + fnv-hash-fast + ifaddr + psutil-home-assistant + sqlalchemy + zeroconf + ]; "device_automation" = ps: with ps; [ ]; "device_sun_light_trigger" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pillow ]; "device_tracker" = ps: with ps; [ ]; "devolo_home_control" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng devolo-home-control-api fnv-hash-fast ifaddr @@ -810,9 +895,13 @@ ]; "diagnostics" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "dialogflow" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "diaz" = ps: with ps; [ ]; @@ -843,6 +932,8 @@ ]; # missing inputs: pyW215 "dlna_dmr" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast getmac @@ -853,6 +944,8 @@ ]; "dlna_dms" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -865,6 +958,8 @@ ]; "dominos" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; # missing inputs: pizzapi "doods" = ps: with ps; [ pillow @@ -872,6 +967,8 @@ ]; "doorbird" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng doorbirdpy ]; "dooya" = ps: with ps; [ @@ -879,9 +976,10 @@ "dormakaba_dkey" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -890,6 +988,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -914,6 +1013,8 @@ ]; "dsmr_reader" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; @@ -936,6 +1037,8 @@ ]; # missing inputs: dweepy "dynalite" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng dynalite-devices fnv-hash-fast home-assistant-frontend @@ -973,6 +1076,8 @@ "ecowitt" = ps: with ps; [ aioecowitt aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "eddystone_temperature" = ps: with ps; [ ]; # missing inputs: beacontools @@ -994,6 +1099,8 @@ ]; # missing inputs: pyElectra "electric_kiwi" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1006,6 +1113,8 @@ ]; "elkm1" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng elkm1-lib fnv-hash-fast ifaddr @@ -1030,6 +1139,8 @@ ]; "emulated_hue" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -1040,6 +1151,8 @@ ]; "emulated_roku" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng emulated-roku fnv-hash-fast ifaddr @@ -1050,6 +1163,8 @@ ]; "energy" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1085,32 +1200,6 @@ ]; "epsonworkforce" = ps: with ps; [ ]; # missing inputs: epsonprinter - "eq3btsmart" = ps: with ps; [ - aioesphomeapi - aiohttp-cors - aioruuvigateway - aioshelly - async-interrupt - bleak - bleak-retry-connector - bluetooth-adapters - bluetooth-auto-recovery - bluetooth-data-tools - construct - dbus-fast - esphome-dashboard-api - fnv-hash-fast - hassil - home-assistant-intents - ifaddr - mutagen - psutil-home-assistant - pyserial - pyudev - sqlalchemy - webrtc-noise-gain - zeroconf - ]; # missing inputs: python-eq3bt "escea" = ps: with ps; [ pescea ]; @@ -1119,7 +1208,8 @@ "esphome" = ps: with ps; [ aioesphomeapi aiohttp-cors - async-interrupt + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bleak bleak-retry-connector bluetooth-adapters @@ -1128,6 +1218,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1147,9 +1238,10 @@ "eufylife_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1159,6 +1251,7 @@ esphome-dashboard-api eufylife-ble-client fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1226,6 +1319,8 @@ ]; "file_upload" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus ]; "filesize" = ps: with ps; [ @@ -1248,6 +1343,8 @@ ]; "fitbit" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fitbit fnv-hash-fast psutil-home-assistant @@ -1262,9 +1359,10 @@ "fjaraskupan" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1274,6 +1372,7 @@ esphome-dashboard-api fjaraskupan fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1314,6 +1413,8 @@ ]; "flux_led" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng flux-led fnv-hash-fast ifaddr @@ -1333,6 +1434,8 @@ ]; "forked_daapd" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant spotipy @@ -1346,6 +1449,8 @@ ]; "foursquare" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "free_mobile" = ps: with ps; [ ]; # missing inputs: freesms @@ -1360,6 +1465,8 @@ ]; "fritz" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast fritzconnection ifaddr @@ -1380,6 +1487,8 @@ ]; "frontend" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -1391,6 +1500,11 @@ afsapi ]; "fully_kiosk" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + janus + paho-mqtt python-fullykiosk ]; "futurenow" = ps: with ps; [ @@ -1404,9 +1518,10 @@ "gardena_bluetooth" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1415,6 +1530,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1435,6 +1551,8 @@ ]; "generic" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ha-av pillow ]; @@ -1458,6 +1576,8 @@ ]; "geocaching" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast geocachingapi psutil-home-assistant @@ -1465,6 +1585,8 @@ ]; "geofency" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "geonetnz_quakes" = ps: with ps; [ aio-geojson-geonetnz-quakes @@ -1497,6 +1619,8 @@ ]; "google" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast gcal-sync oauth2client @@ -1505,10 +1629,18 @@ ]; "google_assistant" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + psutil-home-assistant + python-matter-server pyturbojpeg + sqlalchemy ]; "google_assistant_sdk" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast gassist-text psutil-home-assistant @@ -1521,12 +1653,16 @@ ]; "google_generative_ai_conversation" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng google-generativeai hassil home-assistant-intents ]; "google_mail" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast google-api-python-client psutil-home-assistant @@ -1540,6 +1676,8 @@ ]; "google_sheets" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast gspread psutil-home-assistant @@ -1547,6 +1685,8 @@ ]; "google_tasks" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast google-api-python-client psutil-home-assistant @@ -1563,9 +1703,10 @@ "govee_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1575,6 +1716,7 @@ esphome-dashboard-api fnv-hash-fast govee-ble + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1591,11 +1733,15 @@ ]; "gpslogger" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "graphite" = ps: with ps; [ ]; "gree" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast greeclimate ifaddr @@ -1625,6 +1771,8 @@ ]; "hardkernel" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng psutil-home-assistant ]; "hardware" = ps: with ps; [ @@ -1638,6 +1786,8 @@ ]; "hassio" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "havana_shade" = ps: with ps; [ ]; @@ -1673,6 +1823,8 @@ ]; "history" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1692,6 +1844,8 @@ ]; "home_connect" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast homeconnect psutil-home-assistant @@ -1699,6 +1853,8 @@ ]; "home_plus_control" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng homepluscontrol ]; "homeassistant" = ps: with ps; [ @@ -1707,6 +1863,8 @@ ]; "homeassistant_green" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bellows fnv-hash-fast janus @@ -1727,6 +1885,8 @@ ]; "homeassistant_hardware" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bellows fnv-hash-fast janus @@ -1747,6 +1907,8 @@ ]; "homeassistant_sky_connect" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bellows fnv-hash-fast janus @@ -1767,6 +1929,8 @@ ]; "homeassistant_yellow" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bellows fnv-hash-fast janus @@ -1787,6 +1951,8 @@ ]; "homekit" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng base36 fnv-hash-fast ha-ffmpeg @@ -1802,9 +1968,10 @@ aioesphomeapi aiohomekit aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1813,6 +1980,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1848,10 +2016,14 @@ ]; "html5" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pywebpush ]; "http" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "huawei_lte" = ps: with ps; [ huawei-lte-api @@ -1893,9 +2065,10 @@ "ibeacon" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1904,6 +2077,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ibeacon-ble @@ -1922,9 +2096,10 @@ "idasen_desk" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1933,6 +2108,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -1948,6 +2124,8 @@ ]; # missing inputs: rfk101py "ifttt" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyfttt ]; "iglo" = ps: with ps; [ @@ -1960,25 +2138,34 @@ ]; # missing inputs: ihcsdk "image" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "image_processing" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg ]; "image_upload" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pillow ]; "imap" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioimaplib ]; "improv_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -1987,6 +2174,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2008,9 +2196,10 @@ "inkbird" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2019,6 +2208,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2047,6 +2237,8 @@ ]; "insteon" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend insteon-frontend-home-assistant @@ -2065,6 +2257,8 @@ ]; "intent" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "intent_script" = ps: with ps; [ ]; @@ -2073,6 +2267,8 @@ ]; "ios" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -2148,9 +2344,10 @@ "kegtron" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2159,6 +2356,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2180,9 +2378,10 @@ "keymitt_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2191,6 +2390,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2219,6 +2419,8 @@ ]; "knx" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -2231,10 +2433,14 @@ ]; "kodi" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pykodi ]; "konnected" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng konnected ]; "kostal_plenticore" = ps: with ps; [ @@ -2257,6 +2463,8 @@ ]; # missing inputs: lacrosse-view "lametric" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng demetriek fnv-hash-fast psutil-home-assistant @@ -2264,6 +2472,8 @@ ]; "landisgyr_heat_meter" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -2290,9 +2500,10 @@ "ld2410_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2301,6 +2512,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2316,9 +2528,10 @@ "led_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2327,6 +2540,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2355,6 +2569,8 @@ ]; "lifx" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aiolifx aiolifx-effects aiolifx-themes @@ -2373,6 +2589,8 @@ "limitlessled" = ps: with ps; [ limitlessled ]; + "linear_garage_door" = ps: with ps; [ + ]; # missing inputs: linear-garage-door "linksys_smart" = ps: with ps; [ ]; "linode" = ps: with ps; [ @@ -2400,6 +2618,8 @@ ]; "local_ip" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -2410,11 +2630,15 @@ ]; "locative" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "lock" = ps: with ps; [ ]; "logbook" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -2428,6 +2652,8 @@ ]; "logi_circle" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ha-ffmpeg logi-circle ]; @@ -2440,12 +2666,19 @@ ]; "loqed" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents loqedapi mutagen + psutil-home-assistant + python-matter-server pyturbojpeg + sqlalchemy webrtc-noise-gain ]; "lovelace" = ps: with ps; [ @@ -2471,6 +2704,8 @@ ]; # missing inputs: lw12 "lyric" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aiolyric fnv-hash-fast psutil-home-assistant @@ -2478,20 +2713,28 @@ ]; "mailbox" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "mailgun" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pymailgunner ]; "manual" = ps: with ps; [ ]; "manual_mqtt" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; "map" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -2514,6 +2757,8 @@ ]; "matter" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant python-matter-server @@ -2530,9 +2775,10 @@ "medcom_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2541,6 +2787,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2554,13 +2801,19 @@ ]; # missing inputs: medcom-ble "media_extractor" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng yt-dlp ]; "media_player" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "media_source" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "mediaroom" = ps: with ps; [ pymediaroom @@ -2573,9 +2826,10 @@ "melnor" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2584,6 +2838,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2597,6 +2852,8 @@ ]; # missing inputs: melnor-bluetooth "meraki" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "message_bird" = ps: with ps; [ messagebird @@ -2625,14 +2882,20 @@ ]; # missing inputs: pycsspeechtts "microsoft_face" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg ]; "microsoft_face_detect" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg ]; "microsoft_face_identify" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg ]; "mijndomein_energie" = ps: with ps; [ @@ -2657,9 +2920,10 @@ "moat" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2668,6 +2932,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2682,7 +2947,10 @@ ]; "mobile_app" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents @@ -2690,6 +2958,7 @@ pillow psutil-home-assistant pynacl + python-matter-server pyturbojpeg sqlalchemy webrtc-noise-gain @@ -2701,6 +2970,8 @@ ]; "modem_callerid" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast phone-modem psutil-home-assistant @@ -2724,9 +2995,10 @@ "mopeka" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -2735,6 +3007,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -2749,6 +3022,8 @@ ]; "motion_blinds" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr motionblinds @@ -2757,6 +3032,8 @@ ]; "motioneye" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng motioneye-client ]; "mpd" = ps: with ps; [ @@ -2764,26 +3041,36 @@ ]; "mqtt" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; "mqtt_eventstream" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; "mqtt_json" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; "mqtt_room" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; "mqtt_statestream" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; @@ -2801,6 +3088,8 @@ ]; "my" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -2809,16 +3098,19 @@ sqlalchemy ]; "myq" = ps: with ps; [ - python-myq ]; "mysensors" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt pymysensors ]; "mystrom" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng python-mystrom ]; "mythicbeastsdns" = ps: with ps; [ @@ -2838,6 +3130,8 @@ ]; "neato" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pybotvac @@ -2851,6 +3145,8 @@ ]; "nest" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast google-nest-sdm ha-ffmpeg @@ -2859,13 +3155,17 @@ ]; "netatmo" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen psutil-home-assistant pyatmo + python-matter-server pyturbojpeg sqlalchemy webrtc-noise-gain @@ -2881,9 +3181,13 @@ ]; "netio" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; # missing inputs: pynetio "network" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -2928,6 +3232,8 @@ ]; "nmap_tracker" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast getmac ifaddr @@ -2966,6 +3272,8 @@ ]; "nuki" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pynuki ]; "numato" = ps: with ps; [ @@ -3008,6 +3316,8 @@ ]; "onboarding" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast pillow psutil-home-assistant @@ -3018,6 +3328,8 @@ ]; "ondilo_ico" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ondilo ]; "onewire" = ps: with ps; [ @@ -3036,6 +3348,8 @@ ]; "openai_conversation" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng hassil home-assistant-intents openai @@ -3091,9 +3405,10 @@ "oralb" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3102,6 +3417,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3125,6 +3441,8 @@ ]; # missing inputs: lightify "otbr" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bellows fnv-hash-fast ifaddr @@ -3150,6 +3468,8 @@ "otp" = ps: with ps; [ pyotp ]; + "ourgroceries" = ps: with ps; [ + ]; # missing inputs: ourgroceries "overkiz" = ps: with ps; [ pyoverkiz ]; @@ -3158,14 +3478,21 @@ ]; "owntracks" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents janus mutagen paho-mqtt + psutil-home-assistant pynacl + python-matter-server pyturbojpeg + sqlalchemy webrtc-noise-gain ]; "p1_monitor" = ps: with ps; [ @@ -3182,6 +3509,8 @@ ]; "panel_custom" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -3191,6 +3520,8 @@ ]; "panel_iframe" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend janus @@ -3213,10 +3544,14 @@ ]; "pepco" = ps: with ps; [ ]; + "permobil" = ps: with ps; [ + ]; # missing inputs: mypermobil "persistent_notification" = ps: with ps; [ ]; "person" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pillow ]; "pge" = ps: with ps; [ @@ -3245,12 +3580,19 @@ ]; # missing inputs: pypjlink2 "plaato" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen + psutil-home-assistant pyplaato + python-matter-server pyturbojpeg + sqlalchemy webrtc-noise-gain ]; "plant" = ps: with ps; [ @@ -3260,6 +3602,8 @@ ]; "plex" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng plexapi plexauth plexwebsocket @@ -3274,6 +3618,8 @@ ]; "point" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pypoint ]; "poolsense" = ps: with ps; [ @@ -3287,9 +3633,10 @@ "private_ble_device" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3298,6 +3645,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3320,6 +3668,8 @@ ]; # missing inputs: proliphix "prometheus" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng prometheus-client ]; "prosegur" = ps: with ps; [ @@ -3353,6 +3703,8 @@ ]; "push" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "pushbullet" = ps: with ps; [ pushbullet-py @@ -3372,16 +3724,16 @@ ]; "python_script" = ps: with ps; [ restrictedpython - restrictedpython ]; "qbittorrent" = ps: with ps; [ ]; # missing inputs: python-qbittorrent "qingping" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3390,6 +3742,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3428,12 +3781,19 @@ ]; "rachio" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen + psutil-home-assistant + python-matter-server pyturbojpeg rachiopy + sqlalchemy webrtc-noise-gain ]; "radarr" = ps: with ps; [ @@ -3463,9 +3823,10 @@ "rapt_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3474,6 +3835,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3488,6 +3850,8 @@ ]; "raspberry_pi" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng psutil-home-assistant ]; "raspyrfm" = ps: with ps; [ @@ -3507,7 +3871,10 @@ ]; "recovery_mode" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-frontend @@ -3516,6 +3883,7 @@ mutagen pillow psutil-home-assistant + python-matter-server pyturbojpeg sqlalchemy webrtc-noise-gain @@ -3540,13 +3908,18 @@ renault-api ]; "renson" = ps: with ps; [ - ]; # missing inputs: renson-endura-delta + renson-endura-delta + ]; "reolink" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng reolink-aio ]; "repairs" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "repetier" = ps: with ps; [ ]; # missing inputs: pyrepetierng @@ -3566,6 +3939,8 @@ ]; "rhasspy" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "ridwell" = ps: with ps; [ aioridwell @@ -3573,7 +3948,8 @@ "ring" = ps: with ps; [ ha-ffmpeg ring-doorbell - ]; + ] + ++ ring-doorbell.optional-dependencies.listen; "ripple" = ps: with ps; [ ]; # missing inputs: python-ripple-api "risco" = ps: with ps; [ @@ -3587,7 +3963,7 @@ ]; "roborock" = ps: with ps; [ python-roborock - ]; + ]; # missing inputs: vacuum-map-parser-roborock "rocketchat" = ps: with ps; [ ]; # missing inputs: rocketchat-API "roku" = ps: with ps; [ @@ -3612,11 +3988,15 @@ ]; "rss_feed_template" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "rtorrent" = ps: with ps; [ ]; "rtsp_to_webrtc" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyturbojpeg rtsp-to-webrtc ]; @@ -3629,6 +4009,8 @@ ]; # missing inputs: russound "ruuvi_gateway" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway bleak bleak-retry-connector @@ -3645,9 +4027,10 @@ "ruuvitag_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3656,6 +4039,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3678,6 +4062,8 @@ ]; "samsungtv" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast getmac @@ -3720,6 +4106,8 @@ ]; # missing inputs: scsgate "search" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -3741,9 +4129,10 @@ "sensirion_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3752,6 +4141,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3774,9 +4164,10 @@ "sensorpro" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3785,6 +4176,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3800,9 +4192,10 @@ "sensorpush" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3811,6 +4204,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -3828,6 +4222,8 @@ ]; "senz" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aiosenz fnv-hash-fast psutil-home-assistant @@ -3857,6 +4253,8 @@ ]; "shelly" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioshelly bleak bleak-retry-connector @@ -3875,6 +4273,8 @@ ]; "shopping_list" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "sia" = ps: with ps; [ pysiaalarm @@ -3928,6 +4328,8 @@ ]; # missing inputs: goslide-api "slimproto" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioslimproto ]; "sma" = ps: with ps; [ @@ -3935,6 +4337,8 @@ ]; "smappee" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pysmappee ]; "smart_blinds" = ps: with ps; [ @@ -3948,13 +4352,20 @@ ]; "smartthings" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen + psutil-home-assistant pysmartapp pysmartthings + python-matter-server pyturbojpeg + sqlalchemy webrtc-noise-gain ]; "smarttub" = ps: with ps; [ @@ -3973,6 +4384,8 @@ ]; "snips" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng janus paho-mqtt ]; @@ -3982,9 +4395,10 @@ "snooz" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -3993,6 +4407,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4033,6 +4448,8 @@ ]; "sonos" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -4054,6 +4471,8 @@ ]; "spaceapi" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "spc" = ps: with ps; [ pyspcwebgw @@ -4068,6 +4487,8 @@ ]; # missing inputs: hass-splunk "spotify" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant spotipy @@ -4084,6 +4505,8 @@ ]; "ssdp" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -4114,6 +4537,8 @@ ]; "steamist" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aiosteamist discovery30303 fnv-hash-fast @@ -4131,6 +4556,8 @@ ]; # missing inputs: stookwijzer "stream" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ha-av numpy pyturbojpeg @@ -4140,6 +4567,8 @@ ]; "stt" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "subaru" = ps: with ps; [ subarulink @@ -4174,9 +4603,10 @@ "switchbot" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -4185,6 +4615,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4217,6 +4648,8 @@ ]; "synology_dsm" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng py-synologydsm-api ]; "synology_srm" = ps: with ps; [ @@ -4225,6 +4658,8 @@ ]; "system_bridge" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4233,6 +4668,8 @@ ]; # missing inputs: systembridgeconnector "system_health" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "system_log" = ps: with ps; [ ]; @@ -4259,6 +4696,8 @@ ]; # missing inputs: tapsaff "tasmota" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng hatasmota janus paho-mqtt @@ -4273,11 +4712,15 @@ ]; "telegram" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pysocks python-telegram-bot ]; "telegram_bot" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pysocks python-telegram-bot ]; @@ -4309,9 +4752,10 @@ "thermobeacon" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -4320,6 +4764,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4337,9 +4782,10 @@ "thermopro" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -4348,6 +4794,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4373,6 +4820,8 @@ ]; "thread" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4397,9 +4846,10 @@ "tilt_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -4408,6 +4858,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4433,6 +4884,8 @@ ]; "todo" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "todoist" = ps: with ps; [ todoist-api-python @@ -4447,16 +4900,25 @@ ]; "toon" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen + psutil-home-assistant + python-matter-server pyturbojpeg + sqlalchemy toonapi webrtc-noise-gain ]; "torque" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "totalconnect" = ps: with ps; [ total-connect-client @@ -4465,6 +4927,8 @@ ]; # missing inputs: pytouchline "tplink" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4478,6 +4942,8 @@ ]; "traccar" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pytraccar stringcase ]; @@ -4515,6 +4981,9 @@ ]; "tts" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + ha-ffmpeg mutagen ]; "tuya" = ps: with ps; [ @@ -4526,14 +4995,20 @@ ]; "twilio" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng twilio ]; "twilio_call" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng twilio ]; "twilio_sms" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng twilio ]; "twinkly" = ps: with ps; [ @@ -4541,6 +5016,8 @@ ]; "twitch" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4574,6 +5051,8 @@ ]; "unifiprotect" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng pyunifiprotect unifi-discovery ]; @@ -4592,6 +5071,8 @@ ]; "upnp" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast getmac @@ -4609,6 +5090,8 @@ ]; "usb" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -4624,6 +5107,9 @@ "uvc" = ps: with ps; [ uvcclient ]; + "v2c" = ps: with ps; [ + pytrydan + ]; "vacuum" = ps: with ps; [ ]; "vallox" = ps: with ps; [ @@ -4633,6 +5119,8 @@ ]; # missing inputs: vtjp "velbus" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -4690,6 +5178,9 @@ ]; "voip" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + ha-ffmpeg hassil home-assistant-intents mutagen @@ -4746,12 +5237,16 @@ ]; "webhook" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng ]; "webostv" = ps: with ps; [ aiowebostv ]; "websocket_api" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4777,19 +5272,25 @@ ]; # missing inputs: wirelesstagpy "withings" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aiowithings fnv-hash-fast + ha-ffmpeg hass-nabucasa hassil home-assistant-intents mutagen psutil-home-assistant + python-matter-server pyturbojpeg sqlalchemy webrtc-noise-gain ]; "wiz" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4816,12 +5317,22 @@ "wsdot" = ps: with ps; [ ]; "wyoming" = ps: with ps; [ + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng + ha-ffmpeg + hassil + home-assistant-intents + mutagen + webrtc-noise-gain wyoming ]; "x10" = ps: with ps; [ ]; "xbox" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4839,9 +5350,10 @@ "xiaomi_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -4850,6 +5362,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4884,9 +5397,10 @@ "yalexs_ble" = ps: with ps; [ aioesphomeapi aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aioruuvigateway aioshelly - async-interrupt bleak bleak-retry-connector bluetooth-adapters @@ -4895,6 +5409,7 @@ dbus-fast esphome-dashboard-api fnv-hash-fast + ha-ffmpeg hassil home-assistant-intents ifaddr @@ -4912,6 +5427,8 @@ ]; "yamaha_musiccast" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng aiomusiccast async-upnp-client fnv-hash-fast @@ -4930,6 +5447,8 @@ ]; "yeelight" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -4946,6 +5465,8 @@ ]; "yolink" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4956,6 +5477,8 @@ ]; "youtube" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4971,6 +5494,8 @@ ]; # missing inputs: zengge "zeroconf" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4987,6 +5512,8 @@ ]; # missing inputs: zeversolar "zha" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng bellows fnv-hash-fast janus @@ -5018,6 +5545,8 @@ ]; "zwave_js" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -5027,6 +5556,8 @@ ]; "zwave_me" = ps: with ps; [ aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -5156,6 +5687,7 @@ "demo" "denonavr" "derivative" + "devialet" "device_automation" "device_sun_light_trigger" "device_tracker" @@ -5568,6 +6100,7 @@ "reddit" "remote" "renault" + "renson" "reolink" "repairs" "rest" @@ -5580,7 +6113,6 @@ "risco" "rituals_perfume_genie" "rmvtransport" - "roborock" "roku" "roomba" "roon" @@ -5744,6 +6276,7 @@ "usgs_earthquakes_feed" "utility_meter" "uvc" + "v2c" "vacuum" "vallox" "velbus" diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/README.md b/nixpkgs/pkgs/servers/home-assistant/custom-components/README.md index a7244b25c173..d7137e5c62f7 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/README.md +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/README.md @@ -25,7 +25,7 @@ versions into the Python environment. }: buildHomeAssistantComponent { - # pname, version + # owner, domain, version src = fetchFromGithub { # owner, repo, rev, hash @@ -40,18 +40,34 @@ buildHomeAssistantComponent { } } -## Package name normalization +## Package attribute -Apply the same normalization rules as defined for python packages in -[PEP503](https://peps.python.org/pep-0503/#normalized-names). -The name should be lowercased and dots, underlines or multiple -dashes should all be replaced by a single dash. +The attribute name must reflect the domain as seen in the +`manifest.json`, which in turn will match the python module name below +in the `custom_components/` directory. + +**Example:** + +The project [mweinelt/ha-prometheus-sensor](https://github.com/mweinelt/ha-prometheus-sensor/blob/1.0.0/custom_components/prometheus_sensor/manifest.json#L2) +would receive the attribute name `"prometheus_sensor"`, because both +domain in the `manifest.json` as well as the module name are +`prometheus_sensor`. + +## Package name + +The `pname` attribute is a composition of both `owner` and `domain`. + +Don't set `pname`, set `owner and `domain` instead. + +Exposing the `domain` attribute separately allows checking for +conflicting components at eval time. ## Manifest check The `buildHomeAssistantComponent` builder uses a hook to check whether the dependencies specified in the `manifest.json` are present and -inside the specified version range. +inside the specified version range. It also makes sure derivation +and manifest agree about the domain name. There shouldn't be a need to disable this hook, but you can set `dontCheckManifest` to `true` in the derivation to achieve that. diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix new file mode 100644 index 000000000000..1d2ae2228a5b --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/adaptive_lighting/default.nix @@ -0,0 +1,30 @@ +{ lib +, fetchFromGitHub +, buildHomeAssistantComponent +, ulid-transform +}: + +buildHomeAssistantComponent rec { + owner = "basnijholt"; + domain = "adaptive_lighting"; + version = "1.19.1"; + + src = fetchFromGitHub { + owner = "basnijholt"; + repo = "adaptive-lighting"; + rev = "refs/tags/${version}"; + hash = "sha256-AZsloE1vNQ9o2pg878J6I5qYXyI4fqYEvr18SrTocWo="; + }; + + propagatedBuildInputs = [ + ulid-transform + ]; + + meta = with lib; { + changelog = "https://github.com/basnijholt/adaptive-lighting/releases/tag/${version}"; + description = "Home Assistant Adaptive Lighting Plugin - Sun Synchronized Lighting"; + homepage = "https://github.com/basnijholt/adaptive-lighting"; + maintainers = with maintainers; [ mindstorms6 ]; + license = licenses.asl20; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix index 4a96b305964a..fe1c39487903 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/default.nix @@ -2,5 +2,11 @@ }: { - prometheus-sensor = callPackage ./prometheus-sensor {}; + adaptive_lighting = callPackage ./adaptive_lighting {}; + + govee-lan = callPackage ./govee-lan {}; + + miele = callPackage ./miele {}; + + prometheus_sensor = callPackage ./prometheus_sensor {}; } diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix new file mode 100644 index 000000000000..60c58bb85850 --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/govee-lan/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildHomeAssistantComponent +, fetchFromGitHub +, govee-led-wez +}: + +buildHomeAssistantComponent { + owner = "wez"; + domain = "govee_lan"; + version = "unstable-2023-06-10"; + + src = fetchFromGitHub { + owner = "wez"; + repo = "govee-lan-hass"; + rev = "18d8455510d158496f7e5d4f0286f58bd61042bb"; + hash = "sha256-ZhrxEPBEi+Z+2ZOAQ1amhO0tqvhM6tyFQgoRIVNDtXY="; + }; + + dontBuild = true; + + propagatedBuildInputs = [ + govee-led-wez + ]; + + # enable when pytest-homeassistant-custom-component is packaged + doCheck = false; + + # nativeCheckInputs = [ + # pytest-homeassistant-custom-component + # pytestCheckHook + # ]; + + meta = with lib; { + description = "Control Govee lights via the LAN API from Home Assistant"; + homepage = "https://github.com/wez/govee-lan-hass"; + maintainers = with maintainers; [ SuperSandro2000 ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix new file mode 100644 index 000000000000..71624f674b4d --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/miele/default.nix @@ -0,0 +1,35 @@ +{ + lib, + fetchFromGitHub, + buildHomeAssistantComponent, + flatdict, + pymiele, +}: +buildHomeAssistantComponent rec { + owner = "astrandb"; + domain = "miele"; + version = "0.1.19"; + + src = fetchFromGitHub { + inherit owner; + repo = domain; + rev = "refs/tags/v${version}"; + hash = "sha256-od7DV10/rkIw9eFMsTRw4bMmhQo9BAmw2rCbKKySeIk="; + }; + + propagatedBuildInputs = [ + flatdict + pymiele + ]; + + # Makefile only used for bumping the version + dontBuild = true; + + meta = with lib; { + changelog = "https://github.com/astrandb/miele/releases/tag/v${version}"; + description = "A modern integration for Miele devices in Home Assistant"; + homepage = "https://github.com/astrandb/miele"; + maintainers = with maintainers; [jamiemagee]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix index 07bcd9abec1c..2368d85552b2 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-components/prometheus-sensor/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-components/prometheus_sensor/default.nix @@ -4,7 +4,8 @@ }: buildHomeAssistantComponent rec { - pname = "prometheus-sensor"; + owner = "mweinelt"; + domain = "prometheus_sensor"; version = "1.0.0"; src = fetchFromGitHub { diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix index 4bb1e63b5f7f..38bfeed576d4 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix @@ -2,7 +2,11 @@ }: { + light-entity-card = callPackage ./light-entity-card { }; + mini-graph-card = callPackage ./mini-graph-card {}; mini-media-player = callPackage ./mini-media-player {}; + + zigbee2mqtt-networkmap = callPackage ./zigbee2mqtt-networkmap { }; } diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix new file mode 100644 index 000000000000..9c1e97b0f8ed --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/light-entity-card/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "light-entity-card"; + version = "6.1.0"; + + src = fetchFromGitHub { + owner = "ljmerza"; + repo = "light-entity-card"; + rev = "refs/tags/${version}"; + hash = "sha256-CJpRvgPf7+v9m/8/O2R+nut3PnyDPC8OTipyE+Brp9U="; + }; + + npmDepsHash = "sha256-EZDTWtn3joikwiC5Kfn94+tXRDpBhMDHqHozfIkfbJ0="; + + env.NODE_OPTIONS = "--openssl-legacy-provider"; + + installPhase = '' + runHook preInstall + + mkdir $out + cp -v dist/light-entity-card.js* $out/ + + runHook postInstall + ''; + + passthru.entrypoint = "light-entity-card.js"; + + meta = with lib; { + description = "Control any light or switch entity"; + homepage = "https://github.com/ljmerza/light-entity-card"; + changelog = "https://github.com/ljmerza/light-entity-card/releases/tag/${version}"; + maintainers = with maintainers; [ SuperSandro2000 ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix index 6945b18bde20..749b15398f4b 100644 --- a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/mini-media-player/default.nix @@ -5,16 +5,16 @@ buildNpmPackage rec { pname = "mini-media-player"; - version = "1.16.5"; + version = "1.16.6"; src = fetchFromGitHub { owner = "kalkih"; repo = "mini-media-player"; rev = "v${version}"; - hash = "sha256-ydkY7Qx2GMh4CpvvBAQubJ7PlxSscDZRJayn82bOczM="; + hash = "sha256-1cC9dyZ9+7dXSL/dmFD0HV7SgsBW2zA7a+eOKVwbzg8="; }; - npmDepsHash = "sha256-v9NvZOrQPMOoG3LKACnu79jKgZtcnGiopWad+dFbplw="; + npmDepsHash = "sha256-/7roW1xkZmGuB/8nFaQz0Yeuai6yJ+cH7Uqa/zxfa5w="; installPhase = '' runHook preInstall diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix new file mode 100644 index 000000000000..ef412801bfe9 --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix @@ -0,0 +1,59 @@ +{ lib +, fetchFromGitHub +, fetchYarnDeps +, mkYarnPackage +}: + +mkYarnPackage rec { + pname = "zigbee2mqtt-networkmap"; + version = "unstable-2023-12-06"; + + src = fetchFromGitHub { + owner = "azuwis"; + repo = "zigbee2mqtt-networkmap"; + rev = "d5f1002118ba5881c6bdc27cb0f67642575c414f"; + hash = "sha256-ITqzMjom2XN7+ICDH0Z5YJWY5GNUXzaqSuEzXekhw9I="; + }; + + packageJSON = ./package.json; + + offlineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-uPhD6UQ1KI7y6bqqQF7InT9eKU9VWGf2D60Lo5Mwcf8="; + }; + + configurePhase = '' + cp -r $node_modules node_modules + chmod +w node_modules + ''; + + buildPhase = '' + runHook preBuild + + yarn --offline build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir $out + cp -v dist/zigbee2mqtt-networkmap.js $out/ + + runHook postInstall + ''; + + dontFixup = true; + + doDist = false; + + passthru.entrypoint = "zigbee2mqtt-networkmap.js"; + + meta = with lib; { + description = "Home Assistant Custom Card to show Zigbee2mqtt network map"; + homepage = "https://github.com/azuwis/zigbee2mqtt-networkmap"; + maintainers = with maintainers; [ azuwis ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json new file mode 100644 index 000000000000..b989bfde28e4 --- /dev/null +++ b/nixpkgs/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/package.json @@ -0,0 +1,25 @@ +{ + "name": "zigbee2mqtt-networkmap", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "vue": "^3.3.4" + }, + "devDependencies": { + "@material/mwc-button": "^0.27.0", + "@vue/cli-plugin-eslint": "^5.0.8", + "@vue/cli-service": "^5.0.8", + "@vue/eslint-config-standard": "^8.0.1", + "@babel/core": "^7.0.0", + "@babel/eslint-parser": "^7.0.0", + "eslint": "^8.42.0", + "eslint-plugin-vue": "^9.14.1", + "lodash.isequal": "^4.5.0", + "vue-d3-network": "^0.1.28" + } +} diff --git a/nixpkgs/pkgs/servers/home-assistant/default.nix b/nixpkgs/pkgs/servers/home-assistant/default.nix index 7f6fca8a090b..2323db5b085c 100644 --- a/nixpkgs/pkgs/servers/home-assistant/default.nix +++ b/nixpkgs/pkgs/servers/home-assistant/default.nix @@ -30,24 +30,16 @@ let # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (self: super: { - aioairq = super.aioairq.overridePythonAttrs (oldAttrs: rec { - version = "0.2.4"; - src = fetchFromGitHub { - owner = "CorantGmbH"; - repo = "aioairq"; - rev = "refs/tags/v${version}"; - hash = "sha256-+5FyBfsB3kjyX/V9CdZ072mZ3THyvALyym+uk7/kZLo="; - }; - }); - # https://github.com/home-assistant/core/pull/101913 aiohttp = super.aiohttp.overridePythonAttrs (old: rec { - version = "3.8.5"; + version = "3.9.1"; src = fetchPypi { inherit (old) pname; inherit version; - hash = "sha256-uVUuxSzBR9vxlErHrJivdgLlHqLc0HbtGUyjwNHH0Lw="; + hash = "sha256-j8Sah6wmnUUp2kWHHi/7aHTod3nD0OLM2BPAiZIhI50="; }; + patches = []; + doCheck = false; }); aiowatttime = super.aiowatttime.overridePythonAttrs (oldAttrs: rec { @@ -60,6 +52,15 @@ let }; }); + aioresponses = super.aioresponses.overridePythonAttrs (oldAttrs: rec { + pname = "aioresponses"; + version = "0.7.6"; + src = fetchPypi { + inherit pname version; + hash = "sha256-95XZ29otYXdIQOfjL1Nm9FdS0a3Bt0yTYq/QFylsfuE="; + }; + }); + astral = super.astral.overridePythonAttrs (oldAttrs: rec { pname = "astral"; version = "2.2"; @@ -105,10 +106,10 @@ let rev = "refs/tags/${version}"; hash = "sha256-iqlKfpnETLqQwy5sNcK2x/TgmuN2hCfYoHEFK2WWVXI="; }; - nativeBuildInputs = with super; [ + nativeBuildInputs = with self; [ setuptools ]; - propagatedBuildInputs = with super; [ + propagatedBuildInputs = with self; [ aenum aiohttp pydantic @@ -135,11 +136,6 @@ let }; }); - # moto tests are a nuissance - moto = super.moto.overridePythonAttrs (_: { - doCheck = false; - }); - notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec { version = "0.1.5"; format = "setuptools"; @@ -151,11 +147,11 @@ let hash = "sha256-adkcUuPl0jdJjkBINCTW4Kmc16C/HzL+jaRZB/Qr09A="; }; - nativeBuildInputs = with super; [ + nativeBuildInputs = with self; [ setuptools ]; - propagatedBuildInputs = with super; [ + propagatedBuildInputs = with self; [ requests ]; @@ -183,15 +179,6 @@ let }; }); - p1monitor = super.p1monitor.overridePythonAttrs (oldAttrs: rec { - version = "2.1.1"; - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - rev = "refs/tags/v${version}"; - hash = "sha256-VHY5AWxt5BZd1NQKzsgubEZBLKAlDNm8toyEazPUnDU="; - }; - }); - psutil = super.psutil.overridePythonAttrs (oldAttrs: rec { version = "5.9.6"; src = fetchPypi { @@ -324,7 +311,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2023.11.3"; + hassVersion = "2023.12.3"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -337,18 +324,18 @@ in python.pkgs.buildPythonApplication rec { # don't try and fail to strip 6600+ python files, it takes minutes! dontStrip = true; - # Primary source is the pypi sdist, because it contains translations - src = fetchPypi { - inherit pname version; - hash = "sha256-llGHI6LVpTo9m2RMtcDSkW2wWraje2OkVFx5P7lzZ30="; - }; - - # Secondary source is git for tests - gitSrc = fetchFromGitHub { + # Primary source is the git, which has the tests and allows bisecting the core + src = fetchFromGitHub { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-KD53O+UlAjGfVGp4kbLgpgU7j0A+KqZZT492WmeCOnQ="; + hash = "sha256-pTDYiy9Ux7Rgsf9rXXF3GbaiJkTX5FA/7K2hJtiNOkQ="; + }; + + # Secondary source is pypi sdist for translations + sdist = fetchPypi { + inherit pname version; + hash = "sha256-cvsYkuQG4i3GG8VGJ+HGSjdvpSBLzh0BFYQQpoVq4FY="; }; nativeBuildInputs = with python.pkgs; [ @@ -378,10 +365,9 @@ in python.pkgs.buildPythonApplication rec { "yarl" ]; - # copy tests early, so patches apply as they would to the git repo + # extract translations from pypi sdist prePatch = '' - cp --no-preserve=mode --recursive ${gitSrc}/tests ./ - chmod u+x tests/auth/providers/test_command_line_cmd.sh + tar --extract --gzip --file $sdist --strip-components 1 --wildcards "**/translations" ''; # leave this in, so users don't have to constantly update their downstream patch handling @@ -481,6 +467,8 @@ in python.pkgs.buildPythonApplication rec { "--deselect tests/test_config.py::test_merge" # AssertionError: assert 'WARNING' not in '2023-11-10 ...nt abc[L]>\n'" "--deselect=tests/helpers/test_script.py::test_multiple_runs_repeat_choose" + # SystemError: PyThreadState_SetAsyncExc failed + "--deselect=tests/helpers/test_template.py::test_template_timeout" # tests are located in tests/ "tests" ]; diff --git a/nixpkgs/pkgs/servers/home-assistant/frontend.nix b/nixpkgs/pkgs/servers/home-assistant/frontend.nix index 1c7bc02172b2..367db0bad900 100644 --- a/nixpkgs/pkgs/servers/home-assistant/frontend.nix +++ b/nixpkgs/pkgs/servers/home-assistant/frontend.nix @@ -4,7 +4,7 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20231030.2"; + version = "20231208.2"; format = "wheel"; src = fetchPypi { @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-qzodzqWpAXZjwBJkiCyBi5zzfpEqqtauJn2PKZ5UtJ0="; + hash = "sha256-JTYZPku5UdnMOllnzyI9tbYgxcewx5tklDooQKJA6p8="; }; # there is nothing to strip in this package diff --git a/nixpkgs/pkgs/servers/home-assistant/intents.nix b/nixpkgs/pkgs/servers/home-assistant/intents.nix index 26fe812366d3..e88520bb883b 100644 --- a/nixpkgs/pkgs/servers/home-assistant/intents.nix +++ b/nixpkgs/pkgs/servers/home-assistant/intents.nix @@ -20,7 +20,7 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2023.10.16"; + version = "2023.12.05"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -29,7 +29,7 @@ buildPythonPackage rec { owner = "home-assistant"; repo = "intents-package"; rev = "refs/tags/${version}"; - hash = "sha256-qW5KzABEEBw2tu5+fAoWd8nCxuvTzEU14M8iaSo2WzE="; + hash = "sha256-BVcvlmX5+w7b9uNHA4ZP6Ebj+7ROUgEaAmXAGQrby+s="; fetchSubmodules = true; }; diff --git a/nixpkgs/pkgs/servers/home-assistant/stubs.nix b/nixpkgs/pkgs/servers/home-assistant/stubs.nix index b6d6d1517af8..e31c587258b7 100644 --- a/nixpkgs/pkgs/servers/home-assistant/stubs.nix +++ b/nixpkgs/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2023.11.3"; + version = "2023.12.3"; format = "pyproject"; disabled = python.version != home-assistant.python.version; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-x3FcUmbUYAUKGAPb85SqJk1kTWFKxpJSX2J+rTRj1KY="; + hash = "sha256-PQZsesdGqeZgQUgO7DkKDcBrWRM/CY8giPx8cK3531s="; }; nativeBuildInputs = [ diff --git a/nixpkgs/pkgs/servers/home-assistant/update.py b/nixpkgs/pkgs/servers/home-assistant/update.py index c914979e28bd..30b371e0686d 100755 --- a/nixpkgs/pkgs/servers/home-assistant/update.py +++ b/nixpkgs/pkgs/servers/home-assistant/update.py @@ -192,11 +192,11 @@ class HomeAssistant: async def update_core(self, old_version: str, new_version: str) -> None: - old_sdist_hash = str(await Nix.eval("home-assistant.src.outputHash")) + old_sdist_hash = str(await Nix.eval("home-assistant.sdist.outputHash")) new_sdist_hash = await Nurl.prefetch("https://pypi.org/project/homeassistant/", new_version) print(f"sdist: {old_sdist_hash} -> {new_sdist_hash}") - old_git_hash = str(await Nix.eval("home-assistant.gitSrc.outputHash")) + old_git_hash = str(await Nix.eval("home-assistant.src.outputHash")) new_git_hash = await Nurl.prefetch("https://github.com/home-assistant/core/", new_version) print(f"git: {old_git_hash} -> {new_git_hash}") |