Skip to content

SmartThings presence using BTLE with Node-Red on Raspberry Pi

License

Notifications You must be signed in to change notification settings

ScottChapman/ST-BTLE-Presence

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ST-BTLE-Presence

SmartThings presence using BTLE with Node-Red on Raspberry Pi.

Description

The idea with this project is to use run of the mill Bluetooth Trackers (like PebbleBee) as presence device for SmartThings. It is a set of Node-Red flows designed to run on a Raspberry Pi. The general design looks like this:

Scanner -> MQTT -> Device Handler -> SmartThings MQTT Bridge -> SmartThings

With this approach, you can have as many Scanners as you need to provide good coverage for your house/property. They can be run a simple/inexpensive Pi Zero devices (which is what I use). Each Scanner simply reports what BTLE devices is sees to a single MQTT topic. Then each Device Handler (with represents a specific key finder device) looks for it's own ID and updates SmartThings using the corresponding MQTT topic.

Setup.

This is the general list of what you need to be able to run this:

  • Scanner
    • Node-Red (current is fine)
    • Node 8.11.1 (needed for the specific BTLE scanner - see issue)
  • Device Handler
    • Node-Red (current is fine)
    • Node (current is also fine)
    • SmartThings MQTT Bridge
    • The Device flow has a configuration node where you enter:
      • BTLEID - the lowercase, without colons UUID for the device
      • topic - the full name of the MQTT topic to publish (e.g. /smartthings/<virtual device name>/presence)
  • SmartThings
    • Virtual Presence device (one for each device flow above)

NOTE: To make it easier to run a specific version of Node I recommend running Node Version Manager

About

SmartThings presence using BTLE with Node-Red on Raspberry Pi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages