A python implementation to interface Kef speakers over tcp/ip
Project description
Python interface to control KEF speakers
Supported: KEF LS50 Wireless (Requires firmware June 2018 or later)
Untested: KEF LSX
Features supported
- Get and set volume
- Mute and Unmute
- Get and set source input
- Get if the speakers are online
- Automatically connects and disconnects when speakers goes online/offline
- Turn off speaker
Features unfortunatly unsupported
- Turn on is impossible over tcp/ip because the speaker turns off network interface when turned off. This is true for LS50 Wireless. LSX should be possible to turn on.
Install
pip install pykef
Discussion
Examples
Setup:
host = '192.168.1.200'
port = 50001
speaker = KefSpeaker(host, port)
Set volume:
speaker.volume = 0.5 # %50 vol
Get volume:
volume = speaker.volume
Set source:
speaker.source = InputSource.AUX
Get source:
source = speaker.source
Mute:
speaker.volume = None
# Or
speaker.muted = True
Unmute (set to volume before mute):
speaker.muted = False
Step volume up
speaker.increseVolume() # 5% increase
speaker.increseVolume(0.10) # 10% increase
Step volume down
speaker.decreaseVolume() # 5% increase
speaker.decreaseVolume(0.10) # 10% increase
Turn off
speaker.turnOff()
How to
Upload new release:
- Update needed tools:
python3 -m pip install --user --upgrade setuptools wheel
- Build
python3 setup.py sdist bdist_wheel
- Upload (test)
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
License
MIT License
Authors
- Robin Grönberg
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pykef-1.1.0.tar.gz
(4.7 kB
view hashes)
Built Distribution
pykef-1.1.0-py3-none-any.whl
(5.6 kB
view hashes)