Commit graph

10 commits

Author SHA1 Message Date
Marc Mueller
b9d34ce169
Improve sonos typing (#78661) 2022-09-19 09:59:12 +02:00
jjlawren
ac88d0be14
Add Sonos favorites sensor (#70235) 2022-04-21 10:37:16 -07: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
ec88897d04
Add event statistics to Sonos diagnostics (#64845) 2022-01-24 22:52:40 -10: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
jjlawren
0d6aa89fd4
Refactor Sonos alarms and favorites updating (#55529) 2021-09-28 09:49:32 +02:00
Anders Melchiorsen
e85b0ec052
Move Sonos to upstream SoCo (#53351) 2021-07-23 00:40:30 +02:00
jjlawren
31db3fcb23
Refactor Sonos alarms and favorites into system-level coordinators (#51757)
* Refactor alarms and favorites into household-level coordinators

Create SonosHouseholdCoodinator class for system-level data
Fix polling for both alarms and favorites
Adjust tests

* Fix docstring

* Review cleanup

* Move exception handling up a level, do not save a failed coordinator

* Apply suggestions from code review

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-06-16 10:30:05 -05:00
jjlawren
84f0d3f961
Centralize Sonos subscription logic (#51172)
* Centralize Sonos subscription logic

* Clean up mocked Sonos Service instances, use subscription callback

* Use existing mocked attributes

* Use event dispatcher dict, move methods together, make update_alarms sync

* Create dispatcher dict once
2021-05-28 21:32:50 -05:00
jjlawren
b84cf915f3
Centralize storage and updating of Sonos favorites (#50581)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-16 11:11:35 +02:00