1 """Support for Smart Meter Texas sensors."""
3 from smart_meter_texas
import Meter
17 DataUpdateCoordinator,
32 config_entry: ConfigEntry,
33 async_add_entities: AddEntitiesCallback,
35 """Set up the Smart Meter Texas sensors."""
36 coordinator = hass.data[DOMAIN][config_entry.entry_id][DATA_COORDINATOR]
37 meters = hass.data[DOMAIN][config_entry.entry_id][DATA_SMART_METER].meters
46 """Representation of an Smart Meter Texas sensor."""
48 _attr_device_class = SensorDeviceClass.ENERGY
49 _attr_state_class = SensorStateClass.TOTAL_INCREASING
50 _attr_native_unit_of_measurement = UnitOfEnergy.KILO_WATT_HOUR
51 _attr_available =
False
53 def __init__(self, meter: Meter, coordinator: DataUpdateCoordinator) ->
None:
54 """Initialize the sensor."""
57 self.
_attr_name_attr_name = f
"{ELECTRIC_METER} {meter.meter}"
62 """Return the device specific state attributes."""
64 METER_NUMBER: self.
metermeter.meter,
65 ESIID: self.
metermeter.esiid,
66 CONF_ADDRESS: self.
metermeter.address,
71 """Call when the coordinator has an update."""
78 """Subscribe to updates."""
85 if self.coordinator.last_update_success:
None __init__(self, Meter meter, DataUpdateCoordinator coordinator)
def async_added_to_hass(self)
def extra_state_attributes(self)
None async_write_ha_state(self)
None async_on_remove(self, CALLBACK_TYPE func)
State|None async_get_last_state(self)
None async_add_listener(HomeAssistant hass, Callable[[], None] listener)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)