diff --git a/components/sensor/images/ms8607-full.jpg b/components/sensor/images/ms8607-full.jpg new file mode 100644 index 000000000..ac23114f8 Binary files /dev/null and b/components/sensor/images/ms8607-full.jpg differ diff --git a/components/sensor/ms8607.rst b/components/sensor/ms8607.rst new file mode 100644 index 000000000..fea6400f5 --- /dev/null +++ b/components/sensor/ms8607.rst @@ -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 ` 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 `. + +- **pressure** (**Required**): The information for the pressure sensor. + All options from :ref:`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 ` if your + configuration uses multiple I²C buses. This should match the ``i2c_id`` documented below. + - All other options from :ref:`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 ` 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 `__ by `TE Connectivity `__ +- `Manufacturer's product page `__ +- :ghedit:`Edit` diff --git a/images/ms8607.jpg b/images/ms8607.jpg new file mode 100644 index 000000000..c9cbde03b Binary files /dev/null and b/images/ms8607.jpg differ diff --git a/index.rst b/index.rst index 33204b53c..679d5668d 100644 --- a/index.rst +++ b/index.rst @@ -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