Supereg / homebridge-http-switch

Powerful http switch for Homebridge: https://github.com/homebridge/homebridge
ISC License
218 stars 36 forks source link

Add Multi-Switch Device #120

Open iSteve-O opened 1 year ago

iSteve-O commented 1 year ago

Is your feature request related to a problem? Please describe. I am currently using the plugin to expose 10 switches to the home app that set different volume levels on my audio receiver. These switches would work perfectly in a multi-switch or power strip device, but I can't find any plugins that provide this switch type & also poll the device for status.

Right now, all 10 switches are polling the receiver, and I would like to have a multi-switch with a single status URL so it only needs to poll 1 time to get status of all 10, instead of polling 10 times to get status of each 1.

I tried to use Switcheroo, but it doesn't have any status polling. There are other plugins I can use but none have this polling you have implemented.

Describe the solution you'd like Create a multi-swtich that has a single base url (host), a single status url, and a status pattern & url string for each switch.

This would cut my API calls down by a factor of 10, and would allow me to poll more frequently to update the switch status more quickly. Right now I am using 30 seconds as my polling interval to not congest my network.

Additional context I love how well your plugin works, but this upgrade would be amazing & work even more perfectly for me.

I would love to help in any way possible. I would love it if it worked just like a Switcheroo Multiswitch, only with status polling.

I REALLY appreciate your consideration!

jasonlboggs commented 10 months ago

You could create a rather simple python app using flask that stores the value locally. Each API query would read the local value and if a specified amount of time has passed, the endpoint could make the real API call to refresh the data locally.

iSteve-O commented 10 months ago

You could create a rather simple python app using flask that stores the value locally. Each API query would read the local value and if a specified amount of time has passed, the endpoint could make the real API call to refresh the data locally.

I already made my own plug-in to fill my needs & published it to npm. If this sounds like something you’d like, you can install it in the Homebridge ui, just search for “multiswitcheroo”.

I appreciate your reply though.