Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
288 commits
Select commit Hold shift + click to select a range
6128610
Fix HOMEASSISTANT_STOP unsubscribe in data update coordinator (#145809)
zxdavb May 28, 2025
12f8ebb
Bump intents to 2025.5.28 (#145816)
synesthesiam May 28, 2025
309acb9
Fix Immich media source browsing with multiple config entries (#145823)
mib1185 May 28, 2025
d0d228d
Update frontend to 20250528.0 (#145828)
bramkragten May 28, 2025
17a0b4f
Bump version to 2025.6.0b2
bramkragten May 28, 2025
e0d3b81
Set correct nobo_hub max temperature (#145751)
lersveen May 29, 2025
fa66ea3
Deprecate tensorflow (#145806)
edenhaus May 29, 2025
95fb2a7
Deprecate decora integration (#145807)
edenhaus May 28, 2025
26586b4
Fix language selections in workday (#145813)
gjohansson-ST May 29, 2025
4d22b35
Bump aiotedee to 0.2.23 (#145822)
zweckj May 29, 2025
0e87d14
Use mime type provided by Immich (#145830)
mib1185 May 29, 2025
64b4642
Fix Tessie volume max and step (#145835)
Bre77 May 29, 2025
097eecd
Bump pyaprilaire to 0.9.1 (#145836)
chamberlain2007 May 29, 2025
5cfccb7
Bump aiohttp to 3.12.3 (#145837)
bdraco May 29, 2025
4317fad
Bump aiohttp to 3.12.4 (#145838)
bdraco May 29, 2025
0f7379c
Reolink fallback to download command for playback (#145842)
starkillerOG May 29, 2025
d46f287
Bump aioimmich to 0.7.0 (#145845)
mib1185 May 29, 2025
600ac17
Deprecate sms integration (#145847)
edenhaus May 29, 2025
48103bd
Bump aiohomeconnect to 0.17.1 (#145873)
Diegorro98 May 29, 2025
aa8a605
Bump version to 2025.6.0b3
bramkragten May 30, 2025
f0fcef5
Add more Amazon Devices DHCP matches (#145776)
joostlek May 31, 2025
9879eca
Deprecate snips integration (#145784)
edenhaus May 31, 2025
306bbdc
Bump switchbot-api to 2.4.0 (#145786)
XiaoLing-git May 30, 2025
c84ffb5
Bump tesla-fleet-api to 1.1.1. (#145869)
Bre77 May 30, 2025
fb2d8c6
Add streaming to charge cable connected in Teslemetry (#145880)
Bre77 May 31, 2025
a6608bd
Bump pyiskra to 0.1.19 (#145889)
iskrakranj May 30, 2025
6015f60
Bump python-linkplay to v0.2.9 (#145892)
silamon May 30, 2025
ddc79a6
Bump pyprobeplus to 1.0.1 (#145897)
pantherale0 May 30, 2025
d0bf9d9
Move server device creation to init in jellyfin (#145910)
zweckj May 31, 2025
cd905a6
Bump opower to 0.12.3 (#145918)
tronikos May 31, 2025
532c077
Bump aiohttp to 3.12.6 (#145919)
bdraco May 31, 2025
ef0b3c9
Update frontend to 20250531.0 (#145933)
bramkragten May 31, 2025
745902b
Bump pylamarzocco to 2.0.8 (#145938)
zweckj May 31, 2025
907cebd
Increase update intervals in lamarzocco (#145939)
zweckj May 31, 2025
06d869a
Bump version to 2025.6.0b4
bramkragten May 31, 2025
ea6b9e5
SMA add missing strings for DHCP (#145782)
erwindouna Jun 3, 2025
b1d35de
Deprecate eddystone temperature integration (#145833)
edenhaus Jun 4, 2025
03f028b
Deprecate hddtemp (#145850)
edenhaus Jun 2, 2025
1e1b042
Fix removal of devices during Z-Wave migration (#145867)
MartinHjelmare Jun 2, 2025
d302e81
NextBus: Bump py_nextbusnext to 2.2.0 (#145904)
ViViDboarder Jun 3, 2025
1a21e01
Bump aioimmich to 0.8.0 (#145908)
mib1185 Jun 1, 2025
88f2c3a
Bump pysmlight to v0.2.5 (#145949)
tl-sl Jun 1, 2025
7e85137
Bump ical to 10.0.0 (#145954)
allenporter Jun 2, 2025
f280032
Bump python-picnic-api2 to 1.3.1 (#145962)
codesalatdev Jun 3, 2025
d729eed
Add diagnostics to Amazon devices (#145964)
chemelli74 Jun 2, 2025
6defed2
Bump aioamazondevices to 3.0.4 (#145971)
chemelli74 Jun 1, 2025
9e1d8c2
Bump reolink-aio to 0.13.5 (#145974)
starkillerOG Jun 2, 2025
7626933
Bump go2rtc-client to 0.2.1 (#146019)
edenhaus Jun 2, 2025
6f09474
Bump grpcio to 1.72.1 (#146029)
bdraco Jun 2, 2025
cf521d4
Improve debug logging Reolink (#146033)
starkillerOG Jun 2, 2025
e5cb77d
Adjust ConnectionFailure logging in SamsungTV (#146044)
epenet Jun 3, 2025
e15edbd
Adjust SamsungTV on/off logging (#146045)
epenet Jun 3, 2025
999c9b3
Don't use multi-line conditionals in immich (#146062)
mib1185 Jun 2, 2025
1e304fa
Fix Shelly BLU TRV calibrate button (#146066)
thecode Jun 2, 2025
1838a73
Bump aioamazondevices to 3.0.5 (#146073)
chemelli74 Jun 2, 2025
4158581
Add state class measurement to Freebox temperature sensors (#146074)
SNoof85 Jun 3, 2025
010c5ca
Fix nightlatch option for all switchbot locks (#146090)
zerzhang Jun 3, 2025
81cbb6e
Fix BMS and Charge states in Teslemetry (#146091)
Bre77 Jun 3, 2025
abfd443
Bump bleak-esphome to 2.16.0 (#146110)
bdraco Jun 3, 2025
1d578d8
Bump habluetooth to 3.49.0 (#146111)
bdraco Jun 3, 2025
e8aab39
SMA fix strings (#146112)
erwindouna Jun 3, 2025
f71a1a7
Bump protobuf to 6.31.1 (#146128)
bdraco Jun 4, 2025
bfb140d
Bump aioesphomeapi to 32.0.0 (#146135)
bdraco Jun 4, 2025
6c098c3
Bump version to 2025.6.0b5
frenck Jun 4, 2025
78d2bf7
Reolink conserve battery (#145452)
starkillerOG Jun 10, 2025
5821b2f
fix possible mac collision in enphase_envoy (#145549)
catsmanac Jun 10, 2025
4143128
Add evaporate water program id for Miele oven (#145996)
aturri Jun 10, 2025
dfc4889
Throttle Nextbus if we are reaching the rate limit (#146064)
ViViDboarder Jun 10, 2025
ce76b5d
Bump aiohttp to 3.12.8 (#146153)
bdraco Jun 4, 2025
38c92a2
Bump aioimmich to 0.9.0 (#146154)
mib1185 Jun 4, 2025
d875989
Bump pyiskra to 0.1.21 (#146156)
iskrakranj Jun 4, 2025
5accc3d
Bump uiprotect to 7.11.0 (#146171)
RaHehl Jun 4, 2025
8312780
Bump aiohttp to 3.12.9 (#146178)
bdraco Jun 4, 2025
e4140d7
Prevent energy history returning zero in Teslemetry (#146202)
Bre77 Jun 10, 2025
e5dd15d
Fix Export Rule Select Entity in Tessie (#146203)
Bre77 Jun 5, 2025
fc8b512
Remove zeroconf discovery from Spotify (#146213)
joostlek Jun 5, 2025
f6a4486
Explain Withings setup (#146216)
joostlek Jun 10, 2025
91e29a3
Bump aioimmich to 0.9.1 (#146222)
mib1185 Jun 5, 2025
4d3145e
Add missing write state to Teslemetry (#146267)
Bre77 Jun 7, 2025
761c257
Bump aiohttp-fast-zlib to 0.3.0 (#146285)
bdraco Jun 7, 2025
79daeb2
Bump holidays to 0.74 (#146290)
gjohansson-ST Jun 7, 2025
21833e7
Bump aiohttp to 3.12.11 (#146298)
bdraco Jun 7, 2025
1fc05d1
Do not probe linkplay device if another config entry already contains…
silamon Jun 8, 2025
5e5431c
Use entity unique id for ESPHome media player formats (#146318)
bdraco Jun 10, 2025
7991977
Fix bosch alarm areas not correctly subscribing to alarms (#146322)
sanjay900 Jun 8, 2025
0eb3714
Allow different manufacturer than Amazon in Amazon Devices (#146333)
tronikos Jun 8, 2025
80b09e3
Bump py-synologydsm-api to 2.7.3 (#146338)
mib1185 Jun 8, 2025
b3ee2a8
Bump aioesphomeapi to 32.2.0 (#146344)
bdraco Jun 8, 2025
e97ab1f
Change interval for Powerfox integration (#146348)
klaasnicolaas Jun 10, 2025
bfe2eeb
Shift ESPHome log parsing to the library (#146349)
bdraco Jun 10, 2025
7bd6ec6
Explain Home Connect setup (#146356)
Diegorro98 Jun 10, 2025
d89b99f
Improve error logging in trend binary sensor (#146358)
jpbede Jun 10, 2025
0874f1c
Bump python-linkplay to v0.2.10 (#146359)
silamon Jun 8, 2025
ca77b52
Bump pydrawise to 2025.6.0 (#146369)
dknowles2 Jun 9, 2025
0b24a9a
Bump env-canada to v0.11.2 (#146371)
michaeldavie Jun 9, 2025
e7a7b24
Bump aioesphomeapi to 32.2.1 (#146375)
bdraco Jun 10, 2025
f629731
Bump aioamazondevices to 3.0.6 (#146385)
chemelli74 Jun 9, 2025
3d0d70e
Fix switch_as_x entity_id tracking (#146386)
emontnemery Jun 9, 2025
218864d
Update switch_as_x to handle wrapped switch moved to another device (…
emontnemery Jun 9, 2025
a3220ec
Bump pynordpool to 0.3.0 (#146396)
gjohansson-ST Jun 9, 2025
c6ff0e6
Fix CO concentration unit in OpenWeatherMap (#146403)
wittypluck Jun 9, 2025
9997fc1
Handle changes to source entity in derivative helper (#146407)
emontnemery Jun 10, 2025
ec30b12
Fix initial state of UV protection window (#146408)
wbyoung Jun 10, 2025
97d91dd
Bump propcache to 0.3.2 (#146418)
bdraco Jun 10, 2025
2b08c4c
Check hangup error in voip (#146423)
jaminh Jun 10, 2025
41abc84
Bump yarl to 1.20.1 (#146424)
bdraco Jun 10, 2025
4f0e4bc
Bump aiohttp to 3.12.12 (#146426)
bdraco Jun 10, 2025
f945def
Reformat Dockerfile to reduce merge conflicts (#146435)
frenck Jun 10, 2025
b222fe5
Handle grpc errors in Google Assistant SDK (#146438)
tronikos Jun 10, 2025
ba19d4f
Fix typo at application credentials string at Home Connect integratio…
Diegorro98 Jun 10, 2025
b2d25b1
Improvements for Home Connect application credentials string (#146443)
Diegorro98 Jun 10, 2025
6f40299
Update requests to 2.32.4 (#146445)
cdce8p Jun 10, 2025
bdbb74a
Return expected state in SmartThings water heater (#146449)
joostlek Jun 10, 2025
fcd7193
Update wording deprecated system package integration repair (#146450)
edenhaus Jun 10, 2025
1040646
Update caldav to 1.6.0 (#146456)
soundstorm Jun 10, 2025
1d91ca5
Bump pySmartThings to 3.2.4 (#146459)
joostlek Jun 10, 2025
18e1a26
Catch exception before retrying in AirGradient (#146460)
joostlek Jun 10, 2025
4964621
Fix incorrect categories handling in holiday (#146470)
gjohansson-ST Jun 10, 2025
39962a3
Avoid closing shared aiohttp session in Vodafone Station (#146471)
chemelli74 Jun 10, 2025
bf8ef0a
Fix EntityCategory for binary_sensor platform in Amazon Devices (#14…
chemelli74 Jun 10, 2025
8949a59
Bump version to 2025.6.0b6
frenck Jun 10, 2025
35580c0
Bump homematicip to 2.0.4 (#144096)
hahn-th Jun 10, 2025
63e49c5
Explain Nest setup (#146217)
joostlek Jun 11, 2025
4147211
Add color_temp_kelvin to set_temperature action variables (#146448)
Petro31 Jun 11, 2025
43e16bb
Split deprecated system issue in 2 places (#146453)
joostlek Jun 11, 2025
f1df6dc
Fix Jewish calendar not updating (#146465)
tsvi Jun 10, 2025
69ba2aa
Remove DHCP discovery from Amazon Devices (#146476)
joostlek Jun 10, 2025
8fd5224
Bump `apsystems` to `2.7.0` (#146485)
felixschndr Jun 11, 2025
7afc469
Bump intents to 2025.6.10 (#146491)
synesthesiam Jun 10, 2025
671a33b
Do not remove derivative config entry when input sensor is removed (#…
emontnemery Jun 11, 2025
6d1f621
Bump deebot-client to 13.3.0 (#146507)
edenhaus Jun 11, 2025
c8b70cc
Graceful handling of missing datapoint in myuplink (#146517)
astrandb Jun 11, 2025
b6c8718
Bump version to 2025.6.0b7
frenck Jun 11, 2025
66be2f9
Fix `delay_on` and `delay_off` restarting when a new trigger occurs d…
Petro31 Jun 11, 2025
6f4e16e
Fix stale options in here_travel_time (#145911)
eifinger Jun 11, 2025
0cff7cb
Remove stale Shelly BLU TRV devices (#145994)
thecode Jun 11, 2025
af72d18
Add guide for Honeywell Lyric application credentials setup (#146281)
timmo001 Jun 11, 2025
82de2ed
Rename Amazon Devices to Alexa Devices (#146362)
tronikos Jun 11, 2025
6384c80
Fix solax state class of `Today's Generated Energy` (#146492)
jesserockz Jun 11, 2025
e0f32cf
Allow removing entity registry items twice (#146519)
emontnemery Jun 11, 2025
cc972d2
Remove Z-Wave useless reconfigure options (#146520)
MartinHjelmare Jun 11, 2025
5ee39df
Handle changes to source entity in history_stats helper (#146521)
emontnemery Jun 11, 2025
0cf1fd1
Handle changes to source entity in integration helper (#146522)
emontnemery Jun 11, 2025
caaa4d5
Handle changes to source entity in threshold helper (#146524)
emontnemery Jun 11, 2025
273ccb3
Handle changes to source entity in trend helper (#146525)
emontnemery Jun 11, 2025
2ab3222
Handle changes to source entity in utility_meter (#146526)
emontnemery Jun 11, 2025
bcedb06
Bump linkplay to v0.2.11 (#146530)
silamon Jun 11, 2025
91e296a
Bump hdate to 1.1.1 (#146536)
tsvi Jun 11, 2025
232f853
Simplify helper_integration.async_handle_source_entity_changes (#146516)
emontnemery Jun 11, 2025
c02707a
Handle changes to source entity in statistics helper (#146523)
emontnemery Jun 11, 2025
e73bcc7
Bump version to 2025.6.0b8
frenck Jun 11, 2025
fd605e0
Handle changes to source entities in generic_hygrostat helper (#146538)
emontnemery Jun 11, 2025
89637a6
Handle changes to source entities in generic_thermostat helper (#146541)
emontnemery Jun 11, 2025
43797c0
Update frontend to 20250531.1 (#146542)
piitaya Jun 11, 2025
1f22171
Remove the Delete button on the ZwaveJS device page (#146544)
MindFreeze Jun 11, 2025
75e6f23
Update frontend to 20250531.2 (#146551)
piitaya Jun 11, 2025
60b8230
Bump yt-dlp to 2025.06.09 (#146553)
andreimoraru Jun 11, 2025
02524b8
Make issue creation check architecture instead of uname (#146537)
joostlek Jun 11, 2025
dc4627f
Bump version to 2025.6.0b9
frenck Jun 11, 2025
cada2f8
Hotfix ruff warnings
frenck Jun 11, 2025
fb4c77d
Add aiofiles to pyproject.toml (#146561)
edenhaus Jun 11, 2025
54d8d71
Bump version to 2025.6.0
frenck Jun 11, 2025
7aa6c8b
2025.6.0 (#145650)
frenck Jun 11, 2025
c3e3a36
Fix palette handling for LIFX Ceiling SKY effect (#146582)
Djelibeybi Jun 12, 2025
e7a88e9
Fix fan is_on status in xiaomi_miio (#146592)
epenet Jun 12, 2025
f0fc87e
Drop HostKeyAlgorithms in aruba (#146619)
aethrvmn Jun 13, 2025
b2bb0ae
Update frontend to 20250531.3 (#146638)
piitaya Jun 12, 2025
52c62b3
Fix cookies with aiohttp >= 3.12.7 for Vodafone Station (#146647)
chemelli74 Jun 12, 2025
5cd7ea0
Bump wakeonlan to 3.1.0 (#146655)
epenet Jun 13, 2025
7cf3116
Bump hdate to 1.1.2 (#146659)
tsvi Jun 12, 2025
e048a3d
Bump linkplay to v0.2.12 (#146669)
silamon Jun 12, 2025
c2cf348
Filter speak notify entity for WHA devices in Alexa Devices (#146688)
chemelli74 Jun 13, 2025
e81c8ce
Bump aioamazondevices to 3.1.2 (#146690)
chemelli74 Jun 13, 2025
4ec711b
Fix opower to work with aiohttp>=3.12.7 by disabling cookie quoting (…
tronikos Jun 13, 2025
cb74b26
Revert scan interval change in local calendar (#146700)
allenporter Jun 13, 2025
d4ffeed
Partial revert of update to remote calendar to fix issue where calend…
allenporter Jun 13, 2025
e89c3b1
Ignore lingering pycares shutdown thread (#146733)
cdce8p Jun 13, 2025
a017d94
Bump aiodns to 3.5.0 (#146758)
bdraco Jun 13, 2025
df5f253
Bump version to 2025.6.1
frenck Jun 13, 2025
2175754
Fix throttling issue in HomematicIP Cloud (#146683)
hahn-th Jun 13, 2025
25d1480
Hotfix ruff warnings
frenck Jun 13, 2025
a75646d
2025.6.1 (#146764)
frenck Jun 13, 2025
2ba9cb1
Remove address info from Rachio calendar events (#145896)
brg468 Jun 23, 2025
9ed6f22
Bump uiprotect to 7.12.0 (#146337)
RaHehl Jun 8, 2025
83f26f7
Bump uiprotect to 7.13.0 (#146410)
RaHehl Jun 10, 2025
0a8d117
Bump reolink-aio to 0.14.0 (#146566)
starkillerOG Jun 11, 2025
04b3227
Bump pypck to 0.8.7 (#146657)
alengwenus Jun 12, 2025
b249ae4
Update rokuecp to 0.19.5 (#146788)
ctalkington Jun 14, 2025
01a133a
Use Shelly main device area as suggested area for sub-devices (#146810)
bieniu Jun 14, 2025
d684360
Fix blocking open in Minecraft Server (#146820)
elmurato Jun 16, 2025
a6e6b6d
Bump aioamazondevices to 3.1.3 (#146828)
chemelli74 Jun 14, 2025
8e685b1
Bump aiohttp to 3.12.13 (#146830)
bdraco Jun 14, 2025
0583149
Bump motion blinds to 0.6.28 (#146831)
starkillerOG Jun 14, 2025
a7b2f80
Bump pypck to 0.8.8 (#146841)
alengwenus Jun 15, 2025
da97756
Fix missing key for ecosmart in older Wallbox models (#146847)
hesselonline Jun 16, 2025
d66dee5
Bump bthome-ble to 3.13.1 (#146871)
Ernst79 Jun 16, 2025
9b744e2
Bump reolink-aio to 0.14.1 (#146903)
starkillerOG Jun 15, 2025
d0060a2
Add debug log for update in onedrive (#146907)
zweckj Jun 16, 2025
94a2642
Switchbot Cloud: Fix device type filtering in sensor (#146945)
SeraphicRav Jun 22, 2025
d2d5b29
Bump pySmartThings to 3.2.5 (#146983)
joostlek Jun 16, 2025
8f13520
Bump ical to 10.0.4 (#147005)
allenporter Jun 17, 2025
912c480
Fix incorrect use of zip in service.async_get_all_descriptions (#147013)
emontnemery Jun 17, 2025
5ea6cb3
Disable Z-Wave indidator CC entities by default (#147018)
MartinHjelmare Jun 17, 2025
766ddfa
Fix Shelly entity names for gen1 sleeping devices (#147019)
bieniu Jun 20, 2025
96d6cac
Disable Z-Wave idle notification button (#147026)
MartinHjelmare Jun 18, 2025
a07531d
Fix log in onedrive (#147029)
zweckj Jun 17, 2025
a15d722
Bump holidays lib to 0.75 (#147043)
gjohansson-ST Jun 18, 2025
f75ba91
Bump aiohomeconnect to 0.18.0 (#147044)
Diegorro98 Jun 17, 2025
57eceee
Bump ZHA to 0.0.60 (#147045)
puddly Jun 17, 2025
c395c77
Bump pylamarzocco to 2.0.9 (#147046)
zweckj Jun 17, 2025
2c35726
Handle missing widget in lamarzocco (#147047)
zweckj Jun 17, 2025
1a3384e
Bump aioamazondevices to 3.1.4 (#146883)
chemelli74 Jun 15, 2025
0b383b7
Bump aioamazondevices to 3.1.12 (#147055)
chemelli74 Jun 18, 2025
c66d411
Bump uiprotect to version 7.14.0 (#147102)
RaHehl Jun 19, 2025
39b64b0
Improve advanced Z-Wave battery discovery (#147127)
MartinHjelmare Jun 19, 2025
458aa3c
Fix Charge Cable binary sensor in Teslemetry (#147136)
Bre77 Jun 20, 2025
3534396
[ci] Bump cache key version (#147148)
cdce8p Jun 19, 2025
802fcab
Bump homematicip to 2.0.6 (#147151)
hahn-th Jun 19, 2025
7cc6e28
Wallbox fix too many requests by API (#147197)
hesselonline Jun 23, 2025
ddf8e0d
Bump deebot-client to 13.4.0 (#147221)
edenhaus Jun 20, 2025
60be2cb
Handle the new JSON payload from traccar clients (#147254)
ludeeus Jun 21, 2025
f7d9334
Bump aioamazondevices to 3.1.14 (#147257)
chemelli74 Jun 21, 2025
f9d5cb9
Bump uiprotect to version 7.14.1 (#147280)
RaHehl Jun 22, 2025
9d07011
Bump aioesphomeapi to 32.2.4 (#147100)
synesthesiam Jun 18, 2025
1056187
Bump aioesphomeapi to 33.0.0 (#147296)
bdraco Jun 22, 2025
dfd4286
Fix reload for Shelly devices with no script support (#147344)
chemelli74 Jun 23, 2025
5703156
Bump version to 2025.6.2
frenck Jun 23, 2025
06ed452
Add Matter protocol to Switchbot (#147356)
joostlek Jun 23, 2025
773c250
2025.6.2 (#147355)
frenck Jun 23, 2025
38c7eaf
Add reauth flow to PlayStation Network integration (#147397)
tr4nt0r Jun 24, 2025
2f89317
Update frontend to 20250531.4 (#147414)
bramkragten Jun 24, 2025
94fd9d1
Bump version to 2025.6.3
frenck Jun 24, 2025
63ac14a
AI task generate_text -> generate_data (#147370)
balloob Jun 24, 2025
23b90f5
Add door state sensors to tedee (#147386)
zweckj Jun 24, 2025
fc62a6c
Add streaming support w/ audio to Android IP Webcam integration (#126…
regulad Jun 24, 2025
97f3bb3
Add default to from_json (#146211)
Petro31 Jun 24, 2025
7cccdf2
Add accept keyword to Media selector (#145527)
balloob Jun 24, 2025
0171b52
2025.6.3 (#147419)
frenck Jun 24, 2025
39c431c
Add 'max_sub_interval' option to derivative sensor (#125870)
karwosts Jun 24, 2025
9bb98eb
Merge branch 'master' into dev
frenck Jun 24, 2025
3b8d6eb
Log LCN connection established with log level info (#147424)
alengwenus Jun 24, 2025
602c1c6
Update ZwaveJS config flow strings (#147421)
MindFreeze Jun 24, 2025
1cb36f4
Convert Claude to use subentries (#147285)
balloob Jun 24, 2025
cfdd7fb
Add fields and multiple support to object selector (#147215)
piitaya Jun 24, 2025
4ca39ec
Add range icons for wind_direction sensor device class (#147090)
edenhaus Jun 24, 2025
6ce5945
Bump wyoming to 1.7.1 (#147385)
synesthesiam Jun 24, 2025
160163b
Remove deprecated proxy params from Telegram bot integration (#147288)
hanwg Jun 24, 2025
cefde21
Update Shelly test snapshots (#147429)
abmantis Jun 24, 2025
d5a8fa9
Add DHCP discovery to PlayStation Network integration (#147422)
tr4nt0r Jun 24, 2025
af6c2b5
Add device class to wind direction sensors for AEMET (#147430)
luca-angemi Jun 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CODEOWNERS

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions homeassistant/components/aemet/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,13 +185,15 @@ class AemetSensorEntityDescription(SensorEntityDescription):
keys=[AOD_TOWN, AOD_FORECAST_DAILY, AOD_FORECAST_CURRENT, AOD_WIND_DIRECTION],
name="Daily forecast wind bearing",
native_unit_of_measurement=DEGREE,
device_class=SensorDeviceClass.WIND_DIRECTION,
),
AemetSensorEntityDescription(
entity_registry_enabled_default=False,
key=f"forecast-hourly-{ATTR_API_FORECAST_WIND_BEARING}",
keys=[AOD_TOWN, AOD_FORECAST_HOURLY, AOD_FORECAST_CURRENT, AOD_WIND_DIRECTION],
name="Hourly forecast wind bearing",
native_unit_of_measurement=DEGREE,
device_class=SensorDeviceClass.WIND_DIRECTION,
),
AemetSensorEntityDescription(
entity_registry_enabled_default=False,
Expand Down Expand Up @@ -335,6 +337,7 @@ class AemetSensorEntityDescription(SensorEntityDescription):
name="Wind bearing",
native_unit_of_measurement=DEGREE,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.WIND_DIRECTION,
),
AemetSensorEntityDescription(
key=ATTR_API_WIND_MAX_SPEED,
Expand Down
28 changes: 14 additions & 14 deletions homeassistant/components/ai_task/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@
DATA_COMPONENT,
DATA_PREFERENCES,
DOMAIN,
SERVICE_GENERATE_TEXT,
SERVICE_GENERATE_DATA,
AITaskEntityFeature,
)
from .entity import AITaskEntity
from .http import async_setup as async_setup_http
from .task import GenTextTask, GenTextTaskResult, async_generate_text
from .task import GenDataTask, GenDataTaskResult, async_generate_data

__all__ = [
"DOMAIN",
"AITaskEntity",
"AITaskEntityFeature",
"GenTextTask",
"GenTextTaskResult",
"async_generate_text",
"GenDataTask",
"GenDataTaskResult",
"async_generate_data",
"async_setup",
"async_setup_entry",
"async_unload_entry",
Expand All @@ -57,8 +57,8 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
async_setup_http(hass)
hass.services.async_register(
DOMAIN,
SERVICE_GENERATE_TEXT,
async_service_generate_text,
SERVICE_GENERATE_DATA,
async_service_generate_data,
schema=vol.Schema(
{
vol.Required(ATTR_TASK_NAME): cv.string,
Expand All @@ -82,18 +82,18 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return await hass.data[DATA_COMPONENT].async_unload_entry(entry)


async def async_service_generate_text(call: ServiceCall) -> ServiceResponse:
async def async_service_generate_data(call: ServiceCall) -> ServiceResponse:
"""Run the run task service."""
result = await async_generate_text(hass=call.hass, **call.data)
return result.as_dict() # type: ignore[return-value]
result = await async_generate_data(hass=call.hass, **call.data)
return result.as_dict()


class AITaskPreferences:
"""AI Task preferences."""

KEYS = ("gen_text_entity_id",)
KEYS = ("gen_data_entity_id",)

gen_text_entity_id: str | None = None
gen_data_entity_id: str | None = None

def __init__(self, hass: HomeAssistant) -> None:
"""Initialize the preferences."""
Expand All @@ -113,11 +113,11 @@ async def async_load(self) -> None:
def async_set_preferences(
self,
*,
gen_text_entity_id: str | None | UndefinedType = UNDEFINED,
gen_data_entity_id: str | None | UndefinedType = UNDEFINED,
) -> None:
"""Set the preferences."""
changed = False
for key, value in (("gen_text_entity_id", gen_text_entity_id),):
for key, value in (("gen_data_entity_id", gen_data_entity_id),):
if value is not UNDEFINED:
if getattr(self, key) != value:
setattr(self, key, value)
Expand Down
6 changes: 3 additions & 3 deletions homeassistant/components/ai_task/const.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
DATA_COMPONENT: HassKey[EntityComponent[AITaskEntity]] = HassKey(DOMAIN)
DATA_PREFERENCES: HassKey[AITaskPreferences] = HassKey(f"{DOMAIN}_preferences")

SERVICE_GENERATE_TEXT = "generate_text"
SERVICE_GENERATE_DATA = "generate_data"

ATTR_INSTRUCTIONS: Final = "instructions"
ATTR_TASK_NAME: Final = "task_name"
Expand All @@ -30,5 +30,5 @@
class AITaskEntityFeature(IntFlag):
"""Supported features of the AI task entity."""

GENERATE_TEXT = 1
"""Generate text based on instructions."""
GENERATE_DATA = 1
"""Generate data based on instructions."""
22 changes: 11 additions & 11 deletions homeassistant/components/ai_task/entity.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from homeassistant.util import dt as dt_util

from .const import DEFAULT_SYSTEM_PROMPT, DOMAIN, AITaskEntityFeature
from .task import GenTextTask, GenTextTaskResult
from .task import GenDataTask, GenDataTaskResult


class AITaskEntity(RestoreEntity):
Expand Down Expand Up @@ -56,7 +56,7 @@ async def async_internal_added_to_hass(self) -> None:
@contextlib.asynccontextmanager
async def _async_get_ai_task_chat_log(
self,
task: GenTextTask,
task: GenDataTask,
) -> AsyncGenerator[ChatLog]:
"""Context manager used to manage the ChatLog used during an AI Task."""
# pylint: disable-next=contextmanager-generator-missing-cleanup
Expand Down Expand Up @@ -84,20 +84,20 @@ async def _async_get_ai_task_chat_log(
yield chat_log

@final
async def internal_async_generate_text(
async def internal_async_generate_data(
self,
task: GenTextTask,
) -> GenTextTaskResult:
"""Run a gen text task."""
task: GenDataTask,
) -> GenDataTaskResult:
"""Run a gen data task."""
self.__last_activity = dt_util.utcnow().isoformat()
self.async_write_ha_state()
async with self._async_get_ai_task_chat_log(task) as chat_log:
return await self._async_generate_text(task, chat_log)
return await self._async_generate_data(task, chat_log)

async def _async_generate_text(
async def _async_generate_data(
self,
task: GenTextTask,
task: GenDataTask,
chat_log: ChatLog,
) -> GenTextTaskResult:
"""Handle a gen text task."""
) -> GenDataTaskResult:
"""Handle a gen data task."""
raise NotImplementedError
2 changes: 1 addition & 1 deletion homeassistant/components/ai_task/http.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def websocket_get_preferences(
@websocket_api.websocket_command(
{
vol.Required("type"): "ai_task/preferences/set",
vol.Optional("gen_text_entity_id"): vol.Any(str, None),
vol.Optional("gen_data_entity_id"): vol.Any(str, None),
}
)
@websocket_api.require_admin
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/ai_task/icons.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"services": {
"generate_text": {
"generate_data": {
"service": "mdi:file-star-four-points-outline"
}
}
Expand Down
4 changes: 2 additions & 2 deletions homeassistant/components/ai_task/services.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
generate_text:
generate_data:
fields:
task_name:
example: "home summary"
Expand All @@ -16,4 +16,4 @@ generate_text:
entity:
domain: ai_task
supported_features:
- ai_task.AITaskEntityFeature.GENERATE_TEXT
- ai_task.AITaskEntityFeature.GENERATE_DATA
6 changes: 3 additions & 3 deletions homeassistant/components/ai_task/strings.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"services": {
"generate_text": {
"name": "Generate text",
"description": "Use AI to run a task that generates text.",
"generate_data": {
"name": "Generate data",
"description": "Uses AI to run a task that generates data.",
"fields": {
"task_name": {
"name": "Task name",
Expand Down
33 changes: 17 additions & 16 deletions homeassistant/components/ai_task/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,24 @@
from __future__ import annotations

from dataclasses import dataclass
from typing import Any

from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError

from .const import DATA_COMPONENT, DATA_PREFERENCES, AITaskEntityFeature


async def async_generate_text(
async def async_generate_data(
hass: HomeAssistant,
*,
task_name: str,
entity_id: str | None = None,
instructions: str,
) -> GenTextTaskResult:
) -> GenDataTaskResult:
"""Run a task in the AI Task integration."""
if entity_id is None:
entity_id = hass.data[DATA_PREFERENCES].gen_text_entity_id
entity_id = hass.data[DATA_PREFERENCES].gen_data_entity_id

if entity_id is None:
raise HomeAssistantError("No entity_id provided and no preferred entity set")
Expand All @@ -28,22 +29,22 @@ async def async_generate_text(
if entity is None:
raise HomeAssistantError(f"AI Task entity {entity_id} not found")

if AITaskEntityFeature.GENERATE_TEXT not in entity.supported_features:
if AITaskEntityFeature.GENERATE_DATA not in entity.supported_features:
raise HomeAssistantError(
f"AI Task entity {entity_id} does not support generating text"
f"AI Task entity {entity_id} does not support generating data"
)

return await entity.internal_async_generate_text(
GenTextTask(
return await entity.internal_async_generate_data(
GenDataTask(
name=task_name,
instructions=instructions,
)
)


@dataclass(slots=True)
class GenTextTask:
"""Gen text task to be processed."""
class GenDataTask:
"""Gen data task to be processed."""

name: str
"""Name of the task."""
Expand All @@ -53,22 +54,22 @@ class GenTextTask:

def __str__(self) -> str:
"""Return task as a string."""
return f"<GenTextTask {self.name}: {id(self)}>"
return f"<GenDataTask {self.name}: {id(self)}>"


@dataclass(slots=True)
class GenTextTaskResult:
"""Result of gen text task."""
class GenDataTaskResult:
"""Result of gen data task."""

conversation_id: str
"""Unique identifier for the conversation."""

text: str
"""Generated text."""
data: Any
"""Data generated by the task."""

def as_dict(self) -> dict[str, str]:
def as_dict(self) -> dict[str, Any]:
"""Return result as a dict."""
return {
"conversation_id": self.conversation_id,
"text": self.text,
"data": self.data,
}
16 changes: 16 additions & 0 deletions homeassistant/components/android_ip_webcam/camera.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

from __future__ import annotations

from homeassistant.components.camera import CameraEntityFeature
from homeassistant.components.mjpeg import MjpegCamera, filter_urllib3_logging
from homeassistant.const import (
CONF_HOST,
Expand Down Expand Up @@ -31,6 +32,7 @@ class IPWebcamCamera(MjpegCamera):
"""Representation of a IP Webcam camera."""

_attr_has_entity_name = True
_attr_supported_features = CameraEntityFeature.STREAM

def __init__(self, coordinator: AndroidIPCamDataUpdateCoordinator) -> None:
"""Initialize the camera."""
Expand All @@ -46,3 +48,17 @@ def __init__(self, coordinator: AndroidIPCamDataUpdateCoordinator) -> None:
identifiers={(DOMAIN, coordinator.config_entry.entry_id)},
name=coordinator.config_entry.data[CONF_HOST],
)
self._coordinator = coordinator

async def stream_source(self) -> str:
"""Get the stream source for the Android IP camera."""
return self._coordinator.cam.get_rtsp_url(
video_codec="h264", # most compatible & recommended
# while "opus" is compatible with more devices,
# HA's stream integration requires AAC or MP3,
# and IP webcam doesn't provide MP3 audio.
# aac is supported on select devices >= android 4.1.
# The stream will be quiet on devices that don't support aac,
# but it won't fail.
audio_codec="aac",
)
Loading
Loading