Support for MS8607 PHT (Pressure Humidity Temperature) sensor (#1974)

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
Dan Jackson 2024-03-04 13:50:11 -08:00 committed by GitHub
parent 4d279427e5
commit 480478582a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 73 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

View File

@ -0,0 +1,72 @@
MS8607 Temperature+Pressure+Humidity Sensor
===========================================
.. seo::
:description: Instructions for setting up MS8607 temperature, humidity, and pressure sensors.
:image: ms8607.jpg
:keywords: MS8607
The ``ms8607`` sensor platform allows you to use your MS8607 (`datasheet`_, `Adafruit`_) temperature,
pressure and humidity sensors with ESPHome. An :ref:`I²C Bus <i2c>` is required to be set up in
your configuration for this sensor to work.
.. figure:: images/ms8607-full.jpg
:align: center
MS8607 Temperature, Pressure & Humidity Sensor. Image by `Adafruit`_
.. _datasheet: https://www.te.com/commerce/DocumentDelivery/DDEController?Action=srchrtrv&DocNm=MS8607-02BA01&DocType=DS&DocLang=English
.. _Adafruit: https://www.adafruit.com/product/4716
.. code-block:: yaml
# Example configuration entry
sensor:
- platform: ms8607
temperature:
name: Temperature
humidity:
name: Humidity
pressure:
name: Pressure
Configuration variables:
------------------------
- **temperature** (**Required**): The information for the temperature sensor.
All options from :ref:`Sensor <config-sensor>`.
- **pressure** (**Required**): The information for the pressure sensor.
All options from :ref:`Sensor <config-sensor>`.
- **humidity** (**Required**): The information for the humidity sensor.
- **address** (*Optional*, int): Manually specify the I²C address of
the humidity sensor. Defaults to ``0x40``.
- **i2c_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`I²C Component <i2c>` if your
configuration uses multiple I²C buses. This should match the ``i2c_id`` documented below.
- All other options from :ref:`Sensor <config-sensor>`.
- **address** (*Optional*, int): Manually specify the I²C address of
the temperature & pressure sensor. Defaults to ``0x76``.
- **i2c_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`I²C Component <i2c>` if your
configuration uses multiple I²C buses. This should match the ``i2c_id`` inside of ``humidity``, documented above.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the
sensor. Defaults to ``60s``.
I²C Addresses
-------------
The MS8607 digital sensor has two I²C addresses: one for temperature & pressure (``0x76``), and the other for
humidity readings (``0x40``). They are attached to the same ``SCL``/``SDA`` pins on the package, so if you need to
customize the ``i2c_id``, you need to specify it at the top-level for temperature & humidity, and use the same value
inside the humidity configuration block.
See Also
--------
- :ref:`sensor-filters`
- :apiref:`ms8607/ms8607.h`
- `MS8607 Generic C Driver <https://github.com/TEConnectivity/MS8607_Generic_C_Driver>`__ by `TE Connectivity <http://www.te.com/>`__
- `Manufacturer's product page <https://www.te.com/usa-en/product-CAT-BLPS0018.html>`__
- :ghedit:`Edit`

BIN
images/ms8607.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@ -328,6 +328,7 @@ Environmental
MLX90614, components/sensor/mlx90614, mlx90614.jpg, Temperature
MPL3115A2, components/sensor/mpl3115a2, mpl3115a2.jpg, Temperature & Pressure
MS5611, components/sensor/ms5611, ms5611.jpg, Pressure
MS8607, components/sensor/ms8607, ms8607.jpg, Temperature & Humidity & Pressure
NTC Thermistor, components/sensor/ntc, ntc.jpg, Temperature
PMWCS3, components/sensor/pmwcs3, pmwcs3.jpg, Soil moisture & Temperature
QMP6988, components/sensor/qmp6988, qmp6988_env3.png, Temperature & Pressure