mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-09-12 17:45:49 +00:00
168 lines
5.1 KiB
ReStructuredText
168 lines
5.1 KiB
ReStructuredText
.. include:: ../Plugin/_plugin_substitutions_p02x.repl
|
|
.. _P028_page:
|
|
|
|
|P028_typename|
|
|
==================================================
|
|
|
|
|P028_shortinfo|
|
|
|
|
Plugin details
|
|
--------------
|
|
|
|
Type: |P028_type|
|
|
|
|
Name: |P028_name|
|
|
|
|
Status: |P028_status|
|
|
|
|
GitHub: |P028_github|_
|
|
|
|
Maintainer: |P028_maintainer|
|
|
|
|
Used libraries: |P028_usedlibraries|
|
|
|
|
Supported hardware
|
|
------------------
|
|
|
|
.. image:: P028_BME280_1.jpg
|
|
|
|
Introduction
|
|
------------
|
|
|
|
Specifications:
|
|
* Temperature (-40C to +85C)
|
|
* Relative humidity (0-100 %RH) (Only available from BME280 sensor)
|
|
* Barometric pressure (300-1100 hPa)
|
|
|
|
.. warning::
|
|
The **BME280** is easily mistaken for its sibling the **BMP280**. Sometimes the PCB have both BME *and* BMP280
|
|
written on it, it's probably because the footprint is the same for BME and BMP = the same PCB board is used
|
|
by both. Luckily, this plugin supports both types of sensors.
|
|
|
|
Wiring
|
|
------
|
|
|
|
.. code-block:: none
|
|
|
|
ESP BMx280
|
|
GPIO (4) <--> SDA
|
|
GPIO (5) <--> SCL
|
|
|
|
Power
|
|
3.3V <--> VIN
|
|
GND <--> GND
|
|
|
|
.. note::
|
|
If you have changed the I2C settings in the hardware setup you need to connect to those instead of GPIO 4 and 5.
|
|
|
|
Configuration
|
|
-------------
|
|
|
|
.. image:: P028_DeviceConfiguration.png
|
|
|
|
* **Name** A unique name should be entered here.
|
|
|
|
* **Enabled** The device can be disabled or enabled. When not enabled the device should not use any resources.
|
|
|
|
I2C Options
|
|
^^^^^^^^^^^^
|
|
|
|
The available settings here depend on the build used. At least the **Force Slow I2C speed** option is available, but selections for the I2C Multiplexer can also be shown. For details see the :ref:`Hardware_page`
|
|
|
|
* **I2C Address**: The address the device is using. Depending on the board used, when available a SDO pin, or soldering a 0 ohm resistor on a different location, can be used to select the used address. If that address selection is not available, then an I2C multiplexer (in a matching ESPEasy build) can be used to use multiple sensors on a single ESPEasy unit. Below are instructions for selecting the alternate address.
|
|
|
|
Device Settings
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
* **Altitude** When not at sea-level, the plugin can apply an altitude compensation on the **Pressure** value.
|
|
|
|
* **Temperature offset** Depending on the sensor and the location of the sensor, it may be required to apply some temperature compensation. This can be set in steps of 0.1 degree. When using a BME280 sensor, this also applies a compensation to the **Humidity** reading.
|
|
|
|
Data Acquisition
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
* **Temperature Error Value** If no sensor is connected, or the sensor suffers from read errors for some reason, the **Temperature** value to report in that situation can be set here. Both **Humidity** and **Pressure** will be set to -1 when such read errors occur.
|
|
|
|
.. image:: P028_TemperatureErrorValueOptions.png
|
|
:alt: Temperature Error Value options
|
|
|
|
* *Ignore* : Do not return any value (does log the error once per second at INFO level).
|
|
* *Min -1 (-41C°)* : Set to the out-of-range value, below sensor minimum, of -41°C.
|
|
* *0* : Set to an unknown value of 0.
|
|
* *max +1 (+85°C)* : Set to the out-of-range value, above sensor maximum, of 86°C.
|
|
* *NaN* : Set to the error value ``NaN`` (Not a number).
|
|
* *-1°K (-274°C)* : Set to the impossible temperature value of -1° Kelvin.
|
|
|
|
The Temperature range of the sensor, according to the datasheet, is -40 to +85 °C, so the out of range values of -41 and +86 can be selected as error state values.
|
|
|
|
Single event with all values, Send to Controller and Interval settings are standard available configuration items. Send to Controller only when one or more Controllers are configured.
|
|
|
|
* **Interval** By default, Interval will be set to 60 sec. The minimum value allowed is 1 sec.
|
|
|
|
Values
|
|
^^^^^^
|
|
|
|
The measured values are available in ``Temperature``, ``Humidity`` and ``Pressure``. A formula can be set to recalculate. The number of decimals is by default set to 2, and can be set to 0 for ``Humidity`` and ``Pressure``, as no decimals are provided from the measurement.
|
|
|
|
.. Commands available
|
|
.. ^^^^^^^^^^^^^^^^^^
|
|
|
|
.. .. include:: P028_commands.repl
|
|
|
|
.. Events
|
|
.. ~~~~~~
|
|
|
|
.. .. include:: P028_events.repl
|
|
|
|
Rules examples
|
|
--------------
|
|
|
|
.. code-block:: none
|
|
|
|
on BME#Pressure do
|
|
if %eventvalue1%>999
|
|
Publish,%sysname%/pressure,Is normal
|
|
endif
|
|
endon
|
|
|
|
Change I2C address
|
|
------------------
|
|
|
|
You may change the i2c address from the default 0x76 to 0x77 by cutting the line between the two left pads (as seen in the pictures below) and solder a bridge between the two right pads.
|
|
|
|
.. image:: P028_BME280_2.jpg
|
|
|
|
Default i2c address 0x76.
|
|
|
|
.. image:: P028_BME280_3.jpg
|
|
|
|
Changed i2c address 0x77.
|
|
|
|
.. image:: P028_BME280_4.jpg
|
|
|
|
:green:`Cut` :red:`Solder/bridge`
|
|
|
|
|
|
Change log
|
|
----------
|
|
|
|
.. versionchanged:: 2.0
|
|
...
|
|
|
|
|added|
|
|
2022-05-10 Added Error State Value option, documentation overhaul.
|
|
|
|
|added|
|
|
Major overhaul for 2.0 release.
|
|
|
|
.. versionadded:: 1.0
|
|
...
|
|
|
|
|added|
|
|
Initial release version.
|
|
|
|
|
|
|
|
|
|
|