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