Skip to content

An ESP32 based presence detection node for use with the Home Assistant mqtt_room component for localized device presence detection.

License

Notifications You must be signed in to change notification settings

nealeydee/ESP32-mqtt-room

 
 

Repository files navigation

ESP32-mqtt-room

An ESP32 based presence detection node for use with the Home Assistant mqtt_room component for localized device presence detection.

This depends heavily on the hard work done by pcbreflux and nkolban both on GitHub and on their YouTube Channels. Specifically, it is a modified version of pcbreflux's ESP32_BLE_beaconscan.

Getting Started

  1. You can get started by cloning this repository to your local machine using git. Alternatively, you can download the zip.
  2. Make a copy of the Settings.h file, and rename it Settings_local.h. Fill in the required information in your local settings file (the local file is ignored by GitHub, so you won't upload your sensitive information).

Configuration

  1. Settings are defined in Settings_local.h which is not included in the repo by default. Make a copy of Settings.h and rename it Settings_local.h in the same folder. Fill in your required settings.

Build and Upload

  1. Open the ESP32-mqtt-room.ino file in the Arduino IDE, and set the board variant to ESP32. You'll need to use the large partition scheme to get it to fit your board.
  2. Compile and upload. Ensure that you've got all required libraries installed (and do not use the beta version of any of them).

TBC

Future Development Tasks

  • Implement basic BLE packet discovery
  • Implement iBeacon data packet parsing
  • Setup instructions in README.md
  • Match configuration options to Room Assistant
  • Implement Mi Flora data parsing and reporting
  • Whitelist functionality
  • Blacklist functionality
  • Maximum distance limit
  • Scan interval Settings
  • Configuration via Web UI
  • Wifi Manager for managing access point credentials
  • Implement Over-The-Air (OTA) updates
  • Build and upload via PlatformIO

About

An ESP32 based presence detection node for use with the Home Assistant mqtt_room component for localized device presence detection.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.6%
  • C 1.4%