I find one really practical SmartHome whenever it relieves work or makes life more pleasant.
Admittedly, the possibilities are of course not huge in this respect. But anyone who has ever entered a dark apartment late in the evening, fully packed with shopping bags, is already quite grateful when, for example, the light turns on automatically.
For something like this to work, you have to SmartHome naturally know when someone enters or moves in the room.
I use the Sonoff SNZB-03 PIR motion detector shown here for this purpose. This is controlled via Zigbee involved and can thanks cigbee2mqtt with Node Red be evaluated. When a movement is detected, the light in the room can be switched on or an alarm message can be sent if nobody is at home (recognisable thanks to presence detection) and a movement is detected.
How to put the Sonoff SNZB-03 PIR motion detector in Node Red I have described in the following article.
I know the following notes are always kind of annoying and seem unnecessary. Unfortunately, many people who knew "better" have lost eyes, fingers or other things due to carelessness or injured themselves. Data loss is almost negligible in comparison, but even these can be really annoying. Therefore, please take five minutes to read the safety instructions. Because even the coolest project is not worth injury or other trouble.
Affiliate links/advertising links
The links to online shops listed here are so-called affiliate links. If you click on such an affiliate link and make a purchase via this link, Nerdiy.de will receive a commission from the relevant online shop or provider. The price does not change for you. If you make your purchases via these links, you support Nerdiy.de in being able to offer other useful projects in the future. 🙂
Before you start with this article you should have prepared a Raspberry Pi so that it is accessible via the network and controllable via SSH. Furthermore, zigbee2mqtt and NodeRed should be installed and configured.
The following articles describe what needs to be done to prepare the Raspberry Pi.
- RaspberryPi – setup for nerdiys!
- RaspberryPi – The first configuration!
- RaspberryPi – Control the RaspberryPi via SSH
- NodeRed – Installing NodeRed on the RaspberryPi
- Zigbee - Installing zigbee2mqtt on the Raspberry Pi
- Zigbee - register devices, sensors and actuators with zigbee2mqtt
In the following lists you will find all the parts you need to implement this article.
Log into the NodeRed configuration interface
Before you can edit your NodeRed configuration, you must - if activated - first log into the NodeRed configuration interface.
Enable Zigbee2mqtt Dashboard
In my opinion, the easiest way to add new devices to your Zigbee network is to use the zigbee2mqtt dashboard. In case you haven't activated this yet, you will find helpful hints in the article Zigbee - Administration of Zigbee2mqtt via the dashboard.
Register motion detectors with zigbee2mqtt
Before you can evaluate the Sonoff SNZB-03 motion detector using NodeRed and react to a movement, you must of course first integrate it into your Zigbee network.
I have a little more detail on how to integrate devices into your own Zigbee network in the article Zigbee – register devices or sensors and actuators with zigbee2mqtt described. The following two steps summarize this briefly.
To put the Sonoff SNZB-03 motion detector into pairing mode you have to insert the battery and push the button through the small hole in the housing (best done with a bent paper clip).
- Press and hold for approx. 5 seconds
The LED should then flash and the motion detector should connect to your Zigbee network shortly afterwards.
You can track the status of the connection process in the zigbee2mqtt log.
Import node code
To be able to control your Zigbee device via the NodeRed dashboard, the dashboard node should already be installed and configured. You can find more information about this in the following article.
If you are also over Pushbullet automatically remind you about a low battery in your Zigbee device you should also have the pushbullet node installed. You can find more information about this in the following article.
After that, all you have to do is import the NodeCode linked below into your NodeRed environment. Information on how to import NodeRed code can be found in the article NodeRed - import and export node code .
As always, you can find the NodeRed code in the Nerdiy Git repository under the following link:
Natürlich müsst Ihr den Code noch an Euren Bewegungsmelder anpassen. Damit dieser nämlich korrekt funktioniert müsst Ihr noch die IEEE Adresse bzw. den “friendly Name” Eures Bewegungsmelders in den NodeRed code eintragen.
Öffnet dazu die Eigenschaften der markierten Node und tragt eure IEEE Adresse im markierten Bereich bei “Payload…” ein.
In order for the update function to work via the NodeRed Dashboard, you must also enter the address here in the highlighted area.
In the place marked here, you can also customize the message that will be sent when the battery level of the Zigbee device drops below 20%.
In this example, I have also included three options that you can use to be informed when the battery level is empty.
Of course, you can simply delete the ones you don't need. 🙂
You can of course also use the newly registered Zigbee device via the zigbee2mqtt Dashboard control or read out.
In the following category I have also listed other Zigbee devices which can be controlled or read out with the NodeRed code offered there.
More articles on the topic
I have summarized other articles on the subject of Zigbee and zigbee2mqtt in the following category. There you will also find articles on various Zigbee devices and how they look like NodeRed can be controlled.
Have fun with the project
I hope everything worked as described for you. If not or you have questions or suggestions please let me know in the comments. I will then add this to the article if necessary.
Ideas for new projects are always welcome. 🙂
PS Many of these projects - especially the hardware projects - cost a lot of time and money. Of course I do this because I enjoy it, but if you think it's cool that I share the information with you, I would be happy about a small donation to the coffee fund. 🙂