Geofencing for Smart Homes with Node-Red

geofence-nodeA geofence is a virtual perimeter for a real-world geographic area – Wiki

It involves using a location aware device and a location aware service.



Geofencing is increasing being used in marketing.

For a smart home it can be used to perform an action like turn on heating, open garage door when the service detects the presence of a member of the household.

Geofencing Technologies

Geofencing Apps can use:

  • Bluetooth
  • RFID
  • Wi-Fi
  • GPS
  • PIR

and other wireless devices to trigger the location App.

A very common use case is to use the GPS location of a cell phone to trigger an action when the owner enters into the perimeter.

geo-fence

It could for example automatically open the garage door, turn on lights,turn on the heating.

Node-Red Geofence Node

geofence-nodeThe Geofence node in node-red allows you to set a geofence around an area.

When you open the node you are presented with a world map and you need to locate the area you are interested in and then you can draw your geofence as a rectangle,circle or polygon.The screen shot below shows and example

geofence-configuration

The action setting below the map needs to be configured. The one I use is the inarea setting which gives a value of false or true when you are inside/outside the geofence.

geofence-node-settings

The node output is shown below:

geofence-node-output

So all we need to do is test the property for true or false as in this code snippet

if (location.inarea)
    inarea_flag=true;

We can now use this flag to trigger an event e.g turn the heating on.

View on Worldmap

There is an option also to send the geofence location to a worldmap page so that you can see it.

For that to work you also need to install the worldmap node.

This is all best explained in a video which I have done below:

Getting GPS Data

For all this to work we need to have a source of GPS data. In the video I simulated this data but in reality it would usually come via an internet connection over http or MQTT.

Although there are many Apps on smart phones that use GPS data there are no Apps that make this data generally available in real time.

The only one  am aware of is the owntracks App.

Related Tutorials and resources:

Please Let me Know if you found it Useful
[Total: 3 Average: 4.3]

2 comments

  1. Steve Hi,
    Thank you for your detailed information. Your video helped a lot. I’m working on a personal project and trying to send GPS data from ESP32 + UBLOX NEO7M to Node-red server on Raspberry Pi 4 Model B. I tried so many things but couldn’t succeed. Could you please help me?

Leave a Reply

Your email address will not be published. Required fields are marked *