47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""Sensor platform for local_ip."""
|
|
|
|
from homeassistant.const import CONF_NAME
|
|
from homeassistant.helpers.entity import Entity
|
|
from homeassistant.util import get_local_ip
|
|
|
|
from .const import DOMAIN, SENSOR
|
|
|
|
|
|
async def async_setup_entry(hass, config_entry, async_add_entities):
|
|
"""Set up the platform from config_entry."""
|
|
name = config_entry.data.get(CONF_NAME) or DOMAIN
|
|
async_add_entities([IPSensor(name)], True)
|
|
|
|
|
|
class IPSensor(Entity):
|
|
"""A simple sensor."""
|
|
|
|
def __init__(self, name):
|
|
"""Initialize the sensor."""
|
|
self._state = None
|
|
self._name = name
|
|
|
|
@property
|
|
def name(self):
|
|
"""Return the name of the sensor."""
|
|
return self._name
|
|
|
|
@property
|
|
def unique_id(self):
|
|
"""Return the unique id of the sensor."""
|
|
return SENSOR
|
|
|
|
@property
|
|
def state(self):
|
|
"""Return the state of the sensor."""
|
|
return self._state
|
|
|
|
@property
|
|
def icon(self):
|
|
"""Return the icon of the sensor."""
|
|
return "mdi:ip"
|
|
|
|
def update(self):
|
|
"""Fetch new state data for the sensor."""
|
|
self._state = get_local_ip()
|