Esp-wifi-csi

I’m a relatively new Home Assistant user (and potential future integration hacker), so apologies if this has already been discussed on another topic.

This looks like a potentially interesting future integration for esphome and Home Assistant: ESP-WIFI-CSI detects humans with WiFi signals only, no sensor needed - CNX Software

The GitHub repo states that the CSI library/feature is supported by existing ESP WiFi hardware (ESP32 / ESP32-S2 / ESP32-C3): https://github.com/espressif/esp-csi

Just wanted to post this, in case it’s of interest.

You may want to look at the ESPHome Discord channel also, it had a few post on this item. Just search for CSI, it was under the off-topic section.

As a starting point, I’ve created a simple Wifi CSI motion sensor - take a look at GitHub - JanPeter1/esphome-components: A collection of additional components for ESPHome.

The component should be easy to use, but doesn’t have a very good accuracy (at least on my 8266 without external antenna). The algorithm just compares the current RSSI signal with the average value and detects a motion when both values differ. The already mentioned library probably uses a better detection algorithm, but I did not include this one as the source code is not available.
I apprecheate any kind of comments.

Usage:

external_components:
  source: github://JanPeter1/esphome-components
  components: [ wifi_csi ]
  
wifi_csi:
  id: csi_motion
  name: Motion detected
  filters:
    - delayed_off: 500ms
    - delayed_on: 500ms
2 Likes

Here is an example on how to extract CSI and run a presence detection algorithm on the data: GitHub - mzakharo/esp32_csi_human_presence: Human presence detection using ESP32 CSI. Comes with esphome module