Merge pull request #253832 from NixOS/home-assistant

home-assistant: 2023.8.4 -> 2023.9.0
This commit is contained in:
Martin Weinelt 2023-09-08 11:32:35 +02:00 committed by GitHub
commit 059ee99ef4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
29 changed files with 630 additions and 179 deletions

View file

@ -1,26 +1,36 @@
{ lib
, aiohttp
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, geopy
, pythonOlder
, requests
, setuptools
, urllib3
, wheel
}:
buildPythonPackage rec {
pname = "aemet-opendata";
version = "0.2.2";
version = "0.4.4";
format = "pyproject";
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "Noltari";
repo = "AEMET-OpenData";
rev = "refs/tags/${version}";
hash = "sha256-3f3hvui00oItu6t9rKecoCquqsD1Eeqz+SEsLBqGt48=";
hash = "sha256-Jm7fv1fNavp2GkfKPhZXYGnGuCBy6BdN9iTNYTBIyew=";
};
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
aiohttp
geopy
requests
urllib3
@ -29,11 +39,14 @@ buildPythonPackage rec {
# no tests implemented
doCheck = false;
pythonImportsCheck = [ "aemet_opendata.interface" ];
pythonImportsCheck = [
"aemet_opendata.interface"
];
meta = with lib; {
description = "Python client for AEMET OpenData Rest API";
homepage = "https://github.com/Noltari/AEMET-OpenData";
changelog = "https://github.com/Noltari/AEMET-OpenData/releases/tag/${version}";
license = licenses.gpl2Only;
maintainers = with maintainers; [ dotlambda ];
};

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "aioairzone";
version = "0.6.7";
version = "0.6.8";
format = "pyproject";
disabled = pythonOlder "3.11";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "Noltari";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-/LUTHeApktB4okt9bVkZe7G1dApVaYUdwty4sbK7IKQ=";
hash = "sha256-aCf0IO70t/QMmDmIwBKN3Um1HgHjHn1r6Dze/pWaQ5M=";
};
nativeBuildInputs = [

View file

@ -0,0 +1,52 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiocomelit";
version = "0.0.6";
format = "pyproject";
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "chemelli74";
repo = "aiocomelit";
rev = "refs/tags/v${version}";
hash = "sha256-u6CyqDFLgnIVak0UqN4JmL8ll/li3k9EhFs7iC5oZ9U=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=aiocomelit --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"aiocomelit"
];
meta = with lib; {
description = "Library to control Comelit Simplehome";
homepage = "https://github.com/chemelli74/aiocomelit";
changelog = "https://github.com/chemelli74/aiocomelit/blob/${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "aioesphomeapi";
version = "16.0.3";
version = "16.0.5";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "esphome";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-x4kH8riHZbVibgwR2DmWB4tsswpub4m2LwnypVVUgqM=";
hash = "sha256-SueK59CZTKkQPsHThs7k9eCEmc1GwaRIrw3oSK4E80E=";
};
propagatedBuildInputs = [

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "aiolyric";
version = "1.0.10";
version = "1.1.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "timmo001";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-yKeG0UCQ8haT1hvywoIwKQ519GK2wFg0wXaRTFeKYIk=";
hash = "sha256-LDLpNuwkoPacI/a2NSlqUABRgwy+jAjGwOxmShLskso=";
};
propagatedBuildInputs = [
@ -29,8 +29,8 @@ buildPythonPackage rec {
];
disabledTests = [
# AssertionError, https://github.com/timmo001/aiolyric/issues/5
"test_location"
# AssertionError, https://github.com/timmo001/aiolyric/issues/61
"test_priority"
];
pythonImportsCheck = [

View file

@ -0,0 +1,67 @@
{ lib
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, setuptools
, wheel
, xmltodict
}:
buildPythonPackage rec {
pname = "aioruckus";
version = "0.34";
format = "pyproject";
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "ms264556";
repo = "aioruckus";
rev = "refs/tags/v${version}";
hash = "sha256-SPj1w1jAJFBsWj1+N8srAbvlh+yB3ZTT7aDcZTnmUto=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "setuptools>=68.1" "setuptools"
'';
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
aiohttp
xmltodict
];
pythonImportsCheck = [
"aioruckus"
];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
];
disabledTests = [
# these require a local ruckus device
"test_ap_info"
"test_authentication_error"
"test_connect_success"
"test_current_active_clients"
"test_mesh_info"
"test_system_info"
];
meta = with lib; {
description = "Python client for Ruckus Unleashed and Ruckus ZoneDirector";
homepage = "https://github.com/ms264556/aioruckus";
license = licenses.bsd0;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -9,7 +9,7 @@
buildPythonPackage rec {
pname = "aioshelly";
version = "5.4.0";
version = "6.0.0";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -18,7 +18,7 @@ buildPythonPackage rec {
owner = "home-assistant-libs";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-cbgDuJXvZmbhIgxpuySGbJqz7DeI65DHwk1UPdNUs1Q=";
hash = "sha256-mB9BEVqbHcoUaygIgrtqk20wMJkL+dWpbeyG5VP4+sg=";
};
propagatedBuildInputs = [

View file

@ -8,14 +8,14 @@
buildPythonPackage rec {
pname = "aiotractive";
version = "0.5.5";
version = "0.5.6";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "zhulik";
repo = pname;
rev = "v${version}";
hash = "sha256-VCwIAeSAN4tMwB8TXN/ukrws0qYv/jHHeEu++m56AHA=";
hash = "sha256-jJw1L1++Z/r+E12tA6zoyyy4MmTpaaVVzKwfI6xcDBQ=";
};
propagatedBuildInputs = [
@ -29,6 +29,7 @@ buildPythonPackage rec {
pythonImportsCheck = [ "aiotractive" ];
meta = with lib; {
changelog = "https://github.com/zhulik/aiotractive/releases/tag/v${version}";
description = "Python client for the Tractive REST API";
homepage = "https://github.com/zhulik/aiotractive";
license = licenses.mit;

View file

@ -1,7 +1,6 @@
{ lib
, aiohttp
, aioresponses
, async-timeout
, buildPythonPackage
, fetchFromGitHub
, orjson
@ -10,25 +9,39 @@
, pytestCheckHook
, pythonOlder
, segno
, setuptools
, wheel
}:
buildPythonPackage rec {
pname = "aiounifi";
version = "55";
format = "setuptools";
version = "61";
format = "pyproject";
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "Kane610";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-JvuP1Rhq01Y9KbfAJpawUQNWfxvlf9LY82RvXok4tgw=";
hash = "sha256-tzP20KDPCq1/fJY+OfEpo3LMbP662ROh2aPI4nmDp0Y=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "setuptools==" "setuptools>=" \
--replace "wheel==" "wheel>="
sed -i '/--cov=/d' pyproject.toml
'';
nativeBuildInputs = [
setuptools
wheel
];
propagatedBuildInputs = [
aiohttp
async-timeout
orjson
segno
];

View file

@ -0,0 +1,54 @@
{ lib
, aiohttp
, beautifulsoup4
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "aiovodafone";
version = "0.0.8";
format = "pyproject";
disabled = pythonOlder "3.10";
src = fetchFromGitHub {
owner = "chemelli74";
repo = "aiovodafone";
rev = "refs/tags/v${version}";
hash = "sha256-o21zaK3dJfURFAt8fPaOd95H7tuqLnFPC01RGHBIz4M=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace " --cov=aiovodafone --cov-report=term-missing:skip-covered" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
beautifulsoup4
];
nativeCheckInputs = [
pytestCheckHook
];
pythonImportsCheck = [
"aiovodafone"
];
meta = with lib; {
description = "Library to control Vodafon Station";
homepage = "https://github.com/chemelli74/aiovodafone";
changelog = "https://github.com/chemelli74/aiovodafone/blob/${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -0,0 +1,60 @@
{ lib
, aiohttp
, aresponses
, buildPythonPackage
, fetchFromGitHub
, poetry-core
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, syrupy
, yarl
}:
buildPythonPackage rec {
pname = "aiowaqi";
version = "1.1.0";
format = "pyproject";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "joostlek";
repo = "python-waqi";
rev = "refs/tags/v${version}";
hash = "sha256-CQCF59Tp0VE7PNHPdVzzZegLUNDkslzKapELDjZn1k4=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "--cov" ""
'';
nativeBuildInputs = [
poetry-core
];
propagatedBuildInputs = [
aiohttp
yarl
];
nativeCheckInputs = [
aresponses
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [
"aiowaqi"
];
meta = with lib; {
description = "Module to interact with the WAQI API";
homepage = "https://github.com/joostlek/python-waqi";
changelog = "https://github.com/joostlek/python-waqi/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -7,9 +7,12 @@
, httpx
, pycryptodome
, pyjwt
, pytest-asyncio
, pytestCheckHook
, python
, respx
, time-machine
, tzdata
}:
buildPythonPackage rec {
@ -39,12 +42,21 @@ buildPythonPackage rec {
pyjwt
];
postInstall = ''
cp -R bimmer_connected/tests/responses $out/${python.sitePackages}/bimmer_connected/tests/
'';
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
respx
time-machine
];
preCheck = ''
export TZDIR=${tzdata}/${python.sitePackages}/tzdata/zoneinfo
'';
pythonImportsCheck = [
"bimmer_connected"
];

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "hatasmota";
version = "0.6.5";
version = "0.7.0";
format = "setuptools";
disabled = pythonOlder "3.6";
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "emontnemery";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-DqXGvn7vYC3SXOM/u+nMUshgBUe0O6Dcffaxh9vFohk=";
hash = "sha256-f8bRVo9365w5gMpkb31thGXCRWZuKfkFEow9Wv4/+bM=";
};
propagatedBuildInputs = [

View file

@ -7,54 +7,57 @@
, prompt-toolkit
, pygments
, pyserial
, pyserial-asyncio
, pytest-asyncio
, pytest-rerunfailures
, pytest-xdist
, pytestCheckHook
, redis
, sqlalchemy
, tornado
, twisted
, typer
}:
buildPythonPackage rec {
pname = "pymodbus";
version = "3.3.2";
version = "3.5.0";
format = "setuptools";
src = fetchFromGitHub {
owner = "pymodbus-dev";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-EGJyb0AVLKN7FEoeWF4rVqmJBNbXHent9P+cxc13rQs=";
hash = "sha256-ZoGpMhJng46nW7v/QgjGCsFZV6xV4PSh9/DH1d2dzdg=";
};
# Twisted asynchronous version is not supported due to a missing dependency
propagatedBuildInputs = [
aiohttp
click
prompt-toolkit
pygments
pyserial
pyserial-asyncio
tornado
];
passthru.optional-dependencies = {
repl = [
aiohttp
typer
prompt-toolkit
pygments
click
] ++ typer.optional-dependencies.all;
serial = [
pyserial
];
};
nativeCheckInputs = [
mock
pytest-asyncio
pytest-rerunfailures
pytest-xdist
pytestCheckHook
redis
sqlalchemy
twisted
];
] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies);
pytestFlagsArray = [
"--reruns" "3" # Racy socket tests
];
preCheck = ''
pushd test
'';
postCheck = ''
popd
'';
pythonImportsCheck = [ "pymodbus" ];

View file

@ -1,36 +0,0 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, pexpect
, python-slugify
, pythonOlder
}:
buildPythonPackage rec {
pname = "pyruckus";
version = "0.16";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "gabe565";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-SVE5BrCCQgCrhOC0CSGgbZ9TEY3iZ9Rp/xMUShPAxxM=";
};
propagatedBuildInputs = [
pexpect
python-slugify
];
# Tests requires network features
doCheck = false;
pythonImportsCheck = [ "pyruckus" ];
meta = with lib; {
description = "Python client for Ruckus Unleashed";
homepage = "https://github.com/gabe565/pyruckus";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
}

View file

@ -16,7 +16,7 @@
buildPythonPackage rec {
pname = "python-bsblan";
version = "0.5.15";
version = "0.5.16";
format = "pyproject";
disabled = pythonOlder "3.9";
@ -25,7 +25,7 @@ buildPythonPackage rec {
owner = "liudger";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-PNgv3QXl3iyDX0KOn1egQrt6D64i3eCUyCPtXe94y0U=";
hash = "sha256-m80lnNd1ANddV0d/w3S7+QWzIPRklDZsWMO2g1hgEoQ=";
};
postPatch = ''

View file

@ -0,0 +1,56 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, hatchling
, httpx
, pytest-asyncio
, pytestCheckHook
, pythonOlder
, respx
}:
buildPythonPackage rec {
pname = "pywaze";
version = "0.3.0";
format = "pyproject";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "eifinger";
repo = "pywaze";
rev = "refs/tags/v${version}";
hash = "sha256-z/6eSgERHKV/5vjbRWcyrxAMNDIHvM3GUoo3xf+AhNY=";
};
postPatch = ''
substituteInPlace pyproject.toml \
--replace "--cov --cov-report term-missing --cov=src/pywaze " ""
'';
nativeBuildInputs = [
hatchling
];
propagatedBuildInputs = [
httpx
];
nativeCheckInputs = [
pytest-asyncio
pytestCheckHook
respx
];
pythonImportsCheck = [
"pywaze"
];
meta = with lib; {
description = "Module for calculating WAZE routes and travel times";
homepage = "https://github.com/eifinger/pywaze";
changelog = "https://github.com/eifinger/pywaze/releases/tag/v${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -2,15 +2,14 @@
, aiohttp
, buildPythonPackage
, fetchFromGitHub
, ffmpeg-python
, orjson
, pythonOlder
, requests
, typing-extensions
}:
buildPythonPackage rec {
pname = "reolink-aio";
version = "0.7.8";
version = "0.7.9";
format = "setuptools";
disabled = pythonOlder "3.9";
@ -19,29 +18,22 @@ buildPythonPackage rec {
owner = "starkillerOG";
repo = "reolink_aio";
rev = "refs/tags/${version}";
hash = "sha256-vbSt1rD25Bt3Qac0uO0Z63JhbU5HU0p2ox046W6xyJU=";
hash = "sha256-+1FZzgVaj2hphSTFlOtaYH3o++kC/aaahU8i8urdme0=";
};
postPatch = ''
# Packages in nixpkgs is different than the module name
substituteInPlace setup.py \
--replace "ffmpeg" "ffmpeg-python"
'';
propagatedBuildInputs = [
aiohttp
ffmpeg-python
orjson
requests
typing-extensions
];
# All tests require a network device
doCheck = false;
pythonImportsCheck = [
"reolink_aio"
];
# All tests require a network device
doCheck = false;
meta = with lib; {
description = "Module to interact with the Reolink IP camera API";
homepage = "https://github.com/starkillerOG/reolink_aio";

View file

@ -0,0 +1,73 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
# build-system
, setuptools
, setuptools-git-versioning
, wheel
# dependencies
, async-timeout
, bellows
, click
, coloredlogs
, crc
, libgpiod
, typing-extensions
, zigpy
# tests
, pytestCheckHook
, pytest-asyncio
, pytest-mock
, pytest-timeout
}:
buildPythonPackage rec {
pname = "universal-silabs-flasher";
version = "0.0.13";
format = "pyproject";
src = fetchFromGitHub {
owner = "NabuCasa";
repo = "universal-silabs-flasher";
rev = "v${version}";
hash = "sha256-qiaDPCnVb6JQ2fZRFK+QF4o8K2UbIWGNKl5oo6MQUW0=";
};
nativeBuildInputs = [
setuptools
setuptools-git-versioning
wheel
];
propagatedBuildInputs = [
async-timeout
bellows
click
coloredlogs
crc
typing-extensions
zigpy
] ++ lib.optionals (stdenv.hostPlatform.isLinux) [
libgpiod
];
nativeCheckInputs = [
pytestCheckHook
pytest-asyncio
pytest-mock
pytest-timeout
];
pythonImportsCheck = [ "universal_silabs_flasher" ];
meta = with lib; {
description = "Flashes Silicon Labs radios running EmberZNet or CPC multi-pan firmware";
homepage = "https://github.com/NabuCasa/universal-silabs-flasher";
license = licenses.gpl3Only;
maintainers = with maintainers; [ hexa ];
};
}

View file

@ -15,7 +15,7 @@
buildPythonPackage rec {
pname = "zeroconf";
version = "0.99.0";
version = "0.102.0";
format = "pyproject";
disabled = pythonOlder "3.7";
@ -24,7 +24,7 @@ buildPythonPackage rec {
owner = "jstasiak";
repo = "python-zeroconf";
rev = "refs/tags/${version}";
hash = "sha256-T9CDJIK/wMGExk+1Fahbq4gm+t+RRSUxca3SxkHXtJQ=";
hash = "sha256-Z4RswQDA05wXXyg8CeIiuh9I1EXTyXh6Z88r7soGFTo=";
};
nativeBuildInputs = [

View file

@ -10,16 +10,16 @@
buildPythonPackage rec {
pname = "zwave-js-server-python";
version = "0.49.0";
version = "0.51.1";
format = "setuptools";
disabled = pythonOlder "3.9";
disabled = pythonOlder "3.11";
src = fetchFromGitHub {
owner = "home-assistant-libs";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-6CN2Smwm693RUuRUdqrNKa7j2I3pjmR+QoPfpjti+h8=";
hash = "sha256-2U0mRlNUCZD05lgGB3dz2WaUxG2dv/C7nxD2sI3R8B8=";
};
propagatedBuildInputs = [
@ -27,8 +27,6 @@ buildPythonPackage rec {
pydantic
];
doCheck = lib.versionAtLeast pytest-aiohttp.version "1.0.0";
nativeCheckInputs = [
pytest-aiohttp
pytestCheckHook

View file

@ -2,7 +2,7 @@
# Do not edit!
{
version = "2023.8.4";
version = "2023.9.0";
components = {
"3_day_blinds" = ps: with ps; [
];
@ -638,6 +638,9 @@
];
"comed_hourly_pricing" = ps: with ps; [
];
"comelit" = ps: with ps; [
aiocomelit
];
"comfoconnect" = ps: with ps; [
pycomfoconnect
];
@ -648,6 +651,8 @@
];
"concord232" = ps: with ps; [
]; # missing inputs: concord232
"coned" = ps: with ps; [
];
"config" = ps: with ps; [
aiohttp-cors
];
@ -1049,7 +1054,7 @@
enocean
];
"enphase_envoy" = ps: with ps; [
envoy-reader
pyenphase
];
"entur_public_transport" = ps: with ps; [
enturclient
@ -1678,6 +1683,25 @@
];
"homeassistant_alerts" = ps: with ps; [
];
"homeassistant_green" = ps: with ps; [
aiohttp-cors
bellows
fnv-hash-fast
janus
pillow
psutil-home-assistant
pyserial
pyserial-asyncio
pyudev
sqlalchemy
universal-silabs-flasher
zha-quirks
zigpy
zigpy-deconz
zigpy-xbee
zigpy-zigate
zigpy-znp
];
"homeassistant_hardware" = ps: with ps; [
aiohttp-cors
bellows
@ -1689,6 +1713,7 @@
pyserial-asyncio
pyudev
sqlalchemy
universal-silabs-flasher
zha-quirks
zigpy
zigpy-deconz
@ -1707,6 +1732,7 @@
pyserial-asyncio
pyudev
sqlalchemy
universal-silabs-flasher
zha-quirks
zigpy
zigpy-deconz
@ -1725,6 +1751,7 @@
pyserial-asyncio
pyudev
sqlalchemy
universal-silabs-flasher
zha-quirks
zigpy
zigpy-deconz
@ -2183,6 +2210,8 @@
"laundrify" = ps: with ps; [
laundrify-aio
];
"lawn_mower" = ps: with ps; [
];
"lcn" = ps: with ps; [
pypck
];
@ -2988,6 +3017,8 @@
];
"oru" = ps: with ps; [
]; # missing inputs: oru
"oru_opower" = ps: with ps; [
];
"orvibo" = ps: with ps; [
orvibo
];
@ -3007,6 +3038,7 @@
python-otbr-api
pyudev
sqlalchemy
universal-silabs-flasher
zeroconf
zha-quirks
zigpy
@ -3445,7 +3477,8 @@
rtsp-to-webrtc
];
"ruckus_unleashed" = ps: with ps; [
pyruckus
aioruckus
xmltodict
];
"russound_rio" = ps: with ps; [
]; # missing inputs: russound-rio
@ -3537,6 +3570,9 @@
];
"schedule" = ps: with ps; [
];
"schlage" = ps: with ps; [
pyschlage
];
"schluter" = ps: with ps; [
]; # missing inputs: py-schluter
"scrape" = ps: with ps; [
@ -4321,6 +4357,9 @@
pytradfri
]
++ pytradfri.optional-dependencies.async;
"trafikverket_camera" = ps: with ps; [
pytrafikverket
];
"trafikverket_ferry" = ps: with ps; [
pytrafikverket
];
@ -4505,6 +4544,9 @@
"vlc_telnet" = ps: with ps; [
aiovlc
];
"vodafone_station" = ps: with ps; [
aiovodafone
];
"voicerss" = ps: with ps; [
];
"voip" = ps: with ps; [
@ -4534,11 +4576,13 @@
"wake_on_lan" = ps: with ps; [
wakeonlan
];
"wake_word" = ps: with ps; [
];
"wallbox" = ps: with ps; [
wallbox
];
"waqi" = ps: with ps; [
waqiasync
aiowaqi
];
"water_heater" = ps: with ps; [
];
@ -4551,7 +4595,7 @@
aiowatttime
];
"waze_travel_time" = ps: with ps; [
wazeroutecalculator
pywaze
];
"weather" = ps: with ps; [
];
@ -4729,6 +4773,8 @@
];
"yandextts" = ps: with ps; [
];
"yardian" = ps: with ps; [
]; # missing inputs: pyyardian
"yeelight" = ps: with ps; [
aiohttp-cors
async-upnp-client
@ -4797,6 +4843,7 @@
pyserial-asyncio
pyudev
sqlalchemy
universal-silabs-flasher
zha-quirks
zigpy
zigpy-deconz
@ -4929,6 +4976,7 @@
"cloudflare"
"co2signal"
"color_extractor"
"comelit"
"comfoconnect"
"command_line"
"compensation"
@ -5098,6 +5146,7 @@
"home_plus_control"
"homeassistant"
"homeassistant_alerts"
"homeassistant_green"
"homeassistant_hardware"
"homeassistant_sky_connect"
"homeassistant_yellow"
@ -5169,6 +5218,7 @@
"lastfm"
"launch_library"
"laundrify"
"lawn_mower"
"lcn"
"ld2410_ble"
"led_ble"
@ -5378,6 +5428,7 @@
"samsungtv"
"scene"
"schedule"
"schlage"
"scrape"
"screenlogic"
"script"
@ -5497,6 +5548,7 @@
"trace"
"tractive"
"tradfri"
"trafikverket_camera"
"trafikverket_ferry"
"trafikverket_train"
"trafikverket_weatherstation"
@ -5537,12 +5589,14 @@
"vilfo"
"vizio"
"vlc_telnet"
"vodafone_station"
"voicerss"
"volumio"
"volvooncall"
"vulcan"
"vultr"
"wake_on_lan"
"wake_word"
"wallbox"
"water_heater"
"watttime"

View file

@ -134,6 +134,16 @@ let
};
});
plexapi = super.plexapi.overridePythonAttrs (oldAttrs: rec {
version = "4.13.2";
src = fetchFromGitHub {
owner = "pkkid";
repo = "python-plexapi";
rev = "refs/tags/${version}";
hash = "sha256-5YwINPgQ4efZBvu5McsLYicW/7keKSi011lthJUR9zw=";
};
});
# Pinned due to API changes in 0.1.0
poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec {
version = "0.0.8";
@ -272,6 +282,16 @@ let
};
});
zeroconf = super.zeroconf.overridePythonAttrs (oldAttrs: rec {
version = "0.91.1";
src = fetchFromGitHub {
owner = "python-zeroconf";
repo = "python-zeroconf";
rev = "refs/tags/${version}";
hash = "sha256-HHADcxXjfukRJtqRjfKI/spZIqOfDT0Etg4oYzNdXIs=";
};
});
# internal python packages only consumed by home-assistant itself
home-assistant-frontend = self.callPackage ./frontend.nix { };
home-assistant-intents = self.callPackage ./intents.nix { };
@ -296,7 +316,7 @@ let
extraBuildInputs = extraPackages python.pkgs;
# Don't forget to run parse-requirements.py after updating
hassVersion = "2023.8.4";
hassVersion = "2023.9.0";
in python.pkgs.buildPythonApplication rec {
pname = "homeassistant";
@ -312,7 +332,7 @@ in python.pkgs.buildPythonApplication rec {
# Primary source is the pypi sdist, because it contains translations
src = fetchPypi {
inherit pname version;
hash = "sha256-Mu3DyCtF/bTrTvRKPLVEGSZfWZrF7QQy/ZvBi5IIH3s=";
hash = "sha256-XdZYVv60ZCkK0fKmt2kmThRxhv+hfJMtHwgBu3iaW9w=";
};
# Secondary source is git for tests
@ -320,7 +340,7 @@ in python.pkgs.buildPythonApplication rec {
owner = "home-assistant";
repo = "core";
rev = "refs/tags/${version}";
hash = "sha256-N06e2QSt34l4T0hulndZR/czjaPcmw8YXF0iAN/XmgQ=";
hash = "sha256-B+GdUXRvQyBMR7PbVGEZr7hZm7wslBskUTB23APJLIU=";
};
nativeBuildInputs = with python.pkgs; [

View file

@ -4,7 +4,7 @@ buildPythonPackage rec {
# the frontend version corresponding to a specific home-assistant version can be found here
# https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json
pname = "home-assistant-frontend";
version = "20230802.1";
version = "20230906.1";
format = "wheel";
src = fetchPypi {
@ -12,7 +12,7 @@ buildPythonPackage rec {
pname = "home_assistant_frontend";
dist = "py3";
python = "py3";
hash = "sha256-kG2FGX78pd1vbRH6DtB2rXV0AlcUfaHO0z5Vft0hswE=";
hash = "sha256-wR/v49K4bKNnzkRltvdFjVYgZ+jU8PVBJHCF765NY5U=";
};
# there is nothing to strip in this package

View file

@ -11,11 +11,69 @@ index a98766c78c..1c47bb1f80 100644
CONFIG_SCHEMA = vol.Schema(
{
diff --git a/tests/components/ffmpeg/test_binary_sensor.py b/tests/components/ffmpeg/test_binary_sensor.py
index 6eec115d6f..c55b4fb26c 100644
--- a/tests/components/ffmpeg/test_binary_sensor.py
+++ b/tests/components/ffmpeg/test_binary_sensor.py
@@ -24,7 +24,7 @@ async def test_noise_setup_component(hass: HomeAssistant) -> None:
await async_setup_component(hass, "binary_sensor", CONFIG_NOISE)
await hass.async_block_till_done()
- assert hass.data["ffmpeg"].binary == "ffmpeg"
+ assert hass.data["ffmpeg"].binary == "@ffmpeg@"
assert hass.states.get("binary_sensor.ffmpeg_noise") is not None
@@ -35,7 +35,7 @@ async def test_noise_setup_component_start(mock_start, hass: HomeAssistant):
await async_setup_component(hass, "binary_sensor", CONFIG_NOISE)
await hass.async_block_till_done()
- assert hass.data["ffmpeg"].binary == "ffmpeg"
+ assert hass.data["ffmpeg"].binary == "@ffmpeg@"
assert hass.states.get("binary_sensor.ffmpeg_noise") is not None
hass.bus.async_fire(EVENT_HOMEASSISTANT_START)
@@ -55,7 +55,7 @@ async def test_noise_setup_component_start_callback(mock_ffmpeg, hass: HomeAssis
await async_setup_component(hass, "binary_sensor", CONFIG_NOISE)
await hass.async_block_till_done()
- assert hass.data["ffmpeg"].binary == "ffmpeg"
+ assert hass.data["ffmpeg"].binary == "@ffmpeg@"
assert hass.states.get("binary_sensor.ffmpeg_noise") is not None
hass.bus.async_fire(EVENT_HOMEASSISTANT_START)
@@ -80,7 +80,7 @@ async def test_motion_setup_component(hass: HomeAssistant) -> None:
await async_setup_component(hass, "binary_sensor", CONFIG_MOTION)
await hass.async_block_till_done()
- assert hass.data["ffmpeg"].binary == "ffmpeg"
+ assert hass.data["ffmpeg"].binary == "@ffmpeg@"
assert hass.states.get("binary_sensor.ffmpeg_motion") is not None
@@ -91,7 +91,7 @@ async def test_motion_setup_component_start(mock_start, hass: HomeAssistant):
await async_setup_component(hass, "binary_sensor", CONFIG_MOTION)
await hass.async_block_till_done()
- assert hass.data["ffmpeg"].binary == "ffmpeg"
+ assert hass.data["ffmpeg"].binary == "@ffmpeg@"
assert hass.states.get("binary_sensor.ffmpeg_motion") is not None
hass.bus.async_fire(EVENT_HOMEASSISTANT_START)
@@ -111,7 +111,7 @@ async def test_motion_setup_component_start_callback(mock_ffmpeg, hass: HomeAssi
await async_setup_component(hass, "binary_sensor", CONFIG_MOTION)
await hass.async_block_till_done()
- assert hass.data["ffmpeg"].binary == "ffmpeg"
+ assert hass.data["ffmpeg"].binary == "@ffmpeg@"
assert hass.states.get("binary_sensor.ffmpeg_motion") is not None
hass.bus.async_fire(EVENT_HOMEASSISTANT_START)
diff --git a/tests/components/ffmpeg/test_init.py b/tests/components/ffmpeg/test_init.py
index 521ac732e5..ab8a56934f 100644
index 0c6ce300d0..ff74a5d7f7 100644
--- a/tests/components/ffmpeg/test_init.py
+++ b/tests/components/ffmpeg/test_init.py
@@ -87,7 +87,7 @@ class TestFFmpegSetup:
@@ -91,7 +91,7 @@ class TestFFmpegSetup:
with assert_setup_component(1):
setup_component(self.hass, ffmpeg.DOMAIN, {ffmpeg.DOMAIN: {}})
@ -24,61 +82,3 @@ index 521ac732e5..ab8a56934f 100644
def test_setup_component_test_service(self):
"""Set up ffmpeg component test services."""
diff --git a/tests/components/ffmpeg/test_sensor.py b/tests/components/ffmpeg/test_sensor.py
index a6c9c1f441..f13091da1a 100644
--- a/tests/components/ffmpeg/test_sensor.py
+++ b/tests/components/ffmpeg/test_sensor.py
@@ -27,7 +27,7 @@ class TestFFmpegNoiseSetup:
setup_component(self.hass, "binary_sensor", self.config)
self.hass.block_till_done()
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
assert self.hass.states.get("binary_sensor.ffmpeg_noise") is not None
@patch("haffmpeg.sensor.SensorNoise.open_sensor", return_value=mock_coro())
@@ -37,7 +37,7 @@ class TestFFmpegNoiseSetup:
setup_component(self.hass, "binary_sensor", self.config)
self.hass.block_till_done()
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
assert self.hass.states.get("binary_sensor.ffmpeg_noise") is not None
self.hass.start()
@@ -53,7 +53,7 @@ class TestFFmpegNoiseSetup:
setup_component(self.hass, "binary_sensor", self.config)
self.hass.block_till_done()
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
assert self.hass.states.get("binary_sensor.ffmpeg_noise") is not None
self.hass.start()
@@ -89,7 +89,7 @@ class TestFFmpegMotionSetup:
setup_component(self.hass, "binary_sensor", self.config)
self.hass.block_till_done()
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
assert self.hass.states.get("binary_sensor.ffmpeg_motion") is not None
@patch("haffmpeg.sensor.SensorMotion.open_sensor", return_value=mock_coro())
@@ -99,7 +99,7 @@ class TestFFmpegMotionSetup:
setup_component(self.hass, "binary_sensor", self.config)
self.hass.block_till_done()
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
assert self.hass.states.get("binary_sensor.ffmpeg_motion") is not None
self.hass.start()
@@ -115,7 +115,7 @@ class TestFFmpegMotionSetup:
setup_component(self.hass, "binary_sensor", self.config)
self.hass.block_till_done()
- assert self.hass.data["ffmpeg"].binary == "ffmpeg"
+ assert self.hass.data["ffmpeg"].binary == "@ffmpeg@"
assert self.hass.states.get("binary_sensor.ffmpeg_motion") is not None
self.hass.start()

View file

@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "homeassistant-stubs";
version = "2023.8.4";
version = "2023.9.0";
format = "pyproject";
disabled = python.version != home-assistant.python.version;
@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "KapJI";
repo = "homeassistant-stubs";
rev = "refs/tags/${version}";
hash = "sha256-Oxge6gZ7m0ZFuJKIy6X9YgmC7aK2/oQWJAYCFTclZ/Y=";
hash = "sha256-7G6IIOrQGRF7zLr+2WlZTvixyyoFqrLJiC/BNqUqx20=";
};
nativeBuildInputs = [

View file

@ -39,6 +39,14 @@ let
};
extraDisabledTests = {
mqtt = [
# Assert None is not None
"test_handle_logging_on_writing_the_entity_state"
];
shell_command = [
# tries to retrieve file from github
"test_non_text_stdout_capture"
];
vesync = [
# homeassistant.components.vesync:config_validation.py:863 The 'vesync' option has been removed, please remove it from your configuration
"test_async_get_config_entry_diagnostics__single_humidifier"

View file

@ -290,6 +290,7 @@ mapAliases ({
Pyro4 = pyro4; # added 2023-02-19
Pyro5 = pyro5; # added 2023-02-19
PyRSS2Gen = pyrss2gen; # added 2023-02-19
pyruckus = throw "pyruckus has been removed, it was deprecrated in favor of aioruckus."; # added 2023-09-07
pysha3 = throw "pysha3 has been removed, use safe-pysha3 instead"; # added 2023-05-20
pysmart-smartx = pysmart; # added 2021-10-22
pysparse = throw "pysparse has been abandoned upstream."; # added 2023-02-28

View file

@ -172,6 +172,8 @@ self: super: with self; {
aiocoap = callPackage ../development/python-modules/aiocoap { };
aiocomelit = callPackage ../development/python-modules/aiocomelit { };
aioconsole = callPackage ../development/python-modules/aioconsole { };
aiocontextvars = callPackage ../development/python-modules/aiocontextvars { };
@ -344,6 +346,8 @@ self: super: with self; {
aiortm = callPackage ../development/python-modules/aiortm { };
aioruckus = callPackage ../development/python-modules/aioruckus { };
aiorun = callPackage ../development/python-modules/aiorun { };
aioruuvigateway = callPackage ../development/python-modules/aioruuvigateway { };
@ -394,8 +398,12 @@ self: super: with self; {
aiovlc = callPackage ../development/python-modules/aiovlc { };
aiovodafone = callPackage ../development/python-modules/aiovodafone { };
aiowatttime = callPackage ../development/python-modules/aiowatttime { };
aiowaqi = callPackage ../development/python-modules/aiowaqi { };
aioweenect = callPackage ../development/python-modules/aioweenect { };
aiowebostv = callPackage ../development/python-modules/aiowebostv { };
@ -9839,8 +9847,6 @@ self: super: with self; {
pyrtlsdr = callPackage ../development/python-modules/pyrtlsdr { };
pyruckus = callPackage ../development/python-modules/pyruckus { };
pysaj = callPackage ../development/python-modules/pysaj { };
pysam = callPackage ../development/python-modules/pysam { };
@ -10782,6 +10788,8 @@ self: super: with self; {
pywayland = callPackage ../development/python-modules/pywayland { };
pywaze = callPackage ../development/python-modules/pywaze { };
pywbem = callPackage ../development/python-modules/pywbem {
inherit (pkgs) libxml2;
};
@ -13384,6 +13392,8 @@ self: super: with self; {
universal-pathlib = callPackage ../development/python-modules/universal-pathlib { };
universal-silabs-flasher = callPackage ../development/python-modules/universal-silabs-flasher { };
unpaddedbase64 = callPackage ../development/python-modules/unpaddedbase64 { };
unrardll = callPackage ../development/python-modules/unrardll { };