Hi,
I have a pair of Kef ls50 wireless speakers that I want to integrate into my home assistant setup. As of June 2018, Kef released a firmware update with support for “third party developers”. After downloading their new app: Kef Control, I realized that they added the support for changing inputs and adjusting the volume etc.
I wanted to make automations which controls my Kef ls50 wireless speaker, so I connected by phone to my computer, and started to sniff some traffic. After a few hours, I could change the input of my speakers between usb input and optical input.
To changing to optical input, I send 0x5330811b00
(hex) to my speakers ip address on port 50001
.
To change to usb input I send 0x5330811cf7
Currently, these are the only two commands I have identified. But It should not be hard to sniff out more commands. I’ll probably do this in the coming week.
I am considering to write an integration for these speakers into home-assistant, given that two criterias are met:
-
I want to know if other people can replicate what I did, so that it is universal. I do not yet understand how the protocol works
-
There has to be some people that want this integration. Otherwise, I’ll just write a small python file and build it to fulfill my purposes (which is changing input only).
To replicate my test run this in a bash terminal:
IP= #your speakers ip address
echo -ne "\x53\x30\x81\x1c\xf7" > /dev/tcp/${IP}/50001
echo -ne "\x53\x30\x81\x1b\x00" > /dev/tcp/${IP}/50001