mirror of
https://github.com/home-assistant/developers.home-assistant.git
synced 2025-04-27 14:57:15 +00:00
60 lines
1.3 KiB
Markdown
60 lines
1.3 KiB
Markdown
---
|
|
title: "Example sensor platform"
|
|
---
|
|
|
|
This is a minimum implementation of a platform for the sensor component.
|
|
|
|
### Installation
|
|
|
|
Copy the code below and create it as a file in `<config_dir>/custom_components/sensor/example.py`.
|
|
|
|
Add the following to your `configuration.yaml` file:
|
|
|
|
```yaml
|
|
# Example configuration.yaml entry
|
|
sensor:
|
|
platform: example
|
|
```
|
|
|
|
### Code
|
|
|
|
```python
|
|
from homeassistant.const import TEMP_CELSIUS
|
|
from homeassistant.helpers.entity import Entity
|
|
|
|
|
|
def setup_platform(hass, config, add_devices, discovery_info=None):
|
|
"""Setup the sensor platform."""
|
|
add_devices([ExampleSensor()])
|
|
|
|
|
|
class ExampleSensor(Entity):
|
|
"""Representation of a Sensor."""
|
|
|
|
def __init__(self):
|
|
"""Initialize the sensor."""
|
|
self._state = None
|
|
|
|
@property
|
|
def name(self):
|
|
"""Return the name of the sensor."""
|
|
return 'Example Temperature'
|
|
|
|
@property
|
|
def state(self):
|
|
"""Return the state of the sensor."""
|
|
return self._state
|
|
|
|
@property
|
|
def unit_of_measurement(self):
|
|
"""Return the unit of measurement."""
|
|
return TEMP_CELSIUS
|
|
|
|
def update(self):
|
|
"""Fetch new state data for the sensor.
|
|
|
|
This is the only method that should fetch new data for Home Assistant.
|
|
"""
|
|
self._state = 23
|
|
```
|