Joshua Pressnell

Homebridge Driver for HomeKit Support?

50 posts in this topic

5 hours ago, Joshua Pressnell said:

The driver I'm currently working on wouldn't do this so well.  My initial goal was to do a direct link between C4 hardware and HomeKit hardware concepts.  HomeKit doesn't have any "AV profiles" yet, so "Hey Siri, Watch AppleTV in my bedroom" won't link easily to starting an AV source in a room.  It's easy enough to get that kind of thing done, but in HomeKit, it would have to look like a series of switches.  Then you'd tie the "switch state" to active scenes (Watching Apple TV, Watching News, etc) and turning one on would turn the others off and have the desired effect you wanted.  

I might be convinced to make a separate driver/plugin that does that, but it goes beyond the intent of my C4/HomeKit bridge enough that I wouldn't want to muddy the waters with it in this product.

Considering the proliferation of Dots in my house, there really is no need for video control via HomeKit. If I'm there to see it, the Dot (or wand) can make it happen. 

Share this post


Link to post
Share on other sites

Ok folks... I have the homebridge plugin pretty well prepared and published in npm.  You can find it here -> https://www.npmjs.com/package/homebridge-control4

For those of you with homebridge setups already (or at least a machine that's always running that you don't mind installing homebridge on), you can go ahead and install my plugin via npm to get your setup prepared for the driver.

I've got the driver setup for beta test and I'm just doing final testing on it now to make sure it's stable.  I'll post a link to the beta driver here as well as soon as I'm sure it's solid and good to go.  The beta will work until Dec 15, at which point the driver will no longer operate.

Share this post


Link to post
Share on other sites

Okay.  The driver's looking solid so far.  I'm going to go ahead and post it here and hopefully get feedback from you folks.  You can download it here -> https://dl.dropboxusercontent.com/u/13324724/homebridge.c4z

As a reminder, this driver will only be functional until Dec 15 OR until I release a new updated version of the beta.  A new release will deactivate old beta versions.  Since there's no programming involved, it's not a problem.  Just upgrade the driver to the new version (or delete it and re-add the new version) and everything will pick up from where you left off.

The documentation outlines what you need to do to get it running.  If you're familiar at all with homebridge, it should be a piece of cake.  I don't want to post more than that here, because I really want feedback on the documentation as well as the driver operation.  If something doesn't make sense, I'd like to know about it.

Please let me know when you folks have installed the driver and gotten the plugin working.  I'm interested in success stories as well as trouble reports, as I want to verify that everything is solid, not just find errors.

A note on doors that's not in the documentation yet.  By default, all window and door "contact sensors" in the project will get output using a generic "Contact" device type in the homebridge plugin.  Due to how HomeKit works, you can display contact sensors, but it doesn't let you get notifications when open/close events happen.  If you want a door with a notification (I like to have my front door do this so I can see when my kids get home), then you'll need to change the configuration a little bit.  Just change the "Service" value in the config.json to be "Door" instead of "Contact".  The downside here is that HomeKit thinks doors should be something you can *control* so HomeKit will give you the option to open/close the door.  My plugin ignores those commands, so if you tap on the "Door" in HomeKit, it'll show as "Opening" with a transition status until you tap on it again to get rid of the "Opening" state.  There's not much I can do about that... and it's only a display issue.  But that way you can get notifications when a door opens and closes if you want.

Share this post


Link to post
Share on other sites

One further note.  Siri gets a little picky in terms of naming and how you define things.  If you can either say a command to turn on an exact item, or command to turn on all lights in a given room.  "Hey Siri, turn on the basement lights" will turn on all lights.  But if you say a command like "Hey Siri, turn on the basement hall light" and there isn't an item *named* "Basement Hall Light", then it will turn on all the lights in the basement.  So you really want to have an item named "Basement Hall Light" that's also located in the Basement room to make it play nice.  It takes a little tweaking to get used to, but once you understand how HomeKit works and get it all setup, it's pretty smooth.  And I really like setting the theater dimmer settings based using the Apple TV in my theater with the voice remote.  That's just fun.

Share this post


Link to post
Share on other sites

I haven't heard from too many people who are trying this out yet, but the homebridge-control4 plugin has been installed nearly 200 times.  I have been in touch with one person who is successfully using this driver in his project... so far so good.

I have a pre-configured homebridge appliance nearly ready to go on sale.  This will be a drop-in network appliance that comes pre-configured with everything needed to get the Homebridge driver running with HomeKit, and which supports a super-easy web-based configuration.  Plug it in, enter a few settings, and everything should "just work."  It will even auto-import the device configuration from your Control4 system. :)  Here's a little sneak-peek.  MSRP for the hardware box will be about $225.

Untitled-1.jpg

Share this post


Link to post
Share on other sites

I haven't had the time to play with this yet.  But a drop in solution is attractive. Consider me first in line to order. :)

Share this post


Link to post
Share on other sites

I want one also. Let me know when and where to send the check. 

Share this post


Link to post
Share on other sites

I'll just add with Josh's help, I got his driver installed last night.  I set it up to auto run when I boot my Mac.  Awesome.

Lights work nicely, and Siri also works.

Wife got a chuckle when I walked into he kitchen and said Siri turn on the kitchen lights.  

 

Share this post


Link to post
Share on other sites

Hey Folks, 

As I mentioned, I got this running last night and have been playing with it like mad.  I'm hoping it's ok with Joshua to talk about the great things I'm seeing:

I have no problems asking Siri to turn things on and off.  Much easier to create scenes on my iPhone than in Control4, test them, and of course use them.

I was just thinking another benefit over Amazon is being able to automate based on leaving or coming home.  It's nice to come home, have the correct garage door open, and lights go on - without pressing any buttons.  (I did most of that with Control4, but had to press the garage opener to trigger the scene).

I'm also a Mac fan, so for the first time, I used Siri on my Mac and asked her to lower the lights.  very nice.  

 

Josh - great job!  I'm hoping you keep it up an go commercial, it won't be fair to loose the driver!

 

 

Share this post


Link to post
Share on other sites
1 minute ago, ekohn00 said:

 I'm hoping it's ok with Joshua to talk about the great things I'm seeing..

No!  Absolutely not!  You must not say wonderful things about my work!!  *glib smile*

2 minutes ago, ekohn00 said:

Josh - great job!  I'm hoping you keep it up an go commercial, it won't be fair to loose the driver!

Don't worry... it'll happen.  I spent a good portion of my spare time today working on the web-based appliance code.  It's my personal opinion that the drop-in appliance is critical to the commercial success of the driver.  Too many users and too many dealers won't understand the concept of homebridge and running their own mini-servers.  The overall package *has* to be as completely seamless as possible in order to get widespread adoption.  Sadly, that means idiot-proofing the setup and *tons* of documentation, which all takes time.

Share this post


Link to post
Share on other sites

Sarcasm.....cool!

Yep, I do recommend the appliance, it wasn't straight forward setting up homebridge.  And auto-running it, is probably something the average Mac user won't be able to do.  Now being I have it installed - I hope you also have a driver-only version too. 

I do have a feature request.  I think there's no real audio with HomeKit, but do you think there's any way to shut off a room - and I don't mean the lights but the audio/TV that might be playing?

 

thanks again.  and don't worry I won't say wonderful things anymore.

Share this post


Link to post
Share on other sites
1 hour ago, ekohn00 said:

Sarcasm.....cool!

Yep, I do recommend the appliance, it wasn't straight forward setting up homebridge.  And auto-running it, is probably something the average Mac user won't be able to do.  Now being I have it installed - I hope you also have a driver-only version too. 

I do have a feature request.  I think there's no real audio with HomeKit, but do you think there's any way to shut off a room - and I don't mean the lights but the audio/TV that might be playing?

 

thanks again.  and don't worry I won't say wonderful things anymore.

LOL.... I'm a light-hearted soul. ;)

anywho... you'll need to get creative if you want more "control4-like control" There's an Extra Vegetables "virtual switch" driver that basically creates a programmable "switch state". Use C4 programming to update the switch to on when the room comes on. The program the "turned off" action to shut the room off.  Then you just have to name your virtual switch in a way that's pleasing so you can command it with Siri. If you hide that switch from navigators, basically it all comes together very cleanly. 

Share this post


Link to post
Share on other sites

Any idea of the extra vegetables driver's name?   I just read through the website several times ave couldnt find it.   

Thanks.  

Share this post


Link to post
Share on other sites

Another one of my beta users is using the "Clipsal Relay" switch driver for this purpose. I haven't tested it myself, but he's been pretty happy with the results. 

Share this post


Link to post
Share on other sites

For those following along at home, I've updated the copy of the driver located here -> https://dl.dropboxusercontent.com/u/13324724/homebridge.c4z

This new version extends the beta timeout from 12/15/16 to 1/15/17.  It also includes support for a few new C4 drivers (several new ones that use the light proxy) and has updated documentation to identify which C4 drivers are currently supported.  

Share this post


Link to post
Share on other sites
For those following along at home, I've updated the copy of the driver located here -> https://dl.dropboxusercontent.com/u/13324724/homebridge.c4z

This new version extends the beta timeout from 12/15/16 to 1/15/17.  It also includes support for a few new C4 drivers (several new ones that use the light proxy) and has updated documentation to identify which C4 drivers are currently supported.  

Joshua I would love to help testing this out but I'm kind of a noob, I would have to start from scratch. Let me know if you need the additional hands on help!

Share this post


Link to post
Share on other sites

Ok... one more update.  For folks following along, an updated copy of the driver is here -> https://dl.dropboxusercontent.com/u/13324724/homebridge.c4z

I'm updating the "current driver version" value on my server this afternoon, so any existing installs of older driver versions will stop functioning.  Please update your projects to use the updated copy at the link here.

Also, I've updated the homebridge control4 plugin.  On your homebridge servers please "sudo npm install -g homebridge-control4" and make sure your installed version is 1.0.12.

This update includes support for Door Locks.  Also, I expanded support to attempt to find lights and dimmers by generic proxy, so that if they're not picked up by the specific driver names, they'll still be found and output in the config.  Devices identified this way will be classified as lights (not dimmers), so if you have a dimmer that's picked up and mis-identified, you'll need to manually modify the config.json to account for it.

Any questions, let me know.  Cheers.

Share this post


Link to post
Share on other sites

OK folks.  The latest copy of the driver is available here -> https://dl.dropboxusercontent.com/u/13324724/homebridge.c4z

This version plays nicely with my soon-to-be-released hardware appliance, and also extends the expiration date to 02/15/17.  At that point, my hardware should be finalized for production release, and I should have the production driver available on HouseLogix.

Share this post


Link to post
Share on other sites
OK folks.  The latest copy of the driver is available here -> https://dl.dropboxusercontent.com/u/13324724/homebridge.c4z

This version plays nicely with my soon-to-be-released hardware appliance, and also extends the expiration date to 02/15/17.  At that point, my hardware should be finalized for production release, and I should have the production driver available on HouseLogix.

Looking forward to that drop-in solution!!

Share this post


Link to post
Share on other sites

Right on!

I have a site all set for beta on the appliance.

Happy Automating!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
    • 21 Posts
    • 234 Views
    • 67 Posts
    • 766 Views
    • 7 Posts
    • 130 Views
    • 1 Posts
    • 15 Views
    • 10 Posts
    • 108 Views
    • 27 Posts
    • 463 Views
    • 6 Posts
    • 263 Views