mcclurec / homebridge-volumio-speakers

Homebridge plugin to enable Volumio Zone control in Apple Homekit
Apache License 2.0
4 stars 0 forks source link

Volume control ? #3

Closed acresp closed 2 years ago

acresp commented 3 years ago

Hello,

Great plugin, I use 5 volumio zones in my house and it's great to have a play/pause control in the Home app. Thanks for your job!

Is there any news about the volume control ? I see in the log that you get it through the API (I also use the API with some ESP32 chip in some wall push button to have some physical volume control buttons)

mcclurec commented 3 years ago

Hey! Glad it works for you. I've actually only got one zone myself, so if you have any particular feedback on that area, I'd love to hear it.

I just did a quick hunt and I still haven't seen any updates on the volume or mute states. Those attributes are in the HAP-Node-JS project so I implemented them early hoping that one day they'll "just work" but I haven't been so lucky yet. You can see them in the developer docs here if you're curious.

As I understand it, getting volume to work is actually handled through the Airplay 2 protocol, which has yet to be cracked. I don't think it's going to work in the near future, but I'm keeping my fingers crossed.

(Here's the the HAP-Node-JS release notes that I'm keeping an eye on hoping for a breakthrough)

mcclurec commented 3 years ago

Somewhat unrelated, but I also made an iOS Shortcut that may be useful to you. This one doesn't deal with zones, but you might be able to modify it. It displays the list of favorited web radio stations and has volume controls. https://www.icloud.com/shortcuts/73b48839000742c8a08477bd46cd7f22

I'll close this issue for now. Feel free to open others if needed.

mcclurec commented 3 years ago

@acresp I wanted to update you on something I found regarding volume. I've discovered that you can set the volume of the various accessories via a Homekit Scene. Read more below on how to do that.

I do have one current bug though... I have a bug in my volumeClamp utility that was intended to protect against out of range values. TL;DR if you try to change the volume right now, it's going to instantly go to 100% lol. I have a fix that I'm running locally, and I'll put out an update soon-ish. I'm trying to work on debugging an issue for someone else at the same time. Stay tuned for a plugin update.

Here's what I plan on adding to the Readme. Let me know if this is clear, or I should change it up.

How to set volume

Currently, most of the functionality you'd expect from a speaker accessory is handled through the Airplay 2 protocol, which as of th etime of writting, doesn't have an available, open source implementation. That means that when you long press on the Speaker tile in the Home app, you'll see a message stating...

Controls unavailable for this device

...and controls like pause/play, next/prev track, and the volume slider are greyed out. However, if you create a scene in homekit and include the accessory, you'll have a "Media" and "Audio" option down below the accessories list. In there, you can select a volume to send to the device as long as you're using one of the "Play Audio", "Resume Audio", or "Adjust Volume Only" selections.

mcclurec commented 3 years ago

I've pushed a beta if you'd like to try this before the release. You can run this from the Homebridge terminal if you'd like. Or wait a bit more until I release the 0.2.1 version.

sudo npm install -g homebridge-volumio-speakers@0.2.1-beta.1