Commit graph

23 commits

Author SHA1 Message Date
Eugene Tiutiunnyk
1bb76e2351
Fix Mac address check in kef integration (#107746)
Fix the check for Mac address in kef integration (#106072)

It might be due to an update of `getmac` dependency in some case the mac
was resolved to "00:00:00:00:00:00" instead of the anticipated `None`.
With that the original bug #47678 where a duplicated entity would be
created in case of HA is restarted while the KEF speaker is offline
came back. The PR #52902 was applied back in time to fix that issue.
Now, this change is a continuation of the previous efforts. The solution
was tested for about two months and it does address the bug with
creating duplicated entities in case of KEF speakers being offline.
2024-01-10 23:23:40 +01:00
Marc Mueller
8f33ad38cf
Update pylint to 2.15.6 (#82440)
* Update pylint to 2.15.6

* Use single pylint disable

* Use implicit dict constructor
2022-11-21 08:58:45 +01:00
epenet
72bf1ca6dd
Use attributes in kef media player (#77650) 2022-09-19 10:21:48 +02:00
epenet
823e7e8830
Use new media player enums [i-l] (#78054) 2022-09-08 22:35:53 +02:00
epenet
448f4ee755
Improve entity type hints [j-k] (#77594) 2022-08-31 22:10:18 +02:00
epenet
4a0e00d939
Use EntityFeature enum in components (k**) (#69411)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-04-07 15:31:54 +02:00
epenet
bf78ddcadb
Add media_player setup type hints [a-l] (#63297)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-03 16:04:15 +01:00
Bas Nijholt
b7a758bd0c
raise PlatformNotReady when speakers unreachable (#56508)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-21 14:35:51 -07:00
Franck Nijhof
f17a5f0db9
Clean up redudant exceptions from handlers (#51741) 2021-06-11 13:29:50 +02:00
Franck Nijhof
2ed386f9e6
Migrate to async_get_current_platform everywhere (#50034) 2021-05-03 09:34:28 -07:00
Erik Montnemery
14a59d290a
Update integrations j-o to override extra_state_attributes() (#47758) 2021-03-11 20:11:25 +01:00
Bas Nijholt
d790de1346
Minor code improvement for KEF (#41885) 2020-10-15 16:20:23 -05:00
Bas Nijholt
8db88192a8
Fix KEF LSX becoming unavailable (#41700)
* Do not use asyncio.gather because the speaker only allows one concurrent connection

* bump to aiokef=0.2.16
2020-10-13 20:13:48 +02:00
Bas Nijholt
3ae4eba457
Bump aiokef 0.2.12 (#36753) 2020-06-16 23:15:49 -07:00
Bas Nijholt
e6065569ae
Use Coerce(float) on service options for kef (#35659)
* use Coerce(float) on service options

* defer the type from options list
2020-05-24 12:10:15 +02:00
Erik Montnemery
62bc02fdda
Rename MediaPlayerDevice to MediaPlayerEntity (#34592) 2020-04-25 18:00:57 +02:00
Bas Nijholt
8bd0fca751
Pass an argument to kef.update_dsp for async_track_time_interval (#34310) 2020-04-16 14:54:39 -07:00
Bas Nijholt
ceb171974d
Fix kef DSP_SCAN_INTERVAL timedelta (#33825)
reported on https://community.home-assistant.io/t/kef-ls50-wireless/70269/134
2020-04-08 12:48:46 -07:00
Bas Nijholt
3e0ccd2e86
Add KEF services for DSP (#31967)
* add services for DSP

* add homeassistant/components/kef/const.py

* add services.yaml

* fix set_mode

* fix services

* media_player.py fixes

* bump aiokef to 0.2.9

* update requirements_all.txt

* add basic sensor.py

* add DSP settings as attributes

* add message about kef.update_dsp

* remove sensor.py

* fix pylint issues

* update_dsp inside async_added_to_hass

* use {...} instead of dict(...)

* get DSP settings when connecting to HA or once on update

* simplify condition

* do not get mode twice

* remove async_added_to_hass

* use async_register_entity_service

* remove entity_id from schema and prepend _value

* invalidate self._dsp after setting a DSP setting

* schedule update_dsp every hour

* subscribe and unsubscribe on adding and removing to HA

* don't pass hass and set _update_dsp_task_remover to None after removing
2020-03-30 10:45:24 -07:00
Bas Nijholt
3275987f17
Add play, pause, previous and next track to kef (#31373)
* KEF: add support for play, pause, next track, and previous track

* bump aiokef to 0.2.7

* run isort

* do not dynamically change the supported features
2020-02-01 17:38:36 +01:00
Bas Nijholt
a010577d6e Add kef supports_on option (#30937)
* add supports_on_off option

* modify support_kef inplace

* all speakers support turning off remotely
2020-01-20 14:24:13 +01:00
Bas Nijholt
a26fef38a2 bump aiokef to 0.2.5 which uses locks (#30753) 2020-01-14 17:41:52 +01:00
Bas Nijholt
0d5486f772 Add KEF speakers integration (#28959)
* add KEF speakers platform for the integration

This will work with the KEF LS50 Wireless and KEF LSX speakers.
The development of this code happened on https://github.com/basnijholt/media_player.kef

* rename DATA_KEF -> DOMAIN

* use aiokef v0.2.0 and support LSX and new features

* sort imports

* fix @MartinHjelmare's suggestions

* remove _CONFIGURING

* change STATE_UNKNOWN to None

* use lat and long for unique_id

* bump aiokef to v0.2.2

* use config[ATTR] instead of config.get(ATTR)

* use getmac

* fix case when MAC is None

* use host as instance lifetime id

* fix requirements
2020-01-03 14:59:44 +01:00