Grizzly: The Perfect Marriage between Z-Wave and Nerves
Very loves Nerves, an Elixir-based platform that’s custom-built for IoT, so it’s no surprise that Grizzly caught our attention. Not only is it built on top of the Phoenix Framework, just like NervesHub, but Grizzly also simplifies the deployment and maintenance of home IoT ecosystems.
The main piece of Grizzly is send_command, where we specify the ID of the node that we want to control, the command we want to issue, and any parameters or options for that command. Here’s an example of the syntax:
When we send a command, we’ll usually get back a report. Similar to an HTTP response, a Grizzly report gives us the status of the device, a confirmation of the command, and any data that we request. If you’re an Elixir developer, the response struct looks like this:
This back-and-forth forms the backbone of Grizzly communications over Z-Wave, and it opens the door to all the options that we can find in the Grizzly "cookbook", such as adding/removing devices, locking/unlocking doors, switching on/off lights, and much more.
If you’re interested in seeing a live demo of Grizzly in action, check out Matt Ludwig’s hello-home GitHub repository. It’s full of examples for configuring a Z-Wave controller, setting up the mesh network, and running Elixir commands to operate these smart devices.
If you’re excited to learn more about how to build a smart home system, checking out Grizzly is a great place to start. This is one of the main reasons we’re active contributors to open-source software projects like Nerves: when we open the door to free collaboration, we’re able to achieve so much more together.
With Elixir and Nerves as a solid foundation, we’re building a comprehensive IoT ecosystem that takes advantage of diverse technologies, such as Z-Wave, to optimize the Internet of Things for individualized use cases.
Interested in using Nerves in your next IoT project? Find out more about our Nerves development services today.