diff options
Diffstat (limited to 'pkgs/servers/home-assistant')
42 files changed, 1024 insertions, 977 deletions
diff --git a/pkgs/servers/home-assistant/appdaemon.nix b/pkgs/servers/home-assistant/appdaemon.nix index 40c55e9f5d788..c2bb51cc14a01 100644 --- a/pkgs/servers/home-assistant/appdaemon.nix +++ b/pkgs/servers/home-assistant/appdaemon.nix @@ -18,7 +18,6 @@ python3.pkgs.buildPythonApplication rec { pythonRelaxDeps = true; nativeBuildInputs = with python3.pkgs; [ - pythonRelaxDepsHook setuptools ]; diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 186956baa9ff9..c56be24eaac5e 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,7 +2,7 @@ # Do not edit! { - version = "2024.4.4"; + version = "2024.6.4"; components = { "3_day_blinds" = ps: with ps; [ ]; @@ -51,6 +51,8 @@ ]; "air_quality" = ps: with ps; [ ]; + "airgradient" = ps: with ps; [ + ]; # missing inputs: airgradient "airly" = ps: with ps; [ airly ]; @@ -65,9 +67,6 @@ ]; "airthings_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly airthings-ble @@ -112,7 +111,10 @@ aioairzone-cloud ]; "aladdin_connect" = ps: with ps; [ - aioaladdinconnect + fnv-hash-fast + genie-partner-sdk + psutil-home-assistant + sqlalchemy ]; "alarm_control_panel" = ps: with ps; [ ]; @@ -122,9 +124,6 @@ "alert" = ps: with ps; [ ]; "alexa" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pyturbojpeg ]; "alpha_vantage" = ps: with ps; [ @@ -136,11 +135,8 @@ "amberelectric" = ps: with ps; [ amberelectric ]; - "ambiclimate" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng - ambiclimate + "ambient_network" = ps: with ps; [ + aioambient ]; "ambient_station" = ps: with ps; [ aioambient @@ -155,9 +151,6 @@ asmog ]; "analytics" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -200,16 +193,10 @@ aioapcaccess ]; "api" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "appalachianpower" = ps: with ps; [ ]; "apple_tv" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -218,9 +205,6 @@ zeroconf ]; "application_credentials" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -234,6 +218,8 @@ aprslib geopy ]; + "apsystems" = ps: with ps; [ + ]; # missing inputs: apsystems-ez1 "aqualogic" = ps: with ps; [ aqualogic ]; @@ -242,9 +228,6 @@ ]; "aranet" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly aranet4 @@ -281,19 +264,15 @@ "aruba" = ps: with ps; [ pexpect ]; + "arve" = ps: with ps; [ + ]; # missing inputs: asyncarve "arwn" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "aseko_pool_live" = ps: with ps; [ aioaseko ]; "assist_pipeline" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-ffmpeg hassil home-assistant-intents @@ -337,14 +316,8 @@ pyaussiebb ]; "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 @@ -359,12 +332,11 @@ aiobotocore ]; "axis" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng axis paho-mqtt ]; + "azure_data_explorer" = ps: with ps; [ + ]; # missing inputs: azure-kusto-data azure-kusto-ingest "azure_devops" = ps: with ps; [ aioazuredevops ]; @@ -375,9 +347,6 @@ azure-servicebus ]; "backup" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant securetar @@ -434,9 +403,6 @@ ]; "bluemaestro" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -468,9 +434,6 @@ xmltodict ]; "bluetooth" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bleak bleak-retry-connector bluetooth-adapters @@ -486,9 +449,6 @@ ]; "bluetooth_adapters" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -515,9 +475,6 @@ ]; "bluetooth_le_tracker" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -554,9 +511,6 @@ bond-async ]; "bosch_shc" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng boschshcpy fnv-hash-fast ifaddr @@ -579,6 +533,7 @@ ]; "brother" = ps: with ps; [ brother + pysnmp-lextudio ]; "brottsplatskartan" = ps: with ps; [ brottsplatskartan @@ -600,9 +555,6 @@ ]; "bthome" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -641,14 +593,8 @@ caldav ]; "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; [ @@ -656,9 +602,6 @@ py-canary ]; "cast" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -706,9 +649,6 @@ "climate" = ps: with ps; [ ]; "cloud" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -756,9 +696,6 @@ "coned" = ps: with ps; [ ]; "config" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "configurator" = ps: with ps; [ ]; @@ -766,9 +703,6 @@ pycontrol4 ]; "conversation" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng hassil home-assistant-intents ]; @@ -789,9 +723,6 @@ "cribl" = ps: with ps; [ ]; "crownstone" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng crownstone-cloud crownstone-sse crownstone-uart @@ -837,9 +768,6 @@ "default_config" = ps: with ps; [ aiodhcpwatcher aiodiscover - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client bleak bleak-retry-connector @@ -880,11 +808,12 @@ deluge-client ]; "demo" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng + fnv-hash-fast hassil home-assistant-intents + pillow + psutil-home-assistant + sqlalchemy ]; "denon" = ps: with ps; [ ]; @@ -894,9 +823,6 @@ "derivative" = ps: with ps; [ ]; "devialet" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng devialet fnv-hash-fast ifaddr @@ -907,17 +833,14 @@ "device_automation" = ps: with ps; [ ]; "device_sun_light_trigger" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng + fnv-hash-fast pillow + psutil-home-assistant + sqlalchemy ]; "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 @@ -937,14 +860,8 @@ cached-ipaddress ]; "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; [ ]; @@ -974,9 +891,6 @@ "dlink" = ps: with ps; [ ]; # missing inputs: pyW215 "dlna_dmr" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast getmac @@ -985,9 +899,6 @@ sqlalchemy ]; "dlna_dms" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -998,27 +909,18 @@ aiodns ]; "dominos" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; # missing inputs: pizzapi "doods" = ps: with ps; [ pillow pydoods ]; "doorbird" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng doorbirdpy ]; "dooya" = ps: with ps; [ ]; "dormakaba_dkey" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -1052,9 +954,6 @@ dremel3dpy ]; "drop_connect" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng dropmqttapi paho-mqtt ]; @@ -1062,9 +961,6 @@ dsmr-parser ]; "dsmr_reader" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "dte_energy_bridge" = ps: with ps; [ @@ -1087,9 +983,6 @@ "dweet" = ps: with ps; [ ]; # missing inputs: dweepy "dynalite" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng dynalite-devices dynalite-panel fnv-hash-fast @@ -1127,9 +1020,6 @@ ]; # missing inputs: py-sucks "ecowitt" = ps: with ps; [ aioecowitt - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "eddystone_temperature" = ps: with ps; [ ]; # missing inputs: beacontools @@ -1150,9 +1040,6 @@ "electrasmart" = ps: with ps; [ ]; # missing inputs: pyElectra "electric_kiwi" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1164,9 +1051,6 @@ eliqonline ]; "elkm1" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng elkm1-lib fnv-hash-fast ifaddr @@ -1180,9 +1064,6 @@ pypca ]; "elvia" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1198,9 +1079,6 @@ aioemonitor ]; "emulated_hue" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -1210,21 +1088,17 @@ sense-energy ]; "emulated_roku" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng emulated-roku fnv-hash-fast ifaddr psutil-home-assistant sqlalchemy ]; + "energenie_power_sockets" = ps: with ps; [ + ]; # missing inputs: pyegps "energie_vanons" = ps: with ps; [ ]; "energy" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1255,14 +1129,40 @@ "ephember" = ps: with ps; [ pyephember ]; + "epic_games_store" = ps: with ps; [ + ]; # missing inputs: epicstore-api "epion" = ps: with ps; [ epion ]; "epson" = ps: with ps; [ epson-projector ]; - "epsonworkforce" = ps: with ps; [ - ]; # missing inputs: epsonprinter + "eq3btsmart" = ps: with ps; [ + aioesphomeapi + aioruuvigateway + aioshelly + bleak + bleak-esphome + bleak-retry-connector + bluetooth-adapters + bluetooth-auto-recovery + bluetooth-data-tools + dbus-fast + esphome-dashboard-api + fnv-hash-fast + ha-ffmpeg + habluetooth + hassil + home-assistant-intents + ifaddr + mutagen + psutil-home-assistant + pyserial + pyudev + sqlalchemy + webrtc-noise-gain + zeroconf + ]; # missing inputs: eq3btsmart "escea" = ps: with ps; [ pescea ]; @@ -1270,9 +1170,6 @@ ]; "esphome" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bleak bleak-esphome bleak-retry-connector @@ -1302,9 +1199,6 @@ ]; "eufylife_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -1383,16 +1277,10 @@ file-read-backwards ]; "file_upload" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "filesize" = ps: with ps; [ ]; "filter" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1409,9 +1297,6 @@ pymata-express ]; "fitbit" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fitbit fnv-hash-fast psutil-home-assistant @@ -1425,9 +1310,6 @@ ]; "fjaraskupan" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -1483,9 +1365,6 @@ "flux" = ps: with ps; [ ]; "flux_led" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng flux-led fnv-hash-fast ifaddr @@ -1504,9 +1383,6 @@ forecast-solar ]; "forked_daapd" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant spotipy @@ -1519,9 +1395,6 @@ libpyfoscam ]; "foursquare" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "free_mobile" = ps: with ps; [ ]; # missing inputs: freesms @@ -1535,9 +1408,6 @@ pyfreedompro ]; "fritz" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast fritzconnection ifaddr @@ -1557,9 +1427,6 @@ pyfronius ]; "frontend" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend pillow @@ -1572,9 +1439,6 @@ "fujitsu_anywair" = ps: with ps; [ ]; "fully_kiosk" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt python-fullykiosk ]; @@ -1591,9 +1455,6 @@ ]; "gardena_bluetooth" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -1627,18 +1488,12 @@ aio-georss-gdacs ]; "generic" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-av pillow ]; "generic_hygrostat" = ps: with ps; [ ]; "generic_thermostat" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1655,18 +1510,12 @@ georss-generic-client ]; "geocaching" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast geocachingapi psutil-home-assistant sqlalchemy ]; "geofency" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "geonetnz_quakes" = ps: with ps; [ aio-geojson-geonetnz-quakes @@ -1698,9 +1547,6 @@ goodwe ]; "google" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast gcal-sync ical @@ -1709,9 +1555,6 @@ sqlalchemy ]; "google_assistant" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant python-matter-server @@ -1719,9 +1562,6 @@ sqlalchemy ]; "google_assistant_sdk" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast gassist-text psutil-home-assistant @@ -1733,17 +1573,15 @@ "google_domains" = ps: with ps; [ ]; "google_generative_ai_conversation" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng google-generativeai + ha-ffmpeg hassil home-assistant-intents + mutagen + voluptuous-openapi + webrtc-noise-gain ]; "google_mail" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast google-api-python-client psutil-home-assistant @@ -1756,18 +1594,12 @@ google-cloud-pubsub ]; "google_sheets" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast gspread psutil-home-assistant sqlalchemy ]; "google_tasks" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast google-api-python-client psutil-home-assistant @@ -1783,9 +1615,6 @@ ]; "govee_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -1812,9 +1641,6 @@ zeroconf ]; "govee_light_local" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast govee-local-api ifaddr @@ -1825,16 +1651,10 @@ gps3 ]; "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 @@ -1847,6 +1667,10 @@ "greenwave" = ps: with ps; [ ]; # missing inputs: greenwavereality "group" = ps: with ps; [ + fnv-hash-fast + pillow + psutil-home-assistant + sqlalchemy ]; "growatt_server" = ps: with ps; [ growattserver @@ -1863,9 +1687,6 @@ habitipy ]; "hardkernel" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng psutil-home-assistant ]; "hardware" = ps: with ps; [ @@ -1878,9 +1699,6 @@ aioharmony ]; "hassio" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "havana_shade" = ps: with ps; [ ]; @@ -1915,17 +1733,11 @@ pyaehw4a1 ]; "history" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy ]; "history_stats" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -1945,9 +1757,6 @@ holidays ]; "home_connect" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast homeconnect psutil-home-assistant @@ -1960,15 +1769,11 @@ "homeassistant_alerts" = ps: with ps; [ ]; "homeassistant_green" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bellows fnv-hash-fast pillow psutil-home-assistant pyserial - pyserial-asyncio pyserial-asyncio-fast pyudev sqlalchemy @@ -1981,15 +1786,11 @@ zigpy-znp ]; "homeassistant_hardware" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bellows fnv-hash-fast pillow psutil-home-assistant pyserial - pyserial-asyncio pyserial-asyncio-fast pyudev sqlalchemy @@ -2002,15 +1803,11 @@ zigpy-znp ]; "homeassistant_sky_connect" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bellows fnv-hash-fast pillow psutil-home-assistant pyserial - pyserial-asyncio pyserial-asyncio-fast pyudev sqlalchemy @@ -2023,15 +1820,11 @@ zigpy-znp ]; "homeassistant_yellow" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bellows fnv-hash-fast pillow psutil-home-assistant pyserial - pyserial-asyncio pyserial-asyncio-fast pyudev sqlalchemy @@ -2044,9 +1837,6 @@ zigpy-znp ]; "homekit" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng base36 fnv-hash-fast ha-ffmpeg @@ -2061,9 +1851,6 @@ "homekit_controller" = ps: with ps; [ aioesphomeapi aiohomekit - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2111,15 +1898,9 @@ python-hpilo ]; "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 @@ -2141,9 +1922,6 @@ ]; "husqvarna_automower" = ps: with ps; [ aioautomower - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -2172,9 +1950,6 @@ ]; "ibeacon" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2205,9 +1980,6 @@ ]; "idasen_desk" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2235,9 +2007,6 @@ "idteck_prox" = ps: with ps; [ ]; # missing inputs: rfk101py "ifttt" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pyfttt ]; "iglo" = ps: with ps; [ @@ -2249,33 +2018,20 @@ defusedxml ]; # 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 ]; + "imgw_pib" = ps: with ps; [ + ]; # missing inputs: imgw_pib "improv_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2311,9 +2067,6 @@ ]; "inkbird" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2354,9 +2107,6 @@ "inspired_shades" = ps: with ps; [ ]; "insteon" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend insteon-frontend-home-assistant @@ -2373,9 +2123,6 @@ intellifire4py ]; "intent" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "intent_script" = ps: with ps; [ ]; @@ -2383,9 +2130,6 @@ pyintesishome ]; "ios" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -2408,9 +2152,11 @@ ]; "irish_rail_transport" = ps: with ps; [ ]; # missing inputs: pyirishrail - "islamic_prayer_times" = ps: with ps; [ - prayer-times-calculator + "isal" = ps: with ps; [ + isal ]; + "islamic_prayer_times" = ps: with ps; [ + ]; # missing inputs: prayer-times-calculator-offline "ismartwindow" = ps: with ps; [ ]; "iss" = ps: with ps; [ @@ -2460,9 +2206,6 @@ ]; "kegtron" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2498,9 +2241,6 @@ ]; "keymitt_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2530,9 +2270,6 @@ pykira ]; "kitchen_sink" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -2544,9 +2281,6 @@ pykmtronic ]; "knx" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend knx-frontend @@ -2557,15 +2291,9 @@ xknxproject ]; "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; [ @@ -2590,9 +2318,6 @@ ]; # missing inputs: lacrosse-view "lamarzocco" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2619,18 +2344,12 @@ zeroconf ]; "lametric" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng demetriek fnv-hash-fast psutil-home-assistant sqlalchemy ]; "landisgyr_heat_meter" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -2656,9 +2375,6 @@ ]; "ld2410_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2686,9 +2402,6 @@ ]; "leaone" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2715,9 +2428,6 @@ ]; # missing inputs: leaone-ble "led_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2746,7 +2456,11 @@ "legrand" = ps: with ps; [ ]; "lg_netcast" = ps: with ps; [ + fnv-hash-fast + ifaddr + psutil-home-assistant pylgnetcast + sqlalchemy ]; "lg_soundbar" = ps: with ps; [ temescal @@ -2757,9 +2471,6 @@ "life360" = ps: with ps; [ ]; "lifx" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiolifx aiolifx-effects aiolifx-themes @@ -2807,9 +2518,6 @@ "local_file" = ps: with ps; [ ]; "local_ip" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -2819,16 +2527,10 @@ ical ]; "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 pillow @@ -2840,9 +2542,6 @@ "logger" = ps: with ps; [ ]; "logi_circle" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-ffmpeg logi-circle ]; @@ -2854,9 +2553,6 @@ aiolookin ]; "loqed" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -2871,9 +2567,6 @@ webrtc-noise-gain ]; "lovelace" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pillow ]; "luci" = ps: with ps; [ @@ -2896,9 +2589,6 @@ "lw12wifi" = ps: with ps; [ ]; # missing inputs: lw12 "lyric" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiolyric fnv-hash-fast psutil-home-assistant @@ -2907,28 +2597,16 @@ "madeco" = ps: with ps; [ ]; "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 paho-mqtt ]; "map" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend pillow @@ -2949,9 +2627,6 @@ pillow ]; "matter" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant python-matter-server @@ -2967,9 +2642,6 @@ ]; "medcom_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -2995,20 +2667,11 @@ zeroconf ]; # 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 @@ -3020,9 +2683,6 @@ ]; # missing inputs: py-melissa-climate "melnor" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -3048,9 +2708,6 @@ zeroconf ]; # missing inputs: melnor-bluetooth "meraki" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "message_bird" = ps: with ps; [ messagebird @@ -3076,9 +2733,6 @@ "mfi" = ps: with ps; [ ]; # missing inputs: mficlient "microbees" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -3086,21 +2740,12 @@ "microsoft" = ps: with ps; [ ]; # 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; [ @@ -3124,9 +2769,6 @@ ]; "moat" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -3153,9 +2795,6 @@ zeroconf ]; "mobile_app" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -3176,9 +2815,6 @@ pymodbus ]; "modem_callerid" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast phone-modem psutil-home-assistant @@ -3197,13 +2833,16 @@ ]; "monoprice" = ps: with ps; [ ]; # missing inputs: pymonoprice + "monzo" = ps: with ps; [ + fnv-hash-fast + monzopy + psutil-home-assistant + sqlalchemy + ]; "moon" = ps: with ps; [ ]; "mopeka" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -3230,9 +2869,6 @@ zeroconf ]; "motion_blinds" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr motionblinds @@ -3241,9 +2877,6 @@ ]; "motionblinds_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -3260,6 +2893,7 @@ hassil home-assistant-intents ifaddr + motionblindsble mutagen psutil-home-assistant pyserial @@ -3267,11 +2901,8 @@ sqlalchemy webrtc-noise-gain zeroconf - ]; # missing inputs: motionblindsble + ]; "motioneye" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng motioneye-client ]; "motionmount" = ps: with ps; [ @@ -3281,33 +2912,18 @@ mpd2 ]; "mqtt" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "mqtt_eventstream" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "mqtt_json" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "mqtt_room" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "mqtt_statestream" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "msteams" = ps: with ps; [ @@ -3323,9 +2939,6 @@ pymvglive ]; "my" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend pillow @@ -3335,25 +2948,16 @@ "myq" = ps: with ps; [ ]; "mysensors" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt pymysensors ]; "mystrom" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng python-mystrom ]; "mythicbeastsdns" = ps: with ps; [ mbddns ]; "myuplink" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast myuplink psutil-home-assistant @@ -3372,9 +2976,6 @@ aionanoleaf ]; "neato" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pybotvac @@ -3387,9 +2988,6 @@ nessclient ]; "nest" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast google-nest-sdm ha-ffmpeg @@ -3397,9 +2995,6 @@ sqlalchemy ]; "netatmo" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -3423,14 +3018,8 @@ eternalegypt ]; "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 @@ -3474,9 +3063,6 @@ pycarwings2 ]; "nmap_tracker" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiooui fnv-hash-fast getmac @@ -3514,9 +3100,6 @@ nuheat ]; "nuki" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pynuki ]; "numato" = ps: with ps; [ @@ -3530,7 +3113,8 @@ ]; "nws" = ps: with ps; [ pynws - ]; + ] + ++ pynws.optional-dependencies.retry; "nx584" = ps: with ps; [ pynx584 ]; @@ -3552,12 +3136,13 @@ defusedxml ]; "ollama" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng + ha-ffmpeg hassil home-assistant-intents - ]; # missing inputs: ollama-hass + mutagen + ollama + webrtc-noise-gain + ]; "ombi" = ps: with ps; [ pyombi ]; @@ -3565,18 +3150,12 @@ omnilogic ]; "onboarding" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pillow ]; "oncue" = ps: with ps; [ aiooncue ]; "ondilo_ico" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ondilo ]; "onewire" = ps: with ps; [ @@ -3594,12 +3173,13 @@ open-meteo ]; "openai_conversation" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng + ha-ffmpeg hassil home-assistant-intents + mutagen openai + voluptuous-openapi + webrtc-noise-gain ]; "openalpr_cloud" = ps: with ps; [ ]; @@ -3633,15 +3213,12 @@ pyopenuv ]; "openweathermap" = ps: with ps; [ - pyowm + pyopenweathermap ]; "opnsense" = ps: with ps; [ pyopnsense ]; "opower" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast opower psutil-home-assistant @@ -3651,9 +3228,6 @@ ]; # missing inputs: pyoppleio-legacy "oralb" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -3691,9 +3265,6 @@ "osramlightify" = ps: with ps; [ ]; # missing inputs: lightify "otbr" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bellows fnv-hash-fast ifaddr @@ -3701,7 +3272,6 @@ psutil-home-assistant pyroute2 pyserial - pyserial-asyncio pyserial-asyncio-fast python-otbr-api pyudev @@ -3727,9 +3297,6 @@ ovoenergy ]; "owntracks" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -3757,9 +3324,6 @@ pexpect ]; "panel_custom" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend pillow @@ -3767,9 +3331,6 @@ sqlalchemy ]; "panel_iframe" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast home-assistant-frontend pillow @@ -3796,9 +3357,6 @@ "persistent_notification" = ps: with ps; [ ]; "person" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pillow ]; "pge" = ps: with ps; [ @@ -3826,9 +3384,6 @@ "pjlink" = ps: with ps; [ ]; # missing inputs: pypjlink2 "plaato" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -3843,17 +3398,11 @@ webrtc-noise-gain ]; "plant" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy ]; "plex" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng plexapi plexauth plexwebsocket @@ -3867,9 +3416,6 @@ pycketcasts ]; "point" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pypoint ]; "poolsense" = ps: with ps; [ @@ -3882,9 +3428,6 @@ ]; "private_ble_device" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -3919,9 +3462,6 @@ "proliphix" = ps: with ps; [ ]; # missing inputs: proliphix "prometheus" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng prometheus-client ]; "prosegur" = ps: with ps; [ @@ -3956,9 +3496,6 @@ aiopurpleair ]; "push" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "pushbullet" = ps: with ps; [ pushbullet-py @@ -3983,9 +3520,6 @@ ]; # missing inputs: python-qbittorrent "qingping" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4036,9 +3570,6 @@ pyqwikswitch ]; "rabbitair" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4047,9 +3578,6 @@ zeroconf ]; "rachio" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -4083,9 +3611,6 @@ eagle100 ]; "rainforest_raven" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioraven fnv-hash-fast psutil-home-assistant @@ -4100,9 +3625,6 @@ ]; "rapt_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4129,9 +3651,6 @@ zeroconf ]; "raspberry_pi" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng psutil-home-assistant ]; "raspyrfm" = ps: with ps; [ @@ -4145,17 +3664,11 @@ aiorecollect ]; "recorder" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy ]; "recovery_mode" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -4195,15 +3708,9 @@ 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 @@ -4222,9 +3729,6 @@ pyrfxtrx ]; "rhasspy" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "ridwell" = ps: with ps; [ aioridwell @@ -4275,16 +3779,10 @@ rpi-bad-power ]; "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 ]; @@ -4296,9 +3794,6 @@ "russound_rnet" = ps: with ps; [ ]; # missing inputs: russound "ruuvi_gateway" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway bleak bleak-retry-connector @@ -4315,9 +3810,6 @@ ]; "ruuvitag_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4344,7 +3836,8 @@ zeroconf ]; "rympro" = ps: with ps; [ - ]; # missing inputs: pyrympro + pyrympro + ]; "sabnzbd" = ps: with ps; [ pysabnzbd ]; @@ -4354,9 +3847,6 @@ "samsam" = ps: with ps; [ ]; "samsungtv" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast getmac @@ -4370,6 +3860,9 @@ ++ samsungctl.optional-dependencies.websocket ++ samsungtvws.optional-dependencies.async ++ samsungtvws.optional-dependencies.encrypted; + "sanix" = ps: with ps; [ + sanix + ]; "satel_integra" = ps: with ps; [ ]; # missing inputs: satel-integra "scene" = ps: with ps; [ @@ -4399,10 +3892,8 @@ "scsgate" = ps: with ps; [ ]; # missing inputs: scsgate "search" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast + pillow psutil-home-assistant sqlalchemy ]; @@ -4422,9 +3913,6 @@ ]; "sensirion_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4451,9 +3939,6 @@ zeroconf ]; "sensor" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4462,9 +3947,6 @@ ]; "sensorpro" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4492,9 +3974,6 @@ ]; "sensorpush" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4524,16 +4003,13 @@ sentry-sdk ]; "senz" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiosenz fnv-hash-fast psutil-home-assistant sqlalchemy ]; "serial" = ps: with ps; [ - pyserial-asyncio + pyserial-asyncio-fast ]; "serial_pm" = ps: with ps; [ pmsensor @@ -4555,9 +4031,6 @@ "shell_command" = ps: with ps; [ ]; "shelly" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioshelly bleak bleak-retry-connector @@ -4577,9 +4050,6 @@ shodan ]; "shopping_list" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "sia" = ps: with ps; [ pysiaalarm @@ -4632,18 +4102,12 @@ "slide" = ps: with ps; [ ]; # missing inputs: goslide-api "slimproto" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioslimproto ]; "sma" = ps: with ps; [ pysma ]; "smappee" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pysmappee ]; "smart_blinds" = ps: with ps; [ @@ -4656,9 +4120,6 @@ "smarther" = ps: with ps; [ ]; "smartthings" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -4690,9 +4151,6 @@ snapcast ]; "snips" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng paho-mqtt ]; "snmp" = ps: with ps; [ @@ -4700,9 +4158,6 @@ ]; "snooz" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4729,9 +4184,8 @@ zeroconf ]; "solaredge" = ps: with ps; [ - solaredge stringcase - ]; + ]; # missing inputs: aiosolaredge "solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local "solarlog" = ps: with ps; [ @@ -4755,9 +4209,6 @@ python-songpal ]; "sonos" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -4778,9 +4229,6 @@ libsoundtouch ]; "spaceapi" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "spc" = ps: with ps; [ pyspcwebgw @@ -4794,9 +4242,6 @@ "splunk" = ps: with ps; [ ]; # missing inputs: hass-splunk "spotify" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant spotipy @@ -4813,9 +4258,6 @@ srpenergy ]; "ssdp" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -4833,9 +4275,6 @@ xmltodict ]; "statistics" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -4847,9 +4286,6 @@ steamodd ]; "steamist" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiosteamist discovery30303 fnv-hash-fast @@ -4866,9 +4302,6 @@ "stookwijzer" = ps: with ps; [ ]; # missing inputs: stookwijzer "stream" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-av numpy pyturbojpeg @@ -4877,9 +4310,6 @@ streamlabswater ]; "stt" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "subaru" = ps: with ps; [ subarulink @@ -4918,9 +4348,6 @@ ]; "switchbot" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -4966,9 +4393,6 @@ "synology_chat" = ps: with ps; [ ]; "synology_dsm" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng py-synologydsm-api ]; "synology_srm" = ps: with ps; [ @@ -4976,9 +4400,6 @@ "syslog" = ps: with ps; [ ]; "system_bridge" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -4988,9 +4409,6 @@ zeroconf ]; "system_health" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "system_log" = ps: with ps; [ ]; @@ -5020,9 +4438,6 @@ "tapsaff" = ps: with ps; [ ]; # missing inputs: tapsaff "tasmota" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng hatasmota paho-mqtt ]; @@ -5038,21 +4453,12 @@ xmltodict ]; "tedee" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pytedee-async ]; "telegram" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng python-telegram-bot ]; # missing inputs: python-telegram-bot.optional-dependencies.socks "telegram_bot" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng python-telegram-bot ]; # missing inputs: python-telegram-bot.optional-dependencies.socks "tellduslive" = ps: with ps; [ @@ -5066,6 +4472,10 @@ temperusb ]; "template" = ps: with ps; [ + fnv-hash-fast + pillow + psutil-home-assistant + sqlalchemy ]; "tensorflow" = ps: with ps; [ numpy @@ -5087,9 +4497,6 @@ ]; # missing inputs: pytfiac "thermobeacon" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -5119,9 +4526,6 @@ ]; "thermopro" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -5151,6 +4555,7 @@ stringcase ]; # missing inputs: thermoworks-smoke "thethingsnetwork" = ps: with ps; [ + ttn-client ]; "thingspeak" = ps: with ps; [ ]; # missing inputs: thingspeak @@ -5159,9 +4564,6 @@ "thomson" = ps: with ps; [ ]; "thread" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -5173,9 +4575,6 @@ "threshold" = ps: with ps; [ ]; "tibber" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pytibber @@ -5188,9 +4587,6 @@ ]; "tilt_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -5228,9 +4624,6 @@ "tod" = ps: with ps; [ ]; "todo" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "todoist" = ps: with ps; [ todoist-api-python @@ -5244,9 +4637,6 @@ pytomorrowio ]; "toon" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ha-ffmpeg hass-nabucasa @@ -5261,9 +4651,6 @@ webrtc-noise-gain ]; "torque" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "totalconnect" = ps: with ps; [ total-connect-client @@ -5271,9 +4658,6 @@ "touchline" = ps: with ps; [ ]; # missing inputs: pytouchline "tplink" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -5289,9 +4673,6 @@ "tplink_tapo" = ps: with ps; [ ]; "traccar" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng pytraccar stringcase ]; @@ -5331,9 +4712,6 @@ numpy ]; "tts" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-ffmpeg mutagen ]; @@ -5345,30 +4723,18 @@ twentemilieu ]; "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; [ ttls ]; "twitch" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -5400,10 +4766,7 @@ unifiled ]; "unifiprotect" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng - pyunifiprotect + uiprotect unifi-discovery ]; "universal" = ps: with ps; [ @@ -5420,9 +4783,6 @@ "update" = ps: with ps; [ ]; "upnp" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast getmac @@ -5438,9 +4798,6 @@ pyuptimerobot ]; "usb" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -5470,9 +4827,6 @@ vtjp ]; "velbus" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -5529,9 +4883,6 @@ "voicerss" = ps: with ps; [ ]; "voip" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-ffmpeg hassil home-assistant-intents @@ -5585,14 +4936,12 @@ pyweatherflowudp ]; "weatherflow_cloud" = ps: with ps; [ - ]; # missing inputs: weatherflow4py + weatherflow4py + ]; "weatherkit" = ps: with ps; [ apple-weatherkit ]; "webhook" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ]; "webmin" = ps: with ps; [ ]; # missing inputs: webmin-xmlrpc @@ -5600,9 +4949,6 @@ aiowebostv ]; "websocket_api" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -5627,9 +4973,6 @@ "wirelesstag" = ps: with ps; [ ]; # missing inputs: wirelesstagpy "withings" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiowithings fnv-hash-fast ha-ffmpeg @@ -5644,9 +4987,6 @@ webrtc-noise-gain ]; "wiz" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -5673,9 +5013,6 @@ "wsdot" = ps: with ps; [ ]; "wyoming" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng ha-ffmpeg hassil home-assistant-intents @@ -5686,9 +5023,6 @@ "x10" = ps: with ps; [ ]; "xbox" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -5705,9 +5039,6 @@ ]; "xiaomi_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -5754,9 +5085,6 @@ ]; "yalexs_ble" = ps: with ps; [ aioesphomeapi - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aioruuvigateway aioshelly bleak @@ -5786,9 +5114,6 @@ rxv ]; "yamaha_musiccast" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng aiomusiccast async-upnp-client fnv-hash-fast @@ -5805,9 +5130,6 @@ pyyardian ]; "yeelight" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng async-upnp-client fnv-hash-fast ifaddr @@ -5822,9 +5144,6 @@ ha-ffmpeg ]; "yolink" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -5834,9 +5153,6 @@ youless-api ]; "youtube" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant sqlalchemy @@ -5852,9 +5168,6 @@ bluepy ]; # missing inputs: zengge "zeroconf" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -5870,15 +5183,11 @@ "zeversolar" = ps: with ps; [ ]; # missing inputs: zeversolar "zha" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng bellows fnv-hash-fast pillow psutil-home-assistant pyserial - pyserial-asyncio pyserial-asyncio-fast pyudev sqlalchemy @@ -5904,9 +5213,6 @@ zm-py ]; "zwave_js" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast psutil-home-assistant pyserial @@ -5915,9 +5221,6 @@ zwave-js-server-python ]; "zwave_me" = ps: with ps; [ - aiohttp-cors - aiohttp-fast-url-dispatcher - aiohttp-zlib-ng fnv-hash-fast ifaddr psutil-home-assistant @@ -5956,7 +5259,7 @@ "alert" "alexa" "amberelectric" - "ambiclimate" + "ambient_network" "ambient_station" "analytics" "analytics_insights" @@ -6101,6 +5404,7 @@ "emulated_roku" "energy" "energyzero" + "enigma2" "enocean" "enphase_envoy" "environment_canada" @@ -6263,7 +5567,7 @@ "ipma" "ipp" "iqvia" - "islamic_prayer_times" + "isal" "isy994" "izone" "jellyfin" @@ -6293,6 +5597,7 @@ "lcn" "ld2410_ble" "led_ble" + "lg_netcast" "lg_soundbar" "lidarr" "life360" @@ -6355,9 +5660,11 @@ "modem_callerid" "modern_forms" "mold_indicator" + "monzo" "moon" "mopeka" "motion_blinds" + "motionblinds_ble" "motioneye" "motionmount" "mqtt" @@ -6406,6 +5713,7 @@ "nx584" "obihai" "octoprint" + "ollama" "omnilogic" "onboarding" "oncue" @@ -6513,8 +5821,10 @@ "ruckus_unleashed" "ruuvi_gateway" "ruuvitag_ble" + "rympro" "sabnzbd" "samsungtv" + "sanix" "scene" "schedule" "schlage" @@ -6556,12 +5866,12 @@ "smartthings" "smarttub" "smhi" + "sms" "smtp" "snapcast" "snips" "snmp" "snooz" - "solaredge" "solarlog" "solax" "soma" @@ -6626,6 +5936,7 @@ "text" "thermobeacon" "thermopro" + "thethingsnetwork" "thread" "threshold" "tibber" @@ -6707,6 +6018,7 @@ "waze_travel_time" "weather" "weatherflow" + "weatherflow_cloud" "weatherkit" "webhook" "webostv" 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/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/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index acfcf038f20ef..3a1184016f3ef 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -6,6 +6,8 @@ auth-header = callPackage ./auth-header {}; + awtrix = callPackage ./awtrix {}; + better_thermostat = callPackage ./better_thermostat {}; emporia_vue = callPackage ./emporia_vue {}; @@ -26,12 +28,16 @@ localtuya = callPackage ./localtuya {}; + 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 {}; @@ -42,6 +48,10 @@ smartthinq-sensors = callPackage ./smartthinq-sensors {}; + spook = callPackage ./spook {}; + + tuya_local = callPackage ./tuya_local {}; + waste_collection_schedule = callPackage ./waste_collection_schedule {}; xiaomi_gateway3 = callPackage ./xiaomi_gateway3 {}; 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..85bef161595e0 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.7"; src = fetchFromGitHub { owner = "mampfes"; repo = "ha_epex_spot"; rev = "refs/tags/${version}"; - hash = "sha256-WmPsFfQm8ChEr41XVgKi2BGwta5aKH9GDz4iIfTAPK4="; + hash = "sha256-8cxEOCzlQbS3HbQMBo7/rZb/GfpJvOWayLttEaEENYs="; }; 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/homematicip_local/default.nix b/pkgs/servers/home-assistant/custom-components/homematicip_local/default.nix index f6dcd994719b4..a317c83fddbaf 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.63.0"; src = fetchFromGitHub { owner = "danielperna84"; repo = "custom_homematic"; rev = "refs/tags/${version}"; - hash = "sha256-EJj9zmDdJ+T7yrANmRJuLRCSwvGLy2CkIBsO9H3LIs4="; + hash = "sha256-DK+zkNidHF/41qMQLxmYjgcybbC8fomfSmViL+pN/1Y="; }; dependencies = [ diff --git a/pkgs/servers/home-assistant/custom-components/localtuya/default.nix b/pkgs/servers/home-assistant/custom-components/localtuya/default.nix index 3e3c17a33cdfa..eb76a791b33a7 100644 --- a/pkgs/servers/home-assistant/custom-components/localtuya/default.nix +++ b/pkgs/servers/home-assistant/custom-components/localtuya/default.nix @@ -17,7 +17,7 @@ buildHomeAssistantComponent rec { 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/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..a134f8ff4f140 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.2.1"; src = fetchFromGitHub { owner = "marcolivierarsenault"; repo = "moonraker-home-assistant"; rev = "refs/tags/${version}"; - hash = "sha256-oFHV9+5byWCOUxUhOvGHNilCZaoOp2xxb33nF8+CYjE="; + hash = "sha256-utxCHXVpP4FQT2poVuS4cMZGgn7yO89lUw5KhIHRXKQ="; }; 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/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/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..7d72209c57b0a --- /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.6.0"; + + src = fetchFromGitHub { + inherit owner; + repo = "tuya-local"; + rev = "refs/tags/${version}"; + hash = "sha256-OLR/KFoXKqL7r7S97VpyoVHdbLfOyWU50aK6c0QhqyE="; + }; + + 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/waste_collection_schedule/default.nix b/pkgs/servers/home-assistant/custom-components/waste_collection_schedule/default.nix index 513d593ce51d3..cdbd2c2067bfb 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,7 +1,6 @@ { lib , buildHomeAssistantComponent , fetchFromGitHub -, fetchpatch , beautifulsoup4 , icalendar , icalevents @@ -12,23 +11,15 @@ buildHomeAssistantComponent rec { owner = "mampfes"; domain = "waste_collection_schedule"; - version = "1.44.0"; + version = "1.48.0"; src = fetchFromGitHub { inherit owner; repo = "hacs_${domain}"; rev = "refs/tags/${version}"; - hash = "sha256-G1x7HtgdtK+IaPAfxT+7xsDJi5FnXN4Pg3q7T5Xr8lA="; + hash = "sha256-4JtPhErAqHO06c8tEmwmWsot1Kz1wz2QuiUGdrgU8II="; }; - 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 = [ beautifulsoup4 icalendar 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..40899c8926ea9 100644 --- a/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix +++ b/pkgs/servers/home-assistant/custom-components/xiaomi_gateway3/default.nix @@ -1,27 +1,29 @@ -{ 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.5"; src = fetchFromGitHub { owner = "AlexxIT"; repo = "XiaomiGateway3"; rev = "v${version}"; - hash = "sha256-YGaVQaz3A0yM8AIC02CvMKWMJ3tW3OADYgKY8ViIt5U="; + hash = "sha256-C8aY23e6iWANbhCRQYNHx+3fomVO+7qdxj+qfv+K3JM="; }; - propagatedBuildInputs = [ - zigpy - ]; + propagatedBuildInputs = [ zigpy ]; dontBuild = true; + passthru.updateScript = nix-update-script { }; + meta = with lib; { 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"; 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..83f03c7a9cb32 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.18"; src = fetchFromGitHub { owner = "al-one"; repo = "hass-xiaomi-miot"; rev = "v${version}"; - hash = "sha256-IpL4e2mKCdtNu8NtI+xpx4FPW/uj1M5Rk6DswXmSJBk="; + hash = "sha256-/Zn2jEjwkCHiz48nVjKEPcCpPVajLaZ81DCTNpx1vbk="; }; 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."; + 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 ]; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/android-tv-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/android-tv-card/default.nix new file mode 100644 index 0000000000000..9398e57486f99 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/android-tv-card/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "android-tv-card"; + version = "3.8.1"; + + src = fetchFromGitHub { + owner = "Nerwyn"; + repo = "android-tv-card"; + rev = version; + hash = "sha256-ARFJJ119zJzjW0d59JFARMcjVAJ2IFDkShIN43d1adI="; + }; + + patches = [ ./dont-call-git.patch ]; + + npmDepsHash = "sha256-t/kZTcXs3IpbrEfnmYQlJqhM8F3mO4prbQNnKtFqsDM="; + + installPhase = '' + runHook preInstall + + mkdir $out + cp dist/android-tv-card.min.js $out + + runHook postInstall + ''; + + passthru.entrypoint = "android-tv-card.min.js"; + + meta = with lib; { + description = "Universal Customizable TV Remote Card, with HA actions, super configurable touchpad, slider, haptics, and keyboard"; + homepage = "https://github.com/Nerwyn/android-tv-card"; + license = licenses.asl20; + maintainers = with maintainers; [ k900 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/android-tv-card/dont-call-git.patch b/pkgs/servers/home-assistant/custom-lovelace-modules/android-tv-card/dont-call-git.patch new file mode 100644 index 0000000000000..ad409a30dc261 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/android-tv-card/dont-call-git.patch @@ -0,0 +1,17 @@ +diff --git a/webpack.config.js b/webpack.config.js +index 469ffe1..3233c4b 100644 +--- a/webpack.config.js ++++ b/webpack.config.js +@@ -1,11 +1,7 @@ + const path = require('path'); + const { execSync } = require('child_process'); + +-let env = +- execSync('git branch --show-current').toString().trim() == 'main' +- ? 'production' +- : 'development'; +-env = 'production'; ++let env = 'production'; + + module.exports = { + mode: env, diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix new file mode 100644 index 0000000000000..d6ec293f31de2 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/default.nix @@ -0,0 +1,52 @@ +{ lib +, mkYarnPackage +, fetchYarnDeps +, fetchFromGitHub +}: + +mkYarnPackage rec { + pname = "button-card"; + version = "4.1.2"; + + src = fetchFromGitHub { + owner = "custom-cards"; + repo = "button-card"; + rev = "v${version}"; + hash = "sha256-Ntg1sNgAehcL2fT0rP0YHzV5q6rB5p1TyFXtbZyB3Vo="; + }; + + packageJSON = ./package.json; + + offlineCache = fetchYarnDeps { + yarnLock = src + "/yarn.lock"; + hash = "sha256-OFnsRR9zA9D22xBdh4XfLueGVA2ERXmGEp54x0OFDFY="; + }; + + buildPhase = '' + runHook preBuild + + yarn build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir $out + cp ./deps/button-card/dist/button-card.js $out + + runHook postInstall + ''; + + doDist = false; + + meta = with lib; { + description = "Lovelace button-card for home assistant"; + homepage = "https://github.com/custom-cards/button-card"; + changelog = "https://github.com/custom-cards/button-card/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ k900 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.json b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.json new file mode 100644 index 0000000000000..55bf125124708 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/button-card/package.json @@ -0,0 +1,78 @@ +{ + "name": "button-card", + "version": "4.1.2", + "description": "Button card for lovelace", + "main": "dist/button-card.js", + "scripts": { + "build": "npm run lint && npm run rollup", + "rollup": "rollup -c", + "babel": "babel dist/button-card.js --out-file dist/button-card.js", + "lint": "eslint src/*.ts", + "watch": "rollup -c --watch", + "postversion": "npm run build", + "audit-fix": "npx yarn-audit-fix" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/custom-cards/button-card.git" + }, + "keywords": [ + "lovelace" + ], + "author": "kuuji", + "contributors": [ + "Ian Richardson (https://github.com/iantrich)", + "Jérôme Wiedemann (https://github.com/RomRider)" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/custom-cards/button-card/issues" + }, + "homepage": "https://github.com/custom-cards/button-card#readme", + "devDependencies": { + "@babel/core": "^7.12.3", + "@babel/plugin-proposal-class-properties": "^7.12.1", + "@babel/plugin-proposal-decorators": "^7.12.1", + "@rollup/plugin-babel": "^5.2.1", + "@rollup/plugin-commonjs": "^16.0.0", + "@rollup/plugin-json": "^4.0.2", + "@rollup/plugin-node-resolve": "^10.0.0", + "@semantic-release/changelog": "^5.0.1", + "@semantic-release/commit-analyzer": "^8.0.1", + "@semantic-release/exec": "^5.0.0", + "@semantic-release/git": "^9.0.0", + "@semantic-release/npm": "^7.0.10", + "@semantic-release/release-notes-generator": "^9.0.1", + "@typescript-eslint/eslint-plugin": "^6.1.0", + "@typescript-eslint/parser": "^6.1.0", + "conventional-changelog-conventionalcommits": "^4.5.0", + "eslint": "7.12.1", + "eslint-config-airbnb-base": "^14.1.0", + "eslint-config-prettier": "^6.15.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-prettier": "^3.1.2", + "npm": "^6.14.3", + "prettier": "^2.1.2", + "prettier-eslint": "^11.0.0", + "rollup": "^2.33.1", + "rollup-plugin-cleanup": "^3.2.1", + "rollup-plugin-serve": "^1.1.0", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-typescript2": "^0.29.0", + "semantic-release": "^17.3.8", + "ts-lit-plugin": "^1.1.10", + "typescript": "^4.0.5", + "typescript-styled-plugin": "^0.15.0", + "yarn-audit-fix": "^9.3.10" + }, + "dependencies": { + "@ctrl/tinycolor": "^3.1.6", + "@material/mwc-ripple": "^0.19.1", + "fast-copy": "^2.1.0", + "home-assistant-js-websocket": "^8.2.0", + "lit": "^2.7.6", + "lit-element": "^3.3.2", + "lit-html": "^2.7.5", + "memoize-one": "^6.0.0" + } +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix new file mode 100644 index 0000000000000..bdca8771d00f0 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/card-mod/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "lovelace-card-mod"; + version = "3.4.3"; + + src = fetchFromGitHub { + owner = "thomasloven"; + repo = "lovelace-card-mod"; + rev = "v${version}"; + hash = "sha256-LFKOTu0SBeHpf8Hjvsgc/xOUux9d4lBCshdD9u7eO5o="; + }; + + npmDepsHash = "sha256-JJexFmVbDHi2JCiCpcDupzVf0xfwy+vqWILq/dLVcBo="; + + installPhase = '' + runHook preInstall + + mkdir $out + cp card-mod.js $out + + runHook postInstall + ''; + + passthru.entrypoint = "card-mod.js"; + + meta = with lib; { + description = "Add CSS styles to (almost) any lovelace card"; + homepage = "https://github.com/thomasloven/lovelace-card-mod"; + license = licenses.mit; + maintainers = with maintainers; [ k900 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix new file mode 100644 index 0000000000000..44a83e71e5505 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/decluttering-card/default.nix @@ -0,0 +1,36 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "decluttering-card"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "custom-cards"; + repo = "decluttering-card"; + rev = "v${version}"; + hash = "sha256-8pf7G6RbLdpIdXYz801+wwAc3NcNs8l0x4fSGqlAmG0="; + }; + + npmDepsHash = "sha256-9tmEfKo8n2LR+r40hEqOfn7w6/P29XQ+KZSHL97wUuY="; + + installPhase = '' + runHook preInstall + + mkdir $out + cp dist/decluttering-card.js $out + + runHook postInstall + ''; + + meta = with lib; { + description = "Declutter your lovelace configuration with the help of this card"; + homepage = "https://github.com/custom-cards/decluttering-card"; + changelog = "https://github.com/custom-cards/decluttering-card/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ k900 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix index f7dbc32c8e935..d2b16943a59ab 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/default.nix @@ -2,6 +2,16 @@ }: { + android-tv-card = callPackage ./android-tv-card { }; + + button-card = callPackage ./button-card { }; + + card-mod = callPackage ./card-mod { }; + + decluttering-card = callPackage ./decluttering-card { }; + + lg-webos-remote-control = callPackage ./lg-webos-remote-control { }; + light-entity-card = callPackage ./light-entity-card { }; mini-graph-card = callPackage ./mini-graph-card {}; @@ -12,5 +22,7 @@ mushroom = callPackage ./mushroom { }; + valetudo-map-card = callPackage ./valetudo-map-card { }; + zigbee2mqtt-networkmap = callPackage ./zigbee2mqtt-networkmap { }; } diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix new file mode 100644 index 0000000000000..9911fbfdce1ad --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/lg-webos-remote-control/default.nix @@ -0,0 +1,37 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "lg-webos-remote-control"; + version = "2.0.3"; + + src = fetchFromGitHub { + owner = "madmicio"; + repo = "LG-WebOS-Remote-Control"; + rev = version; + hash = "sha256-ICOAi8q8dWrBFCv18JYSWc6MIwqxfDXOcc6kCKLGehs="; + }; + + npmDepsHash = "sha256-kN+i0ic1JWs6kqnAliiO4yVMDXwfZaQsRGKeV9A0MxE="; + + installPhase = '' + runHook preInstall + + mkdir $out + cp dist/lg-remote-control.js $out + + runHook postInstall + ''; + + passthru.entrypoint = "lg-remote-control.js"; + + meta = with lib; { + description = "Remote Control for LG TV WebOS"; + homepage = "https://github.com/madmicio/LG-WebOS-Remote-Control"; + license = licenses.mit; + maintainers = with maintainers; [ k900 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix index 4b529d6e4016f..6ac81c919b2ff 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/mushroom/default.nix @@ -5,16 +5,16 @@ buildNpmPackage rec { pname = "mushroom"; - version = "3.5.4"; + version = "3.6.2"; src = fetchFromGitHub { owner = "piitaya"; repo = "lovelace-mushroom"; rev = "v${version}"; - hash = "sha256-ppEXgVrB7C5ZrNmYyXdrnQMbTNU5rTGherNlimMqImM="; + hash = "sha256-sH0Qgiv4VeWwWV3RFnp2M4RH79S+PR8Z2nhPtQp0EnY="; }; - npmDepsHash = "sha256-4B295Wc4tj+Rhse4521sCGNv/WMrNImxZwtTFkFp14c="; + npmDepsHash = "sha256-L7r417eCfelQM6ZxxJvkZdGBhPmcM2mSHvLa8RN0D8k="; installPhase = '' runHook preInstall diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix new file mode 100644 index 0000000000000..3203c59e7cd9f --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildNpmPackage +, fetchFromGitHub +}: + +buildNpmPackage rec { + pname = "lovelace-valetudo-map-card"; + version = "2023.04.0"; + + src = fetchFromGitHub { + owner = "Hypfer"; + repo = "lovelace-valetudo-map-card"; + rev = "v${version}"; + hash = "sha256-owOIbA1tRlnbWJ/p/wAUpeDnz/Wzu+GmUammJ6VFxHc="; + }; + + patches = [ ./remove-git-dependency.patch ]; + + npmDepsHash = "sha256-xHHbOt9HW+zJAhHEDy2V5eYyLv4e3OrUbnzqeJasSng="; + + installPhase = '' + runHook preInstall + + mkdir $out + cp dist/valetudo-map-card.js $out + + runHook postInstall + ''; + + passthru.entrypoint = "valetudo-map-card.js"; + + meta = with lib; { + description = "Display the map from a valetudo-enabled robot in a home assistant dashboard card"; + homepage = "https://github.com/Hypfer/lovelace-valetudo-map-card"; + license = licenses.mit; + maintainers = with maintainers; [ k900 ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/remove-git-dependency.patch b/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/remove-git-dependency.patch new file mode 100644 index 0000000000000..bedf4af3ac29a --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/valetudo-map-card/remove-git-dependency.patch @@ -0,0 +1,64 @@ +diff --git a/package-lock.json b/package-lock.json +index cce05ba..36020f8 100644 +--- a/package-lock.json ++++ b/package-lock.json +@@ -1,12 +1,12 @@ + { + "name": "lovelace-valetudo-map-card", +- "version": "2022.08.0", ++ "version": "2023.04.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "lovelace-valetudo-map-card", +- "version": "2022.08.0", ++ "version": "2023.04.0", + "license": "MIT", + "dependencies": { + "custom-card-helpers": "1.9.0" +@@ -21,7 +21,6 @@ + "eslint-plugin-jsdoc": "39.3.0", + "eslint-plugin-regexp": "1.7.0", + "eslint-plugin-sort-keys-fix": "1.1.2", +- "eslint-plugin-sort-requires": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#2.1.1", + "pako": "2.0.4", + "rollup": "2.58.0", + "rollup-plugin-babel": "4.4.0", +@@ -1596,12 +1595,6 @@ + "node": ">=6.0.0" + } + }, +- "node_modules/eslint-plugin-sort-requires": { +- "version": "2.1.0", +- "resolved": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#3e216dd9e9589b87671a3e7bf4084a0bd96e920e", +- "dev": true, +- "license": "MIT" +- }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", +@@ -4358,11 +4351,6 @@ + } + } + }, +- "eslint-plugin-sort-requires": { +- "version": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#3e216dd9e9589b87671a3e7bf4084a0bd96e920e", +- "dev": true, +- "from": "eslint-plugin-sort-requires@git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#2.1.1" +- }, + "eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", +diff --git a/package.json b/package.json +index 85a9d35..d8c6865 100644 +--- a/package.json ++++ b/package.json +@@ -23,7 +23,6 @@ + "eslint-plugin-jsdoc": "39.3.0", + "eslint-plugin-regexp": "1.7.0", + "eslint-plugin-sort-keys-fix": "1.1.2", +- "eslint-plugin-sort-requires": "git+https://npm@github.com/Hypfer/eslint-plugin-sort-requires.git#2.1.1", + "@typescript-eslint/eslint-plugin": "5.25.0", + "@typescript-eslint/experimental-utils": "5.25.0", + "@typescript-eslint/parser": "5.25.0", diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix index f8e75ede01568..8de17253e0004 100644 --- a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/default.nix @@ -1,25 +1,26 @@ -{ lib -, fetchFromGitHub -, fetchYarnDeps -, mkYarnPackage +{ + lib, + fetchFromGitHub, + fetchYarnDeps, + mkYarnPackage, }: mkYarnPackage rec { pname = "zigbee2mqtt-networkmap"; - version = "unstable-2023-12-16"; + version = "0.9.0"; src = fetchFromGitHub { owner = "azuwis"; repo = "zigbee2mqtt-networkmap"; - rev = "7851357d78ebc0d1cc3cb5c661267a1e8b4c09e3"; - hash = "sha256-x7RVy0stWT6+8f0/0VORVBgGpBbsbyJBC38xIxXhzos="; + rev = "v${version}"; + hash = "sha256-K4DyrurC4AzzJCcB4CS9UlQbUQSWpR7PevA2JFFMRZM="; }; packageJSON = ./package.json; offlineCache = fetchYarnDeps { yarnLock = "${src}/yarn.lock"; - hash = "sha256-s+vnyUeJKkkA5G0AmsfIG0Zh4bYdDc2B5MSNvdwhjgs="; + hash = "sha256-h/5TWaIg8AfY6I/JBRmUF6yCCbxCMs9nRECWEaaK2to="; }; configurePhase = '' @@ -49,8 +50,10 @@ mkYarnPackage rec { doDist = false; passthru.entrypoint = "zigbee2mqtt-networkmap.js"; + passthru.updateScript = ./update.sh; meta = with lib; { + changelog = "https://github.com/azuwis/zigbee2mqtt-networkmap/releases/tag/v${version}"; description = "Home Assistant Custom Card to show Zigbee2mqtt network map"; homepage = "https://github.com/azuwis/zigbee2mqtt-networkmap"; maintainers = with maintainers; [ azuwis ]; diff --git a/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/update.sh b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/update.sh new file mode 100755 index 0000000000000..b2675bc5c3d95 --- /dev/null +++ b/pkgs/servers/home-assistant/custom-lovelace-modules/zigbee2mqtt-networkmap/update.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env nix-shell +#!nix-shell -i bash -p nix-update + +set -xe + +dirname="$(dirname "$0")" + +# nix-update picks the wrong file `pkgs/development/tools/yarn2nix-moretea/yarn2nix/default.nix` +nix-update --override-filename "$dirname/default.nix" home-assistant-custom-lovelace-modules.zigbee2mqtt-networkmap diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 52bf366e74fff..8f14d9203a621 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -30,24 +30,6 @@ let # Override the version of some packages pinned in Home Assistant's setup.py and requirements_all.txt (self: super: { - aioaladdinconnect = super.aioaladdinconnect.overridePythonAttrs (oldAttrs: rec { - version = "0.1.58"; - src = fetchPypi { - pname = "AIOAladdinConnect"; - inherit version; - hash = "sha256-ymynaOKvnqqHIEuQc+5CagsaH5cHnQit8ileoUO6G+I="; - }; - }); - - aioautomower = super.aioautomower.overridePythonAttrs (oldAttrs: rec { - version = "2024.3.4"; - src = fetchFromGitHub { - inherit (oldAttrs.src) owner repo; - rev = "refs/tags/${version}"; - hash = "sha256-dk8HfIiQOKq7Ky+vYa3wKmTS78gTw6J0yyQT2Folpp0="; - }; - }); - aioelectricitymaps = super.aioelectricitymaps.overridePythonAttrs (oldAttrs: rec { version = "0.4.0"; src = fetchFromGitHub { @@ -61,19 +43,14 @@ let ]; }); - aiogithubapi = super.aiogithubapi.overridePythonAttrs (oldAttrs: rec { - version = "22.10.1"; + aiolyric = super.aiolyric.overridePythonAttrs (oldAttrs: rec { + version = "1.1.1"; src = fetchFromGitHub { - owner = "ludeeus"; - repo = "aiogithubapi"; + owner = "timmo001"; + repo = "aiolyric"; rev = "refs/tags/${version}"; - hash = "sha256-ceBuqaMqqL6qwN52765MG4sLt+08hx2G9rUVNC7x6ik="; + hash = "sha256-FZhLjVrLzLv6CZz/ROlvbtBK9XnpO8pG48aSIoBxhCo="; }; - propagatedBuildInputs = with self; [ - aiohttp - async-timeout - backoff - ]; }); aiopurpleair = super.aiopurpleair.overridePythonAttrs (oldAttrs: rec { @@ -116,13 +93,15 @@ let ''; }); - anova-wifi = super.anova-wifi.overridePythonAttrs (old: rec { - version = "0.10.3"; + aiowithings = super.aiowithings.overridePythonAttrs (oldAttrs: rec { + version = "2.1.0"; src = fetchFromGitHub { - owner = "Lash-L"; - repo = "anova_wifi"; - rev = "refs/tags/v${version}"; - hash = "sha256-tCmvp29KSCkc+g0w0odcB7vGjtDx6evac7XsHEF0syM="; + inherit (oldAttrs.src) + owner + repo + ; + rev = "refs/tags/${version}"; + hash = "sha256-+pIIVCR+QsW9M3pH9Ss3dMvkeKM1OdhQ1y+s/T6pHtk="; }; }); @@ -271,6 +250,16 @@ let patches = []; }); + pymelcloud = super.pymelcloud.overridePythonAttrs (oldAttrs: { + version = "2.5.9"; + src = fetchFromGitHub { + owner = "vilppuvuorinen"; + repo = "pymelcloud"; + rev = "33a827b6cd0b34f276790faa49bfd0994bb7c2e4"; # 2.5.x branch + sha256 = "sha256-Q3FIo9YJwtWPHfukEBjBANUQ1N1vr/DMnl1dgiN7vYg="; + }; + }); + notifications-android-tv = super.notifications-android-tv.overridePythonAttrs (oldAttrs: rec { version = "0.1.5"; format = "setuptools"; @@ -293,16 +282,16 @@ let doCheck = false; # no tests }); - # Pinned due to API changes in 1.3.0 - ovoenergy = super.ovoenergy.overridePythonAttrs (oldAttrs: rec { - version = "1.2.0"; + # Can probably be removed with 2024.6.0 + plugwise = super.plugwise.overridePythonAttrs rec { + version = "0.37.3"; src = fetchFromGitHub { - owner = "timmo001"; - repo = "ovoenergy"; + owner = "plugwise"; + repo = "python-plugwise"; rev = "refs/tags/v${version}"; - hash = "sha256-OSK74uvpHuEtWgbLVFrz1NO7lvtHbt690smGQ+GlsOI="; + hash = "sha256-aQz0p+DNi1XVoFwdFjc3RjpHqA2kGf4pU1QS6m271gU="; }; - }); + }; # Pinned due to API changes in 0.1.0 poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec { @@ -314,16 +303,6 @@ let }; }); - py-synologydsm-api = super.py-synologydsm-api.overridePythonAttrs (oldAttrs: rec { - version = "2.1.4"; - src = fetchFromGitHub { - owner = "mib1185"; - repo = "py-synologydsm-api"; - rev = "refs/tags/v${version}"; - hash = "sha256-37JzdhMny6YDTBO9NRzfrZJAVAOPnpcr95fOKxisbTg="; - }; - }); - pyasn1 = super.pyasn1.overridePythonAttrs (oldAttrs: rec { version = "0.4.8"; src = fetchPypi { @@ -366,20 +345,6 @@ let }; }); - python-roborock = super.python-roborock.overridePythonAttrs (oldAttrs: rec { - version = "0.40.0"; - src = fetchFromGitHub { - owner = "humbertogontijo"; - repo = "python-roborock"; - rev = "refs/tags/v${version}"; - hash = "sha256-H4xwgulNLs3R1Q5GhvQffpAZ1CWXZUJAja8BskW+YJk="; - }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "poetry-core==" "poetry-core>=" - ''; - }); - pytibber = super.pytibber.overridePythonAttrs (oldAttrs: rec { version = "0.28.2"; src = fetchFromGitHub { @@ -436,16 +401,58 @@ let }; }); - tesla-powerwall = super.tesla-powerwall.overridePythonAttrs (oldAttrs: rec { - version = "0.5.1"; + # newer sigstore version transitivevly require pydantic>=2 + sigstore = super.sigstore.overridePythonAttrs (oldAttrs: rec { + version = "1.1.2"; src = fetchFromGitHub { - owner = "jrester"; - repo = "tesla_powerwall"; + owner = "sigstore"; + repo = "sigstore-python"; rev = "refs/tags/v${version}"; - hash = "sha256-if/FCfxAB48WGXZOMvCtdSOW2FWO43OrlcHZbXIPmGE="; + hash = "sha256-QqY5GOBS75OkbSaF5Ua5jnJAhsYfVRuWLUoWDxX8Ino="; }; + dependencies = with self; [ + appdirs + cryptography + id + pydantic + pyjwt + pyopenssl + requests + securesystemslib + sigstore-protobuf-specs + tuf + ]; + doCheck = false; # pytest too new }); + sigstore-protobuf-specs = super.sigstore-protobuf-specs.overridePythonAttrs { + version = "0.1.0"; + src = fetchPypi { + pname = "sigstore-protobuf-specs"; + version = "0.1.0"; + hash = "sha256-YistIxYToo7T5mYKzYeBhnW06DSG9JoPDBmKxUdfy4E="; + }; + nativeBuildInputs = with self; [ + flit-core + ]; + pythonRelaxDeps = [ + "betterproto" + ]; + }; + + tuf = super.tuf.overridePythonAttrs rec { + version = "2.1.0"; + src = fetchFromGitHub { + owner = "theupdateframework"; + repo = "python-tuf"; + rev = "refs/tags/v${version}"; + hash = "sha256-MdPctAZuKn/YAwpMJ5gWU7PXJD3iK7bYprLXV52wNQQ="; + }; + disabledTests = [ + "test_sign_failures" + ]; + }; + versioningit = super.versioningit.overridePythonAttrs { doCheck = false; }; @@ -525,12 +532,12 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run update-component-packages.py after updating - hassVersion = "2024.4.4"; + hassVersion = "2024.6.4"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; version = assert (componentPackages.version == hassVersion); hassVersion; - format = "pyproject"; + pyproject = true; # check REQUIRED_PYTHON_VER in homeassistant/const.py disabled = python.pythonOlder "3.11"; @@ -543,17 +550,16 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-bZcrFtaO0S22M6Wt2otK8rCg+NhpXr+/yRFxi02QJJI="; + hash = "sha256-WIAFTVNHzrKTRONmOc/lq5PvC34PDKF7UfIokLCVzNY="; }; # Secondary source is pypi sdist for translations sdist = fetchPypi { inherit pname version; - hash = "sha256-NyIBFpDstX1MEoLS9p7GXl/+V6xB2hklNf2LmNLUMQk="; + hash = "sha256-Ymv3AlArAD2rSXQwMhEVeynwhAo8ZMrtV1zUK4U8xqQ="; }; - nativeBuildInputs = with python.pkgs; [ - pythonRelaxDepsHook + build-system = with python.pkgs; [ setuptools ]; @@ -563,11 +569,14 @@ in python.pkgs.buildPythonApplication rec { "bcrypt" "ciso8601" "cryptography" + "jinja2" "hass-nabucasa" "httpx" "orjson" "pillow" "pyopenssl" + "requests" + "sqlalchemy" "typing-extensions" "urllib3" ]; @@ -592,16 +601,20 @@ in python.pkgs.buildPythonApplication rec { postPatch = '' substituteInPlace tests/test_config.py --replace-fail '"/usr"' '"/build/media"' + substituteInPlace pyproject.toml --replace-fail "wheel~=0.43.0" wheel + sed -i 's/setuptools[~=]/setuptools>/' pyproject.toml sed -i 's/wheel[~=]/wheel>/' pyproject.toml ''; - propagatedBuildInputs = with python.pkgs; [ + dependencies = with python.pkgs; [ # Only packages required in pyproject.toml + aiodns aiohttp aiohttp-cors aiohttp-fast-url-dispatcher - aiohttp-zlib-ng + aiohttp-fast-zlib + aiozoneinfo astral async-interrupt atomicwrites-homeassistant @@ -613,8 +626,8 @@ in python.pkgs.buildPythonApplication rec { cryptography fnv-hash-fast hass-nabucasa - httpx home-assistant-bluetooth + httpx ifaddr jinja2 lru-dict @@ -623,8 +636,8 @@ in python.pkgs.buildPythonApplication rec { pillow pip psutil-home-assistant - pyopenssl pyjwt + pyopenssl python-slugify pyyaml requests @@ -666,11 +679,14 @@ in python.pkgs.buildPythonApplication rec { tomli # Sneakily imported in tests/conftest.py paho-mqtt + # Used in tests/non_packaged_scripts/test_alexa_locales.py + beautifulsoup4 ] ++ lib.concatMap (component: getPackages component python.pkgs) [ # some components are needed even if tests in tests/components are disabled "default_config" "debugpy" "hue" + "qwikswitch" "sentry" ]; @@ -684,10 +700,10 @@ in python.pkgs.buildPythonApplication rec { "--showlocals" # AssertionError: assert 1 == 0 "--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" + # AssertionError: assert 6 == 5 + "--deselect=tests/helpers/test_translation.py::test_caching" + # assert "Detected that integration 'hue' attempted to create an asyncio task from a thread at homeassistant/components/hue/light.py, line 23 + "--deselect=tests/util/test_async.py::test_create_eager_task_from_thread_in_integration" # tests are located in tests/ "tests" ]; diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index afa2c53ca3f7f..f3e6062d5b266 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/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 = "20240404.2"; + version = "20240610.1"; format = "wheel"; src = fetchPypi { @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-xCpQHzfXXt9aOWWVGYtt9NYws//ZPjI/owXBQafb31k="; + hash = "sha256-6XSDKPL+rbtP/jGYbvzc5cakEZC94sDetmPuM7TQQ64="; }; # there is nothing to strip in this package diff --git a/pkgs/servers/home-assistant/intents.nix b/pkgs/servers/home-assistant/intents.nix index 744adc8b49739..88944efe35930 100644 --- a/pkgs/servers/home-assistant/intents.nix +++ b/pkgs/servers/home-assistant/intents.nix @@ -21,7 +21,7 @@ buildPythonPackage rec { pname = "home-assistant-intents"; - version = "2024.4.3"; + version = "2024.6.21"; pyproject = true; disabled = pythonOlder "3.9"; @@ -30,16 +30,10 @@ buildPythonPackage rec { owner = "home-assistant"; repo = "intents-package"; rev = "refs/tags/${version}"; - hash = "sha256-hcstD1qkngZAl/jKLez+4qDs/ZIandkVkY2jrvZqph8="; + hash = "sha256-tgbZqcxv/uFoNCGq7TySffhqQXzupZodQfQHBqkSHrE="; fetchSubmodules = true; }; - postPatch = '' - substituteInPlace pyproject.toml \ - --replace-fail "setuptools~=62.3" "setuptools" \ - --replace-fail "wheel~=0.37.1" "wheel" - ''; - build-system = [ setuptools diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index d31cf8104dbed..4d14ee508bcba 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -8,8 +8,8 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2024.4.4"; - format = "pyproject"; + version = "2024.6.3"; + pyproject = true; disabled = python.version != home-assistant.python.version; @@ -17,10 +17,10 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-BPmHorcyO6a7Ag7FQogkZYh2x3GoMRKiFh+9aSkjE7M="; + hash = "sha256-YMoNoR9LT38nkqoo0seaP88XUOcVmSQN1dBKiW+13SM="; }; - nativeBuildInputs = [ + build-system = [ poetry-core home-assistant ]; diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix index 989bfccb7236d..ae42f5fd7ce66 100644 --- a/pkgs/servers/home-assistant/tests.nix +++ b/pkgs/servers/home-assistant/tests.nix @@ -8,6 +8,7 @@ let airzone_cloud = [ aioairzone ]; + androidtv = home-assistant.getPackages "asuswrt" home-assistant.python.pkgs; bluetooth = [ pyswitchbot ]; @@ -49,9 +50,21 @@ let }; extraDisabledTests = { - private_ble_device = [ - # AssertionError: assert '90' == '90.0' - "test_estimated_broadcast_interval" + advantage_air = [ + # AssertionError: assert 2 == 1 (Expected two calls, got one) + "test_binary_sensor_async_setup_entry" + ]; + hassio = [ + # fails to load the hardware component + "test_device_registry_calls" + ]; + husqvarna_automower = [ + # snapshot mismatch + "test_device_diagnostics" + ]; + recorder = [ + # call not happening, likely due to timezone issues + "test_auto_purge" ]; shell_command = [ # tries to retrieve file from github @@ -61,6 +74,10 @@ let # missing operating_status attribute in entity "test_sensor_entities" ]; + websocket_api = [ + # racy + "test_render_template_with_timeout" + ]; }; extraPytestFlagsArray = { @@ -75,6 +92,7 @@ let jellyfin = [ # AssertionError: assert 'audio/x-flac' == 'audio/flac' "--deselect tests/components/jellyfin/test_media_source.py::test_resolve" + "--deselect tests/components/jellyfin/test_media_source.py::test_audio_codec_resolve" # AssertionError: assert [+ received] == [- snapshot] "--deselect tests/components/jellyfin/test_media_source.py::test_music_library" ]; @@ -91,6 +109,7 @@ let in lib.listToAttrs (map (component: lib.nameValuePair component ( home-assistant.overridePythonAttrs (old: { pname = "homeassistant-test-${component}"; + pyproject = null; format = "other"; dontBuild = true; diff --git a/pkgs/servers/home-assistant/update-component-packages.py b/pkgs/servers/home-assistant/update-component-packages.py index 10288f5e6d64f..e25b60336140d 100755 --- a/pkgs/servers/home-assistant/update-component-packages.py +++ b/pkgs/servers/home-assistant/update-component-packages.py @@ -41,6 +41,7 @@ PKG_SET = "home-assistant.python.pkgs" PKG_PREFERENCES = { "fiblary3": "fiblary3-fork", # https://github.com/home-assistant/core/issues/66466 "HAP-python": "hap-python", + "ollama-hass": "ollama", "SQLAlchemy": "sqlalchemy", "tensorflow": "tensorflow", "yt-dlp": "yt-dlp", |