include a test sensor

This commit is contained in:
Yordan Suarez
2022-07-24 03:21:57 -04:00
parent 69ac6527f6
commit a1dbe51f10
3 changed files with 84 additions and 38 deletions

View File

@@ -1,4 +1,8 @@
"""Constants for fpl.""" """Constants for fpl."""
#
DEBUG = True
# Base component constants # Base component constants
NAME = "FPL Integration" NAME = "FPL Integration"
DOMAIN = "fpl" DOMAIN = "fpl"
@@ -25,15 +29,6 @@ PLATFORMS = [SENSOR]
# Device classes # Device classes
BINARY_SENSOR_DEVICE_CLASS = "connectivity" BINARY_SENSOR_DEVICE_CLASS = "connectivity"
# Configuration
CONF_BINARY_SENSOR = "binary_sensor"
CONF_SENSOR = "sensor"
CONF_SWITCH = "switch"
CONF_ENABLED = "enabled"
CONF_NAME = "name"
CONF_USERNAME = "username"
CONF_PASSWORD = "password"
# Defaults # Defaults
DEFAULT_NAME = DOMAIN DEFAULT_NAME = DOMAIN

View File

@@ -31,18 +31,26 @@ from .sensor_DailyUsageSensor import (
FplDailyDeliveredKWHSensor, FplDailyDeliveredKWHSensor,
FplDailyReceivedKWHSensor, FplDailyReceivedKWHSensor,
) )
from .const import DOMAIN
from .sensor_test import TestSensor
from .const import DOMAIN, DEBUG
# from .TestSensor import TestSensor # from .TestSensor import TestSensor
async def async_setup_entry(hass, entry, async_add_devices): async def async_setup_entry(hass, entry, async_add_devices):
"""Setup sensor platform.""" """Setup sensor platform."""
accounts = entry.data.get("accounts") accounts = entry.data.get("accounts")
coordinator = hass.data[DOMAIN][entry.entry_id] coordinator = hass.data[DOMAIN][entry.entry_id]
fpl_accounts = [] fpl_accounts = []
if DEBUG:
for account in accounts:
fpl_accounts.append(TestSensor(coordinator, entry, account))
else:
for account in accounts: for account in accounts:
# Test Sensor # Test Sensor
# fpl_accounts.append(TestSensor(coordinator, entry, account)) # fpl_accounts.append(TestSensor(coordinator, entry, account))

View File

@@ -0,0 +1,43 @@
"""Test Sensors"""
from datetime import timedelta, datetime
from homeassistant.components.sensor import (
STATE_CLASS_TOTAL_INCREASING,
DEVICE_CLASS_ENERGY,
)
from homeassistant.core import callback
from .fplEntity import FplEnergyEntity
class TestSensor(FplEnergyEntity):
"""Daily Usage Kwh Sensor"""
def __init__(self, coordinator, config, account):
super().__init__(coordinator, config, account, "Test Sensor")
_attr_state_class = STATE_CLASS_TOTAL_INCREASING
_attr_device_class = DEVICE_CLASS_ENERGY
@property
def native_value(self):
data = self.getData("daily_usage")
if data is not None and len(data) > 0 and "usage" in data[-1].keys():
return data[-1]["usage"]
return None
@property
def last_reset(self) -> datetime | None:
data = self.getData("daily_usage")
date = data[-1]["readTime"]
last_reset = date - timedelta(days=1)
return last_reset
def customAttributes(self):
"""Return the state attributes."""
data = self.getData("daily_usage")
date = data[-1]["readTime"]
attributes = {}
attributes["date"] = date
return attributes