Skip to content

vinnyspb/nexa-controller-rpi

Repository files navigation

nexa-controller-rpi

This small project was written in order to use Raspberry Pi as a central controller for Nexa remote-controlled electrical outlets.

Hardware

Besides Nexa electrical outlets itself and Raspberry Pi, you will need a 433 MHz transmitter module for Rasberry Pi like this one.

Configuration

All tests were performed on Raspberry Pi with Raspbian OS.

RPi.GPIO python package is required.

Currently I run this installation on Raspberry Pi 2 with Raspbian Wheezy.

Configuration can be done via controller_config.ini or the web interface (web_interface.py)

Manual switch

To perform manual switch on/off (e.g. to pair RPi with the outlet), use:

python manual_switch.py on|off data_pin_number transmitter_code

How to start

Start it using ./restart.sh

It also starts a simple REST server on port 8080, which accepts /open and /close GET requests.

Log will be written to /run/nexa_controller.log and /run/nexa_rest_server.log

Modules

  • TimeController module enables selected electric outlet between sunrise and sunset for your geographical location (fetched by public IP of Raspberry Pi gateway)
  • PresenceController module allows to enable selected electric outlet only when configured MAC addresses are connected to the local router (tested on ASUS RT-AC66U).

Many thanks to this blog author for a comprehensive Nexa protocol analysis

freegeoip.io public API is used to fetch geo position based on public IP address

sunrise-sunset.org public API is used to calculate twilight timings based on location

About

Remote controller for Nexa devices using Raspberry Pi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published