NRCHKB / node-red-contrib-homekit-bridged

Node-RED Contribution - HomeKit Bridged : Node-RED nodes to simulate Apple HomeKit devices.
https://nrchkb.github.io
MIT License
416 stars 52 forks source link

[Help needed]: How to create grouped accessories #466

Closed Jacksonbm1 closed 3 months ago

Jacksonbm1 commented 2 years ago

Your Current NRCHKB Plugin Version

1.4.3

Operating System

Raspberry pi raspbian

How can we help?

How do I create grouped accessories? I'm not sure if that's the right term. The ones where you can force press the accessory and it opens multiple settings (NOT – turn on 3 lightbulbs at once). For example, a fan might have %speed and also 3 different modes in a radio button. I've looked into it, but I couldn't figure it out and couldn't search well since I wasn't sure what the search query should be.

Any more details?

If this is specific to some hardware or specific software version, please explain here.

Any code or functions to add?

No response

Shaquu commented 2 years ago

Probably you are looking for Linked Services. Visit our wiki https://nrchkb.github.io

Jacksonbm1 commented 2 years ago

I checked the docs, where specifically does it cover that? I'm not sure we're taking about the same thing.

Shaquu commented 2 years ago

I would suggest for you to go through demo sample.

What might be the solution for you is to Link services to Fan Service.

Shaquu commented 2 years ago

@crxporter I know you are busy but if you find few minutes it would be great ;)

Jacksonbm1 commented 2 years ago

I took a look at the demos, those are close, but not what I'm looking for. They seem to exist as a single accessory that's not grouped. That means it's limited to whatever apple allows certain accessories to do. I'm going to link some images. https://imgur.com/a/hRjgGQb

In the first two, you can see accessories with multiple accessories grouped. It's like a composite accessory. But if you actually look at the last picture, homekit treats them as separate accessories. However, in the demos, it's all one accessory that you can't group and ungroup. Make sense?

crxporter commented 2 years ago

So I had a quick look...

I think the first set of images may be just doing the grouping from within the Home app. In the settings of any homekit item, you will see a button that says "Group with Other Accessories..." - just click that and pick which you liked grouped.

If you do it from the nodered side you'll be making a single accessory with multiple services. Think like a motion sensor with also battery and temperature sensor.

...let me know if that's what you're looking for!

Jacksonbm1 commented 2 years ago

Interesting. Thanks for the help! When you say a single accessory with multiple services, I think that's what I'm looking for. What I'm wondering is, can I customize the accessory to have whatever switches and controls I want, or do I have to stick with some template that's built? For example, I know fans have some options for different swivel settings + speed, but I'm wondering if I can, say just add a power button or other slider as well to that.

crxporter commented 2 years ago

Yeah, we can do all kinds of "trickery" - it'll just depend what you have and what you want to build.

Have you found our docs page yet? A lot of this stuff is in there (if you know where to look)

Specifically for the fan - take a look here: https://nrchkb.github.io/wiki/service/fanv2/

You can enable/disable features using characteristic properties and you can add "weird" stuff if you link up different things. If you're just looking for some specific settings on a fan, char.props. might be your best bet.

or do I have to stick with some template that's built Nah, we are all about using homekit in weird ways - things the Home app on your phone never thought of but it tries to display anyway! Results can be good, bad, or just hilarious at times.

caitken-com commented 1 year ago

@Jacksonbm1 is this resolved?

Shaquu commented 3 months ago

Question is definitely about Linked Services, which are available and documented in wiki. Please open a new issue if required.