Files
hass-fpl/custom_components/fpl/sensor_AverageDailySensor.py
2022-09-13 16:53:58 -04:00

71 lines
2.1 KiB
Python

"""Average daily sensors"""
from homeassistant.components.sensor import STATE_CLASS_TOTAL
from .fplEntity import FplMoneyEntity
class DailyAverageSensor(FplMoneyEntity):
"""average daily sensor, use budget value if available, otherwise use actual daily values"""
def __init__(self, coordinator, config, account):
super().__init__(coordinator, config, account, "Daily Average")
@property
def native_value(self):
budget = self.getData("budget_bill")
daily_avg = self.getData("daily_avg")
if budget and daily_avg is not None:
self._attr_native_value = daily_avg
return self._attr_native_value
def customAttributes(self):
"""Return the state attributes."""
attributes = {}
# attributes["state_class"] = STATE_CLASS_TOTAL
return attributes
class BudgetDailyAverageSensor(FplMoneyEntity):
"""budget daily average sensor"""
def __init__(self, coordinator, config, account):
super().__init__(coordinator, config, account, "Budget Daily Average")
@property
def native_value(self):
budget_billing_daily_avg = self.getData("budget_billing_daily_avg")
if budget_billing_daily_avg is not None:
self._attr_native_value = budget_billing_daily_avg
return self._attr_native_value
def customAttributes(self):
"""Return the state attributes."""
attributes = {}
# attributes["state_class"] = STATE_CLASS_TOTAL
return attributes
class ActualDailyAverageSensor(FplMoneyEntity):
"""Actual daily average sensor"""
def __init__(self, coordinator, config, account):
super().__init__(coordinator, config, account, "Actual Daily Average")
@property
def native_value(self):
daily_avg = self.getData("daily_avg")
if daily_avg is not None:
self._attr_native_value = daily_avg
return self._attr_native_value
def customAttributes(self):
"""Return the state attributes."""
attributes = {}
# attributes["state_class"] = STATE_CLASS_TOTAL
return attributes