Snake-Sanders

Snake-Sanders

Any tips on using Nerves and a Zigbee gateway?

Hi everyone!

I currently have a Raspberry Pi 3B running Nerves, and it’s communicating with some smart switches over WiFi, which works great. Now, I’m thinking about switching to Zigbee devices and I know I’ll need a Zigbee gateway for that.

Has anyone here used a Zigbee dongle with Nerves? How does it work for you?

This is what I have in mind:

SONOFF Zigbee 3.0 USB Dongle Plus Gateway

Any tips or recommendations would be really appreciated!

Thanks in advance! :blush:

Marked As Solved

lawik

lawik

Nerves Core Team

Haven’t seen anything specific. This looks like it would do some of the basics: GitHub - jonathanhockman/ex_zigbee: An Elixir Library to communicate using a serial connected ZigBee device · GitHub

If bringing up something new I usually look at how a similarly high-level language does it. I come from Python, so zigpy maybe? That will usually tell me if I need to go off into native code and so on.

I think you need your Nerves system to include cp210x which I think would go in the linux defconfig. So check the custom system docs for how to build that in?

This is all sketchwork but hope it helps.

Also Liked

lawik

lawik

Nerves Core Team

I want to do everything with Nerves but I run HomeAssistant with Zigbee2MQTT. There are too many integrations in place already and I have too many types of devices (beyond Zigbee).

If you only want to do very specific things with a select few devices it is probably feasible to talk to a Zigbee radio device like the sonoff and implement the bits you need but I think reliability takes a lot of iterations there.

I wanted the app, the notifications and so on. I may still end up doing automation using Elixir as described here:

I don’t relish learning to do that stuff in Home Assistant yaml.

And I have added a bunch of Nerves devices using Homex.

Home Assistant is such a mature project with so much functionality that unless you have a smaller scope in mind and want the practice it makes a ton of sense to use it.

Home Assistant OS actually looks similar to Nerves in terms of technical choices for the underpinnings. It does A/B partitions, Buildroot and all that :slight_smile:

But keep us posted on what you end up doing.

simpers

simpers

I remember trying it many years ago it even then it felt as you described, so I have no doubts in that regard. My scope is small, but I’m sure it will grow with time too. I just want control, and no python haha

I got the device and I will at some point soon try to get it up and running. The first goal is to just add programmable control to my IKEA lamps (Zigbee on the box, though they claim only their hub will be able to control them), and see if I could make one of those “clap twice toggle lights” triggers somehow, as a fun project, though the long-term goal is to be able to control all lights and audio in the apartment through one interface.

My goal

The journey is the goal, and to do it with Nerves. I want to deepen my knowledge of Nerves and its ecosystem, and hopefully provide something useful for others while doing so :slight_smile:

Another reason is that it will not “just” be a Smart Home Hub, but also do a lot of other custom things that Elixir does best, and where I want to minimise the image/container(s) as much as possible.

If I get something useful going with this, I’ll update here!

lawik

lawik

Nerves Core Team

Cool! Go for it. Sounds great for learning :slight_smile:

IKEA is bog standard Zigbee. If there are quirks they should be implemented in the zigbee2mqtt project already. For reference.

I have all my IKEA lights on off-brand Zigbee controllers.

Last Post!

zteln

zteln

It worked quite well. I haven’t done very much with it since I last wrote about it, but I managed to receive and send messages between the ESP32-C6 Zigbee NCP and Nerves Raspberry Pi.

Where Next?

Popular in Questions Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
9mm
I am constructing a JSON object (map) and I need to conditionally set a field. I’m trying to write proper elixir-way code… and I’m at a l...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New

Other popular topics Top

vonH
In asking this question I am more interested about the expressiveness of the language itself and less concerned about the availability of...
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
dblack
I’ve got an issue with an app and I’ve no idea of how to troubleshoot it. I’m hoping someone here might have seen something similar. I p...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 42533 114
New

We're in Beta

About us Mission Statement