mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-05-20 04:53:28 +02:00
d97a9bf8e8
* Added tmp102 temperature sensor support * Added sensor to test3.yaml * Moved docstring to component root * Tweak formatting from clang-format script * Removed extra newline at the end of the file to satisfy pylint * Update schema to match that of other single-value sensors In ESPHome, sensors that only expose one value do not put the sensor under another key. * Add missing import * Fix test after structural change to component * removed unused setting * Update esphome/components/tmp102/tmp102.cpp Co-authored-by: Otto Winter <otto@otto-winter.com> Co-authored-by: Guillermo Ruffino <glm.net@gmail.com> Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
"""
|
|
The TMP102 is a two-wire, serial output temperature
|
|
sensor available in a tiny SOT563 package. Requiring
|
|
no external components, the TMP102 is capable of
|
|
reading temperatures to a resolution of 0.0625°C.
|
|
|
|
https://www.sparkfun.com/datasheets/Sensors/Temperature/tmp102.pdf
|
|
|
|
"""
|
|
import esphome.codegen as cg
|
|
import esphome.config_validation as cv
|
|
from esphome.components import i2c, sensor
|
|
from esphome.const import CONF_ID, UNIT_CELSIUS, ICON_THERMOMETER
|
|
|
|
DEPENDENCIES = ['i2c']
|
|
|
|
tmp102_ns = cg.esphome_ns.namespace('tmp102')
|
|
TMP102Component = tmp102_ns.class_("TMP102Component", cg.PollingComponent, i2c.I2CDevice,
|
|
sensor.Sensor)
|
|
|
|
CONFIG_SCHEMA = sensor.sensor_schema(UNIT_CELSIUS, ICON_THERMOMETER, 1).extend({
|
|
cv.GenerateID(): cv.declare_id(TMP102Component),
|
|
}).extend(cv.polling_component_schema("60s")).extend(i2c.i2c_device_schema(0x48))
|
|
|
|
|
|
def to_code(config):
|
|
var = cg.new_Pvariable(config[CONF_ID])
|
|
yield cg.register_component(var, config)
|
|
yield i2c.register_i2c_device(var, config)
|
|
yield sensor.register_sensor(var, config)
|