mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 15:17:35 +00:00
Moves diagnostic information from attributes to diagnostic in Utility Meter (#118637)
* move diag information from attributes to diagnostic * remove constant attributes --------- Co-authored-by: G Johansson <goran.johansson@shiftit.se>
This commit is contained in:
parent
dac661831e
commit
8cf1890772
@ -26,6 +26,9 @@ async def async_get_config_entry_diagnostics(
|
|||||||
"entity_id": sensor.entity_id,
|
"entity_id": sensor.entity_id,
|
||||||
"extra_attributes": sensor.extra_state_attributes,
|
"extra_attributes": sensor.extra_state_attributes,
|
||||||
"last_sensor_data": restored_last_extra_data,
|
"last_sensor_data": restored_last_extra_data,
|
||||||
|
"period": sensor._period, # noqa: SLF001
|
||||||
|
"cron": sensor._cron_pattern, # noqa: SLF001
|
||||||
|
"source": sensor._sensor_source_id, # noqa: SLF001
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -57,7 +57,6 @@ import homeassistant.util.dt as dt_util
|
|||||||
from homeassistant.util.enum import try_parse_enum
|
from homeassistant.util.enum import try_parse_enum
|
||||||
|
|
||||||
from .const import (
|
from .const import (
|
||||||
ATTR_CRON_PATTERN,
|
|
||||||
ATTR_NEXT_RESET,
|
ATTR_NEXT_RESET,
|
||||||
ATTR_VALUE,
|
ATTR_VALUE,
|
||||||
BIMONTHLY,
|
BIMONTHLY,
|
||||||
@ -740,15 +739,10 @@ class UtilityMeterSensor(RestoreSensor):
|
|||||||
def extra_state_attributes(self):
|
def extra_state_attributes(self):
|
||||||
"""Return the state attributes of the sensor."""
|
"""Return the state attributes of the sensor."""
|
||||||
state_attr = {
|
state_attr = {
|
||||||
ATTR_SOURCE_ID: self._sensor_source_id,
|
|
||||||
ATTR_STATUS: PAUSED if self._collecting is None else COLLECTING,
|
ATTR_STATUS: PAUSED if self._collecting is None else COLLECTING,
|
||||||
ATTR_LAST_PERIOD: str(self._last_period),
|
ATTR_LAST_PERIOD: str(self._last_period),
|
||||||
ATTR_LAST_VALID_STATE: str(self._last_valid_state),
|
ATTR_LAST_VALID_STATE: str(self._last_valid_state),
|
||||||
}
|
}
|
||||||
if self._period is not None:
|
|
||||||
state_attr[ATTR_PERIOD] = self._period
|
|
||||||
if self._cron_pattern is not None:
|
|
||||||
state_attr[ATTR_CRON_PATTERN] = self._cron_pattern
|
|
||||||
if self._tariff is not None:
|
if self._tariff is not None:
|
||||||
state_attr[ATTR_TARIFF] = self._tariff
|
state_attr[ATTR_TARIFF] = self._tariff
|
||||||
# last_reset in utility meter was used before last_reset was added for long term
|
# last_reset in utility meter was used before last_reset was added for long term
|
||||||
|
@ -29,36 +29,36 @@
|
|||||||
}),
|
}),
|
||||||
'tariff_sensors': list([
|
'tariff_sensors': list([
|
||||||
dict({
|
dict({
|
||||||
|
'cron': '0 0 1 * *',
|
||||||
'entity_id': 'sensor.energy_bill_tariff0',
|
'entity_id': 'sensor.energy_bill_tariff0',
|
||||||
'extra_attributes': dict({
|
'extra_attributes': dict({
|
||||||
'cron pattern': '0 0 1 * *',
|
|
||||||
'last_period': '0',
|
'last_period': '0',
|
||||||
'last_reset': '2024-04-05T00:00:00+00:00',
|
'last_reset': '2024-04-05T00:00:00+00:00',
|
||||||
'last_valid_state': 'None',
|
'last_valid_state': 'None',
|
||||||
'meter_period': 'monthly',
|
|
||||||
'next_reset': '2024-05-01T00:00:00-07:00',
|
'next_reset': '2024-05-01T00:00:00-07:00',
|
||||||
'source': 'sensor.input1',
|
|
||||||
'status': 'collecting',
|
'status': 'collecting',
|
||||||
'tariff': 'tariff0',
|
'tariff': 'tariff0',
|
||||||
}),
|
}),
|
||||||
'last_sensor_data': None,
|
'last_sensor_data': None,
|
||||||
'name': 'Energy Bill tariff0',
|
'name': 'Energy Bill tariff0',
|
||||||
|
'period': 'monthly',
|
||||||
|
'source': 'sensor.input1',
|
||||||
}),
|
}),
|
||||||
dict({
|
dict({
|
||||||
|
'cron': '0 0 1 * *',
|
||||||
'entity_id': 'sensor.energy_bill_tariff1',
|
'entity_id': 'sensor.energy_bill_tariff1',
|
||||||
'extra_attributes': dict({
|
'extra_attributes': dict({
|
||||||
'cron pattern': '0 0 1 * *',
|
|
||||||
'last_period': '0',
|
'last_period': '0',
|
||||||
'last_reset': '2024-04-05T00:00:00+00:00',
|
'last_reset': '2024-04-05T00:00:00+00:00',
|
||||||
'last_valid_state': 'None',
|
'last_valid_state': 'None',
|
||||||
'meter_period': 'monthly',
|
|
||||||
'next_reset': '2024-05-01T00:00:00-07:00',
|
'next_reset': '2024-05-01T00:00:00-07:00',
|
||||||
'source': 'sensor.input1',
|
|
||||||
'status': 'paused',
|
'status': 'paused',
|
||||||
'tariff': 'tariff1',
|
'tariff': 'tariff1',
|
||||||
}),
|
}),
|
||||||
'last_sensor_data': None,
|
'last_sensor_data': None,
|
||||||
'name': 'Energy Bill tariff1',
|
'name': 'Energy Bill tariff1',
|
||||||
|
'period': 'monthly',
|
||||||
|
'source': 'sensor.input1',
|
||||||
}),
|
}),
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
|
@ -332,8 +332,6 @@ async def test_options(hass: HomeAssistant) -> None:
|
|||||||
|
|
||||||
# Check config entry is reloaded with new options
|
# Check config entry is reloaded with new options
|
||||||
await hass.async_block_till_done()
|
await hass.async_block_till_done()
|
||||||
state = hass.states.get("sensor.electricity_meter")
|
|
||||||
assert state.attributes["source"] == input_sensor2_entity_id
|
|
||||||
|
|
||||||
|
|
||||||
async def test_change_device_source(
|
async def test_change_device_source(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user