We're Exploring Integrating Knocki with Hubitat

Hello Hubitat Developers - I'm Jake - the inventor of the Knocki smart home device. Several Hubitat enthusiasts have expressed interest in seeing an integration between Knocki and Hubitat.

For those that aren't familiar with Knocki, it's a small WiFi-enabled device that transforms ordinary household surfaces into touch control interfaces. For example, you can mount Knocki under a table or to a wall to activate the entire surface as a controller. Then, by tapping simple patterns anywhere on the wall/furniture, you can trigger custom smart routines that you program.

For example, many people use Knocki under a coffee table to boot up their TV, or mount it behind their nightstand, and with a triple tap or any other pre-set tap pattern on the stand, they can trigger an entire bedtime routine (turn off Hue lights, + set alarm, + trigger IFTTT action, etc) without rattling off commands at Alexa and waking up their partner.

I've been in communication with Mark Britton, who some of you already know is a longtime Hubitat user/community member. Mark has been kind enough to introduce me to Hubitat's platform, and now that I've set it up, I'm super impressed with the speed and reliability of Hubitat! The next step is to figure out how best to integrate a button-like control interface such as our tap control interface into the Hubitat ecosystem.

Here's My Ask

Knocki has a small development team that is working on a variety of new integrations (for example, Alexa routines are coming soon), and we'd love ideas from the Hubitat community of the use cases and/or type of integration you'd like to see with Hubitat! In fact, if any of you are comfortable with Node.js and React, maybe you can join one of our developer meetings and possibly even contribute to our code to help us get this available for the Hubitat community asap!

If you'd like to chat about this, please reach out to me at jake@knocki.com and we can set up a time for a call/zoom.

If we can come up with some cool ideas together and a plan to implement them, I'll happily send you a Knocki device on my dime we can get working on it. I'm super excited to explore the possibilities, and then natively integrate what we come up with into our device's firmware and mobile apps :).

10 Likes

This sounds amazing. I am sorry that I cannot assist in programming or such as I don't have the skills but I am definitely excited about such a device. First question, and I am sure many here will echo this concern, but will Knocki support local control?

1 Like

I followed your Kickstarter for a while. But in end, decided it wasn’t for me. I find it simpler to use a Pico or something similar as a button controller.

1 Like

I’ve never heard of Knocki, so I visited the website. I like the idea and how you can hide the device away from sight. While I would typically use automation, voice or buttons, I can definitely think of some use cases for myself (it’s hard finding that Pico on the nightstand in the pitch black, isn’t it?).

As @jnosa899 was touching on above, we have all invested in HE because we love its local processing for one reason or another. @Jake_Knocki, is the integration you have in mind going to be local or will it have to report back to the mothership to work? If the device has the capability of locally processing sensory inputs, then implementing a RESTful API on the device would set you up for easy integration with any local smart home system.

4 Likes

Super interested. Even just to 'try some things out', I would think a simple RM Endpoint rule or MakerAPI call from your service could set up some really cool automatons, then that could easily be turned into a Knocki specific app.

1 Like

I like the concept and would be willing to develop and/or consult on the Hubitat integration. But only if it was able to be fully-local control.

I saw this in the FAQ: FAQ – Knocki


Knocki uses WiFi to connect to an automation server in the cloud, so when you transmit a command by knocking a surface, the server identifies the corresponding action and sends it to the appropriate device, software, or service.

Any internet-connected device or software with an open platform can be controlled through Knocki. Knocki can also connect to a variety of free online automation "recipe" tools like IFTTT so you can create unlimited new functions.

3 Likes

OH Tom, you just had to :cloud_with_rain: on our parade.

If it works out to be capable of local Tom will get it right. Fingers crossed.

1 Like

My bad! I really like the product concept, though. Even if it means my kids will be banging on the walls at all hours of the night. They already do anyway, so it may as well result in something worthwhile through home automation. :wink:

1 Like

Just think how you could automate some parental guidance through your speakers. Offload some of it to Alexa, lol.

1 Like

Knocki currently supports the ability to trigger HTTP Requests via the cloud, and we also have HTTP LAN support currently in Alpha, but it's still quite buggy. The way the LAN http request is currently designed, it sends the requests directly from the Knocki device, but after performing the LAN request, it then checks-in with the cloud to see if there are any updates on the cloud. Since the default behavior of Knocki is cloud-based, I need to see how much engineering it will take for us to have the LAN requests function without any cloud connectivity at all - in theory it should be possible! If you know anyone with embedded C experience that wants to look at our firmware, we'd love to collaborate!

3 Likes

Looks great. Willing to beta test, but must be local.
Like they say in real estate; location, location, location,
we say local, local, local in HE

3 Likes

I sent you a PM. Thanks for hearing the feedback and request!

1 Like

My embedded C has long since left the building, but if you need someone to play with HTTP LAN API holler. "Simple" idea on the cloud check may be to allow a proxy device/app to respond appropriately, many here run an always on server of some sort, but the response endpoint could possibly be built into an HE app with a little work.

1 Like

@Jake_Knocki,

I’m so glad to hear you are interested in looking into a local control option we can use with Hubitat. I have three Knocki devices I bought over a year ago still sitting in their boxes. I was hoping to have time to black-box a local solution, but alas that hasn’t happened. My wife really likes the idea of Knocki. I’m will be glad to be a tester when you are ready with your local API.

1 Like

Excellent maiden post Jake- welcome to the Hubitat world (& thanks for the mention). I’m looking forward to seeing this integration happen. Haptics as triggers & beyond …
The Hubitat community rocks big-time. You’re in good hands (& minds)!

1 Like

Hey Tomw, super excited to work on this with you, I sent you a PM. We'd need to ideate how to architect around some of the cloud dependencies which I'll fill you in on.

1 Like

Thanks mark! Excited to see where this goes.

1 Like

Aaiyar - fair enough! Hopefully we can win you over with Hubitat support :slight_smile:

1 Like

Mattias - our hardware already processes and identifies gestures locally, but most of our 3rd party integrations are currently cloud-based. Basically, Knocki detects vibrations, and if those vibrations match a tap pattern that the user has assigned to actions, then those actions are triggered. Since those actions are generally cloud-based at this time, Knocki uses its integrated WiFi module to connect to the internet and send the command. However, since Knocki can process commands locally and has an integrated WiFi module, we have the hardware capabilities to send commands locally. However, Knocki is currently designed to do a handshake with the cloud every time a gesture occurs in order to check for and receive firmware updates, report its battery status, and also to receive new gestures/action mappings that are configured via the mobile app.

That leads me to ask the following question. Would you find it adequate, at least for an MVP, for Knocki to send local commands for Hubitat, but still check-in with the cloud for the purpose of synchronizing with the companion app and getting firmware updates?

If we can get enough resources on the firmware dev side of things, we could theoretically adapt the firmware to allow Knocki to be put into a 100% local mode, and for firmware updates to be transferred to Knocki via its WiFi access point (which is currently only used during initial provisioning).

2 Likes

thebearmay, I'll definitely reach out once we have something ready for you to try out.

1 Like