Commit Graph

445 Commits (168d122db4e6332fae087d760b3662212b0c9a16)

Author SHA1 Message Date
jjlawren f75d621888
Normalize enqueuing Plex media on Sonos (#68132) 2022-03-17 13:52:59 -07:00
jjlawren d8c966fd0a
Fix Spotify podcasts & Plex `allow_multiple` on Sonos (#68131)
* Bump soco to 0.27.0

* Bump soco to 0.27.1
2022-03-16 17:35:31 +01:00
Marc Mueller 7ab9e5cf0f
Improve sonos error decorator typing (#67199) 2022-03-15 09:24:52 +01:00
jjlawren 80ff497cfc
Rework available Sonos sources (#67931) 2022-03-11 15:57:57 -08:00
jjlawren e7e4c7e3da
Bump soco to 0.26.4 (#67498) 2022-03-03 00:41:03 +02:00
jjlawren aea1209d0d
Reduce magic in Sonos error handling fixture (#67401) 2022-02-28 16:38:08 -08:00
Paulus Schoutsen 99bc2a7c9e
Give Sonos media browse folders Sonos logos to distinguish from media… (#67248) 2022-02-25 11:35:39 -08:00
jjlawren a4ba71408b
Adjust Sonos visibility checks (#67196) 2022-02-25 08:27:06 -08:00
jjlawren e3e962691c
Fix Sonos radio metadata processing with missing data (#67141) 2022-02-23 15:42:18 -08:00
jjlawren cfd763db40
Refactor Sonos media metadata handling (#66840)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-02-23 08:58:00 -08:00
Marc Mueller 0a6e30e4b9
Improve sonos ConfigFlow registration (#67110) 2022-02-23 15:21:46 +01:00
Paulus Schoutsen e0ff7dc2e7
Fix radio browser on Sonos (#67017) 2022-02-22 08:51:41 +01:00
GitHub Action 102ae9f0e3 [ci skip] Translation update 2022-02-22 00:17:23 +00:00
jjlawren 76149876ab
Enable fallback polling for Sonos microphone binary_sensor (#66299) 2022-02-21 19:46:20 +01:00
jjlawren 3bfc6cc756
Bump SoCo to 0.26.3 (#66834) 2022-02-18 15:55:55 -06:00
Erik Montnemery 5be5a014f3
Adjust Sonos for updated Spotify media browsing (#66508) 2022-02-14 20:15:09 +01:00
Marc Mueller 94cfc89df9
Improve `DiscoveryFlowHandler` typing (#66511) 2022-02-14 15:28:52 +01:00
Marc Mueller 1053314a30
Fix error decorator [sonos] (#66399) 2022-02-12 13:51:53 -08:00
jjlawren 4d944e35fd
Skip polling Sonos audio input sensor when idle (#66271) 2022-02-10 12:48:13 -08:00
jjlawren 9fa2bdd3fd
Handle more Sonos favorites in media browser (#66205) 2022-02-10 12:25:07 -08:00
jjlawren e86c82e675
Tweak Sonos activity monitoring (#66207)
* Tweak Sonos activity monitoring

* Support new 'sleeping' vanish reason
* Check availability before last-ditch check
* Use short-timeout call for last-ditch check
* Adjust reboot logging message and severity

* Simplify activity check failure
2022-02-10 14:11:47 -06:00
jjlawren 9fd8428254
Sonos lock subscription actions (#66204)
* Move exception logging to helper

* Wrap subscription in lock

* Rewrite subscribe method to use new logging helper

* Mark entitites as unavailable sooner to avoid unnecessary polls

* Rename unclear method and update docstring

* Move lock to unsubscribe
2022-02-09 21:56:10 -06:00
jjlawren 47af256610
Schedule activity checks when using manual hosts (#65970) 2022-02-09 16:55:00 -06:00
Paulus Schoutsen 3bce870c6d
Add helper for media players to handle HA hosted media (#66120)
* Sonos to sign all HASS urls

* Don't sign if queries in url

* Extract media player hass URL handling to helper
2022-02-09 12:50:33 -08:00
jjlawren a7fd477c64
Refactor Sonos polling (#65722)
* Refactor Sonos polling

Explicitly rename fallback polling
Catch soco exceptions centrally where possible
Create SonosPollingEntity subclass
Remove unnecessary soco_error fixture argument
Remove unnecessary polling in update_volume()
Adjust log levels and wording
Set explicit timeout on library

* Adjust logging to use raised exceptions

* Simplify availabiliity checks when using built-in poller

* Fix typing for return values
2022-02-08 12:17:05 -06:00
jjlawren 36cfa7786d
Clean up Sonos unsubscribe/resubscribe exception handling and logging (#66025) 2022-02-07 16:00:57 -08:00
jjlawren b02a030336
Fix Spotify, Tidal, Apple Music playback on Sonos groups (#65838) 2022-02-06 18:37:23 +01:00
M. Frister 9597ed3f8a
Bump soco to 0.26.2 (#65919) 2022-02-06 18:17:41 +01:00
jjlawren 40857bda90
Use SSDP byebye to mark Sonos as offline (#65686) 2022-02-04 11:41:24 -08:00
jjlawren 8c0c4f9bca
Log traceback in debug for Sonos unsubscribe errors (#65596) 2022-02-03 15:03:18 -08:00
jjlawren 770707f487
Fix vanished checks on old Sonos firmware (#65477) 2022-02-03 13:22:34 +01:00
jjlawren 4794625048
Detect battery-operated Sonos devices going offline (#65382) 2022-02-01 22:11:21 -06:00
jjlawren c80d6810b3
Fix Sonos diagnostics with offline device (#65393)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-02-01 22:10:53 -06:00
jjlawren 48ae3bece8
Send notification to alert of Sonos networking issues (#65084)
* Send notification to alert of Sonos networking issues

* Add links to documentation
2022-01-31 19:21:21 +01:00
GitHub Action ca7d4234e1 [ci skip] Translation update 2022-01-31 00:14:28 +00:00
jjlawren 2129972904
Add activity statistics to Sonos diagnostics (#65214) 2022-01-30 13:15:51 -08:00
GitHub Action 77ef86faee [ci skip] Translation update 2022-01-30 00:14:21 +00:00
J. Nick Koston 5b755b74fb
Add loggers to integration manifest.json (#65083) 2022-01-28 13:37:53 -08:00
GitHub Action dd4e5bb9c5 [ci skip] Translation update 2022-01-27 00:14:02 +00:00
Paulus Schoutsen 2c0c01498f
Fix media classes (#64993) 2022-01-26 10:51:25 -08:00
jjlawren e17f1ea577
Support Plex in Sonos media browser (#64951)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-01-26 10:40:47 -08:00
Paulus Schoutsen 07c239643a
Some media source things (#64954)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-01-26 09:49:33 +01:00
jjlawren cdad1a9f27
Use local Sonos API for Plex music playback (#63357) 2022-01-25 21:10:11 -08:00
jjlawren cb571d86be
Add per-device diagnostics to Sonos (#64912) 2022-01-25 17:35:04 -10:00
Paulus Schoutsen a371f8f788
Allow browsing the Spotify media player in Sonos (#64921) 2022-01-25 12:43:43 -08:00
jjlawren ec88897d04
Add event statistics to Sonos diagnostics (#64845) 2022-01-24 22:52:40 -10:00
jjlawren d9b81bb04d
Adds enabled entity_ids associated with each speaker (#64876) 2022-01-24 16:29:29 -08:00
jjlawren a046cef734
Bump soco to 0.26.0 (#64819) 2022-01-24 14:54:27 +01:00
GitHub Action 47d3fb1dec [ci skip] Translation update 2022-01-23 00:13:53 +00:00
jjlawren a7982adc73
Discard duplicate sonos events (#64722)
* Throttle duplicate Sonos events

* Fix test by breaking reference
2022-01-23 00:40:08 +01:00
Paulus Schoutsen ed2e1f431c
Allow Sonos to browse and play local media via media browser (#64603) 2022-01-21 13:49:06 -08:00
jjlawren e7f0962979
Improve Sonos diagnostics (#64586) 2022-01-20 13:14:08 -10:00
jjlawren 53aed22d5c
Add diagnostics support to Sonos (#64576)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-01-20 13:26:54 -08:00
Paulus Schoutsen 2f18058fe7
Allow browsing favorites in Sonos media browser (#64082)
* Allow browsing favorites in Sonos media browser

* Group favorites by type, add thumbnails

* Update homeassistant/components/sonos/media_player.py

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Keep favorite groups ordering consistent

* Skip root folder if only one child available

Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-14 09:28:25 -08:00
epenet ed5e1af10a
Add type hints to media_player (part 2) (#64006) 2022-01-13 10:43:52 +01:00
jjlawren 740a8c33ee
Add `audio_delay` number entity to Sonos (#63566) 2022-01-10 16:04:40 +01:00
jjlawren 7f077c8956
Bump soco to 0.25.3 (#63548) 2022-01-06 15:26:03 +01:00
jjlawren 754f4c52c2
Support media_player grouping services for Sonos (#63256) 2022-01-05 16:22:36 +01:00
jjlawren 8a8ffa1c08
Add support for Sonos microphone binary_sensor (#63097)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-01-04 18:45:40 +01:00
Marc Mueller 53496c019c
Start using `ParamSpec` for decorator functions (#63148) 2022-01-04 18:37:46 +01:00
GitHub Action 93758e2e6c [ci skip] Translation update 2022-01-01 00:14:34 +00:00
jjlawren 2172679f41
Make Sonos alarm `unique_id` unique with multiple households (#62645) 2021-12-31 11:10:10 +01:00
jjlawren a8fe9f2eff
Add missing migration for Sonos speech enhancement switch entities (#63010) 2021-12-29 17:31:04 +01:00
jjlawren 00a4b60f74
Fix night mode switch state on Sonos (#63009) 2021-12-29 17:25:29 +01:00
epenet e01b0a3625
Add setup type hints to sonos, unifi and wake_on_lan (#62876)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-27 23:42:24 +01:00
jjlawren 00307e1ade
Bump soco to 0.25.2 (#62691) 2021-12-23 11:07:29 -08:00
jjlawren 4475e88707
Fix Sonos updating when entities are disabled (#62456)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-12-21 20:36:12 -08:00
jjlawren cc6228f5c9
Bump soco to 0.25.1 (#62523) 2021-12-21 21:14:44 +01:00
epenet c59ae54dc8
Use new enums in sonos (#62202) 2021-12-17 13:35:21 -06:00
jjlawren 9a1109949f
Fix Sonos sub & surround switch state reporting (#61531)
* Fix sub/surround states, refactor volume param handling

* Lint
2021-12-11 21:14:22 -07:00
jjlawren 6d54261322
Remove external library discovery call in Sonos (#61461)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-12-10 11:28:47 -10:00
jjlawren 3ae16caf6a
Fix Sonos radio handling during polling (#61401) 2021-12-09 14:12:19 -08:00
jjlawren da4349d133
Improve Sonos activity debug logging (#61122) 2021-12-06 15:21:28 -08:00
jjlawren 171b57bf32
Use _attrs where possible in Sonos (#60931) 2021-12-03 10:57:19 -08:00
jjlawren cbf2bf2e1f
Add audio input format sensor to Sonos HT devices (#60884) 2021-12-03 10:06:56 -08:00
jjlawren b883014ed4
Add Sonos subwoofer and surround on/off controls (#60918) 2021-12-03 16:05:40 +01:00
jjlawren 7d8b3e9de3
Bump soco to 0.25.0 (#60915) 2021-12-03 15:34:18 +01:00
jjlawren 60adccd549
Do not print full traceback during Sonos resubscription failure (#60644) 2021-12-02 08:11:08 -10:00
J. Nick Koston 8e0ef52cc8
Ensure sonos ssdp callbacks use dataclass methods (#60782) 2021-12-02 09:53:08 -08:00
jjlawren e56a676fd5
Import helpers in Sonos instead of accessing `hass` (#60848) 2021-12-02 18:21:49 +01:00
jjlawren cb7e7e9bd1
Improve Sonos activity tracking (#60642) 2021-12-01 21:49:21 +01:00
jjlawren de9e48174f
Change unnecessary Sonos coroutine to callback (#60643) 2021-11-30 17:35:29 +01:00
epenet f444dd6d86
Use dataclass properties in sonos discovery (#60633)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-30 06:06:52 -10:00
jjlawren a88cc8b98c
Move Sonos bass & treble controls to number entities (#60498) 2021-11-29 16:00:37 +01:00
GitHub Action 9e606abb0c [ci skip] Translation update 2021-11-23 00:13:54 +00:00
jjlawren aa5cf175f4
Set Sonos availability based on activity and discovery (#59994) 2021-11-21 18:48:57 -06:00
epenet b465131170
Use ZeroconfServiceInfo in sonos (#60095) 2021-11-21 15:49:50 -06:00
jjlawren 81e02a39df
Ignore non-Sonos SSDP devices with Sonos-like identifiers (#59809) 2021-11-19 10:14:12 -06:00
epenet b3ffc1e183
Adjust async_step_zeroconf signature for strict typing (#59503)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-15 18:05:45 +01:00
GitHub Action 3f2b1fa952 [ci skip] Translation update 2021-11-12 00:12:35 +00:00
J. Nick Koston cab9f821a1
Fix zeroconf with sonos v1 firmware (#59460) 2021-11-10 22:31:08 -08:00
GitHub Action e35b83081e [ci skip] Translation update 2021-11-08 00:12:31 +00:00
GitHub Action 332a571bb4 [ci skip] Translation update 2021-11-07 00:12:38 +00:00
J. Nick Koston 10d6247fee
Bump to aiohttp 3.8.0 (#58974) 2021-11-04 10:07:50 -05:00
Marc Mueller 4c68662612
Use assignment expressions 34 (#58823) 2021-10-31 19:01:16 +01:00
jjlawren 6e7fe13d51
Disable polling Sonos switches by default (#58705) 2021-10-29 14:43:59 -05:00
jjlawren 5a20d9fce3
Set Sonos alarm and battery entity categories (#58340) 2021-10-24 12:52:15 -10:00
GitHub Action 30fb619095 [ci skip] Translation update 2021-10-24 00:12:57 +00:00
jjlawren 084fd2d19f
Expose Sonos features as switch entities (#54502)
Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
2021-10-23 23:11:27 +02:00
epenet f6ffae9e10
Use DeviceInfo on components with configuration_url (#58223)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-10-22 17:40:13 +02:00