9cd8acab43
* added first version (work in progress) * added some sensors to publish * typo * added dependency * mqtt si7021_* names + don't retain * timer to 60 s * some changes to HA auto discovery * added config entries (no function yet) * renaming * made configs work * added getId() * refactoring + wrong mqtt topics fixed * retain HA auto discovery * do not spam serial console on each sensor update * added readme * add update interval info Co-authored-by: Christian Schwinne <dev.aircoookie@gmail.com>
69 lines
1.5 KiB
Markdown
69 lines
1.5 KiB
Markdown
# Si7021 to MQTT (with Home Assistant Auto Discovery) usermod
|
|
|
|
This usermod implements support for [Si7021 I²C temperature and humidity sensors](https://www.silabs.com/documents/public/data-sheets/Si7021-A20.pdf).
|
|
|
|
The sensor data will *not* be shown on the WLED UI (so far) but published via MQTT to WLED's "build in" MQTT device topic.
|
|
|
|
```
|
|
temperature: $mqttDeviceTopic/si7021_temperature
|
|
humidity: $mqttDeviceTopic/si7021_humidity
|
|
```
|
|
|
|
Additionally the following sensors can be published:
|
|
|
|
```
|
|
heat_index: $mqttDeviceTopic/si7021_heat_index
|
|
dew_point: $mqttDeviceTopic/si7021_dew_point
|
|
absolute_humidity: $mqttDeviceTopic/si7021_absolute_humidity
|
|
```
|
|
|
|
Sensor data will be updated/send every 60 seconds.
|
|
|
|
This usermod also supports Home Assistant Auto Discovery.
|
|
|
|
## Settings via Usermod Setup
|
|
|
|
- `enabled`: Enables this usermod
|
|
- `Send Dew Point, Abs. Humidity and Heat Index`: Enables additional sensors
|
|
- `Home Assistant MQTT Auto-Discovery`: Enables Home Assistant Auto Discovery
|
|
|
|
# Installation
|
|
|
|
## Hardware
|
|
|
|
Attach the Si7021 sensor to the I²C interface.
|
|
|
|
Default PINs ESP32:
|
|
|
|
```
|
|
SCL_PIN = 22;
|
|
SDA_PIN = 21;
|
|
```
|
|
|
|
Default PINs ESP8266:
|
|
|
|
```
|
|
SCL_PIN = 5;
|
|
SDA_PIN = 4;
|
|
```
|
|
|
|
## Software
|
|
|
|
Add to `build_flags` in platformio.ini:
|
|
|
|
```
|
|
-D USERMOD_SI7021_MQTT_HA
|
|
```
|
|
|
|
Add to `lib_deps` in platformio.ini:
|
|
|
|
```
|
|
adafruit/Adafruit Si7021 Library @ 1.4.0
|
|
BME280@~3.0.0
|
|
```
|
|
|
|
# Credits
|
|
|
|
- Aircoookie for making WLED
|
|
- Other usermod creators for example code (`sensors_to_mqtt` and `multi_relay` especially)
|
|
- You, for reading this |