mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Don't expose services in Utility_Meter unless tariffs are available (#20878)
* only expose services when tariffs configured * don't register services multiple times
This commit is contained in:
parent
9c92880b5a
commit
9cab597bc4
@ -51,6 +51,7 @@ async def async_setup(hass, config):
|
||||
"""Set up an Utility Meter."""
|
||||
component = EntityComponent(_LOGGER, DOMAIN, hass)
|
||||
hass.data[DATA_UTILITY] = {}
|
||||
register_services = False
|
||||
|
||||
for meter, conf in config.get(DOMAIN).items():
|
||||
_LOGGER.debug("Setup %s.%s", DOMAIN, meter)
|
||||
@ -80,7 +81,9 @@ async def async_setup(hass, config):
|
||||
})
|
||||
hass.async_create_task(discovery.async_load_platform(
|
||||
hass, SENSOR_DOMAIN, DOMAIN, tariff_confs, config))
|
||||
register_services = True
|
||||
|
||||
if register_services:
|
||||
component.async_register_entity_service(
|
||||
SERVICE_RESET, SERVICE_METER_SCHEMA,
|
||||
'async_reset_meters'
|
||||
@ -150,6 +153,7 @@ class TariffSelect(RestoreEntity):
|
||||
|
||||
async def async_reset_meters(self):
|
||||
"""Reset all sensors of this meter."""
|
||||
_LOGGER.debug("reset meter %s", self.entity_id)
|
||||
async_dispatcher_send(self.hass, SIGNAL_RESET_METER,
|
||||
self.entity_id)
|
||||
|
||||
|
@ -189,6 +189,7 @@ class UtilityMeterSensor(RestoreEntity):
|
||||
if self._tariff != tariff_entity_state.state:
|
||||
return
|
||||
|
||||
_LOGGER.debug("tracking source: %s", self._sensor_source_id)
|
||||
self._collecting = async_track_state_change(
|
||||
self.hass, self._sensor_source_id, self.async_reading)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user