mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Add unique_id to essent sensors (#31408)
* Fix mix-up of sensor entities and their values * Prevent multiple calls for the same meter
This commit is contained in:
parent
48402d49dc
commit
55aa341dab
@ -1,5 +1,6 @@
|
|||||||
"""Support for Essent API."""
|
"""Support for Essent API."""
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from pyessent import PyEssent
|
from pyessent import PyEssent
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
@ -73,7 +74,7 @@ class EssentBase:
|
|||||||
def update(self):
|
def update(self):
|
||||||
"""Retrieve the latest meter data from Essent."""
|
"""Retrieve the latest meter data from Essent."""
|
||||||
essent = PyEssent(self._username, self._password)
|
essent = PyEssent(self._username, self._password)
|
||||||
eans = essent.get_EANs()
|
eans = set(essent.get_EANs())
|
||||||
for possible_meter in eans:
|
for possible_meter in eans:
|
||||||
meter_data = essent.read_meter(possible_meter, only_last_meter_reading=True)
|
meter_data = essent.read_meter(possible_meter, only_last_meter_reading=True)
|
||||||
if meter_data:
|
if meter_data:
|
||||||
@ -92,6 +93,11 @@ class EssentMeter(Entity):
|
|||||||
self._tariff = tariff
|
self._tariff = tariff
|
||||||
self._unit = unit
|
self._unit = unit
|
||||||
|
|
||||||
|
@property
|
||||||
|
def unique_id(self) -> Optional[str]:
|
||||||
|
"""Return a unique ID."""
|
||||||
|
return f"{self._meter}-{self._type}-{self._tariff}"
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
"""Return the name of the sensor."""
|
"""Return the name of the sensor."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user