Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 2.07 KB

README.md

File metadata and controls

63 lines (48 loc) · 2.07 KB

Senesp98 - Sen66 sensor with ESP32 Zigbee

Overview

This project implements a Zigbee End Device (ZED) sensor using the ESP32 platform and ESP-IDF framework. It's designed to connect to a Zigbee network and transmit sensor data from a SEN66 environmental sensor.

Features

  • Zigbee End Device implementation
  • SEN66 environmental sensor integration

Prerequisites

  • ESP-IDF development framework
  • SEN66 environmental sensor module
  • ESP32 zigbee microcontroller (tested with ESP32-H2)

Building and Running

  1. Open the project in VS Code with Remote Containers
  2. Build the project using ESP-IDF commands
  3. Flash to your ESP32 device

Hardware Connections

The SEN66 sensor connects to the ESP32 via I2C:

  • SDA -> GPIO10 (green wire)
  • SCL -> GPIO22 (yellow wire)
  • VCC -> 3.3V
  • GND -> GND

Pins can of course be changed in main/sen66_esp32.c

About SEN66

It includes following sensors:

About Zigbee

This project exposes usual clusters:

  • Temperature
  • Humidity
  • PM2.5
  • CO2

But also custom clusters that are not defined in the Zigbee standard:

  • PM1 (0xFC01)
  • PM4 (0xFC02)
  • PM10 (0xFC03)
  • VOC Index (0xFC04)
  • NOx Index (0xFC05)

For these custom clusters, we can't use IDs lower than 0x8000 because they are reserved for the standard clusters. (So we can't use the same IDs as the one defined in the Matter specification)

Zigbee2MQTT

For now, this device is not yet supported by Zigbee2MQTT. If you want to use it, you can use the external_converters feature.

You can find the definition in the sen66.js file.

License

All Sensirion's code defined in main/sen66 comes from embedded-i2c-sen66 and is under BSD 3-Clause License