home-assistant: 2025.3.4 -> 2025.4.0 (#395618)

Changed files
+275 -190
nixos
pkgs
development
python-modules
aiocomelit
aioesphomeapi
bellows
bleak-esphome
bluetooth-auto-recovery
dbus-fast
fyta-cli
gios
ha-silabs-firmware-client
habluetooth
hass-nabucasa
hdate
mastodon-py
meteofrance-api
music-assistant-client
music-assistant-models
nettigo-air-monitor
pushover-complete
python-linkplay
python-roborock
python-tado
slixmpp
tesla-fleet-api
zha
zha-quirks
zigpy
zigpy-znp
zwave-js-server-python
servers
home-assistant
custom-components
emporia_vue
ntfy
solax_modbus
solis-sensor
tuya_local
yoto_ha
custom-lovelace-modules
clock-weather-card
mini-graph-card
top-level
+1 -2
nixos/tests/home-assistant.nix
···
# include some popular integrations, that absolutely shouldn't break
knx = { };
-
shelly = { };
zha = { };
# set up a wake-on-lan switch to test capset capability required
···
# https://www.home-assistant.io/integrations/logger/
logger = {
-
default = "info";
+
default = "debug";
};
};
+2 -2
pkgs/development/python-modules/aiocomelit/default.nix
···
buildPythonPackage rec {
pname = "aiocomelit";
-
version = "0.11.1";
+
version = "0.11.3";
pyproject = true;
disabled = pythonOlder "3.12";
···
owner = "chemelli74";
repo = "aiocomelit";
tag = "v${version}";
-
hash = "sha256-1iXfqLxZVrw9A3W7K34pPolbwdrFPSj0zXTJT7mgpYs=";
+
hash = "sha256-Hl5yUEtBFfx+p2WQssI7M+TgEiO5VvgIdWoFZMCjCUY=";
};
build-system = [ poetry-core ];
+2 -2
pkgs/development/python-modules/aioesphomeapi/default.nix
···
buildPythonPackage rec {
pname = "aioesphomeapi";
-
version = "29.4.0";
+
version = "29.8.0";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "esphome";
repo = "aioesphomeapi";
tag = "v${version}";
-
hash = "sha256-KBQYLaE2J/5/VYquajknF3gCJEwRENjgkxiZahqnRZA=";
+
hash = "sha256-hX0OOgLnaZOreBfb8ptNkNLzUn+S38/84DfJD423RAM=";
};
build-system = [
+2 -2
pkgs/development/python-modules/bellows/default.nix
···
buildPythonPackage rec {
pname = "bellows";
-
version = "0.43.0";
+
version = "0.44.0";
pyproject = true;
disabled = pythonOlder "3.8";
···
owner = "zigpy";
repo = "bellows";
tag = version;
-
hash = "sha256-RbhFvoNYR4wHKKbbMKLP4Dsx0pIJnwBOP49waRHg0qk=";
+
hash = "sha256-9CuZGorTqay09ZHrUDoorYew8vvDV6pyxMuik7/QKJ4=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/bleak-esphome/default.nix
···
buildPythonPackage rec {
pname = "bleak-esphome";
-
version = "2.11.0";
+
version = "2.12.0";
pyproject = true;
src = fetchFromGitHub {
owner = "bluetooth-devices";
repo = "bleak-esphome";
tag = "v${version}";
-
hash = "sha256-5APHpb2h//krpgVJs6pOPLapGZFzbFKNjFxDqpNyApQ=";
+
hash = "sha256-dR4KuaJWrWTVDWY11E/MRF12jCvOlC8c2flDOnkPjxw=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/bluetooth-auto-recovery/default.nix
···
buildPythonPackage rec {
pname = "bluetooth-auto-recovery";
-
version = "1.4.4";
+
version = "1.4.5";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "Bluetooth-Devices";
repo = "bluetooth-auto-recovery";
tag = "v${version}";
-
hash = "sha256-Sm3VLgWttMVXH+s1m1ab8kE6dHPit0GY4FVAld5Yg88=";
+
hash = "sha256-yh0Gf8veT5VCk05Y7QyxoCz0NHnVRj8HJLTbnvi+9C8=";
};
build-system = [ poetry-core ];
+2 -2
pkgs/development/python-modules/dbus-fast/default.nix
···
buildPythonPackage rec {
pname = "dbus-fast";
-
version = "2.33.0";
+
version = "2.44.1";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "Bluetooth-Devices";
repo = "dbus-fast";
tag = "v${version}";
-
hash = "sha256-U6NAEhoEcphAuvaAA2en4Ka4yFHiKPINl5CvtxE7FaI=";
+
hash = "sha256-r9F/3H/Bagi9QJHZDEsa80dglVE9vS1f9Cqt7CZWn8Y=";
};
# The project can build both an optimized cython version and an unoptimized
+2 -2
pkgs/development/python-modules/fyta-cli/default.nix
···
buildPythonPackage rec {
pname = "fyta-cli";
-
version = "0.7.0";
+
version = "0.7.2";
pyproject = true;
disabled = pythonOlder "3.11";
···
owner = "dontinelli";
repo = "fyta_cli";
tag = "v${version}";
-
hash = "sha256-OgpQh7WyZynFd308TjIGkQNoy8TFu9gynbDiLueqB/0=";
+
hash = "sha256-YYH15ZuRZirSFC7No1goY/afk2BGtCCykcZAnCDdq7U=";
};
build-system = [ hatchling ];
+2 -2
pkgs/development/python-modules/gios/default.nix
···
buildPythonPackage rec {
pname = "gios";
-
version = "5.0.0";
+
version = "6.0.0";
pyproject = true;
disabled = pythonOlder "3.11";
···
owner = "bieniu";
repo = "gios";
tag = version;
-
hash = "sha256-J+LCu7wMuc3dYghvkKq58GcBAa76X5IPUWe7qCQwjjI=";
+
hash = "sha256-SCVyEHxTV+6+3mLh8HEutRXHV2Xt0JzOrNnIKtIcFXw=";
};
build-system = [ setuptools ];
+54
pkgs/development/python-modules/ha-silabs-firmware-client/default.nix
···
+
{
+
aiohttp,
+
aioresponses,
+
buildPythonPackage,
+
fetchFromGitHub,
+
lib,
+
pytestCheckHook,
+
pythonOlder,
+
setuptools,
+
yarl,
+
}:
+
+
buildPythonPackage rec {
+
pname = "ha-silabs-firmware-client";
+
version = "0.2.0";
+
pyproject = true;
+
+
disabled = pythonOlder "3.13";
+
+
src = fetchFromGitHub {
+
owner = "home-assistant-libs";
+
repo = "ha-silabs-firmware-client";
+
tag = "v${version}";
+
hash = "sha256-Kip9JL9tuF7OI22elN0w2Z7Xjdaayboo8LThp4FAets=";
+
};
+
+
postPatch = ''
+
substituteInPlace pyproject.toml \
+
--replace-fail ', "setuptools-git-versioning<3"' "" \
+
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
+
'';
+
+
build-system = [ setuptools ];
+
+
dependencies = [
+
aiohttp
+
yarl
+
];
+
+
pythonImportsCheck = [ "ha_silabs_firmware_client" ];
+
+
nativeCheckInputs = [
+
aioresponses
+
pytestCheckHook
+
];
+
+
meta = {
+
changelog = "https://github.com/home-assistant-libs/ha-silabs-firmware-client/releases/tag/${src.tag}";
+
description = "Home Assistant client for firmwares released with silabs-firmware-builder";
+
homepage = "https://github.com/home-assistant-libs/ha-silabs-firmware-client";
+
license = lib.licenses.asl20;
+
maintainers = with lib.maintainers; [ dotlambda ];
+
};
+
}
+2 -2
pkgs/development/python-modules/habluetooth/default.nix
···
buildPythonPackage rec {
pname = "habluetooth";
-
version = "3.25.0";
+
version = "3.38.0";
pyproject = true;
disabled = pythonOlder "3.11";
···
owner = "Bluetooth-Devices";
repo = "habluetooth";
tag = "v${version}";
-
hash = "sha256-+3AcxRkTU61MuUGL+dc6ETn3poDatHGr6hWN9b+cVc8=";
+
hash = "sha256-eqsWm5g/D94NgoBbfh3uudcUOs4aekg4nHw2fODtTOA=";
};
build-system = [
+3 -3
pkgs/development/python-modules/hass-nabucasa/default.nix
···
buildPythonPackage rec {
pname = "hass-nabucasa";
-
version = "0.92.0";
+
version = "0.95.0";
pyproject = true;
-
disabled = pythonOlder "3.12";
+
disabled = pythonOlder "3.13";
src = fetchFromGitHub {
owner = "nabucasa";
repo = "hass-nabucasa";
tag = version;
-
hash = "sha256-OwU3HxUj8M3/3Xv+9WPNbV8sVVR8S9u9U3mSK/P+4o8=";
+
hash = "sha256-KSGEgMgZ0fHot7hfT0sDl/4aZOsWT8CE+R5ebCqhLAA=";
};
pythonRelaxDeps = [ "acme" ];
+20 -10
pkgs/development/python-modules/hdate/default.nix
···
astral,
buildPythonPackage,
fetchFromGitHub,
+
hypothesis,
+
num2words,
pdm-backend,
+
pytest-timeout,
+
pytest-xdist,
pytestCheckHook,
-
pythonOlder,
-
pytz,
+
syrupy,
}:
buildPythonPackage rec {
pname = "hdate";
-
version = "0.11.1";
+
version = "1.0.3";
pyproject = true;
-
-
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "py-libhdate";
repo = "py-libhdate";
tag = "v${version}";
-
hash = "sha256-Il20aKOPQi4J4hWQEMEQOnLdBSHCOu214YE6pxeYbfI=";
+
hash = "sha256-J2ZbfzQdQSlnwcygwapDKkvZIx2VrlaaRe244V8Zt5c=";
};
pythonRelaxDeps = [
···
];
dependencies = [
-
astral
-
pytz
+
num2words
];
-
nativeCheckInputs = [ pytestCheckHook ];
+
optional-dependencies = {
+
astral = [ astral ];
+
};
+
+
nativeCheckInputs = [
+
hypothesis
+
pytest-timeout
+
pytest-xdist
+
pytestCheckHook
+
syrupy
+
];
pytestFlagsArray = [ "tests" ];
···
meta = with lib; {
description = "Python module for Jewish/Hebrew date and Zmanim";
homepage = "https://github.com/py-libhdate/py-libhdate";
-
changelog = "https://github.com/py-libhdate/py-libhdate/releases/tag/v${version}";
+
changelog = "https://github.com/py-libhdate/py-libhdate/blob/${src.tag}/CHANGELOG.md";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ fab ];
};
+8 -13
pkgs/development/python-modules/mastodon-py/default.nix
···
python-dateutil,
python-magic,
requests,
-
six,
pytestCheckHook,
+
pytest-cov-stub,
pytest-mock,
pytest-vcr,
requests-mock,
···
buildPythonPackage rec {
pname = "mastodon-py";
-
version = "1.8.1";
+
version = "2.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "halcy";
repo = "Mastodon.py";
-
tag = version;
-
hash = "sha256-r0AAUjd2MBfZANEpyztMNyaQTlGWvWoUVjJNO1eL218=";
+
tag = "v${version}";
+
hash = "sha256-Sqvn7IIzkGnIjMGek1QS4pLXI+LoKykJsVnr/X1QH7U=";
};
-
postPatch = ''
-
sed -i '/addopts/d' setup.cfg
-
'';
+
build-system = [ setuptools ];
-
nativeBuildInputs = [ setuptools ];
-
-
propagatedBuildInputs = [
+
dependencies = [
blurhash
decorator
python-dateutil
python-magic
requests
-
six
];
optional-dependencies = {
···
nativeCheckInputs = [
pytestCheckHook
+
pytest-cov-stub
pytest-mock
pytest-vcr
requests-mock
-
setuptools
] ++ lib.flatten (builtins.attrValues optional-dependencies);
disabledTests = [
···
pythonImportsCheck = [ "mastodon" ];
meta = with lib; {
-
changelog = "https://github.com/halcy/Mastodon.py/blob/${src.rev}/CHANGELOG.rst";
+
changelog = "https://github.com/halcy/Mastodon.py/blob/${src.tag}/CHANGELOG.rst";
description = "Python wrapper for the Mastodon API";
homepage = "https://github.com/halcy/Mastodon.py";
license = licenses.mit;
+6 -14
pkgs/development/python-modules/meteofrance-api/default.nix
···
pytz,
requests,
requests-mock,
-
typing-extensions,
-
urllib3,
}:
buildPythonPackage rec {
pname = "meteofrance-api";
-
version = "1.3.0";
+
version = "1.4.0";
pyproject = true;
-
disabled = pythonOlder "3.7";
+
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "hacf-fr";
repo = "meteofrance-api";
tag = "v${version}";
-
hash = "sha256-uSrVK6LwCDyvsjzGl4xQd8585Hl6sp2Ua9ly0wqnC1Y=";
+
hash = "sha256-5zqmzPbzC9IUZ+y1FRh+u1gds/ZdGeRm5/ajQf8UKTQ=";
};
-
nativeBuildInputs = [
-
poetry-core
-
];
-
-
pythonRelaxDeps = [ "urllib3" ];
+
build-system = [ poetry-core ];
-
propagatedBuildInputs = [
+
dependencies = [
pytz
requests
-
typing-extensions
-
urllib3
];
nativeCheckInputs = [
···
meta = with lib; {
description = "Module to access information from the Meteo-France API";
-
mainProgram = "meteofrance-api";
homepage = "https://github.com/hacf-fr/meteofrance-api";
changelog = "https://github.com/hacf-fr/meteofrance-api/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
+
mainProgram = "meteofrance-api";
};
}
+2 -2
pkgs/development/python-modules/music-assistant-client/default.nix
···
buildPythonPackage rec {
pname = "music-assistant-client";
-
version = "1.1.1";
+
version = "1.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "music-assistant";
repo = "client";
tag = version;
-
hash = "sha256-KAvNPG3gMJK/iWqen35UCmSccjOkvfrmMvx4YkrOPy8=";
+
hash = "sha256-i3VIRK3RUgbF5KX3U7i4WwjbLaRvg88zUH5Ly8BKEB0=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/music-assistant-models/default.nix
···
buildPythonPackage rec {
pname = "music-assistant-models";
-
version = "1.1.30"; # Must be compatible with music-assistant-client package
+
version = "1.1.43"; # Must be compatible with music-assistant-client package
pyproject = true;
src = fetchFromGitHub {
owner = "music-assistant";
repo = "models";
tag = version;
-
hash = "sha256-ZLTRHarjVFAk+tYPkgLm192rE+C82vNzqs8PmJhGSeg=";
+
hash = "sha256-0SBNxpiBAKlAQe7eJTp+BwGNY52OTt37TksKrp9nfz4=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/nettigo-air-monitor/default.nix
···
buildPythonPackage rec {
pname = "nettigo-air-monitor";
-
version = "4.0.0";
+
version = "4.1.0";
pyproject = true;
disabled = pythonOlder "3.12";
···
owner = "bieniu";
repo = "nettigo-air-monitor";
tag = version;
-
hash = "sha256-aYlnaFim4ezZ/nOAf1m6iIfE4NGswtEmPsslfrTd5tI=";
+
hash = "sha256-tGadB2v3UIgX/v3Cvx95bEOpoOtQXGizk24FelKpidc=";
};
build-system = [ setuptools ];
+6 -5
pkgs/development/python-modules/pushover-complete/default.nix
···
lib,
buildPythonPackage,
fetchPypi,
-
isPy27,
+
setuptools,
requests,
six,
pytestCheckHook,
···
buildPythonPackage rec {
pname = "pushover-complete";
version = "1.2.0";
-
format = "setuptools";
-
disabled = isPy27;
+
pyproject = true;
src = fetchPypi {
pname = "pushover_complete";
inherit version;
-
sha256 = "sha256-v0+JgShJMEdVXJ1xZD4UCKZzgV+uOuOstPn3nWtHDJw=";
+
hash = "sha256-v0+JgShJMEdVXJ1xZD4UCKZzgV+uOuOstPn3nWtHDJw=";
};
-
propagatedBuildInputs = [
+
build-system = [ setuptools ];
+
+
dependencies = [
requests
six
];
+2 -2
pkgs/development/python-modules/python-linkplay/default.nix
···
buildPythonPackage rec {
pname = "python-linkplay";
-
version = "0.2.1";
+
version = "0.2.2";
pyproject = true;
src = fetchFromGitHub {
owner = "Velleman";
repo = "python-linkplay";
tag = "v${version}";
-
hash = "sha256-R4swSS+aOAygGRUPoJhJSutx6JEaO+QS1IL6nWEBTnw=";
+
hash = "sha256-K5MDpMza5z3CYuGymXusZ5WMmmN/6rVxegiiO8RtOTc=";
};
build-system = [ setuptools ];
+2 -2
pkgs/development/python-modules/python-roborock/default.nix
···
buildPythonPackage rec {
pname = "python-roborock";
-
version = "2.12.2";
+
version = "2.16.1";
pyproject = true;
disabled = pythonOlder "3.11";
···
owner = "humbertogontijo";
repo = "python-roborock";
tag = "v${version}";
-
hash = "sha256-QAv4R4Nnn+BcPp0ktf7riKt+ZvaZTF5KI9sjjtDH3SY=";
+
hash = "sha256-zQlNBQm+dBmw+kydNlqJU1D0KKuywyuNCqm0/BslWi0=";
};
postPatch = ''
+3 -6
pkgs/development/python-modules/python-tado/default.nix
···
pytest-cov-stub,
pytest-mock,
pytestCheckHook,
-
pythonOlder,
requests,
responses,
setuptools,
···
buildPythonPackage rec {
pname = "python-tado";
-
version = "0.18.6";
+
version = "0.18.9";
pyproject = true;
-
disabled = pythonOlder "3.5";
-
src = fetchFromGitHub {
owner = "wmalgadey";
repo = "PyTado";
tag = version;
-
hash = "sha256-pDT159TY1PEG3TLoIaNy5VVpIklclgOvFy4W5HKy7uM=";
+
hash = "sha256-zGz3ySD+7zkHY/+IS2Kfrp9Y64It+rrEF7ImwbZG7ks=";
};
build-system = [ setuptools ];
···
pythonImportsCheck = [ "PyTado" ];
meta = with lib; {
-
description = "Python binding for Tado web API. Pythonize your central heating!";
+
description = "Python binding for Tado web API";
homepage = "https://github.com/wmalgadey/PyTado";
changelog = "https://github.com/wmalgadey/PyTado/releases/tag/${src.tag}";
license = licenses.gpl3Plus;
+36 -10
pkgs/development/python-modules/slixmpp/default.nix
···
buildPythonPackage,
aiodns,
aiohttp,
+
cryptography,
+
defusedxml,
+
emoji,
fetchPypi,
gnupg,
pyasn1,
pyasn1-modules,
pytestCheckHook,
replaceVars,
+
rustPlatform,
pythonOlder,
}:
buildPythonPackage rec {
pname = "slixmpp";
version = "1.10.0";
-
format = "setuptools";
+
pyproject = true;
disabled = pythonOlder "3.9";
···
hash = "sha256-RrxdAVB8tChcglXOXHF8C19o5U38HxcSiDmY1tciV4o=";
};
-
propagatedBuildInputs = [
+
patches = [
+
(replaceVars ./hardcode-gnupg-path.patch {
+
inherit gnupg;
+
})
+
];
+
+
build-system = with rustPlatform; [
+
cargoSetupHook
+
maturinBuildHook
+
];
+
+
cargoDeps = rustPlatform.fetchCargoVendor {
+
inherit pname src;
+
hash = "sha256-CeuClBYEG2YCm5lnxFs5RhjIgYEOe76rzHpauLZeQR0=";
+
};
+
+
dependencies = [
aiodns
-
aiohttp
pyasn1
pyasn1-modules
];
-
nativeCheckInputs = [ pytestCheckHook ];
+
optional-dependencies = {
+
xep-0363 = [ aiohttp ];
+
xep-0444-compliance = [ emoji ];
+
xep-0464 = [ cryptography ];
+
safer-xml-parserig = [ defusedxml ];
+
};
-
patches = [
-
(replaceVars ./hardcode-gnupg-path.patch {
-
inherit gnupg;
-
})
-
];
+
nativeCheckInputs = [ pytestCheckHook ] ++ lib.flatten (lib.attrValues optional-dependencies);
+
+
preCheck = ''
+
# don't test against pure python version in the source tree
+
rm -rf slixmpp
+
'';
disabledTestPaths = [
+
# Exclude integration tests
+
"itests/"
# Exclude live tests
"tests/live_test.py"
-
"tests/test_xep_0454.py"
];
pythonImportsCheck = [ "slixmpp" ];
+6 -3
pkgs/development/python-modules/tesla-fleet-api/default.nix
···
aiofiles,
aiohttp,
aiolimiter,
+
bleak,
+
bleak-retry-connector,
buildPythonPackage,
cryptography,
fetchFromGitHub,
···
buildPythonPackage rec {
pname = "tesla-fleet-api";
-
version = "0.9.13";
+
version = "1.0.17";
pyproject = true;
disabled = pythonOlder "3.10";
···
owner = "Teslemetry";
repo = "python-tesla-fleet-api";
tag = "v${version}";
-
hash = "sha256-Q+nALf5SBDjh6s6d8lZhFVIkz0vGvzRD8OgXX6v8mJY=";
+
hash = "sha256-3JLC+GXFNBy7xEPuk/ajVROp6IzZ7Jul+1VyOMB7t58=";
};
build-system = [ setuptools ];
···
aiofiles
aiohttp
aiolimiter
+
bleak
+
bleak-retry-connector
cryptography
protobuf
];
···
meta = with lib; {
description = "Python library for Tesla Fleet API and Teslemetry";
homepage = "https://github.com/Teslemetry/python-tesla-fleet-api";
-
changelog = "https://github.com/Teslemetry/python-tesla-fleet-api/releases/tag/v${version}";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
+2 -2
pkgs/development/python-modules/zha-quirks/default.nix
···
buildPythonPackage rec {
pname = "zha-quirks";
-
version = "0.0.134";
+
version = "0.0.136";
pyproject = true;
disabled = pythonOlder "3.12";
···
owner = "zigpy";
repo = "zha-device-handlers";
tag = version;
-
hash = "sha256-9h9Fsn15/1fZIiZEyGPIzuyxmGs7L4PyEwH/K2cRSgU=";
+
hash = "sha256-WoLs8/IqKt0rxALmObim+NnaTRq/VAecrkrbirktm+A=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/zha/default.nix
···
buildPythonPackage rec {
pname = "zha";
-
version = "0.0.53";
+
version = "0.0.55";
pyproject = true;
disabled = pythonOlder "3.12";
···
owner = "zigpy";
repo = "zha";
tag = version;
-
hash = "sha256-EszxMIdZKmw1q9WNyeTSMaGU9or/6oBe7VGOzXMkUzg=";
+
hash = "sha256-LiHJk7xVdIqNl6BTfwlch3jqQm/MvbrKSExhOR5KD0c=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/zigpy-znp/default.nix
···
buildPythonPackage rec {
pname = "zigpy-znp";
-
version = "0.13.1";
+
version = "0.14.0";
pyproject = true;
disabled = pythonOlder "3.7";
···
owner = "zigpy";
repo = pname;
tag = "v${version}";
-
hash = "sha256-6ApwGB6VvG+XiE8U85gg/EWnYniMb+1fqmNwtHGcf/I=";
+
hash = "sha256-vYB04vEFqpqrjJMS73mtYXakp7lEIJjB+tT0SF9hpWM=";
};
postPatch = ''
+2 -2
pkgs/development/python-modules/zigpy/default.nix
···
buildPythonPackage rec {
pname = "zigpy";
-
version = "0.77.1";
+
version = "0.78.0";
pyproject = true;
disabled = pythonOlder "3.9";
···
owner = "zigpy";
repo = "zigpy";
tag = version;
-
hash = "sha256-gvgGRTZc+JT0seeDyiu59Bxxp7J/gGIO0rCCtTeS9t4=";
+
hash = "sha256-7ckpg1ukuASWtTdQn/P0KfXaMo5l2NyB9alCXeTarEU=";
};
postPatch = ''
+3 -3
pkgs/development/python-modules/zwave-js-server-python/default.nix
···
buildPythonPackage rec {
pname = "zwave-js-server-python";
-
version = "0.61.0";
+
version = "0.62.0";
pyproject = true;
-
disabled = pythonOlder "3.11";
+
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "zwave-js-server-python";
tag = version;
-
hash = "sha256-bIo+Kggk8vQHtdey36WunhTR3x8nfySVaJOyZDzKXRk=";
+
hash = "sha256-V/YydWNSjZVvHeeDNMUTEtMQL6/oJvyXtTG/akELjEs=";
};
build-system = [ setuptools ];
+37 -6
pkgs/servers/home-assistant/component-packages.nix
···
# Do not edit!
{
-
version = "2025.3.4";
+
version = "2025.4.0";
components = {
"3_day_blinds" =
ps: with ps; [
···
"bond" =
ps: with ps; [
bond-async
+
];
+
"bosch_alarm" =
+
ps: with ps; [
+
bosch-alarm-mode2
];
"bosch_shc" =
ps: with ps; [
···
"foursquare" =
ps: with ps; [
];
+
"frankever" =
+
ps: with ps; [
+
];
"free_mobile" =
ps: with ps; [
]; # missing inputs: freesms
···
"homeassistant_green" =
ps: with ps; [
aiohasupervisor
+
ha-silabs-firmware-client
psutil-home-assistant
universal-silabs-flasher
];
"homeassistant_hardware" =
ps: with ps; [
aiohasupervisor
+
ha-silabs-firmware-client
universal-silabs-flasher
];
"homeassistant_sky_connect" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
+
ha-silabs-firmware-client
psutil-home-assistant
pyserial
universal-silabs-flasher
···
"homeassistant_yellow" =
ps: with ps; [
aiohasupervisor
+
ha-silabs-firmware-client
psutil-home-assistant
universal-silabs-flasher
];
···
jellyfin-apiclient-python
];
"jewish_calendar" =
-
ps: with ps; [
+
ps:
+
with ps;
+
[
hdate
-
];
+
]
+
++ hdate.optional-dependencies.astral;
"joaoapps_join" =
ps: with ps; [
]; # missing inputs: python-join-api
···
ps: with ps; [
linear-garage-door
];
+
"linkedgo" =
+
ps: with ps; [
+
];
"linkplay" =
ps: with ps; [
python-linkplay
···
ps: with ps; [
oemthermostat
];
+
"ogemray" =
+
ps: with ps; [
+
];
"ohmconnect" =
ps: with ps; [
defusedxml
···
ps: with ps; [
aiohasupervisor
aiousbwatcher
+
ha-silabs-firmware-client
ifaddr
pillow
psutil-home-assistant
···
"psoklahoma" =
ps: with ps; [
];
+
"pterodactyl" =
+
ps: with ps; [
+
py-dactyl
+
];
"pulseaudio_loopback" =
ps: with ps; [
pulsectl
···
"remote" =
ps: with ps; [
];
+
"remote_calendar" =
+
ps: with ps; [
+
ical
+
];
"remote_rpi_gpio" =
ps: with ps; [
gpiozero
···
];
"sunweg" =
ps: with ps; [
-
sunweg
];
"supervisord" =
ps: with ps; [
···
];
"zengge" =
ps: with ps; [
-
bluepy
-
]; # missing inputs: zengge
+
];
"zeroconf" =
ps: with ps; [
ifaddr
···
ps: with ps; [
aiohasupervisor
aiousbwatcher
+
ha-silabs-firmware-client
pillow
pyserial
universal-silabs-flasher
···
"bluetooth_le_tracker"
"bmw_connected_drive"
"bond"
+
"bosch_alarm"
"bosch_shc"
"braviatv"
"bring"
···
"prosegur"
"proximity"
"prusalink"
+
"pterodactyl"
"pure_energie"
"purpleair"
"push"
···
"reddit"
"refoss"
"remote"
+
"remote_calendar"
"renault"
"renson"
"reolink"
+2 -2
pkgs/servers/home-assistant/custom-components/emporia_vue/package.nix
···
buildHomeAssistantComponent rec {
owner = "magico13";
domain = "emporia_vue";
-
version = "0.10.1";
+
version = "0.10.2-pre";
src = fetchFromGitHub {
owner = "magico13";
repo = "ha-emporia-vue";
rev = "v${version}";
-
hash = "sha256-OfJvln80ek/+4PURk23REhIyUckAEZ+Ybb5rZyKs6h4=";
+
hash = "sha256-mXzgd0dFwnwFCG0+9825uOrYhv2SNuLAOO1Unq6Kw/w=";
};
dependencies = [
+2 -2
pkgs/servers/home-assistant/custom-components/ntfy/package.nix
···
buildHomeAssistantComponent rec {
owner = "hbrennhaeuser";
domain = "ntfy";
-
version = "1.2.0-pre.1";
+
version = "1.2.0-pre.2";
src = fetchFromGitHub {
inherit owner;
repo = "homeassistant_integration_ntfy";
rev = "v${version}";
-
hash = "sha256-cdqO8fwaEZzAEa7aVjV00OQYnmx0vJZqz7Nd9+MUHN8=";
+
hash = "sha256-ydWZ4ApYQ9kyMA5A2OGXG323/7H3fa2XPiOAFBZNM30=";
};
dependencies = [
+2 -2
pkgs/servers/home-assistant/custom-components/solax_modbus/package.nix
···
buildHomeAssistantComponent rec {
owner = "wills106";
domain = "solax_modbus";
-
version = "2025.02.1";
+
version = "2025.04.1";
src = fetchFromGitHub {
owner = "wills106";
repo = "homeassistant-solax-modbus";
tag = version;
-
hash = "sha256-xOW/jjBXw6N00yo1jE8ibU5XJ9drabBypVAL9UmNMVM=";
+
hash = "sha256-kX8poctK1Q7QZnpvkOisQ47jNzXJJ2nlB1fa+Pv4AFs=";
};
dependencies = [ pymodbus ];
+2 -2
pkgs/servers/home-assistant/custom-components/solis-sensor/package.nix
···
buildHomeAssistantComponent rec {
owner = "hultenvp";
domain = "solis";
-
version = "3.9.0";
+
version = "3.9.1";
src = fetchFromGitHub {
owner = "hultenvp";
repo = "solis-sensor";
rev = "v${version}";
-
hash = "sha256-RgsKIav3ozWYO9CXzvhMVmvOW74L/AHGOW8OWOMFBcQ=";
+
hash = "sha256-hiCgro2BDi1ZXxZu9E+m0wdHN0qnjlUvgv4pPmSb9j4=";
};
dependencies = [ aiofiles ];
+2 -2
pkgs/servers/home-assistant/custom-components/tuya_local/package.nix
···
buildHomeAssistantComponent rec {
owner = "make-all";
domain = "tuya_local";
-
version = "2025.2.2";
+
version = "2025.3.0";
src = fetchFromGitHub {
inherit owner;
repo = "tuya-local";
tag = version;
-
hash = "sha256-RwPbFIDXSXFzR2sck1EUvQL+1o8Ppb5clsIAHhYxX5o=";
+
hash = "sha256-CkH2Njv9qdGlnEo3RP64Lz4ys62W6DxYC/TSl/lndPI=";
};
dependencies = [
+2 -2
pkgs/servers/home-assistant/custom-components/yoto_ha/package.nix
···
buildHomeAssistantComponent rec {
owner = "cdnninja";
domain = "yoto";
-
version = "1.23.2";
+
version = "1.24.0";
src = fetchFromGitHub {
owner = "cdnninja";
repo = "yoto_ha";
tag = "v${version}";
-
hash = "sha256-RErsZGSoBhBGg852znZq6W8oDZmDDoPTZihUBhWCO5w=";
+
hash = "sha256-vlUPVKG6PAkQbROd/Pn5gf48/QWl2GAs3xGCnwX0ENU=";
};
dependencies = [
+3 -3
pkgs/servers/home-assistant/custom-lovelace-modules/clock-weather-card/package.nix
···
}:
stdenvNoCC.mkDerivation rec {
pname = "clock-weather-card";
-
version = "2.8.10";
+
version = "2.8.11";
src = fetchFromGitHub {
owner = "pkissling";
repo = "clock-weather-card";
tag = "v${version}";
-
hash = "sha256-ZmqtvA6kRkqkoRCBerLZXqRB1wwTF0jrc+KfigaE7Pw=";
+
hash = "sha256-CZ4tv6U94HbOJ0JwLgd8Fgw2BS6ayGVhqWBK9mJ6JEk=";
};
offlineCache = fetchYarnDeps {
yarnLock = src + "/yarn.lock";
-
hash = "sha256-Z9UZHsmaRjaf7fIDYhNmlLU2T1l1hlFKvyEahPK3Y3E=";
+
hash = "sha256-L/piPdtHFQORD3dnKG/2gnMQ2y3EXdlGMyl8yS0s7KA=";
};
nativeBuildInputs = [
+3 -3
pkgs/servers/home-assistant/custom-lovelace-modules/mini-graph-card/package.nix
···
buildNpmPackage rec {
pname = "mini-graph-card";
-
version = "0.12.1";
+
version = "0.13.0-dev.2";
src = fetchFromGitHub {
owner = "kalkih";
repo = "mini-graph-card";
tag = "v${version}";
-
hash = "sha256-cDgfAfS4U3ihN808KPcG+jEQR+S2Q1M5SPqOkkYwYkI=";
+
hash = "sha256-JpteGI9oR2twCTvEQ8xtb55EGQw//9EVuELh4BG0BE0=";
};
-
npmDepsHash = "sha256-v+DqUAMNtDruR8E0sy7uAu3jndZUHkOw2xKtpY163R8=";
+
npmDepsHash = "sha256-Mg58i0L1e1YwBd81WwVgB56P7EYaq3FnMysIrgu0+qQ=";
installPhase = ''
runHook preInstall
+27 -55
pkgs/servers/home-assistant/default.nix
···
});
google-genai = super.google-genai.overridePythonAttrs (old: rec {
-
version = "1.1.0";
+
version = "1.7.0";
src = fetchFromGitHub {
owner = "googleapis";
repo = "python-genai";
tag = "v${version}";
-
hash = "sha256-CszKr2dvo0dLMAD/FZHSosCczeAFDD0xxKysGNv4RxM=";
+
hash = "sha256-vmrFPE7H9s9varrP0s6WK4opoU1hREH7rVVjrKiXY5E=";
};
});
···
};
});
-
pyopenweathermap = super.pyopenweathermap.overridePythonAttrs (old: rec {
-
version = "0.2.1";
-
src = fetchFromGitHub {
-
owner = "freekode";
-
repo = "pyopenweathermap";
-
tag = "v${version}";
-
hash = "sha256-UcnELAJf0Ltf0xJOlyzsHb4HQGSBTJ+/mOZ/XSTkA0w=";
-
};
-
});
-
-
pyrail = super.pyrail.overridePythonAttrs (rec {
-
version = "0.0.3";
-
src = fetchPypi {
-
pname = "pyrail";
-
inherit version;
-
hash = "sha256-XxcVcRXMjYAKevANAqNJkGDUWfxDaLqgCL6XL9Lhsf4=";
-
};
-
env.CI_JOB_ID = version;
-
build-system = [ self.setuptools ];
-
dependencies = [ self.requests ];
-
});
-
# snmp component does not support pysnmp 7.0+
pysnmp = super.pysnmp.overridePythonAttrs (oldAttrs: rec {
version = "6.2.6";
···
};
});
+
wolf-comm = super.wolf-comm.overridePythonAttrs (rec {
+
version = "0.0.23";
+
src = fetchFromGitHub {
+
owner = "janrothkegel";
+
repo = "wolf-comm";
+
tag = version;
+
hash = "sha256-LpehooW3vmohiyMwOQTFNLiNCsaLKelWQxQk8bl+y1k=";
+
};
+
});
+
# internal python packages only consumed by home-assistant itself
hass-web-proxy-lib = self.callPackage ./python-modules/hass-web-proxy-lib { };
home-assistant-frontend = self.callPackage ./frontend.nix { };
···
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run update-component-packages.py after updating
-
hassVersion = "2025.3.4";
+
hassVersion = "2025.4.0";
in
python.pkgs.buildPythonApplication rec {
···
owner = "home-assistant";
repo = "core";
tag = version;
-
hash = "sha256-g1t9xAjrSSePyAloTQ2qwxAGEXJUTWX2zIZmAvlGGa8=";
+
hash = "sha256-AEJQueoHLp6xRFYVQ9cwSMFvlgwrMGJ1JUMnosk2qHg=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
-
hash = "sha256-MIh8FMTKZVEZ/zC+Av8fykTpz9kkXgZZfnsuOZbgP0M=";
+
hash = "sha256-wflwLkqTXaBh1flSVNJcA5KChipRCzZD7nb7VaK2EPM=";
};
build-system = with python.pkgs; [
setuptools
];
-
pythonRelaxDeps = [
-
"aiohttp"
-
"aiozoneinfo"
-
"attrs"
-
"bcrypt"
-
"ciso8601"
-
"cryptography"
-
"fnv-hash-fast"
-
"hass-nabucasa"
-
"httpx"
-
"jinja2"
-
"orjson"
-
"pillow"
-
"propcache"
-
"pyjwt"
-
"pyopenssl"
-
"pyyaml"
-
"requests"
-
"securetar"
-
"sqlalchemy"
-
"typing-extensions"
-
"ulid-transform"
-
"urllib3"
-
"uv"
-
"voluptuous-openapi"
-
"yarl"
-
"zeroconf"
-
];
+
pythonRelaxDeps = true;
# extract translations from pypi sdist
prePatch = ''
···
aiohttp-cors
aiohttp-fast-zlib
aiozoneinfo
+
annotatedyaml
astral
async-interrupt
atomicwrites-homeassistant
···
cronsim
cryptography
fnv-hash-fast
+
ha-ffmpeg
hass-nabucasa
+
hassil
home-assistant-bluetooth
+
home-assistant-intents
httpx
ifaddr
jinja2
lru-dict
+
mutagen
+
numpy
orjson
packaging
pillow
propcache
psutil-home-assistant
pyjwt
+
pymicro-vad
pyopenssl
+
pyspeex-noise
python-slugify
+
pyturbojpeg
pyyaml
requests
securetar
···
voluptuous
voluptuous-openapi
voluptuous-serialize
+
webrtc-models
yarl
+
zeroconf
# REQUIREMENTS in homeassistant/auth/mfa_modules/totp.py and homeassistant/auth/mfa_modules/notify.py
pyotp
pyqrcode
+2 -2
pkgs/servers/home-assistant/frontend.nix
···
# 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 = "20250306.0";
+
version = "20250401.0";
format = "wheel";
src = fetchPypi {
···
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
-
hash = "sha256-Nsh5zCyD72bjQ89BW5lmHdyWW9rxo+v2AW5fSOux/OA=";
+
hash = "sha256-EgNXMXVjGnNB4Q1U1HDXMNhJcMaVC9W1w2g4W83INOY=";
};
# there is nothing to strip in this package
+5 -2
pkgs/servers/home-assistant/intents.nix
···
buildPythonPackage rec {
pname = "home-assistant-intents";
-
version = "2025.3.5";
+
version = "2025.3.28";
pyproject = true;
disabled = pythonOlder "3.9";
···
repo = "intents-package";
rev = "refs/tags/${version}";
fetchSubmodules = true;
-
hash = "sha256-4FYmj6EqcNxPzXJVM0svyJIoeMSBnINNfvOda4B9Jic=";
+
hash = "sha256-p1AQYwlMas6GLzg4ZsypDaUsQs74drKqfXA8uJ2K+xw=";
};
build-system = [
···
pytestFlagsArray = [
"intents/tests"
];
+
+
# requires hassil 3.0.0, but Home Assistant is stuck on 2.2.3
+
doCheck = false;
meta = with lib; {
changelog = "https://github.com/home-assistant/intents/releases/tag/${version}";
+2 -2
pkgs/servers/home-assistant/pytest-homeassistant-custom-component.nix
···
buildPythonPackage rec {
pname = "pytest-homeassistant-custom-component";
-
version = "0.13.223";
+
version = "0.13.232";
pyproject = true;
disabled = pythonOlder "3.12";
···
owner = "MatthewFlamm";
repo = "pytest-homeassistant-custom-component";
rev = "refs/tags/${version}";
-
hash = "sha256-mt8byu88r76cVkZlu8LSiInm/jwboauo6YblY2aTulA=";
+
hash = "sha256-LHdkU89YzILPZFf/EgnCdPCG4tk1s5V7tpDsNtEaAak=";
};
build-system = [ setuptools ];
+2
pkgs/top-level/python-packages.nix
···
ha-philipsjs = callPackage ../development/python-modules/ha-philipsjs { };
+
ha-silabs-firmware-client = callPackage ../development/python-modules/ha-silabs-firmware-client { };
+
habanero = callPackage ../development/python-modules/habanero { };
habiticalib = callPackage ../development/python-modules/habiticalib { };