home-assistant: 2026.5.4 -> 2026.6.0 (#527384)

This commit is contained in:
Martin Weinelt
2026-06-04 17:11:26 +00:00
committed by GitHub
98 changed files with 1082 additions and 499 deletions
@@ -13,16 +13,16 @@
python-dateutil,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aioamazondevices";
version = "13.8.2";
version = "14.0.0";
pyproject = true;
src = fetchFromGitHub {
owner = "chemelli74";
repo = "aioamazondevices";
tag = "v${version}";
hash = "sha256-abmirmeDmGF7YuD2SDW9Dc549KeR2ESK1DmDm+uXWoU=";
tag = "v${finalAttrs.version}";
hash = "sha256-ZF3w5lg6NijVBkJKoItmblay90VzUsDqPVxk712sXRU=";
};
build-system = [ poetry-core ];
@@ -45,10 +45,10 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/chemelli74/aioamazondevices/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/chemelli74/aioamazondevices/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "Python library to control Amazon devices";
homepage = "https://github.com/chemelli74/aioamazondevices";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})
@@ -10,47 +10,45 @@
scapy,
# tests
blockbuster,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
writableTmpDirAsHomeHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aiodhcpwatcher";
version = "1.2.1";
version = "1.2.7";
pyproject = true;
src = fetchFromGitHub {
owner = "bdraco";
repo = "aiodhcpwatcher";
rev = "v${version}";
hash = "sha256-+BF3sBam8O9I4tY7QqnA4iNcJFsK9+imS8pY3N/v1HY=";
tag = "v${finalAttrs.version}";
hash = "sha256-a6svFLu0nmVVVVCg/evdmygTPj8VP+mjKTaaZGA0TQk=";
};
postPatch = ''
sed -i "/addopts =/d" pyproject.toml
'';
build-system = [ poetry-core ];
dependencies = [ scapy ];
nativeCheckInputs = [
blockbuster
pytest-asyncio
pytest-cov-stub
pytestCheckHook
writableTmpDirAsHomeHook
];
preCheck = ''
export HOME=$TMPDIR
'';
pythonImportsCheck = [ "aiodhcpwatcher" ];
meta = {
description = "Watch for DHCP packets with asyncio";
homepage = "https://github.com/bdraco/aiodhcpwatcher";
changelog = "https://github.com/bdraco/aiodhcpwatcher/blob/${src.rev}/CHANGELOG.md";
changelog = "https://github.com/bdraco/aiodhcpwatcher/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ hexa ];
platforms = lib.platforms.linux;
};
}
})
@@ -15,6 +15,7 @@
cryptography,
noiseprotocol,
protobuf,
tzdata,
tzlocal,
zeroconf,
@@ -26,19 +27,20 @@
buildPythonPackage (finalAttrs: {
pname = "aioesphomeapi";
version = "44.24.1"; # must track the major version that home-assistant pins
version = "45.3.1"; # must track the major version that home-assistant pins
pyproject = true;
src = fetchFromGitHub {
owner = "esphome";
repo = "aioesphomeapi";
tag = "v${finalAttrs.version}";
hash = "sha256-D2MJISyHz4s0Rk6wGMrYVJHfvA/Xbw2UEp2KqTqS2nA=";
hash = "sha256-+8P6OL+4Y+qrKLYqXtjBL2ylcamsF24Ccn00Vt9ohD0=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=82.0.1" setuptools
--replace-fail "setuptools>=82.0.1" setuptools \
--replace-fail "Cython>=3.2.5" Cython
'';
build-system = [
@@ -46,7 +48,10 @@ buildPythonPackage (finalAttrs: {
cython
];
pythonRelaxDeps = [ "cryptography" ];
pythonRelaxDeps = [
"aiohappyeyeballs"
"cryptography"
];
dependencies = [
aiohappyeyeballs
@@ -55,6 +60,7 @@ buildPythonPackage (finalAttrs: {
cryptography
noiseprotocol
protobuf
tzdata
tzlocal
zeroconf
];
@@ -13,14 +13,14 @@
buildPythonPackage rec {
pname = "aiohttp-asyncmdnsresolver";
version = "0.1.1";
version = "0.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "aio-libs";
repo = "aiohttp-asyncmdnsresolver";
rev = "v${version}";
hash = "sha256-gtB5vnlOVeAFACnhR5DIS5p3caZkOXrollXFINl/7hQ=";
hash = "sha256-wqeWK7IoX2o+4Cmjq9nKh3rod0Y2C5dxP0Cju9Uk6hE=";
};
build-system = [ setuptools ];
@@ -15,16 +15,16 @@
zeroconf,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "aioshelly";
version = "13.25.0";
version = "13.26.1";
pyproject = true;
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "aioshelly";
tag = version;
hash = "sha256-BZsuvYtP2tuRb3QGN09lwTXadMKqM1TLPKEQU5+qz6w=";
tag = finalAttrs.version;
hash = "sha256-mOqHHgyx1Eevhr8BHkfFQa7g6x7vt9KJe4E72fr9HPg=";
};
build-system = [ setuptools ];
@@ -50,8 +50,8 @@ buildPythonPackage rec {
meta = {
description = "Python library to control Shelly";
homepage = "https://github.com/home-assistant-libs/aioshelly";
changelog = "https://github.com/home-assistant-libs/aioshelly/releases/tag/${src.tag}";
changelog = "https://github.com/home-assistant-libs/aioshelly/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -18,7 +18,7 @@
buildPythonPackage (finalAttrs: {
pname = "aiounifi";
version = "90";
version = "91";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -27,13 +27,13 @@ buildPythonPackage (finalAttrs: {
owner = "Kane610";
repo = "aiounifi";
tag = "v${finalAttrs.version}";
hash = "sha256-xM2x4SwVav2gsuG0G1hJjg4AcdsuCYf3O1fma++EYow=";
hash = "sha256-E98qUl+LpWCz33crrlrYF3aQBqioT0uPANKUYif7zFo=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools==82.0.1" "setuptools" \
--replace-fail "wheel==0.46.3" "wheel"
--replace-fail "wheel==0.47.0" "wheel"
'';
build-system = [ setuptools ];
@@ -15,7 +15,7 @@
buildPythonPackage (finalAttrs: {
pname = "axis";
version = "71";
version = "72";
pyproject = true;
disabled = pythonOlder "3.14";
@@ -24,7 +24,7 @@ buildPythonPackage (finalAttrs: {
owner = "Kane610";
repo = "axis";
tag = "v${finalAttrs.version}";
hash = "sha256-2CMfKpXd2u2cNTyCc4xxHcjYhR9oBRiccT7dcfY4DcA=";
hash = "sha256-xNqV3j7fQ+FmOZavVdV907m1ndAhk5HWIV5xE/a8hFI=";
};
postPatch = ''
@@ -12,22 +12,22 @@
zigpy,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bellows";
version = "0.49.1";
version = "0.49.2";
pyproject = true;
src = fetchFromGitHub {
owner = "zigpy";
repo = "bellows";
tag = version;
hash = "sha256-dt4cwew/jRpmXaZORfjNCivUMynFbRJITOnmP34Aq+I=";
tag = finalAttrs.version;
hash = "sha256-upnlzuzkogMwcAkOd98NZrBHv9pmcPsYIgR7j6It54c=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"setuptools-git-versioning<2"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
--replace-fail 'dynamic = ["version"]' 'version = "${finalAttrs.version}"'
'';
build-system = [ setuptools ];
@@ -50,9 +50,9 @@ buildPythonPackage rec {
meta = {
description = "Python module to implement EZSP for EmberZNet devices";
homepage = "https://github.com/zigpy/bellows";
changelog = "https://github.com/zigpy/bellows/releases/tag/${src.tag}";
changelog = "https://github.com/zigpy/bellows/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ mvnetbiz ];
mainProgram = "bellows";
};
}
})
@@ -19,14 +19,14 @@
buildPythonPackage (finalAttrs: {
pname = "bleak-esphome";
version = "3.7.5";
version = "3.9.1";
pyproject = true;
src = fetchFromGitHub {
owner = "bluetooth-devices";
repo = "bleak-esphome";
tag = "v${finalAttrs.version}";
hash = "sha256-ZV7C+ohEbRXYpAUmZ4wVbv8Ng4eZcLofc+o9Q5Rqp2E=";
hash = "sha256-6qwg6jI9zFf3x0Yfp03C62f+LMO/RIDju+/ykoiOCI4=";
};
postPatch = ''
@@ -1,27 +1,28 @@
{
lib,
stdenv,
bleak,
blockbuster,
bluetooth-adapters,
dbus-fast,
buildPythonPackage,
dbus-fast,
fetchFromGitHub,
poetry-core,
pytestCheckHook,
pytest-asyncio,
pytest-cov-stub,
stdenv,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bleak-retry-connector";
version = "4.6.0";
version = "4.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bleak-retry-connector";
tag = "v${version}";
hash = "sha256-wUfIP0UHL60AAq38j4Kc2enTccdhT7aaSrXWJ1y5+7I=";
tag = "v${finalAttrs.version}";
hash = "sha256-SGQ+9HjD6VhxZwmjh1K/EHbUIFE/bbtLBwmauU/IEJM=";
};
build-system = [ poetry-core ];
@@ -35,6 +36,7 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
blockbuster
pytest-asyncio
pytest-cov-stub
pytestCheckHook
@@ -48,8 +50,8 @@ buildPythonPackage rec {
meta = {
description = "Connector for Bleak Clients that handles transient connection failures";
homepage = "https://github.com/bluetooth-devices/bleak-retry-connector";
changelog = "https://github.com/Bluetooth-Devices/bleak-retry-connector/releases/tag/${src.tag}";
changelog = "https://github.com/Bluetooth-Devices/bleak-retry-connector/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -1,41 +1,35 @@
{
lib,
stdenv,
buildPythonPackage,
fetchFromGitHub,
bluez,
pythonOlder,
# build-system
poetry-core,
# dependencies
buildPythonPackage,
bumble,
dbus-fast,
fetchFromGitHub,
pyobjc-core,
pyobjc-framework-CoreBluetooth,
pyobjc-framework-libdispatch,
typing-extensions,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
uv-build,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bleak";
version = "2.1.1";
version = "3.0.2";
pyproject = true;
src = fetchFromGitHub {
owner = "hbldh";
repo = "bleak";
tag = "v${version}";
hash = "sha256-zplCwm0LxDTbNvjWK6VYEFe0Azd2ginkoPZpV7Tpv20=";
tag = "v${finalAttrs.version}";
hash = "sha256-I+nN3/KKF0PC9TO8SULXX1oOGUokYa2tlPVfEJ/0mbY=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "uv_build>=0.10.9,<0.11.0" "uv_build" \
--replace-fail "ignore:Couldn't import C tracer:coverage.exceptions.CoverageWarning" ""
''
# bleak checks BlueZ's version with a call to `bluetoothctl --version`
@@ -46,7 +40,7 @@ buildPythonPackage rec {
'"${lib.getExe' bluez "bluetoothctl"}"'
'';
build-system = [ poetry-core ];
build-system = [ uv-build ];
dependencies = [
]
@@ -57,9 +51,6 @@ buildPythonPackage rec {
pyobjc-core
pyobjc-framework-CoreBluetooth
pyobjc-framework-libdispatch
]
++ lib.optionals (pythonOlder "3.12") [
typing-extensions
];
nativeCheckInputs = [
@@ -74,9 +65,9 @@ buildPythonPackage rec {
meta = {
description = "Bluetooth Low Energy platform agnostic client";
homepage = "https://github.com/hbldh/bleak";
changelog = "https://github.com/hbldh/bleak/blob/${src.tag}/CHANGELOG.rst";
changelog = "https://github.com/hbldh/bleak/blob/${finalAttrs.src.tag}/CHANGELOG.rst";
license = lib.licenses.mit;
platforms = lib.platforms.linux ++ lib.platforms.darwin;
maintainers = [ ];
};
}
})
@@ -19,16 +19,16 @@
usb-devices,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bluetooth-adapters";
version = "2.1.1";
version = "2.3.0";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bluetooth-adapters";
tag = "v${version}";
hash = "sha256-M9Me+fTaw//wGVd9Ss9iYB7RMgfkxJZz2lT60lHe3Vg=";
tag = "v${finalAttrs.version}";
hash = "sha256-r/qDwlIVa7VBkhepmuFqwtlJ7WYUTiYRKikhURTgLH8=";
};
outputs = [
@@ -68,8 +68,8 @@ buildPythonPackage rec {
meta = {
description = "Tools to enumerate and find Bluetooth Adapters";
homepage = "https://github.com/Bluetooth-Devices/bluetooth-adapters";
changelog = "https://github.com/Bluetooth-Devices/bluetooth-adapters/releases/tag/${src.tag}";
changelog = "https://github.com/Bluetooth-Devices/bluetooth-adapters/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.asl20;
teams = [ lib.teams.home-assistant ];
};
}
})
@@ -12,16 +12,16 @@
usb-devices,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bluetooth-auto-recovery";
version = "1.5.3";
version = "1.6.4";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bluetooth-auto-recovery";
tag = "v${version}";
hash = "sha256-xnEEq3NVScMbMjZWb4lI+kpy2zr6WlXx3XcBhzN1rZ4=";
tag = "v${finalAttrs.version}";
hash = "sha256-fb83M2V4q4ncmIIMM6BhNDBg8DSjBmYNE+4Qj22wTEE=";
};
build-system = [ poetry-core ];
@@ -44,8 +44,8 @@ buildPythonPackage rec {
meta = {
description = "Library for recovering Bluetooth adapters";
homepage = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery";
changelog = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/blob/v${version}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -11,16 +11,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "bluetooth-data-tools";
version = "1.28.4";
version = "1.29.18";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "bluetooth-data-tools";
tag = "v${version}";
hash = "sha256-IAGlM1B/PAPyaBIfHG3RScn8odboZMg3YmQJSfoyKR4=";
tag = "v${finalAttrs.version}";
hash = "sha256-hY0b9wJa9qBVDJ+Ve0KhX8TXx770Ep+3sp6+UQrYgJI=";
};
# The project can build both an optimized cython version and an unoptimized
@@ -46,8 +46,8 @@ buildPythonPackage rec {
meta = {
description = "Library for converting bluetooth data and packets";
homepage = "https://github.com/Bluetooth-Devices/bluetooth-data-tools";
changelog = "https://github.com/Bluetooth-Devices/bluetooth-data-tools/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/bluetooth-data-tools/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -28,14 +28,14 @@
buildPythonPackage rec {
pname = "bumble";
version = "0.0.228";
version = "0.0.229";
pyproject = true;
src = fetchFromGitHub {
owner = "google";
repo = "bumble";
tag = "v${version}";
hash = "sha256-wvs6Pod2eub9SOQAgcU+SahSykVvCe7SBV6i10w6Y7Q=";
hash = "sha256-sc4cUYfhHLc4sHGVfLkn1Zqmu0Tlpytkbit9ieQjNHE=";
};
build-system = [
@@ -12,16 +12,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "cookidoo-api";
version = "0.15.0";
version = "0.17.2";
pyproject = true;
src = fetchFromGitHub {
owner = "miaucl";
repo = "cookidoo-api";
tag = version;
hash = "sha256-oMosKW6MjeKPqSjF0+dc7CrNp4/5qlRoEY01HZ4sqog=";
tag = finalAttrs.version;
hash = "sha256-3o+UZmS2Mfymqgl7qa1MSani2O/fiEfvQ0GQp7MBOOg=";
};
build-system = [ setuptools ];
@@ -42,10 +42,10 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/miaucl/cookidoo-api/releases/tag/${src.tag}";
changelog = "https://github.com/miaucl/cookidoo-api/releases/tag/${finalAttrs.src.tag}";
description = "Unofficial package to access Cookidoo";
homepage = "https://github.com/miaucl/cookidoo-api";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})
@@ -13,16 +13,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "dbus-fast";
version = "4.0.4";
version = "5.0.17";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "dbus-fast";
tag = "v${version}";
hash = "sha256-lfAG17R33YsU8HYbnM9te0H7YoVUUpB6TtqQrWbhR6Q=";
tag = "v${finalAttrs.version}";
hash = "sha256-wZ4ufGua56weOuaOkyjBIzDex/gjmLeAczYzeLQRFwo=";
};
postPatch = ''
@@ -69,8 +69,8 @@ buildPythonPackage rec {
meta = {
description = "Faster version of dbus-next";
homepage = "https://github.com/bluetooth-devices/dbus-fast";
changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/${src.tag}";
changelog = "https://github.com/Bluetooth-Devices/dbus-fast/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -3,25 +3,23 @@
buildPythonPackage,
dlms-cosem,
fetchFromGitHub,
pyserial,
pyserial-asyncio-fast,
pytestCheckHook,
pythonAtLeast,
pytz,
serialx,
setuptools,
tailer,
}:
buildPythonPackage (finalAttrs: {
pname = "dsmr-parser";
version = "1.5";
version = "1.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "ndokter";
repo = "dsmr_parser";
tag = "v.${finalAttrs.version}";
hash = "sha256-+dv9V06o1kI6pX/Bq05JmUUvW+KoqauLaWqY6xhs6PE=";
tag = "v${finalAttrs.version}";
hash = "sha256-AnOnyvqmRRWYwJTeBLGgLSJT0/hkMXTmJQe8EJ6myFA=";
};
pythonRelaxDeps = [ "dlms_cosem" ];
@@ -30,16 +28,12 @@ buildPythonPackage (finalAttrs: {
dependencies = [
dlms-cosem
pyserial
pyserial-asyncio-fast
pytz
serialx
tailer
];
nativeCheckInputs = [ pytestCheckHook ];
disabledTests = lib.optionals (pythonAtLeast "3.12") [ "test_receive_packet" ];
pythonImportsCheck = [ "dsmr_parser" ];
meta = {
@@ -2,34 +2,49 @@
lib,
buildPythonPackage,
fetchFromGitHub,
hatchling,
numpy,
pillow,
pytestCheckHook,
rustPlatform,
}:
buildPythonPackage (finalAttrs: {
pname = "epaper-dithering";
version = "0.6.4";
version = "5.0.6";
pyproject = true;
src = fetchFromGitHub {
owner = "OpenDisplay";
repo = "epaper-dithering";
tag = "python-v${finalAttrs.version}";
hash = "sha256-GWILjyzPg5mCDQ6jQw5o3v+gkbdxiHzSSVQkW3dC01I=";
tag = "epaper-dithering-v${finalAttrs.version}";
hash = "sha256-8xkgKOHS68aQWrJLNwUusZzXK7oAyjDvxd9c5aUDA84=";
};
sourceRoot = "${finalAttrs.src.name}/packages/python";
build-system = [ hatchling ];
cargoDeps = rustPlatform.fetchCargoVendor {
inherit (finalAttrs)
pname
version
src
sourceRoot
;
hash = "sha256-RBOULCydXgTR8Snc1cecvW4KqGDLYjZsYwlJovuvN2I=";
};
nativeBuildInputs = [
rustPlatform.cargoSetupHook
rustPlatform.maturinBuildHook
];
dependencies = [
numpy
pillow
];
nativeCheckInputs = [ pytestCheckHook ];
nativeCheckInputs = [
numpy
pytestCheckHook
];
pythonImportsCheck = [ "epaper_dithering" ];
@@ -11,16 +11,16 @@
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "fnv-hash-fast";
version = "2.0.2";
version = "2.0.3";
pyproject = true;
src = fetchFromGitHub {
owner = "bdraco";
repo = "fnv-hash-fast";
tag = "v${version}";
hash = "sha256-wfiOI23LzdoTYl5/Wr/+3qvcJ3ce9ZrfETQXX1g6eIU=";
tag = "v${finalAttrs.version}";
hash = "sha256-yDEgVNaSqZ1AJivpkpinZznKlPEXH6mjXBe5aVp/3hQ=";
};
build-system = [
@@ -42,8 +42,8 @@ buildPythonPackage rec {
meta = {
description = "Fast version of fnv1a";
homepage = "https://github.com/bdraco/fnv-hash-fast";
changelog = "https://github.com/bdraco/fnv-hash-fast/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/fnv-hash-fast/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ hexa ];
};
}
})
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "growattserver";
version = "1.9.0";
version = "2.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "indykoning";
repo = "PyPi_GrowattServer";
tag = finalAttrs.version;
hash = "sha256-CTIc+LROas7RGf9BzGl8hasS512LsNXcDnzLu0DD+Bk=";
hash = "sha256-MRxNPyvIlMafJYhjMNirb0cqppJYr9MUR7FxjhqQsyY=";
};
build-system = [ setuptools ];
@@ -12,14 +12,14 @@
buildPythonPackage (finalAttrs: {
pname = "ha-garmin";
version = "0.1.23";
version = "0.1.25";
pyproject = true;
src = fetchFromGitHub {
owner = "cyberjunky";
repo = "ha-garmin";
tag = "v${finalAttrs.version}";
hash = "sha256-0x7+pABt0i9QFty/i8IeU2CLmDUQiw16pYZ1Wr7CARI=";
hash = "sha256-j2AGMfSeLxyqwaILuJaKmnRvIgHoc9Q7BOQLzsTVNts=";
};
build-system = [ setuptools ];
@@ -18,16 +18,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "habluetooth";
version = "6.1.0";
version = "6.8.1";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "habluetooth";
tag = "v${version}";
hash = "sha256-/A+7u8mMZMiloHz0fnlQAQDe7DcrgFBU0IOaZJEdkKo=";
tag = "v${finalAttrs.version}";
hash = "sha256-a6qYBCN4nlJ0KRqGSbE6D5YySrvhi2kqAArMKa5A6sM=";
};
build-system = [
@@ -58,8 +58,8 @@ buildPythonPackage rec {
meta = {
description = "Library for high availability Bluetooth";
homepage = "https://github.com/Bluetooth-Devices/habluetooth";
changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/habluetooth/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -15,14 +15,14 @@
buildPythonPackage (finalAttrs: {
pname = "imgw-pib";
version = "2.1.2";
version = "2.2.0";
pyproject = true;
src = fetchFromGitHub {
owner = "bieniu";
repo = "imgw-pib";
tag = finalAttrs.version;
hash = "sha256-xCT/umB84iAyj7w9rY8KgOcE6nkuburIljhTU1aiYMk=";
hash = "sha256-VAmRrcTTNro8J/+25YeHII7jpw2BI87FNeDIo5ATOjQ=";
};
build-system = [ setuptools ];
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "indevolt-api";
version = "1.6.5";
version = "1.8.3";
pyproject = true;
src = fetchFromGitHub {
owner = "Xirt";
repo = "indevolt-api";
tag = "v${finalAttrs.version}";
hash = "sha256-Fhi9+6nWt7upUuA045SwPCwWevZDZTWnTiTBHsaR9W4=";
hash = "sha256-AHW4fh9Smfu2wW6zhIbTHbUm1RHGzgaAMEFolq+19dA=";
};
build-system = [ setuptools ];
@@ -8,14 +8,14 @@
buildPythonPackage (finalAttrs: {
pname = "infrared-protocols";
version = "2.1.0";
version = "5.8.1";
pyproject = true;
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "infrared-protocols";
tag = finalAttrs.version;
hash = "sha256-TAeqDCuLSuzAOq2bsHTMYjQ1AyKDRQSAq8cC8oSfY1E=";
hash = "sha256-CSVnH+U/dqp5vjA4eWEJEFT0LZgaAG3OC1rcgyKIcJE=";
};
build-system = [ setuptools ];
@@ -12,16 +12,16 @@
sensor-state-data,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "inkbird-ble";
version = "1.3.0";
version = "1.4.4";
pyproject = true;
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = "inkbird-ble";
tag = "v${version}";
hash = "sha256-e5bRq4XIcHaAAUXxdBeaZMNPDRWlS1QeD/9v7W0QeB4=";
tag = "v${finalAttrs.version}";
hash = "sha256-URmWIsWoPctuYtSLeX8AU4ml6o9c5BH6YgqCINppQdk=";
};
build-system = [ poetry-core ];
@@ -44,8 +44,8 @@ buildPythonPackage rec {
meta = {
description = "Library for Inkbird BLE devices";
homepage = "https://github.com/Bluetooth-Devices/inkbird-ble";
changelog = "https://github.com/Bluetooth-Devices/inkbird-ble/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/Bluetooth-Devices/inkbird-ble/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -1,5 +1,6 @@
{
aiohttp,
aiohttp-sse-client,
aioresponses,
buildPythonPackage,
fetchFromGitHub,
@@ -10,22 +11,23 @@
yarl,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "iometer";
version = "0.4.0";
version = "1.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "iometer-gmbh";
repo = "iometer.py";
tag = "v${version}";
hash = "sha256-FO9IwBXGIBh522JaaATjxo93zbGwnB+Y9dy7724d1Rw=";
tag = finalAttrs.version;
hash = "sha256-ksf/nZHv4/JRHo5OrFp6lgPF62DD37ELFfUVkL+TDEo=";
};
build-system = [ poetry-core ];
dependencies = [
aiohttp
aiohttp-sse-client
yarl
];
@@ -42,10 +44,10 @@ buildPythonPackage rec {
];
meta = {
changelog = "https://github.com/iometer-gmbh/iometer.py/releases/tag/${src.tag}";
changelog = "https://github.com/iometer-gmbh/iometer.py/releases/tag/${finalAttrs.src.tag}";
description = "Python client for interacting with IOmeter devices over HTTP";
homepage = "https://github.com/iometer-gmbh/iometer.py";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})
@@ -1,31 +0,0 @@
{
lib,
buildPythonPackage,
fetchPypi,
aiohttp,
}:
buildPythonPackage rec {
pname = "konnected";
version = "1.2.0";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "b8b4e15c3228b01c9fad3651e09fea1654357ae8c333096e759a1b7d0eb4e789";
};
propagatedBuildInputs = [ aiohttp ];
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "konnected" ];
meta = {
description = "Async Python library for interacting with Konnected home automation controllers";
homepage = "https://github.com/konnected-io/konnected-py";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
@@ -3,22 +3,23 @@
aiomqtt,
buildPythonPackage,
fetchFromGitHub,
freezegun,
lib,
poetry-core,
pytest-asyncio,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "letpot";
version = "0.6.4";
version = "0.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jpelgrom";
repo = "python-letpot";
tag = "v${version}";
hash = "sha256-ayNgRJb+/hfxxfLQv+RyKiOaYHK50ZrROeeDAsAGCVE=";
tag = "v${finalAttrs.version}";
hash = "sha256-w4WS0AyNd4dNtA/fBKieDW2YXwBFltRkJvaGemRjsv4=";
};
build-system = [ poetry-core ];
@@ -31,15 +32,16 @@ buildPythonPackage rec {
pythonImportsCheck = [ "letpot" ];
nativeCheckInputs = [
freezegun
pytest-asyncio
pytestCheckHook
];
meta = {
changelog = "https://github.com/jpelgrom/python-letpot/releases/tag/${src.tag}";
changelog = "https://github.com/jpelgrom/python-letpot/releases/tag/${finalAttrs.src.tag}";
description = "Asynchronous Python client for LetPot hydroponic gardens";
homepage = "https://github.com/jpelgrom/python-letpot";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})
@@ -0,0 +1,60 @@
{
lib,
buildPythonPackage,
fetchFromGitHub,
pythonOlder,
setuptools,
aiohttp,
bleak,
pytest-asyncio,
pytest-aiohttp,
pytestCheckHook,
}:
buildPythonPackage (finalAttrs: {
pname = "matter-ble-proxy";
version = "0.8.0";
pyproject = true;
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "matter-js";
repo = "matterjs-server";
tag = "v${finalAttrs.version}";
hash = "sha256-AjCfPovhYKUeU4Xrsh6uL0pPG+ja0n+efFTbwre83m4=";
};
sourceRoot = "${finalAttrs.src.name}/python_ble_proxy";
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'version = "0.0.0"' 'version = "${finalAttrs.version}"'
'';
build-system = [ setuptools ];
dependencies = [
aiohttp
bleak
];
nativeCheckInputs = [
pytest-asyncio
pytest-aiohttp
pytestCheckHook
];
pythonImportsCheck = [ "matter_ble_proxy" ];
__structuredAttrs = true;
meta = {
description = "Client library for the OHF Matter Server BLE proxy protocol";
homepage = "https://github.com/matter-js/matterjs-server/tree/main/python_ble_proxy";
changelog = "https://github.com/matter-js/matterjs-server/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ hexa ];
mainProgram = "matter-ble-proxy";
};
})
@@ -19,14 +19,14 @@
buildPythonPackage (finalAttrs: {
pname = "matter-python-client";
version = "0.6.8";
version = "0.8.0";
pyproject = true;
src = fetchFromGitHub {
owner = "matter-js";
repo = "matterjs-server";
tag = "v${finalAttrs.version}";
hash = "sha256-EfngXyT802jG6zjCpOIUwKZG4MUJ/DLIsIHDEwwQ+XI=";
hash = "sha256-AjCfPovhYKUeU4Xrsh6uL0pPG+ja0n+efFTbwre83m4=";
};
sourceRoot = "${finalAttrs.src.name}/python_client";
@@ -61,6 +61,7 @@ buildPythonPackage (finalAttrs: {
];
meta = {
changelog = "https://github.com/matter-js/matterjs-server/blob/${finalAttrs.src.tag}/CHANGELOG.md";
description = "Python Client for the OHF Matter Server";
homepage = "https://github.com/matter-js/matterjs-server/tree/main/python_client";
license = lib.licenses.asl20;
@@ -9,18 +9,23 @@
zeep,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "onvif-zeep-async";
version = "4.0.4";
version = "4.1.1";
pyproject = true;
src = fetchFromGitHub {
owner = "openvideolibs";
repo = "python-onvif-zeep-async";
tag = "v${version}";
hash = "sha256-IZ48CB4+C+XS/Qt51hohurdQoJ1uANus/PodtZ9ZpCY=";
tag = "v${finalAttrs.version}";
hash = "sha256-RpQakXzJ52OkKZP2RTabpCTFRC+JeNqURI3+Nz3Kips=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "setuptools>=82.0.1" setuptools
'';
build-system = [ setuptools ];
dependencies = [
@@ -39,9 +44,9 @@ buildPythonPackage rec {
meta = {
description = "ONVIF Client Implementation in Python";
homepage = "https://github.com/hunterjm/python-onvif-zeep-async";
changelog = "https://github.com/openvideolibs/python-onvif-zeep-async/releases/tag/${src.tag}";
changelog = "https://github.com/openvideolibs/python-onvif-zeep-async/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
mainProgram = "onvif-cli";
};
}
})
@@ -15,14 +15,14 @@
buildPythonPackage (finalAttrs: {
pname = "py-opendisplay";
version = "5.9.0";
version = "7.2.3";
pyproject = true;
src = fetchFromGitHub {
owner = "OpenDisplay";
repo = "py-opendisplay";
tag = "v${finalAttrs.version}";
hash = "sha256-7YR+VPCsmuDJaWdToCytg8zsIDkKVRiQnVlmWtBzqrA=";
hash = "sha256-ByLbrsIbyCHNvzJuMy7kat6gWoU8Bb42adH03CH+G+g=";
};
build-system = [ hatchling ];
@@ -17,14 +17,14 @@
buildPythonPackage rec {
pname = "pyatmo";
version = "9.2.3";
version = "9.4.0";
pyproject = true;
src = fetchFromGitHub {
owner = "jabesq";
repo = "pyatmo";
tag = "v${version}";
hash = "sha256-czHn5pgiyQwn+78NQnJDo49knstL9m2Gp3neZeb75js=";
hash = "sha256-VW4whif1l7nY1Ifwn/NHJrDbYNeroJRWQtO47dOfEAo=";
};
pythonRelaxDeps = [
@@ -11,14 +11,14 @@
buildPythonPackage rec {
pname = "pyisy";
version = "3.4.1";
version = "3.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "automicus";
repo = "PyISY";
tag = "v${version}";
hash = "sha256-9gGrrFh5xCuX4GjF6a6RRGkpF/rH07Zz0nyKvgwgEkU=";
hash = "sha256-KEjiMmD4mY1sG/vRo1QINQw31jk8MNV6m13fU2ENmJM=";
};
postPatch = ''
@@ -16,14 +16,14 @@
buildPythonPackage rec {
pname = "pylamarzocco";
version = "2.2.4";
version = "2.2.5";
pyproject = true;
src = fetchFromGitHub {
owner = "zweckj";
repo = "pylamarzocco";
tag = "v${version}";
hash = "sha256-u7B+19LtFN8ylNKZn7wv9SH3j6k1/cLyvIw8EOVfvho=";
hash = "sha256-Pcuhg48j/sbGKzk5sbMAFY9I3NDkKNt2nNn+O4dMjvw=";
};
build-system = [ setuptools ];
@@ -6,16 +6,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pyrisco";
version = "0.6.8";
version = "0.7.0";
pyproject = true;
src = fetchFromGitHub {
owner = "OnFreund";
repo = "pyrisco";
tag = "v${version}";
hash = "sha256-H55FoOTM6XEU47XLq4jksMW1tbmYCAdTDKY8Ag55Y3M=";
tag = "v${finalAttrs.version}";
hash = "sha256-moFKikAIBLWfkpADjNKqZd3jAg5LPapubB1pGmx8OPo=";
};
build-system = [ setuptools ];
@@ -30,8 +30,8 @@ buildPythonPackage rec {
meta = {
description = "Python interface to Risco alarm systems through Risco Cloud";
homepage = "https://github.com/OnFreund/pyrisco";
changelog = "https://github.com/OnFreund/pyrisco/releases/tag/v${version}";
changelog = "https://github.com/OnFreund/pyrisco/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -1,13 +1,12 @@
{
lib,
aiohttp,
aiohttp-sse-client2,
aioresponses,
buildPythonPackage,
fetchFromGitHub,
mashumaro,
orjson,
poetry-core,
hatchling,
pytest-asyncio,
pytest-cov-stub,
pytestCheckHook,
@@ -16,25 +15,24 @@
yarl,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pysmartthings";
version = "3.7.3";
version = "4.0.0";
pyproject = true;
disabled = pythonOlder "3.12";
disabled = pythonOlder "3.13";
src = fetchFromGitHub {
owner = "andrewsayre";
repo = "pysmartthings";
tag = "v${version}";
hash = "sha256-Z3E+7z/4P08OI/pgMe0g5vnzfNLLTd712jFdUqgBFXc=";
tag = "v${finalAttrs.version}";
hash = "sha256-ls+b37/m20CHVerl5wb6LIH0ttuN7H8Mr8cKNdk2+t0=";
};
build-system = [ poetry-core ];
build-system = [ hatchling ];
dependencies = [
aiohttp
aiohttp-sse-client2
mashumaro
orjson
yarl
@@ -53,8 +51,8 @@ buildPythonPackage rec {
meta = {
description = "Python library for interacting with the SmartThings cloud API";
homepage = "https://github.com/andrewsayre/pysmartthings";
changelog = "https://github.com/andrewsayre/pysmartthings/releases/tag/${src.tag}";
changelog = "https://github.com/andrewsayre/pysmartthings/releases/tag/${finalAttrs.src.tag}";
license = with lib.licenses; [ mit ];
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -3,21 +3,21 @@
aiohttp,
bitstring,
buildPythonPackage,
fetchFromGitHub,
fetchFromCodeberg,
poetry-core,
pyserial-asyncio-fast,
serialx,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pysml";
version = "0.1.5";
version = "0.1.8";
pyproject = true;
src = fetchFromGitHub {
owner = "mtdcr";
src = fetchFromCodeberg {
owner = "obi";
repo = "pysml";
tag = version;
hash = "sha256-cJOf+O/Q+CfX26XQixHEZ/+N7+YsoPadxk/0Zeob2f8=";
tag = finalAttrs.version;
hash = "sha256-EdFpRQar5C40GCficd+JH/hcumn9YOdkviONG39HdlE=";
};
build-system = [ poetry-core ];
@@ -25,7 +25,7 @@ buildPythonPackage rec {
dependencies = [
aiohttp
bitstring
pyserial-asyncio-fast
serialx
];
# Module has no tests
@@ -35,9 +35,8 @@ buildPythonPackage rec {
meta = {
description = "Python library for EDL21 smart meters using Smart Message Language (SML)";
homepage = "https://github.com/mtdcr/pysml";
changelog = "https://github.com/mtdcr/pysml/releases/tag/${src.tag}";
homepage = "https://codeberg.org/obi/pysml";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -2,7 +2,7 @@
lib,
aiohttp,
aresponses,
backoff,
python-backoff,
buildPythonPackage,
fetchFromGitHub,
hatchling,
@@ -19,14 +19,14 @@
buildPythonPackage (finalAttrs: {
pname = "python-bsblan";
version = "5.2.1";
version = "6.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "liudger";
repo = "python-bsblan";
tag = "v${finalAttrs.version}";
hash = "sha256-wK6r1fWXpbPVpUqLaLRjKKB2beXftdHujRL4pq3bhjc=";
hash = "sha256-4ds/zYedmdLA7zLe2KoJ4DMzHJC8459KjZIJlHrfWEQ=";
};
postPatch = ''
@@ -40,9 +40,9 @@ buildPythonPackage (finalAttrs: {
dependencies = [
aiohttp
backoff
packaging
pydantic
python-backoff
yarl
];
@@ -1,20 +1,23 @@
{
lib,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
setuptools,
flask,
requests,
yarl,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "python-join-api";
version = "0.0.9";
version = "0.1.1";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-FGqOqOd9VVH9hxMqYH7M10W+g5tpImxs+K4AHJJZRaE=";
src = fetchFromGitHub {
owner = "nkgilley";
repo = "python-join-api";
tag = finalAttrs.version;
hash = "sha256-sT/IS7UshXSVaonegvcn4u2a8CNCRiiovcQ8uAyfU1Q=";
};
build-system = [ setuptools ];
@@ -22,6 +25,7 @@ buildPythonPackage rec {
dependencies = [
flask
requests
yarl
];
pythonImportsCheck = [ "pyjoin" ];
@@ -30,9 +34,10 @@ buildPythonPackage rec {
doCheck = false;
meta = {
changelog = "https://github.com/nkgilley/python-join-api/releases/tag/${finalAttrs.src.tag}";
description = "Python API for interacting with Join by joaoapps";
homepage = "https://github.com/nkgilley/python-join-api";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jamiemagee ];
};
}
})
@@ -7,21 +7,18 @@
hatchling,
mashumaro,
prometheus-client,
pythonOlder,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pythonkuma";
version = "0.5.0";
version = "0.5.1";
pyproject = true;
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "tr4nt0r";
repo = "pythonkuma";
tag = "v${version}";
hash = "sha256-7c2TYGRlHn9stAd5Xe1aZP08WyKTtKKfKPGT7OoNmSQ=";
tag = "v${finalAttrs.version}";
hash = "sha256-jQapfwdDuHb5Ha25cUQycfRb/A07pRtm92Iy8bbYfqI=";
};
build-system = [
@@ -38,15 +35,13 @@ buildPythonPackage rec {
# Tests are minimal and don't test functionality
doCheck = false;
pythonImportsCheck = [
"pythonkuma"
];
pythonImportsCheck = [ "pythonkuma" ];
meta = {
description = "Simple Python wrapper for Uptime Kuma";
homepage = "https://github.com/tr4nt0r/pythonkuma";
changelog = "https://github.com/tr4nt0r/pythonkuma/releases/tag/v${version}";
changelog = "https://github.com/tr4nt0r/pythonkuma/releases/tag/v${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.jamiemagee ];
};
}
})
@@ -11,16 +11,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pyvesync";
version = "3.4.1";
version = "3.4.2";
pyproject = true;
src = fetchFromGitHub {
owner = "webdjoe";
repo = "pyvesync";
tag = version;
hash = "sha256-fruuFt7Zb5ZDX8MmEXB4rypuYON3UG50mExnMpMQct4=";
tag = finalAttrs.version;
hash = "sha256-pJv5CMsM82ZUfc9ZuuAut+wHp2pMHOeOqMcH1jg3uRs=";
};
build-system = [ setuptools ];
@@ -43,8 +43,8 @@ buildPythonPackage rec {
meta = {
description = "Python library to manage Etekcity Devices and Levoit Air Purifier";
homepage = "https://github.com/webdjoe/pyvesync";
changelog = "https://github.com/webdjoe/pyvesync/releases/tag/${src.tag}";
changelog = "https://github.com/webdjoe/pyvesync/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -7,16 +7,16 @@
aiohttp,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "pywmspro";
version = "0.3.4";
version = "0.3.5";
pyproject = true;
src = fetchFromGitHub {
owner = "mback2k";
repo = "pywmspro";
tag = version;
hash = "sha256-vEuJPJrGJffnk7FogcOXEiYNnciAFkzgAeJkjWZWt4M=";
tag = finalAttrs.version;
hash = "sha256-01jXkSZfmBIzrz0B/4/KLcAU4jUQGDfle4sE4saraJo=";
};
build-system = [
@@ -32,9 +32,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "wmspro" ];
meta = {
changelog = "https://github.com/mback2k/pywmspro/releases/tag/${finalAttrs.src.tag}";
description = "Python library for WMS WebControl pro API";
homepage = "https://github.com/mback2k/pywmspro";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.jamiemagee ];
};
}
})
@@ -12,14 +12,14 @@
buildPythonPackage (finalAttrs: {
pname = "qingping-ble";
version = "1.1.1";
version = "1.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "bluetooth-devices";
repo = "qingping-ble";
tag = "v${finalAttrs.version}";
hash = "sha256-cLlb/VwyQzpoP/Dqh0LOQZFq8E/9k5o6CeGRj+RUGv8=";
hash = "sha256-mUlOSagQADaHDiJkyFdEz3voh8a/zGb1RwqCI3PywYU=";
};
build-system = [ poetry-core ];
@@ -19,14 +19,14 @@
buildPythonPackage (finalAttrs: {
pname = "renault-api";
version = "0.5.10";
version = "0.5.11";
pyproject = true;
src = fetchFromGitHub {
owner = "hacf-fr";
repo = "renault-api";
tag = "v${finalAttrs.version}";
hash = "sha256-1ym2xDJo8Ax76jC7rvVYI+EADKkdjGiKKvtiyE/rk/4=";
hash = "sha256-rIUG+HuHf5MXxPtOPjMRtRfurm1yUoNuqG494im2dQw=";
};
build-system = [ poetry-core ];
@@ -12,14 +12,14 @@
buildPythonPackage (finalAttrs: {
pname = "reolink-aio";
version = "0.20.0";
version = "0.20.1";
pyproject = true;
src = fetchFromGitHub {
owner = "starkillerOG";
repo = "reolink_aio";
tag = finalAttrs.version;
hash = "sha256-7ffF/BJTHcQQPM8c8bGDUCt2lWLA+ArIoJiOcpHIHi4=";
hash = "sha256-0uJ1iGWbGy6sFhWVxUwLhkR9U1MtqF+82AYU0/gHhdU=";
};
build-system = [ setuptools ];
@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "rf-protocols";
version = "2.2.0";
version = "4.0.1";
pyproject = true;
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "rf-protocols";
tag = finalAttrs.version;
hash = "sha256-eB9Rcgd2eRs4Wx9Vjw//BT0jPPXN/PS0sukXOwmNnuc=";
hash = "sha256-kO53S3MCYD6MUpRwhgP8cD2S0j38WKR6Bik5CXSaq3w=";
};
build-system = [ setuptools ];
@@ -10,14 +10,14 @@
buildPythonPackage rec {
pname = "tinytuya";
version = "1.18.0";
version = "1.18.1";
pyproject = true;
src = fetchFromGitHub {
owner = "jasonacox";
repo = "tinytuya";
tag = "v${version}";
hash = "sha256-0tY2O8OQ6hYZKF/2I6DehYygtNfZCJKIZiyW0iI8VQc=";
hash = "sha256-skDCQ1ubsOGfPH0DPdTH1n5mIHGAkB/rSCnmVIoIl18=";
};
build-system = [ setuptools ];
@@ -10,14 +10,14 @@
buildPythonPackage (finalAttrs: {
pname = "tuya-device-handlers";
version = "0.0.18";
version = "0.0.22";
pyproject = true;
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "tuya-device-handlers";
tag = "v${finalAttrs.version}";
hash = "sha256-ZzK6IV6AF+5+oOW9ADM/zgwFTmKNT2CzaEuXXK2hyVo=";
hash = "sha256-6zAzHjOzCaPYNP+dwz4/2o0/WXvEAZzPIoJW5Nwenu8=";
};
build-system = [ poetry-core ];
@@ -29,6 +29,11 @@ buildPythonPackage (finalAttrs: {
syrupy
];
disabledTests = [
# pathlib.Path(path).relative_to(_PROJECT_ROOT) evaluates to a path that is not below the build dir
"test_customer_device_with_quirk_as_dict"
];
pythonImportsCheck = [ "tuya_device_handlers" ];
meta = {
@@ -9,6 +9,7 @@
# dependencies
aiofiles,
aiohttp,
aiozoneinfo,
av,
convertertools,
dateparser,
@@ -38,26 +39,33 @@
buildPythonPackage (finalAttrs: {
pname = "uiprotect";
version = "10.4.1";
version = "10.17.0";
pyproject = true;
src = fetchFromGitHub {
owner = "uilibs";
repo = "uiprotect";
tag = "v${finalAttrs.version}";
hash = "sha256-J9SVsExFQMxUQSONsB6G8rb0nIu3sNKtHmiMdy6jpqk=";
hash = "sha256-q02gSnEruUM1sF4LnMWwqNRzbFhZRRxTZ3pAuRb+XDc=";
};
build-system = [ poetry-core ];
pythonRelaxDeps = [
"orjson"
"packaging"
"platformdirs"
"propcache"
"pydantic"
"pyjwt"
"rich"
"typer"
];
dependencies = [
aiofiles
aiohttp
aiozoneinfo
av
convertertools
dateparser
@@ -1,32 +1,37 @@
{
lib,
buildPythonPackage,
fetchPypi,
pyserial,
fetchFromGitHub,
serialx,
setuptools,
pytestCheckHook,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "ultraheat-api";
version = "0.5.7";
format = "setuptools";
version = "0.6.0";
pyproject = true;
src = fetchPypi {
pname = "ultraheat_api";
inherit version;
hash = "sha256-rRQTjV9hyUawMaXBgUx/d6pQjM8ffjcFJE2x08Cf4Gw=";
src = fetchFromGitHub {
owner = "vpathuis";
repo = "ultraheat";
tag = "v${finalAttrs.version}";
hash = "sha256-Mw2BEm98FqD/bggABJu8jftwyMEik0+xtKHONoFVxhw=";
};
propagatedBuildInputs = [ pyserial ];
build-system = [ setuptools ];
# Source is not tagged, only PyPI releases
doCheck = false;
dependencies = [ serialx ];
nativeCheckInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "ultraheat_api" ];
meta = {
changelog = "https://github.com/vpathuis/ultraheat/releases/tag/${finalAttrs.src.tag}";
description = "Module for working with data from Landis+Gyr Ultraheat heat meter unit";
homepage = "https://github.com/vpathuis/uh50";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -3,28 +3,28 @@
buildPythonPackage,
fetchFromGitHub,
hatchling,
pyserial-asyncio-fast,
pytestCheckHook,
pytz,
serialx,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "upb-lib";
version = "0.6.1";
version = "0.7.2";
pyproject = true;
src = fetchFromGitHub {
owner = "gwww";
repo = "upb-lib";
tag = version;
hash = "sha256-tjmsg8t2/WEjnRHyqN2lxsAgfISV1uAnhmq2dXAG15A=";
tag = finalAttrs.version;
hash = "sha256-J7jE/r+NkuzZxI4EnECH0HSnje2RqkZanEL8L5rUP1k=";
};
build-system = [ hatchling ];
dependencies = [
pyserial-asyncio-fast
pytz
serialx
];
nativeCheckInputs = [ pytestCheckHook ];
@@ -34,8 +34,8 @@ buildPythonPackage rec {
meta = {
description = "Library for interacting with UPB PIM";
homepage = "https://github.com/gwww/upb-lib";
changelog = "https://github.com/gwww/upb-lib/releases/tag/${src.tag}";
changelog = "https://github.com/gwww/upb-lib/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ dotlambda ];
};
}
})
@@ -2,19 +2,21 @@
lib,
aiohttp,
buildPythonPackage,
fetchPypi,
fetchFromGitHub,
pyjwt,
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "visionpluspython";
version = "1.0.2";
version = "1.1.0";
pyproject = true;
src = fetchPypi {
inherit pname version;
hash = "sha256-9tHjRWMVxi1diPlKGPXLRgi5rkuAXskStUBIqfO0oh4=";
src = fetchFromGitHub {
owner = "Watts-Digital";
repo = "visionpluspython";
tag = finalAttrs.version;
hash = "sha256-jLn7L9yfyDN+cP5BuQqRQT+krDMLp3OmUOjUpOmFT8U=";
};
build-system = [ setuptools ];
@@ -30,9 +32,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "visionpluspython" ];
meta = {
changelog = "https://github.com/Watts-Digital/visionpluspython/releases/tag/${finalAttrs.src.tag}";
description = "Python API wrapper for Watts Vision+ smart home system";
homepage = "https://github.com/Watts-Digital/visionpluspython";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ jamiemagee ];
};
}
})
@@ -14,14 +14,14 @@
buildPythonPackage rec {
pname = "volkswagencarnet";
version = "5.4.5";
version = "5.4.11";
pyproject = true;
src = fetchFromGitHub {
owner = "robinostlund";
repo = "volkswagencarnet";
tag = "v${version}";
hash = "sha256-e7h8Dp/C4Q/0Y6viTeCTlzekr1aI5B0gAX5MZBenMCY=";
hash = "sha256-Ria6+dlxV0VA7zXb1eL0TgblxlUjRTYYgDaj/727eCA=";
};
postPatch = ''
@@ -3,29 +3,27 @@
buildPythonPackage,
fetchFromGitHub,
setuptools,
pytz,
requests,
paho-mqtt,
aiohttp,
aiomqtt,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "yoto-api";
version = "2.3.0";
version = "3.1.5";
pyproject = true;
src = fetchFromGitHub {
owner = "cdnninja";
repo = "yoto_api";
tag = "v${version}";
hash = "sha256-kL3Ry3sRyDTKlhVUQ8rOCm2G8JkFZCmTwoInR6og73s=";
tag = "v${finalAttrs.version}";
hash = "sha256-Pe1bxpheFBbUuTGL5ucQc5OZrk4HgLTtu1ORWUDm4+M=";
};
build-system = [ setuptools ];
dependencies = [
pytz
requests
paho-mqtt
aiohttp
aiomqtt
];
# All tests require access to and authentication with the Yoto API (api.yotoplay.com).
@@ -34,11 +32,11 @@ buildPythonPackage rec {
pythonImportsCheck = [ "yoto_api" ];
meta = {
changelog = "https://github.com/cdnninja/yoto_api/releases/tag/${src.tag}";
changelog = "https://github.com/cdnninja/yoto_api/releases/tag/${finalAttrs.src.tag}";
homepage = "https://github.com/cdnninja/yoto_api";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ seberm ];
license = lib.licenses.mit;
description = "Python package that makes it a bit easier to work with the yoto play API";
};
}
})
@@ -13,16 +13,16 @@
setuptools,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "zeroconf";
version = "0.148.0";
version = "0.149.16";
pyproject = true;
src = fetchFromGitHub {
owner = "jstasiak";
repo = "python-zeroconf";
tag = version;
hash = "sha256-odjuJrUXQXn3WeF/oS8DLO937p2nHpSk9QGO4Tgsd8o=";
tag = finalAttrs.version;
hash = "sha256-l/F+Cz0HEtsgfQj01ayl+FQYoQbZVpMfRhNs27BqThI=";
};
build-system = [
@@ -48,9 +48,6 @@ buildPythonPackage rec {
"test_launch_and_close"
"test_launch_and_close_context_manager"
"test_launch_and_close_v4_v6"
# Flaky (see e.g. https://hydra.nixos.org/build/326378736); https://github.com/python-zeroconf/python-zeroconf/issues/1663
"test_run_coro_with_timeout"
];
__darwinAllowLocalNetworking = true;
@@ -63,8 +60,8 @@ buildPythonPackage rec {
meta = {
description = "Python implementation of multicast DNS service discovery";
homepage = "https://github.com/python-zeroconf/python-zeroconf";
changelog = "https://github.com/python-zeroconf/python-zeroconf/blob/${src.tag}/CHANGELOG.md";
changelog = "https://github.com/python-zeroconf/python-zeroconf/blob/${finalAttrs.src.tag}/CHANGELOG.md";
license = lib.licenses.lgpl21Only;
maintainers = [ ];
};
}
})
@@ -46,13 +46,19 @@ buildPythonPackage rec {
disabledTests = [
# AssertionError: expected call not found
"test_moes"
"test_tuya_mcu_set_time"
];
disabledTestPaths = [
# TypeError: unhashable type: 'dict'
"tests/test_quirks_v2.py"
# function signature mismatch with zigpy 1.5.1
"tests/test_tuya.py"
"tests/test_tuya_builder.py"
"tests/test_tuya_dimmer.py"
"tests/test_tuya_rcbo.py"
"tests/test_tuya_siren.py"
"tests/test_tuya_spells.py"
"tests/test_tuya_trv.py"
"tests/test_tuya_valve.py"
];
pythonImportsCheck = [ "zhaquirks" ];
@@ -21,9 +21,9 @@
zigpy-znp,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "zha";
version = "1.3.1";
version = "1.4.1";
pyproject = true;
disabled = pythonOlder "3.12";
@@ -31,14 +31,14 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "zigpy";
repo = "zha";
tag = version;
hash = "sha256-JYwTDD3YmHPgSSwFTGhoL9MY5SZ2jLBlgGqQDEnvF1k=";
tag = finalAttrs.version;
hash = "sha256-Jf8k/4z7eERiV2jwDzhV990sLBebasEKe5/0WbX1hYc=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"setuptools-git-versioning<3"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
--replace-fail 'dynamic = ["version"]' 'version = "${finalAttrs.version}"'
'';
build-system = [
@@ -96,13 +96,11 @@ buildPythonPackage rec {
"test_gateway_startup_failure" # Failed first attempt, passed second, flaky
];
disabledTestPaths = [ "tests/test_cluster_handlers.py" ];
meta = {
description = "Zigbee Home Automation";
homepage = "https://github.com/zigpy/zha";
changelog = "https://github.com/zigpy/zha/releases/tag/${version}";
changelog = "https://github.com/zigpy/zha/releases/tag/${finalAttrs.version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ fab ];
};
}
})
@@ -15,23 +15,23 @@
zigpy,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "zigpy-znp";
version = "1.0.0";
version = "1.1.0";
pyproject = true;
src = fetchFromGitHub {
owner = "zigpy";
repo = "zigpy-znp";
tag = "v${version}";
hash = "sha256-beIFbmJ6h1wj+e+g+JvXedvBFjnjaTZ60PCYTbiUqic=";
tag = "v${finalAttrs.version}";
hash = "sha256-JQe8A4pfKEBJInd0Fq91c2/UgAsQP1vbHy4wF/FO46c=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail "timeout = 20" "timeout = 300" \
--replace-fail ', "setuptools-git-versioning<2"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
--replace-fail 'dynamic = ["version"]' 'version = "${finalAttrs.version}"'
'';
build-system = [ setuptools ];
@@ -65,9 +65,9 @@ buildPythonPackage rec {
meta = {
description = "Library for zigpy which communicates with TI ZNP radios";
homepage = "https://github.com/zigpy/zigpy-znp";
changelog = "https://github.com/zigpy/zigpy-znp/releases/tag/v${version}";
changelog = "https://github.com/zigpy/zigpy-znp/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ mvnetbiz ];
platforms = lib.platforms.linux;
};
}
})
@@ -1,6 +1,5 @@
{
lib,
stdenv,
aiohttp,
aioresponses,
aiosqlite,
@@ -22,22 +21,22 @@
voluptuous,
}:
buildPythonPackage rec {
buildPythonPackage (finalAttrs: {
pname = "zigpy";
version = "1.4.1";
version = "1.5.1";
pyproject = true;
src = fetchFromGitHub {
owner = "zigpy";
repo = "zigpy";
tag = version;
hash = "sha256-9e+n4C2ViCAHFw2Ed+NxPSAbcVX5KJl7biIIsYr8E4c=";
tag = finalAttrs.version;
hash = "sha256-AbVVv/3a/FZuk+VWLereCF7NEwu4u8HjZrsXsfarSZA=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '"setuptools-git-versioning<2"' "" \
--replace-fail 'dynamic = ["version"]' 'version = "${version}"'
--replace-fail 'dynamic = ["version"]' 'version = "${finalAttrs.version}"'
'';
build-system = [ setuptools ];
@@ -88,9 +87,9 @@ buildPythonPackage rec {
meta = {
description = "Library implementing a ZigBee stack";
homepage = "https://github.com/zigpy/zigpy";
changelog = "https://github.com/zigpy/zigpy/releases/tag/${version}";
changelog = "https://github.com/zigpy/zigpy/releases/tag/${finalAttrs.src.tag}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ mvnetbiz ];
platforms = lib.platforms.linux;
};
}
})
@@ -11,14 +11,14 @@
buildPythonPackage (finalAttrs: {
pname = "zwave-js-server-python";
version = "0.69.0";
version = "0.71.0";
pyproject = true;
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = "zwave-js-server-python";
tag = finalAttrs.version;
hash = "sha256-EBhIoCWclKhxwmqI6fvtsVh3zCnWS5jRXP5aYY3aNbM=";
hash = "sha256-uzM7T+2H5CwUqqodMDpYlU16kIRNEIdeSeoexxRLAGo=";
};
build-system = [ setuptools ];
@@ -2,7 +2,7 @@
# Do not edit!
{
version = "2026.5.4";
version = "2026.6.0";
components = {
"3_day_blinds" =
ps: with ps; [
@@ -101,6 +101,9 @@
home-assistant-intents
pyturbojpeg
];
"aidot" =
ps: with ps; [
]; # missing inputs: python-aidot
"air_quality" =
ps: with ps; [
];
@@ -464,11 +467,20 @@
"august" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -476,6 +488,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
yalexs
yalexs-ble
];
@@ -512,7 +525,30 @@
];
"avea" =
ps: with ps; [
aioesphomeapi
aiohasupervisor
aioruuvigateway
aioshelly
aiousbwatcher
avea
bleak
bleak-esphome
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
dbus-fast
esphome-dashboard-api
ha-ffmpeg
habluetooth
hassil
home-assistant-intents
ifaddr
mutagen
pymicro-vad
pyspeex-noise
serialx
zeroconf
];
"avion" =
ps: with ps; [
@@ -775,6 +811,8 @@
];
"braviatv" =
ps: with ps; [
async-upnp-client
ifaddr
pybravia
];
"brel_home" =
@@ -868,7 +906,7 @@
];
"caldav" =
ps: with ps; [
caldav_2
caldav
icalendar
vobject
];
@@ -918,12 +956,21 @@
"cast" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
ifaddr
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -935,12 +982,16 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
zeroconf
];
"ccm15" =
ps: with ps; [
py-ccm15
];
"centriconnect" =
ps: with ps; [
]; # missing inputs: aiocentriconnect
"cert_expiry" =
ps: with ps; [
];
@@ -956,6 +1007,9 @@
ps: with ps; [
chess-com-api
];
"cielo_home" =
ps: with ps; [
]; # missing inputs: cielo-connect-api
"cisco_ios" =
ps: with ps; [
pexpect
@@ -991,11 +1045,20 @@
"cloud" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -1003,6 +1066,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"cloudflare" =
ps: with ps; [
@@ -1139,6 +1203,9 @@
ps: with ps; [
pydanfossair
];
"data_grand_lyon" =
ps: with ps; [
]; # missing inputs: data-grand-lyon-ha
"datadog" =
ps: with ps; [
datadog
@@ -1199,6 +1266,7 @@
home-assistant-frontend
home-assistant-intents
ifaddr
matter-ble-proxy
matter-python-client
mutagen
numpy
@@ -2239,8 +2307,18 @@
"google_assistant" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
dbus-fast
habluetooth
matter-ble-proxy
matter-python-client
pyturbojpeg
serialx
];
"google_assistant_sdk" =
ps: with ps; [
@@ -2381,6 +2459,9 @@
ps: with ps; [
aioguardian
];
"guntamatic" =
ps: with ps; [
]; # missing inputs: guntamatic
"habitica" =
ps: with ps; [
habiticalib
@@ -3292,7 +3373,6 @@
];
"konnected" =
ps: with ps; [
konnected
];
"konnected_esphome" =
ps: with ps; [
@@ -3524,6 +3604,11 @@
ps: with ps; [
thinqconnect
];
"lg_tv_rs232" =
ps: with ps; [
aiousbwatcher
serialx
]; # missing inputs: lg-rs232-tv
"libre_hardware_monitor" =
ps: with ps; [
librehardwaremonitor-api
@@ -3655,12 +3740,21 @@
"loqed" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
loqedapi
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -3668,6 +3762,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"lovelace" =
ps: with ps; [
@@ -3729,6 +3824,10 @@
"marantz" =
ps: with ps; [
];
"marantz_infrared" =
ps: with ps; [
infrared-protocols
];
"martec" =
ps: with ps; [
];
@@ -3749,7 +3848,17 @@
"matter" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
dbus-fast
habluetooth
matter-ble-proxy
matter-python-client
serialx
];
"maxcube" =
ps: with ps; [
@@ -3949,6 +4058,9 @@
ps: with ps; [
minio
];
"mitsubishi_comfort" =
ps: with ps; [
]; # missing inputs: mitsubishi-comfort
"mjpeg" =
ps: with ps; [
];
@@ -3982,11 +4094,20 @@
"mobile_app" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -3996,6 +4117,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"mochad" =
ps: with ps; [
@@ -4214,9 +4336,6 @@
ps: with ps; [
webio-api
];
"national_grid_us" =
ps: with ps; [
];
"neato" =
ps: with ps; [
pybotvac
@@ -4243,11 +4362,20 @@
"netatmo" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -4256,6 +4384,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"netdata" =
ps: with ps; [
@@ -4504,11 +4633,20 @@
"onedrive" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
onedrive-personal-sdk
@@ -4517,15 +4655,25 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"onedrive_for_business" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
onedrive-personal-sdk
@@ -4534,6 +4682,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"onewire" =
ps: with ps; [
@@ -4734,6 +4883,9 @@
ps: with ps; [
pyotp
];
"ouman_eh_800" =
ps: with ps; [
]; # missing inputs: ouman-eh-800-api
"ourgroceries" =
ps: with ps; [
ourgroceries
@@ -4745,11 +4897,20 @@
"overseerr" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -4758,6 +4919,17 @@
python-overseerr
pyturbojpeg
securetar
serialx
];
"ovhcloud_ai_endpoints" =
ps: with ps; [
ha-ffmpeg
hassil
home-assistant-intents
mutagen
openai
pymicro-vad
pyspeex-noise
];
"ovo_energy" =
ps: with ps; [
@@ -4766,11 +4938,20 @@
"owntracks" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -4780,11 +4961,15 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"p1_monitor" =
ps: with ps; [
p1monitor
];
"paj_gps" =
ps: with ps; [
]; # missing inputs: pajgps-api
"palazzetti" =
ps: with ps; [
pypalazzetti
@@ -4888,11 +5073,20 @@
"plaato" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -4901,6 +5095,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"plant" =
ps: with ps; [
@@ -5075,6 +5270,9 @@
"psoklahoma" =
ps: with ps; [
];
"ptdevices" =
ps: with ps; [
]; # missing inputs: aioptdevices
"pterodactyl" =
ps: with ps; [
py-dactyl
@@ -5111,8 +5309,7 @@
];
"pvpc_hourly_pricing" =
ps: with ps; [
aiopvpc
];
]; # missing inputs: esios_api
"pyload" =
ps: with ps; [
pyloadapi
@@ -5199,11 +5396,20 @@
"rachio" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -5212,6 +5418,7 @@
pyturbojpeg
rachiopy
securetar
serialx
];
"radarr" =
ps: with ps; [
@@ -5539,6 +5746,10 @@
"samsam" =
ps: with ps; [
];
"samsung_infrared" =
ps: with ps; [
infrared-protocols
];
"samsungtv" =
ps:
with ps;
@@ -6585,11 +6796,20 @@
"toon" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -6597,6 +6817,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
toonapi
];
"torque" =
@@ -6692,7 +6913,10 @@
];
"trend" =
ps: with ps; [
fnv-hash-fast
numpy
psutil-home-assistant
sqlalchemy
];
"triggercmd" =
ps: with ps; [
@@ -6962,6 +7186,9 @@
ps: with ps; [
vilfo-api-client
];
"vistapool" =
ps: with ps; [
]; # missing inputs: aioaquarite
"vivotek" =
ps: with ps; [
libpyvivotek
@@ -7047,11 +7274,20 @@
"watts" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -7059,6 +7295,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
visionpluspython
];
"watttime" =
@@ -7146,12 +7383,21 @@
"withings" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
aiowithings
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -7159,6 +7405,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
];
"wiz" =
ps: with ps; [
@@ -7273,14 +7520,26 @@
ps: with ps; [
xs1-api-client
];
"xthings_cloud" =
ps: with ps; [
]; # missing inputs: ha-xthings-cloud
"yale" =
ps: with ps; [
aiohasupervisor
aiousbwatcher
bleak
bleak-retry-connector
bluetooth-adapters
bluetooth-auto-recovery
bluetooth-data-tools
cronsim
dbus-fast
ha-ffmpeg
habluetooth
hass-nabucasa
hassil
home-assistant-intents
matter-ble-proxy
matter-python-client
mutagen
openai
@@ -7288,6 +7547,7 @@
pyspeex-noise
pyturbojpeg
securetar
serialx
yalexs
yalexs-ble
];
@@ -7362,6 +7622,10 @@
ps: with ps; [
yolink-api
];
"yoto" =
ps: with ps; [
yoto-api
];
"youless" =
ps: with ps; [
youless-api
@@ -7530,6 +7794,7 @@
"auth"
"automation"
"autoskope"
"avea"
"awair"
"aws"
"aws_s3"
@@ -7992,6 +8257,7 @@
"mailgun"
"manual"
"manual_mqtt"
"marantz_infrared"
"marytts"
"mastodon"
"matrix"
@@ -8137,6 +8403,7 @@
"openhardwaremonitor"
"openhome"
"openrgb"
"opensensemap"
"opensky"
"opentherm_gw"
"openuv"
@@ -8151,6 +8418,7 @@
"ourgroceries"
"overkiz"
"overseerr"
"ovhcloud_ai_endpoints"
"ovo_energy"
"owntracks"
"p1_monitor"
@@ -8204,7 +8472,6 @@
"pushbullet"
"pushover"
"pvoutput"
"pvpc_hourly_pricing"
"pyload"
"python_script"
"qbittorrent"
@@ -8268,6 +8535,7 @@
"ruuvitag_ble"
"rympro"
"sabnzbd"
"samsung_infrared"
"samsungtv"
"sanix"
"satel_integra"
@@ -8550,6 +8818,7 @@
"yardian"
"yeelight"
"yolink"
"yoto"
"youless"
"youtube"
"zamg"
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "andrew-codechimp";
domain = "battery_notes";
version = "3.4.6";
version = "3.4.7";
src = fetchFromGitHub {
inherit owner;
repo = "HA-Battery-Notes";
tag = version;
hash = "sha256-KcMQLwIm0rr5cEAKLXte/F/Iar3qnznDv76S+bsX9Ok=";
hash = "sha256-28yWBODUDJXSmuHgBI5+kLsPjpRM2OxUQnU1nGz83v0=";
};
# has no tests
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "KartoffelToby";
domain = "better_thermostat";
version = "1.7.0";
version = "1.8.0";
src = fetchFromGitHub {
owner = "KartoffelToby";
repo = "better_thermostat";
tag = version;
hash = "sha256-rE14iKAXo3hecK3bQ9MLcOtnZviwjOpYKGlIc4+uCfw=";
hash = "sha256-jxC8Xxhr1OjcAREggNaiB89TMFSdQyDr4QfdWGcmeU4=";
};
passthru.updateScript = gitUpdater {
@@ -10,13 +10,13 @@
buildHomeAssistantComponent rec {
owner = "thomasloven";
domain = "browser_mod";
version = "2.13.4";
version = "2.13.5";
src = fetchFromGitHub {
inherit owner;
repo = "hass-browser_mod";
tag = "v${version}";
hash = "sha256-AE23WTzVt3nF3oLeUdQ9p0kr+4q/Ymko82OOIxaNOcQ=";
hash = "sha256-uVMefvOiw0CMcpOSo8dJn4NazZxACvPscV4GqtyQXSY=";
};
nativeBuildInputs = [
@@ -27,7 +27,7 @@ buildHomeAssistantComponent rec {
npmDeps = fetchNpmDeps {
inherit src;
hash = "sha256-1MlUUYkLBSsoeJRH56LXLwXWcrMVKYzW4HcayrR1tI8=";
hash = "sha256-eX7dyDxcaPMhTOAhAbcw7beP3cwBKRz457OZgp3LRAA=";
};
npmBuildScript = "build";
@@ -12,13 +12,13 @@
buildHomeAssistantComponent (finalAttrs: {
owner = "charludo";
domain = "closest_intent";
version = "0.1.0";
version = "0.2.0";
src = fetchFromGitHub {
inherit (finalAttrs) owner;
repo = "hass-closest-intent";
tag = "v${finalAttrs.version}";
hash = "sha256-8ST+xYqmDwovDqNLnDsoIvIoPIDussAswGOOvMhRQWk=";
hash = "sha256-AvI9vX2RnN3ALQY4Q2mF3E9mkEV9VBOvk9HOH6i7RbQ=";
};
dependencies = [
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "jwillemsen";
domain = "daikin_onecta";
version = "4.6.2";
version = "4.6.3";
src = fetchFromGitHub {
owner = "jwillemsen";
repo = "daikin_onecta";
tag = "v${version}";
hash = "sha256-uLEFbYG+3+f+LNfJlLi06v75StLBsHdJTiHxA/tNwj4=";
hash = "sha256-55IGU3qYTt4V+BYDNiYx2l/EiuPNESfJHi5QCRm36Qk=";
};
meta = {
@@ -12,13 +12,13 @@
buildHomeAssistantComponent rec {
owner = "JeffSteinbok";
domain = "dreo";
version = "1.9.5";
version = "1.9.8";
src = fetchFromGitHub {
inherit owner;
repo = "hass-dreo";
tag = "v${version}";
hash = "sha256-YGzGDEgPifF6KcD8cCEE7PqGHGo/wG/H3V0dnGEa/Tc=";
hash = "sha256-F/r5r8lgYbJdIFtaHPDXtlpOQFKDsBClTA0954OrAzM=";
};
dependencies = [ websockets ];
@@ -18,13 +18,13 @@
buildHomeAssistantComponent rec {
owner = "rabits";
domain = "ef_ble";
version = "0.8.5";
version = "0.9.2";
src = fetchFromGitHub {
owner = "rabits";
repo = "ha-ef-ble";
tag = "v${version}";
hash = "sha256-hqwsoG8BkB16zR5MX3NNltEQAZR0ZhVFNXSqDsvep+0=";
hash = "sha256-1P2Xn8DfLR7SFz/THyqqBkf18hgxK1kmlANlTYgcHZo=";
};
dependencies = [
@@ -0,0 +1,216 @@
diff --git a/custom_components/frigate/camera.py b/custom_components/frigate/camera.py
index 581de81..802d38b 100644
--- a/custom_components/frigate/camera.py
+++ b/custom_components/frigate/camera.py
@@ -401,6 +401,7 @@ class FrigateCamera(
"ON",
0,
False,
+ message_expiry_interval=None
)
async def async_turn_off(self) -> None:
@@ -412,6 +413,7 @@ class FrigateCamera(
"OFF",
0,
False,
+ message_expiry_interval=None
)
async def async_enable_motion_detection(self) -> None:
@@ -422,6 +424,7 @@ class FrigateCamera(
"ON",
0,
False,
+ message_expiry_interval=None
)
async def async_disable_motion_detection(self) -> None:
@@ -432,6 +435,7 @@ class FrigateCamera(
"OFF",
0,
False,
+ message_expiry_interval=None
)
async def export_recording(
@@ -468,6 +472,7 @@ class FrigateCamera(
f"{action}{f'_{argument}' if argument else ''}",
0,
False,
+ message_expiry_interval=None
)
async def create_event(
diff --git a/custom_components/frigate/number.py b/custom_components/frigate/number.py
index 5866438..7f53ddd 100644
--- a/custom_components/frigate/number.py
+++ b/custom_components/frigate/number.py
@@ -143,6 +143,7 @@ class FrigateMotionContourArea(FrigateMQTTEntity, NumberEntity):
int(value),
0,
False,
+ message_expiry_interval=None
)
@property
@@ -236,6 +237,7 @@ class FrigateMotionThreshold(FrigateMQTTEntity, NumberEntity):
int(value),
0,
False,
+ message_expiry_interval=None
)
@property
diff --git a/custom_components/frigate/select.py b/custom_components/frigate/select.py
index 4b82d0e..e460b16 100644
--- a/custom_components/frigate/select.py
+++ b/custom_components/frigate/select.py
@@ -121,4 +121,5 @@ class FrigateProfileSelect(FrigateMQTTEntity, SelectEntity):
option,
0,
False,
+ message_expiry_interval=None
)
diff --git a/custom_components/frigate/switch.py b/custom_components/frigate/switch.py
index 4d4c809..6b7e362 100644
--- a/custom_components/frigate/switch.py
+++ b/custom_components/frigate/switch.py
@@ -211,6 +211,7 @@ class FrigateSwitch(FrigateMQTTEntity, SwitchEntity):
"ON",
0,
False,
+ message_expiry_interval=None
)
async def async_turn_off(self, **kwargs: Any) -> None:
@@ -221,4 +222,5 @@ class FrigateSwitch(FrigateMQTTEntity, SwitchEntity):
"OFF",
0,
False,
+ message_expiry_interval=None
)
diff --git a/tests/test_camera.py b/tests/test_camera.py
index 00aa0a8..5a813df 100644
--- a/tests/test_camera.py
+++ b/tests/test_camera.py
@@ -544,7 +544,7 @@ async def test_camera_enable_camera(hass: HomeAssistant, mqtt_mock: Any) -> None
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/enabled/set", "ON", 0, False
+ "frigate/front_door/enabled/set", "ON", 0, False, message_expiry_interval=None
)
@@ -571,7 +571,7 @@ async def test_camera_disable_camera(hass: HomeAssistant, mqtt_mock: Any) -> Non
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/enabled/set", "OFF", 0, False
+ "frigate/front_door/enabled/set", "OFF", 0, False, message_expiry_interval=None
)
@@ -600,7 +600,7 @@ async def test_camera_enable_motion_detection(
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/motion/set", "ON", 0, False
+ "frigate/front_door/motion/set", "ON", 0, False, message_expiry_interval=None
)
@@ -629,7 +629,7 @@ async def test_camera_disable_motion_detection(
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/motion/set", "OFF", 0, False
+ "frigate/front_door/motion/set", "OFF", 0, False, message_expiry_interval=None
)
@@ -872,7 +872,7 @@ async def test_ptz_move_service_call(
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/ptz", "move_up", 0, False
+ "frigate/front_door/ptz", "move_up", 0, False, message_expiry_interval=None
)
@@ -895,7 +895,7 @@ async def test_ptz_preset_service_call(
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/ptz", "preset_main", 0, False
+ "frigate/front_door/ptz", "preset_main", 0, False, message_expiry_interval=None
)
@@ -917,7 +917,7 @@ async def test_ptz_stop_service_call(
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/ptz", "stop", 0, False
+ "frigate/front_door/ptz", "stop", 0, False, message_expiry_interval=None
)
diff --git a/tests/test_number.py b/tests/test_number.py
index 13d0e69..e2a09e6 100644
--- a/tests/test_number.py
+++ b/tests/test_number.py
@@ -117,7 +117,7 @@ async def test_contour_area_set(hass: HomeAssistant, mqtt_mock: Any) -> None:
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/motion_contour_area/set", "35", 0, False
+ "frigate/front_door/motion_contour_area/set", "35", 0, False, message_expiry_interval=None
)
@@ -140,7 +140,7 @@ async def test_threshold_set(hass: HomeAssistant, mqtt_mock: Any) -> None:
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/motion_threshold/set", "35", 0, False
+ "frigate/front_door/motion_threshold/set", "35", 0, False, message_expiry_interval=None
)
diff --git a/tests/test_select.py b/tests/test_select.py
index e9fc02a..ea1241c 100644
--- a/tests/test_select.py
+++ b/tests/test_select.py
@@ -89,7 +89,7 @@ async def test_profile_select_option(hass: HomeAssistant, mqtt_mock: Any) -> Non
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/profile/set", "away", 0, False
+ "frigate/profile/set", "away", 0, False, message_expiry_interval=None
)
diff --git a/tests/test_switch.py b/tests/test_switch.py
index 01b9dae..f3288a1 100644
--- a/tests/test_switch.py
+++ b/tests/test_switch.py
@@ -126,7 +126,7 @@ async def test_switch_turn_on(hass: HomeAssistant, mqtt_mock: Any) -> None:
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/detect/set", "ON", 0, False
+ "frigate/front_door/detect/set", "ON", 0, False, message_expiry_interval=None
)
@@ -144,7 +144,7 @@ async def test_switch_turn_off(hass: HomeAssistant, mqtt_mock: Any) -> None:
blocking=True,
)
mqtt_mock.async_publish.assert_called_once_with(
- "frigate/front_door/detect/set", "OFF", 0, False
+ "frigate/front_door/detect/set", "OFF", 0, False, message_expiry_interval=None
)
@@ -19,13 +19,13 @@
buildHomeAssistantComponent rec {
owner = "blakeblackshear";
domain = "frigate";
version = "5.15.3";
version = "5.15.4";
src = fetchFromGitHub {
owner = "blakeblackshear";
repo = "frigate-hass-integration";
tag = "v${version}";
hash = "sha256-ZDTwC5dm9kAgT/pIHQAK56L2pjyf/PmOjDr0F+Fr+JA=";
hash = "sha256-xckHpwKujlWJ0M/fDlCU96WocMIlMk37+TwmY8iEnNo=";
};
patches = [
@@ -33,6 +33,10 @@ buildHomeAssistantComponent rec {
./service-to-action.patch
# https://github.com/blakeblackshear/frigate-hass-integration/pull/1085
./llmcontext-user-prompt.patch
# https://github.com/blakeblackshear/frigate-hass-integration/pull/1096
./async-publish-compat.patch
# https://github.com/blakeblackshear/frigate-hass-integration/pull/1095
./remove-advanced-options-gate.patch
];
dependencies = [
@@ -0,0 +1,57 @@
From 88c34b9d3bc34307cae90e286aa5305e7d74fb91 Mon Sep 17 00:00:00 2001
From: Martin Weinelt <hexa@darmstadt.ccc.de>
Date: Thu, 4 Jun 2026 18:28:22 +0200
Subject: [PATCH] Remove advanced options gate
https://developers.home-assistant.io/blog/2026/05/26/advanced-mode-config-flow-deprecation/
---
custom_components/frigate/config_flow.py | 3 ---
tests/test_config_flow.py | 23 -----------------------
2 files changed, 26 deletions(-)
diff --git a/custom_components/frigate/config_flow.py b/custom_components/frigate/config_flow.py
index 263dcff0..45d7c8d6 100644
--- a/custom_components/frigate/config_flow.py
+++ b/custom_components/frigate/config_flow.py
@@ -161,9 +161,6 @@ async def async_step_init(
if user_input is not None:
return self.async_create_entry(title="", data=user_input)
- if not self.show_advanced_options:
- return self.async_abort(reason="only_advanced_options")
-
schema: dict[Any, Any] = {
# Whether to enable Frigate-native WebRTC for camera streaming
vol.Optional(
diff --git a/tests/test_config_flow.py b/tests/test_config_flow.py
index 41b38408..1a4011f3 100644
--- a/tests/test_config_flow.py
+++ b/tests/test_config_flow.py
@@ -281,26 +281,3 @@ async def test_options_advanced(hass: HomeAssistant) -> None:
assert result["data"][CONF_NOTIFICATION_PROXY_EXPIRE_AFTER_SECONDS] == 60
assert not result["data"][CONF_NOTIFICATION_PROXY_ENABLE]
assert not result["data"][CONF_MEDIA_BROWSER_ENABLE]
-
-
-async def test_options(hass: HomeAssistant) -> None:
- """Check an options flow without advanced options."""
-
- config_entry = create_mock_frigate_config_entry(hass)
- mock_client = create_mock_frigate_client()
-
- with patch(
- "custom_components.frigate.config_flow.FrigateApiClient",
- return_value=mock_client,
- ), patch(
- "custom_components.frigate.async_setup_entry",
- return_value=True,
- ):
- await hass.async_block_till_done()
-
- result = await hass.config_entries.options.async_init(
- config_entry.entry_id,
- )
-
- assert result["type"] == FlowResultType.ABORT
- assert result["reason"] == "only_advanced_options"
@@ -7,13 +7,13 @@
buildHomeAssistantComponent rec {
owner = "bm1549";
domain = "frigidaire";
version = "0.1.17";
version = "0.1.19";
src = fetchFromGitHub {
inherit owner;
repo = "home-assistant-frigidaire";
tag = version;
hash = "sha256-j/rqgD5k6KPXhmD/v2fcyjgAJglqOY2/7f50zCsczWk=";
hash = "sha256-/YgnWoUuFo0qdj/gJvEoaqNMmRySO68fJwm8GqIyauM=";
};
dependencies = [ frigidaire ];
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "cyberjunky";
domain = "garmin_connect";
version = "3.0.8";
version = "3.0.11";
src = fetchFromGitHub {
owner = "cyberjunky";
repo = "home-assistant-garmin_connect";
tag = version;
hash = "sha256-F/zMwaGt9lbMzhgy3Jk23ylalMJqMT5xf90YUeH0Fv4=";
hash = "sha256-Sx7ribYJCpFwr3mo2VH2TsWyBTAZKK1q4AdGozB/y88=";
};
dependencies = [
@@ -45,6 +45,8 @@ buildHomeAssistantComponent rec {
disabledTests = [
# custom_components.homematicip_local.support.InvalidConfig: C
"test_async_validate_config_and_get_system_information"
# Failed: Lingering timer after test <TimerHandle when=3043632.864116499 Store._async_schedule_callback_delayed_write() created at /nix/store/5rh57mhaihd9wff1rqnskvs8nxh9sv3z-homeassistant-2026.6.0/lib/python3.14/site-packages/homeassistant/helpers/storage.py:516>
"test_reauth_flow_success"
];
meta = {
@@ -11,13 +11,13 @@
buildHomeAssistantComponent rec {
owner = "pymitsubishi";
domain = "mitsubishi";
version = "0.5.6";
version = "0.5.7";
src = fetchFromGitHub {
owner = "pymitsubishi";
repo = "homeassistant-mitsubishi";
tag = "v${version}";
hash = "sha256-F9T2egZEEUrXYgPmYFwHO+WasYwbgoHtUZf4RFar9Ck=";
hash = "sha256-8/zB1jbMoabd+pkIOUgY7bJ5lu2nCLkjS28Ru6bsKOw=";
};
dependencies = [
@@ -11,13 +11,13 @@
buildHomeAssistantComponent rec {
owner = "olen";
domain = "openplantbook";
version = "1.4.0";
version = "1.5.0";
src = fetchFromGitHub {
inherit owner;
repo = "home-assistant-openplantbook";
tag = "v${version}";
hash = "sha256-Ym7bt+0s7eqlL3oDtppIGenoW1XvrSjKkV2flE0TzUo=";
hash = "sha256-TmJb2FErRsGPREJtofujsnn8VYiNGsXvGcWcy6WGBhk=";
};
ignoreVersionRequirement = [
@@ -15,13 +15,13 @@
buildHomeAssistantComponent rec {
owner = "amitfin";
domain = "oref_alert";
version = "6.18.3";
version = "6.20.1";
src = fetchFromGitHub {
owner = "amitfin";
repo = "oref_alert";
tag = "v${version}";
hash = "sha256-gF8JemhOxnwDHoMcC3Znp9lx92bPdRk/a8e3Upbhb+o=";
hash = "sha256-O4A4Aiddq4YzPx5g9akCepWjEeFdlwTWe5xkPtAmuYE=";
};
# Do not publish cards, currently broken, attempting to write to nix store.
@@ -8,13 +8,13 @@
buildHomeAssistantComponent rec {
owner = "wills106";
domain = "solax_modbus";
version = "2026.05.2";
version = "2026.06.1";
src = fetchFromGitHub {
owner = "wills106";
repo = "homeassistant-solax-modbus";
tag = version;
hash = "sha256-MDeS4gWpXbXD9z4OnZDHZ0jPlCDnJ0QpAvWgesRG3hM=";
hash = "sha256-R1z/BLFaKt80HSC5VqnmZSaI/onmIamYlYIxszeJptw=";
};
dependencies = [ pymodbus ];
@@ -11,13 +11,13 @@
buildHomeAssistantComponent rec {
owner = "make-all";
domain = "tuya_local";
version = "2026.5.2";
version = "2026.6.1";
src = fetchFromGitHub {
inherit owner;
repo = "tuya-local";
tag = version;
hash = "sha256-UyuoPTqwnbXXCPzKA3BiT1aUoUKhIQrOq9Bq2L22faQ=";
hash = "sha256-guZEslmDKsQr/wcjLqpHNLZo1qrKqmz4i8dTlGsiL2k=";
};
dependencies = [
@@ -10,13 +10,13 @@
buildHomeAssistantComponent rec {
owner = "robinostlund";
domain = "volkswagencarnet";
version = "5.4.5";
version = "5.4.11";
src = fetchFromGitHub {
owner = "robinostlund";
repo = "homeassistant-volkswagencarnet";
tag = "v${version}";
hash = "sha256-Ye++ialp9ryC6J+ZXrRqLkuLct6sbk3+NknZo4sx4hc=";
hash = "sha256-soSTa6FYnNpzsl5goKS9xcSnubiXXUUGOJ3tDgbFDc8=";
};
postPatch = ''
@@ -30,9 +30,6 @@ buildHomeAssistantComponent rec {
pytestCheckHook
];
# https://github.com/robinostlund/homeassistant-volkswagencarnet/issues/651
doCheck = false;
meta = {
changelog = "https://github.com/robinostlund/homeassistant-volkswagencarnet/releases/tag/${src.tag}";
description = "Volkswagen Connect component for Home Assistant";
@@ -4,31 +4,31 @@
fetchFromGitHub,
fetchPnpmDeps,
nodejs,
pnpm_9,
pnpm_11,
pnpmConfigHook,
nix-update-script,
}:
let
pnpm = pnpm_9;
pnpm = pnpm_11;
in
stdenv.mkDerivation (finalAttrs: {
pname = "atomic-calendar-revive";
version = "10.2.2";
version = "10.3.0";
src = fetchFromGitHub {
owner = "totaldebug";
repo = "atomic-calendar-revive";
tag = "v${finalAttrs.version}";
hash = "sha256-FiER75oDc9fbdZlh/dLPKmuA11i/UWy2uoX/aPW2m1s=";
hash = "sha256-VgXLQXxA7QIUvVXRUvVmdKIZbyMIAbIn9adZIjEf2Yk=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-DoMzpXCkK60o1YPpStCNCdpj0I+4OqXr7PcX3hjVhSg=";
hash = "sha256-qJIFvn8/p2wEkH4r1XGKWfwHdHPtU0AYLjWcy40kFTw=";
};
nativeBuildInputs = [
@@ -6,13 +6,13 @@
buildNpmPackage rec {
pname = "bubble-card";
version = "3.1.6";
version = "3.2.2";
src = fetchFromGitHub {
owner = "Clooos";
repo = "Bubble-Card";
rev = "v${version}";
hash = "sha256-sQWpz1GMmX6RRGBI8uzdOrX5taUJUIbz+lE9ChXAvig=";
hash = "sha256-kYaAg5HJGoUpAllzJNYrVITbmZ8txJRoikfLLzyDHJo=";
};
npmDepsHash = "sha256-jyw8U99R7M3JJwu30ADefAitm4lWWVHEwq108gWZpfg=";
@@ -12,20 +12,20 @@ let
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "kiosk-mode";
version = "13.1.0";
version = "14.0.0";
src = fetchFromGitHub {
owner = "nemesisre";
repo = "kiosk-mode";
tag = "v${finalAttrs.version}";
hash = "sha256-IfVV08WwFovNCgs6d3DOltEzF7Ox0w4B8G237Ma3ayY=";
hash = "sha256-FWSWG+tWRDGHDd9uvVmD8vGlHkJ9tf02S+8RWGAu+10=";
};
pnpmDeps = fetchPnpmDeps {
inherit (finalAttrs) pname version src;
inherit pnpm;
fetcherVersion = 3;
hash = "sha256-k7kXZ4yFe3As1IGijrmJfgqrMoO2Yi+PrNapuq8Ow3Y=";
hash = "sha256-Ci1RENFsJwWBEUUSKbAvbRGTHn2rfIOXLsdGKamzRRE=";
};
nativeBuildInputs = [
@@ -6,16 +6,16 @@
buildNpmPackage rec {
pname = "material-you-utilities";
version = "2.1.12";
version = "2.1.13";
src = fetchFromGitHub {
owner = "Nerwyn";
repo = "material-you-utilities";
tag = version;
hash = "sha256-ieeWn2o2lTPe15HqWi6wKe7rqNXl4oIjp09ucIGIxvg=";
hash = "sha256-lo3p/eHRWq9MsiDacB1/7j0YO+yi3N7RWQ8ue02C7Us=";
};
npmDepsHash = "sha256-ERIQgNWjIayz2Gh74Ha2NUv3TyK5TcLV2YrPexf52Hk=";
npmDepsHash = "sha256-rJvTDzPL+LnNKraLmEeGvhQTQMjYeyEk0en/WK56c94=";
installPhase = ''
runHook preInstall
@@ -10,13 +10,13 @@
stdenv.mkDerivation (finalAttrs: {
pname = "navbar-card";
version = "1.6.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "joseluis9595";
repo = "lovelace-navbar-card";
tag = "v${finalAttrs.version}";
hash = "sha256-ngKsH83nrDglRQBdQhJzMC8/TRV+uL21vi2ovsLEPuY=";
hash = "sha256-i8kVS09HAZwzhZKjfCGnuva0W8XedZ9M4kmGRHc1bFk=";
};
node_modules = stdenv.mkDerivation {
@@ -6,13 +6,13 @@
buildNpmPackage rec {
pname = "scheduler-card";
version = "4.0.17";
version = "4.0.18";
src = fetchFromGitHub {
owner = "nielsfaber";
repo = "scheduler-card";
tag = "v${version}";
hash = "sha256-S3pJr0Cz1aZVeu3AuVzRz6glY5a0buGibsPMNuHFS8w=";
hash = "sha256-hxoVds650qcwiwi/9n62A6/jS6AmuaIEssBOU6H8GHo=";
};
postPatch = ''
+6 -17
View File
@@ -4,7 +4,6 @@
callPackage,
fetchFromGitHub,
fetchPypi,
fetchpatch,
python314Packages,
replaceVars,
ffmpeg-headless,
@@ -266,7 +265,7 @@ let
extraBuildInputs = extraPackages python3Packages;
# Don't forget to run update-component-packages.py after updating
hassVersion = "2026.5.4";
hassVersion = "2026.6.0";
in
python3Packages.buildPythonApplication rec {
@@ -287,13 +286,13 @@ python3Packages.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
tag = version;
hash = "sha256-Z5FUkljaWRr9tfBb6RXJCC86ZbyNkw0PvUcOl+bZ2cc=";
hash = "sha256-/7WBiQwr40EFOwL+J/3L4pBoQp7nNPPjcKHxU4tDNcU=";
};
# Secondary source is pypi sdist for translations
sdist = fetchPypi {
inherit pname version;
hash = "sha256-o5S6rnOTqzPLZpMBxgmp9IpmLlEHLvHTH68ql2EkVbI=";
hash = "sha256-Eu5oUGBKCrIZkyyLfmTJbHxOC7TD9QHjjNpjscgPK/I=";
};
build-system = with python3Packages; [
@@ -322,19 +321,6 @@ python3Packages.buildPythonApplication rec {
(replaceVars ./patches/ffmpeg-path.patch {
ffmpeg = "${lib.getExe ffmpeg-headless}";
})
(fetchpatch {
name = "2026.5.4-shelly-tests-fix.patch";
url = "https://github.com/home-assistant/core/commit/072e9b51a2321b0d4489bae6f1e04f7ed845222f.patch";
includes = [ "tests/components/shelly/test_coordinator.py" ];
hash = "sha256-0XQdw2MnwzrHKYY06TotfJJem0bqremmi7k8SyVQVGA=";
})
(fetchpatch {
name = "2026.5.4-homewizard-tests-fix.patch";
url = "https://github.com/home-assistant/core/commit/e796d9c46744097585bfada483108a55ae16344a.patch";
hash = "sha256-T0Nb6LcL/21WdUm8RmczhHaVX92n5O/rpMdpqDVQ2VU=";
})
];
postPatch = ''
@@ -436,6 +422,9 @@ python3Packages.buildPythonApplication rec {
requests-mock
respx
syrupy
unidiff
# Used in tests/common.py
paho-mqtt
];
nativeCheckInputs =
+2 -2
View File
@@ -8,7 +8,7 @@ buildPythonPackage (finalAttrs: {
# 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 = "20260429.4";
version = "20260527.4";
format = "wheel";
src = fetchPypi {
@@ -17,7 +17,7 @@ buildPythonPackage (finalAttrs: {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-fXoz0pQSGkJWtematid3JNVN2sHWckNXAo/BcTAKpOM=";
hash = "sha256-qF5tuwB5YqFXvNa1wc6Y7Yhy+WZzJ3PktgCERNGxDhg=";
};
# there is nothing to strip in this package
+21 -2
View File
@@ -19,19 +19,37 @@
pytestCheckHook,
}:
let
intents = fetchFromGitHub {
owner = "OHF-Voice";
repo = "intents";
rev = "4178d174018d408209879c44e98aa150335a1656";
hash = "sha256-xMH3lZaI4sSvicSMFaGCeYlcr5SrhA8nB/krrN0kyQo=";
};
in
buildPythonPackage (finalAttrs: {
pname = "home-assistant-intents";
version = "2026.5.5";
version = "2026.6.1";
pyproject = true;
src = fetchFromGitHub {
owner = "OHF-Voice";
repo = "intents-package";
tag = finalAttrs.version;
# https://github.com/OHF-Voice/intents-package/issues/14
tag = "2026.5.5";
fetchSubmodules = true;
hash = "sha256-R6PPZSiDiFvB+lNxyuIHwMIgpQvVI0oqrucnw4jnYNU=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace-fail '2026.5.5' '2026.6.1'
rm -rf intents
ln -sf ${intents} intents
'';
build-system = [
setuptools
@@ -63,6 +81,7 @@ buildPythonPackage (finalAttrs: {
changelog = "https://github.com/OHF-Voice/intents-package/releases/tag/${finalAttrs.src.tag}";
description = "Intents to be used with Home Assistant";
homepage = "https://github.com/OHF-Voice/intents-package";
# https://github.com/OHF-Voice/intents-package/issues/12
license = lib.licenses.cc-by-40;
teams = [ lib.teams.home-assistant ];
};
@@ -8,6 +8,7 @@
bcrypt,
freezegun,
homeassistant,
paho-mqtt,
pytest-asyncio,
pytest-socket,
requests-mock,
@@ -18,7 +19,7 @@
buildPythonPackage rec {
pname = "pytest-homeassistant-custom-component";
version = "0.13.333";
version = "0.13.336";
pyproject = true;
disabled = pythonOlder "3.13";
@@ -27,7 +28,7 @@ buildPythonPackage rec {
owner = "MatthewFlamm";
repo = "pytest-homeassistant-custom-component";
tag = version;
hash = "sha256-zSssvqYxgGguKUanzpAYzammeWrBOi0bZrLIfg8NwC0=";
hash = "sha256-TyU9w1bqCJ780AIUgvNa3XO6pYxrGAKuD28WxBvbink=";
};
build-system = [ setuptools ];
@@ -39,6 +40,7 @@ buildPythonPackage rec {
bcrypt
freezegun
homeassistant
paho-mqtt
pytest-asyncio
pytest-socket
requests-mock
+2 -2
View File
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2026.5.4";
version = "2026.6.0";
pyproject = true;
disabled = python.version != home-assistant.python3Packages.python.version;
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "KapJI";
repo = "homeassistant-stubs";
tag = version;
hash = "sha256-AMJZxGN/asXcWbT/X92tQQ82/f8vI8MYft/Xx43GInc=";
hash = "sha256-JGq+Mwe0dm680lPesSi/SO6wsqM56jY10aTkCNwf/l8=";
};
build-system = [
+4 -39
View File
@@ -126,50 +126,15 @@ let
# intent fixture mismatch on aarch64
"test_error_no_device_on_floor"
];
ecovacs = [
# Translation not found for vacuum
"test_raise_segment_changed_issue"
];
homeassistant_sky_connect = [
# 2026.5.0: after reload device is in loaded state instead of retry state
"test_usb_device_reactivity"
];
homeassistant_connect_zbt2 = [
# 2026.5.0: after reload device is in loaded state instead of retry state
"test_usb_device_reactivity"
];
honeywell_string_lights = [
# [2026.5.2] Failed: Description not found for placeholder `modulation` in component.honeywell_string_lights.config.abort.no_compatible_transmitters"
"test_no_compatible_transmitters"
];
lutron_caseta = [
# [2026.5.4] creates binary_sensor.basement_bedroom_left_shade_battery
# expects binary_sensor.basement_bedroom_basement_bedroom_left_shade_battery
"test_battery_sensor_handles_bridge_response_error"
];
novy_cooker_hood = [
# [2026.5.2] Failed: Description not found for placeholder `modulation` in component.novy_cooker_hood.config.abort.no_compatible_transmitters
"test_no_compatible_transmitters"
];
tractive = [
# [2026.5.3] Entity does not get set up
"test_binary_sensor"
"test_sensor"
"test_switch"
"test_switch_on"
"test_switch_off"
"test_switch_on_with_exception"
"test_switch_off_with_exception"
"test_switch_unavailable"
opendisplay = [
# [2026.6.0] Failed: Description not found for placeholder `reason` in component.opendisplay.exceptions.device_not_found.message
# https://github.com/home-assistant/core/pull/172909
"test_upload_image_device_not_in_range"
];
zeroconf = [
# multicast socket bind, not possible in the sandbox
"test_subscribe_discovery"
];
zha = [
# [2026.5.2] assert <HardwareType.OTHER: 'other'> == <HardwareType... 'skyconnect'>
"test_detect_radio_hardware"
];
};
in
lib.listToAttrs (
@@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ packaging rich ])" -p pyright ruff isort nixfmt
#! nix-shell -i python3 -p "python314.withPackages (ps: with ps; [ packaging rich ])" -p pyright ruff isort nixfmt
#
# This script downloads Home Assistant's source tarball.
# Inside the homeassistant/components directory, each integration has an associated manifest.json,
@@ -40,7 +40,7 @@ PKG_SET = "home-assistant.python3Packages"
# following can be used to choose the correct one
PKG_PREFERENCES = {
"av": "av",
"caldav": "caldav_2",
"caldav": "caldav",
"fiblary3": "fiblary3-fork", # https://github.com/home-assistant/core/issues/66466
"fints": "fints",
"HAP-python": "hap-python",
+1
View File
@@ -301,6 +301,7 @@ mapAliases {
Keras = throw "'Keras' has been renamed to/replaced by 'keras'"; # Converted to throw 2025-10-29
keyrings-passwordstore = throw "keyrings-passwordstore has been removed because it has been marked as broken since at least November 2024."; # Added 2025-10-03
kivy-garden-modernmenu = throw "kivy-garden-modernmenu has been removed as it's abandoned since 2019"; # added 2025-05-25
konnected = throw "konnected has been removed, because the home-assistant integration that required it has been deprecated and removed. See https://support.konnected.io/migrating-from-konnected-legacy-home-assistant-integration-to-esphome."; # Added 2026-06-04
langchain-standard-tests = throw "'langchain-standard-tests' has been renamed to/replaced by 'langchain-tests'"; # Converted to throw 2025-10-29
langchainplus-sdk = throw "'langchainplus-sdk' has been renamed to/replaced by 'langsmith'"; # Converted to throw 2025-10-29
lazr_config = throw "'lazr_config' has been renamed to/replaced by 'lazr-config'"; # Converted to throw 2025-10-29
+2 -2
View File
@@ -8507,8 +8507,6 @@ self: super: with self; {
kombu = callPackage ../development/python-modules/kombu { };
konnected = callPackage ../development/python-modules/konnected { };
kopf = callPackage ../development/python-modules/kopf { };
korean-lunar-calendar = callPackage ../development/python-modules/korean-lunar-calendar { };
@@ -9739,6 +9737,8 @@ self: super: with self; {
matrix-nio = callPackage ../development/python-modules/matrix-nio { };
matter-ble-proxy = callPackage ../development/python-modules/matter-ble-proxy { };
matter-python-client = callPackage ../development/python-modules/matter-python-client { };
mattermostdriver = callPackage ../development/python-modules/mattermostdriver { };