TMP117 Temperature Sensor
=========================

.. seo::
    :description: Instructions for setting up the TMP117 Temperature sensor.
    :image: tmp117.jpg
    :keywords: TMP117

The TMP117 Temperature sensor allows you to use your TMP117
(`datasheet <https://www.ti.com/lit/ds/symlink/tmp117.pdf>`__,
`sparkfun <https://www.sparkfun.com/products/15805>`__)
sensors with ESPHome.

.. figure:: images/tmp117.jpg
    :align: center
    :width: 30.0%

    TMP117 Temperature Sensor.
    (Credit: `Sparkfun <https://www.sparkfun.com/products/15805>`__, image cropped and compressed)

.. _Sparkfun: https://www.sparkfun.com/products/15805

The TMP117 is a high precision temperature sensor that communicates over I²C. Each sensor is tested on a NIST tracable test setup during Texas Instruments' production process. Accuracy should be at worst 0.1C across the -20C to +50C temperature range.

To use the sensor, first set up an :ref:`I²C Bus <i2c>` and connect the sensor to the specified pins.

If accuracy is a must, see section 8.2.2.2 of the `datasheet <https://www.ti.com/lit/ds/symlink/tmp117.pdf>`__.

.. code-block:: yaml

    # Example configuration entry
    sensor:
      - platform: tmp117
        name: "Living Room Temperature"
        update_interval: 60s

Configuration variables:
------------------------

- **name** (**Required**, string): The name for the temperature sensor.
- **id** (*Optional*, :ref:`config-id`): Set the ID of this sensor for lambdas/multiple sensors.
- **address** (*Optional*, int): The I²C address of the sensor.
  See :ref:`I²C Addresses <tmp117_i2c_addresses>` for more information.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.  The sensor component sets the maximum possible averaging in the sensor based on this.

.. _tmp117_i2c_addresses:

I²C Addresses
-------------

In order to allow multiple sensors to be connected to the same I²C bus,
the creators of this sensor hardware have included some options to
change the i²c address.

-  If the address pin is pulled to GND, the address is ``0x48`` (Default).
-  If the address pin is pulled to VCC, the address is ``0x49``.
-  If the address pin is tied to SDA, the address is ``0x4A``.
-  If the address pin is tied to SCL, the address is ``0x4B``.