summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Weinelt <hexa@darmstadt.ccc.de>2022-09-08 02:12:45 +0200
committerMartin Weinelt <hexa@darmstadt.ccc.de>2022-09-10 11:03:37 +0200
commit734c3dc09847db567cdf3f52b77fff05c0bc2dd6 (patch)
tree371af18cc2e107103defb5b2f3c14042052be6a4
parent8b644b058792efbc37107bdc21e4e11269d8ca71 (diff)
home-assistant: 2022.8.7 -> 2022.9.0
https://www.home-assistant.io/blog/2022/09/07/release-20229/
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix202
-rw-r--r--pkgs/servers/home-assistant/default.nix51
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/home-assistant/patches/wilight-import.patch52
-rw-r--r--pkgs/servers/home-assistant/tests.nix3
5 files changed, 225 insertions, 87 deletions
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 740642de51fe..8ce6469bcfee 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 = "2022.8.7";
+ version = "2022.9.0";
components = {
"abode" = ps: with ps; [
abodepy
@@ -85,7 +85,6 @@
boto3
];
"ambee" = ps: with ps; [
- aiohttp-cors
ambee
];
"amberelectric" = ps: with ps; [
@@ -124,7 +123,6 @@
"anel_pwrctrl" = ps: with ps; [
]; # missing inputs: anel_pwrctrl-homeassistant
"anthemav" = ps: with ps; [
- aiohttp-cors
]; # missing inputs: anthemav
"apache_kafka" = ps: with ps; [
aiokafka
@@ -193,6 +191,13 @@
pyatome
];
"august" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ yalexs-ble
yalexs
];
"aurora" = ps: with ps; [
@@ -277,6 +282,15 @@
]; # missing inputs: python-blockchain-api
"bloomsky" = ps: with ps; [
];
+ "bluemaestro" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluemaestro-ble
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ ];
"blueprint" = ps: with ps; [
];
"bluesound" = ps: with ps; [
@@ -286,11 +300,17 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
];
"bluetooth_le_tracker" = ps: with ps; [
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
];
"bluetooth_tracker" = ps: with ps; [
bt-proximity
@@ -309,8 +329,7 @@
zeroconf
];
"braviatv" = ps: with ps; [
- bravia-tv
- ];
+ ]; # missing inputs: pybravia
"broadlink" = ps: with ps; [
broadlink
];
@@ -332,6 +351,15 @@
]; # missing inputs: bthomehub5-devicelist
"bt_smarthub" = ps: with ps; [
]; # missing inputs: btsmarthub_devicelist
+ "bthome" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ bthome-ble
+ pyserial
+ pyudev
+ ];
"buienradar" = ps: with ps; [
buienradar
];
@@ -498,11 +526,13 @@
async-upnp-client
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
fnvhash
hass-nabucasa
home-assistant-frontend
ifaddr
pillow
+ psutil-home-assistant
pyserial
pyudev
scapy
@@ -657,7 +687,10 @@
pyeconet
];
"ecovacs" = ps: with ps; [
- ]; # missing inputs: sucks
+ ]; # missing inputs: py-sucks
+ "ecowitt" = ps: with ps; [
+ aioecowitt
+ ];
"eddystone_temperature" = ps: with ps; [
construct
]; # missing inputs: beacontools
@@ -750,12 +783,23 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
construct
+ pyserial
+ pyudev
]; # missing inputs: python-eq3bt
+ "escea" = ps: with ps; [
+ pescea
+ ];
"esphome" = ps: with ps; [
aioesphomeapi
aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
ifaddr
+ pyserial
+ pyudev
zeroconf
];
"etherscan" = ps: with ps; [
@@ -812,6 +856,9 @@
"file" = ps: with ps; [
file-read-backwards
];
+ "file_upload" = ps: with ps; [
+ aiohttp-cors
+ ];
"filesize" = ps: with ps; [
];
"filter" = ps: with ps; [
@@ -841,7 +888,10 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
fjaraskupan
+ pyserial
+ pyudev
];
"fleetgo" = ps: with ps; [
ritassist
@@ -867,7 +917,6 @@
pyflume
];
"flunearyou" = ps: with ps; [
- aiohttp-cors
pyflunearyou
];
"flux" = ps: with ps; [
@@ -934,6 +983,8 @@
"frontier_silicon" = ps: with ps; [
afsapi
];
+ "fully_kiosk" = ps: with ps; [
+ ]; # missing inputs: python-fullykiosk
"futurenow" = ps: with ps; [
pyfnip
];
@@ -1038,7 +1089,10 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
govee-ble
+ pyserial
+ pyudev
];
"gpsd" = ps: with ps; [
gps3
@@ -1082,9 +1136,11 @@
fnvhash
home-assistant-frontend
pillow
+ psutil-home-assistant
sqlalchemy
];
"hardware" = ps: with ps; [
+ psutil-home-assistant
];
"harman_kardon_avr" = ps: with ps; [
hkavr
@@ -1150,13 +1206,19 @@
"homeassistant" = ps: with ps; [
];
"homeassistant_alerts" = ps: with ps; [
+ ];
+ "homeassistant_sky_connect" = ps: with ps; [
aiohttp-cors
+ psutil-home-assistant
+ pyserial
+ pyudev
];
"homeassistant_yellow" = ps: with ps; [
aiohttp-cors
fnvhash
home-assistant-frontend
pillow
+ psutil-home-assistant
sqlalchemy
];
"homekit" = ps: with ps; [
@@ -1175,7 +1237,10 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
ifaddr
+ pyserial
+ pyudev
zeroconf
];
"homematic" = ps: with ps; [
@@ -1279,7 +1344,10 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
inkbird-ble
+ pyserial
+ pyudev
];
"input_boolean" = ps: with ps; [
];
@@ -1365,6 +1433,9 @@
"juicenet" = ps: with ps; [
python-juicenet
];
+ "justnimbus" = ps: with ps; [
+ justnimbus
+ ];
"kaiterra" = ps: with ps; [
]; # missing inputs: kaiterra-async-client
"kaleidescape" = ps: with ps; [
@@ -1420,8 +1491,13 @@
"lacrosse" = ps: with ps; [
pylacrosse
];
+ "lacrosse_view" = ps: with ps; [
+ ]; # missing inputs: lacrosse-view
"lametric" = ps: with ps; [
- lmnotify
+ aiohttp-cors
+ ]; # missing inputs: demetriek
+ "landisgyr_heat_meter" = ps: with ps; [
+ ultraheat-api
];
"lannouncer" = ps: with ps; [
];
@@ -1437,6 +1513,15 @@
"lcn" = ps: with ps; [
pypck
];
+ "led_ble" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ led-ble
+ pyserial
+ pyudev
+ ];
"lg_netcast" = ps: with ps; [
pylgnetcast
];
@@ -1448,7 +1533,6 @@
];
"lifx" = ps: with ps; [
aiohttp-cors
- aiolifx-connection
aiolifx
aiolifx-effects
ifaddr
@@ -1594,6 +1678,14 @@
];
"melissa" = ps: with ps; [
]; # missing inputs: py-melissa-climate
+ "melnor" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ ]; # missing inputs: melnor-bluetooth
"meraki" = ps: with ps; [
aiohttp-cors
];
@@ -1635,7 +1727,6 @@
aiohttp-cors
];
"miflora" = ps: with ps; [
- aiohttp-cors
];
"mikrotik" = ps: with ps; [
librouteros
@@ -1655,7 +1746,6 @@
minio
];
"mitemp_bt" = ps: with ps; [
- aiohttp-cors
];
"mjpeg" = ps: with ps; [
];
@@ -1663,7 +1753,10 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
moat-ble
+ pyserial
+ pyudev
];
"mobile_app" = ps: with ps; [
pynacl
@@ -1943,7 +2036,6 @@
"openalpr_cloud" = ps: with ps; [
];
"openalpr_local" = ps: with ps; [
- aiohttp-cors
];
"opencv" = ps: with ps; [
numpy
@@ -1955,6 +2047,7 @@
openevsewifi
];
"openexchangerates" = ps: with ps; [
+ aioopenexchangerates
];
"opengarage" = ps: with ps; [
open-garage
@@ -2125,6 +2218,8 @@
"proxy" = ps: with ps; [
pillow
];
+ "prusalink" = ps: with ps; [
+ ]; # missing inputs: pyprusalink
"ps4" = ps: with ps; [
]; # missing inputs: pyps4-2ndscreen
"pulseaudio_loopback" = ps: with ps; [
@@ -2157,6 +2252,15 @@
];
"qbittorrent" = ps: with ps; [
]; # missing inputs: python-qbittorrent
+ "qingping" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ qingping-ble
+ ];
"qld_bushfire" = ps: with ps; [
georss-qld-bushfire-alert-client
];
@@ -2190,7 +2294,6 @@
radios
];
"radiotherm" = ps: with ps; [
- aiohttp-cors
radiotherm
];
"rainbird" = ps: with ps; [
@@ -2213,6 +2316,7 @@
fnvhash
home-assistant-frontend
pillow
+ psutil-home-assistant
sqlalchemy
];
"raspyrfm" = ps: with ps; [
@@ -2355,6 +2459,8 @@
]; # missing inputs: satel_integra
"scene" = ps: with ps; [
];
+ "schedule" = ps: with ps; [
+ ];
"schluter" = ps: with ps; [
]; # missing inputs: py-schluter
"scrape" = ps: with ps; [
@@ -2394,10 +2500,22 @@
fnvhash
sqlalchemy
];
+ "sensorpro" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ sensorpro-ble
+ ];
"sensorpush" = ps: with ps; [
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
sensorpush-ble
];
"sentry" = ps: with ps; [
@@ -2451,7 +2569,6 @@
pysignalclirestapi
];
"simplepush" = ps: with ps; [
- aiohttp-cors
]; # missing inputs: simplepush
"simplisafe" = ps: with ps; [
simplisafe-python
@@ -2566,7 +2683,6 @@
pysdcp
];
"soundtouch" = ps: with ps; [
- aiohttp-cors
libsoundtouch
];
"spaceapi" = ps: with ps; [
@@ -2618,7 +2734,6 @@
statsd
];
"steam_online" = ps: with ps; [
- aiohttp-cors
steamodd
];
"steamist" = ps: with ps; [
@@ -2675,6 +2790,9 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
];
"switcher_kis" = ps: with ps; [
aioswitcher
@@ -2771,6 +2889,24 @@
];
"tfiac" = ps: with ps; [
]; # missing inputs: pytfiac
+ "thermobeacon" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ thermobeacon-ble
+ ];
+ "thermopro" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ thermopro-ble
+ ];
"thermoworks_smoke" = ps: with ps; [
stringcase
]; # missing inputs: thermoworks_smoke
@@ -2956,7 +3092,6 @@
pyudev
];
"uscis" = ps: with ps; [
- aiohttp-cors
]; # missing inputs: uscisstatus
"usgs_earthquakes_feed" = ps: with ps; [
aio-geojson-usgs-earthquakes
@@ -3146,6 +3281,9 @@
aiohttp-cors
bleak
bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
xiaomi-ble
];
"xiaomi_miio" = ps: with ps; [
@@ -3164,6 +3302,15 @@
"yale_smart_alarm" = ps: with ps; [
yalesmartalarmclient
];
+ "yalexs_ble" = ps: with ps; [
+ aiohttp-cors
+ bleak
+ bluetooth-adapters
+ bluetooth-auto-recovery
+ pyserial
+ pyudev
+ yalexs-ble
+ ];
"yamaha" = ps: with ps; [
rxv
];
@@ -3290,6 +3437,7 @@
"ambiclimate"
"ambient_station"
"analytics"
+ "android_ip_webcam"
"androidtv"
"apache_kafka"
"api"
@@ -3319,17 +3467,18 @@
"blackbird"
"blebox"
"blink"
+ "bluemaestro"
"blueprint"
"bluetooth"
"bluetooth_le_tracker"
"bmw_connected_drive"
"bond"
"bosch_shc"
- "braviatv"
"broadlink"
"brother"
"brunt"
"bsblan"
+ "bthome"
"buienradar"
"button"
"caldav"
@@ -3391,6 +3540,7 @@
"eafm"
"ecobee"
"econet"
+ "ecowitt"
"efergy"
"eight_sleep"
"elgato"
@@ -3405,6 +3555,7 @@
"enphase_envoy"
"environment_canada"
"epson"
+ "escea"
"esphome"
"everlights"
"evil_genius_labs"
@@ -3419,6 +3570,7 @@
"fibaro"
"fido"
"file"
+ "file_upload"
"filesize"
"filter"
"fireservicerota"
@@ -3486,6 +3638,7 @@
"harmony"
"hassio"
"hddtemp"
+ "hdmi_cec"
"heos"
"here_travel_time"
"hisense_aehw4a1"
@@ -3497,6 +3650,7 @@
"home_plus_control"
"homeassistant"
"homeassistant_alerts"
+ "homeassistant_sky_connect"
"homeassistant_yellow"
"homekit"
"homekit_controller"
@@ -3545,6 +3699,7 @@
"jellyfin"
"jewish_calendar"
"juicenet"
+ "justnimbus"
"keenetic_ndms2"
"kira"
"kmtronic"
@@ -3553,10 +3708,12 @@
"konnected"
"kraken"
"kulersky"
+ "landisgyr_heat_meter"
"lastfm"
"launch_library"
"laundrify"
"lcn"
+ "led_ble"
"lg_soundbar"
"life360"
"lifx"
@@ -3655,6 +3812,7 @@
"open_meteo"
"openalpr_cloud"
"openerz"
+ "openexchangerates"
"opengarage"
"openhardwaremonitor"
"opentherm_gw"
@@ -3689,9 +3847,11 @@
"pure_energie"
"push"
"pushbullet"
+ "pushover"
"pvoutput"
"pvpc_hourly_pricing"
"python_script"
+ "qingping"
"qld_bushfire"
"qnap_qsw"
"rachio"
@@ -3730,6 +3890,7 @@
"safe_mode"
"samsungtv"
"scene"
+ "schedule"
"scrape"
"screenlogic"
"script"
@@ -3740,6 +3901,7 @@
"senseme"
"sensibo"
"sensor"
+ "sensorpro"
"sensorpush"
"sentry"
"senz"
@@ -3819,6 +3981,8 @@
"tellduslive"
"template"
"tesla_wall_connector"
+ "thermobeacon"
+ "thermopro"
"threshold"
"tibber"
"tile"
@@ -3878,6 +4042,7 @@
"vlc_telnet"
"voicerss"
"volumio"
+ "volvooncall"
"vulcan"
"vultr"
"wake_on_lan"
@@ -3906,6 +4071,7 @@
"xiaomi_ble"
"xiaomi_miio"
"yale_smart_alarm"
+ "yalexs_ble"
"yamaha"
"yamaha_musiccast"
"yandex_transport"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index ecbdc2eadb6a..f07974e325c2 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -79,18 +79,6 @@ let
});
})
- (self: super: {
- p1monitor = super.p1monitor.overridePythonAttrs (oldAttrs: rec {
- version = "1.0.1";
- src = fetchFromGitHub {
- owner = "klaasnicolaas";
- repo = "python-p1monitor";
- rev = "refs/tags/v${version}";
- hash = "sha256-g3isA2gF2AD+VVzTqpnD+YiJQ9Kcl0VKvwd5l5Yx/Uo=";
- };
- });
- })
-
# pytest-aiohttp>0.3.0 breaks home-assistant tests
(self: super: {
pytest-aiohttp = super.pytest-aiohttp.overridePythonAttrs (oldAttrs: rec {
@@ -104,15 +92,24 @@ let
doCheck = false;
patches = [];
});
+ aioecowitt = super.aioecowitt.overridePythonAttrs (oldAttrs: {
+ doCheck = false; # requires aiohttp>=1.0.0
+ });
aiohomekit = super.aiohomekit.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires aiohttp>=1.0.0
});
+ aioopenexchangerates = super.aioopenexchangerates.overridePythonAttrs (oldAttrs: {
+ doCheck = false; # requires aiohttp>=1.0.0
+ });
gcal-sync = super.gcal-sync.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires aiohttp>=1.0.0
});
hass-nabucasa = super.hass-nabucasa.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires aiohttp>=1.0.0
});
+ pylitterbot = super.pylitterbot.overridePythonAttrs (oldAttrs: {
+ doCheck = false; # requires pytest-aiohttp>=1.0.0
+ });
pynws = super.pynws.overridePythonAttrs (oldAttrs: {
doCheck = false; # requires pytest-aiohttp>=1.0.0
});
@@ -245,6 +242,19 @@ let
});
})
+ # Pinned due to API changes in 0.3.0
+ (self: super: {
+ tailscale = super.tailscale.overridePythonAttrs (oldAttrs: rec {
+ version = "0.2.0";
+ src = fetchFromGitHub {
+ owner = "frenck";
+ repo = "python-tailscale";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-/tS9ZMUWsj42n3MYPZJYJELzX3h02AIHeRZmD2SuwWE=";
+ };
+ });
+ })
+
# Pinned due to API changes in 0.4.0
(self: super: {
vilfo-api-client = super.vilfo-api-client.overridePythonAttrs (oldAttrs: rec {
@@ -271,6 +281,18 @@ let
});
})
+ (self: super: {
+ xiaomi-ble = super.xiaomi-ble.overridePythonAttrs (oldAttrs: rec {
+ version = "0.9.0";
+ src = fetchFromGitHub {
+ owner = "Bluetooth-Devices";
+ repo = "xiaomi-ble";
+ rev = "refs/tags/v${version}";
+ hash = "sha256-xdh8WHrSkbuOGqSiIiufjiVaO719DMDYzbprE3s2kmQ=";
+ };
+ });
+ })
+
# home-assistant-frontend does not exist in python3.pkgs
(self: super: {
home-assistant-frontend = self.callPackage ./frontend.nix { };
@@ -300,7 +322,7 @@ let
extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
# Don't forget to run parse-requirements.py after updating
- hassVersion = "2022.8.7";
+ hassVersion = "2022.9.0";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@@ -318,7 +340,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = version;
- hash = "sha256-FkI0EHO+M3dpt5xt73QkneQlCqgYUGKuO9MT3bRK2jI=";
+ hash = "sha256-uFmp0zgBU5rcMqpHNgscG+PywHraWgR0iMjOfjFx8hw=";
};
# leave this in, so users don't have to constantly update their downstream patch handling
@@ -327,7 +349,6 @@ in python.pkgs.buildPythonApplication rec {
src = ./patches/ffmpeg-path.patch;
ffmpeg = "${lib.getBin ffmpeg}/bin/ffmpeg";
})
- ./patches/wilight-import.patch
];
postPatch = let
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 868b8359e7de..8654b23ff187 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 = "20220802.0";
+ version = "20220907.0";
format = "wheel";
src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
- sha256 = "sha256-vUK/apsaJLaR/i6I2EWPxyohps+EazOr9ZuBKoRcyCI=";
+ sha256 = "sha256-G/2lOUffxKnEmd4mz/qAlNkzTNAUTfjKaGgvj6vG9ro=";
};
# there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/patches/wilight-import.patch b/pkgs/servers/home-assistant/patches/wilight-import.patch
deleted file mode 100644
index 2d6626b97438..000000000000
--- a/pkgs/servers/home-assistant/patches/wilight-import.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/homeassistant/components/wilight/__init__.py b/homeassistant/components/wilight/__init__.py
-index 2cdcf20c1e..37b034c9ae 100644
---- a/homeassistant/components/wilight/__init__.py
-+++ b/homeassistant/components/wilight/__init__.py
-@@ -2,7 +2,7 @@
-
- from typing import Any
-
--from pywilight.wilight_device import Device as PyWiLightDevice
-+from pywilight.wilight_device import PyWiLightDevice
-
- from homeassistant.config_entries import ConfigEntry
- from homeassistant.const import Platform
-diff --git a/homeassistant/components/wilight/fan.py b/homeassistant/components/wilight/fan.py
-index c598e6db39..3d0c6d0ff3 100644
---- a/homeassistant/components/wilight/fan.py
-+++ b/homeassistant/components/wilight/fan.py
-@@ -13,7 +13,7 @@ from pywilight.const import (
- WL_SPEED_LOW,
- WL_SPEED_MEDIUM,
- )
--from pywilight.wilight_device import Device as PyWiLightDevice
-+from pywilight.wilight_device import PyWiLightDevice
-
- from homeassistant.components.fan import DIRECTION_FORWARD, FanEntity, FanEntityFeature
- from homeassistant.config_entries import ConfigEntry
-diff --git a/homeassistant/components/wilight/light.py b/homeassistant/components/wilight/light.py
-index ea9e19dcb3..2509dc5073 100644
---- a/homeassistant/components/wilight/light.py
-+++ b/homeassistant/components/wilight/light.py
-@@ -4,7 +4,7 @@ from __future__ import annotations
- from typing import Any
-
- from pywilight.const import ITEM_LIGHT, LIGHT_COLOR, LIGHT_DIMMER, LIGHT_ON_OFF
--from pywilight.wilight_device import Device as PyWiLightDevice
-+from pywilight.wilight_device import PyWiLightDevice
-
- from homeassistant.components.light import (
- ATTR_BRIGHTNESS,
-diff --git a/homeassistant/components/wilight/parent_device.py b/homeassistant/components/wilight/parent_device.py
-index 17a33fef63..8091e78cc7 100644
---- a/homeassistant/components/wilight/parent_device.py
-+++ b/homeassistant/components/wilight/parent_device.py
-@@ -5,7 +5,7 @@ import asyncio
- import logging
-
- import pywilight
--from pywilight.wilight_device import Device as PyWiLightDevice
-+from pywilight.wilight_device import PyWiLightDevice
- import requests
-
- from homeassistant.config_entries import ConfigEntry
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index 77bb02662bc4..7703bc6b2832 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -7,11 +7,13 @@ let
extraCheckInputs = with home-assistant.python.pkgs; {
alexa = [ av ];
bluetooth = [ pyswitchbot ];
+ bthome = [ xiaomi-ble ];
camera = [ av ];
cloud = [ mutagen ];
config = [ pydispatcher ];
generic = [ av ];
google_translate = [ mutagen ];
+ homeassistant_sky_connect = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
homeassistant_yellow = [ bellows zha-quirks zigpy-deconz zigpy-xbee zigpy-zigate zigpy-znp ];
lovelace = [ PyChromecast ];
nest = [ av ];
@@ -19,6 +21,7 @@ let
raspberry_pi = [ rpi-bad-power ];
tomorrowio = [ pyclimacell ];
version = [ aioaseko ];
+ xiaomi_miio = [ arrow ];
voicerss = [ mutagen ];
yandextts = [ mutagen ];
zha = [ pydeconz ];