mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Update to EnvoyReader 0.2, support for more hardware (#16212)
* Add support for older Envoy models * Stop requiring envoy model name in config * Update to envoy_reader0.2 * Minor formatting fixes * run script/gen_requirements_all.py * Minor formatting fixes * Change some strings to constants, use getattr to call function
This commit is contained in:
parent
e75a1690d1
commit
2b0b431a2a
@ -14,25 +14,27 @@ import homeassistant.helpers.config_validation as cv
|
|||||||
from homeassistant.const import (CONF_IP_ADDRESS, CONF_MONITORED_CONDITIONS)
|
from homeassistant.const import (CONF_IP_ADDRESS, CONF_MONITORED_CONDITIONS)
|
||||||
|
|
||||||
|
|
||||||
REQUIREMENTS = ['envoy_reader==0.1']
|
REQUIREMENTS = ['envoy_reader==0.2']
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
SENSORS = {
|
SENSORS = {
|
||||||
"production": ("Envoy Current Energy Production", 'W'),
|
"production": ("Envoy Current Energy Production", 'W'),
|
||||||
"daily_production": ("Envoy Today's Energy Production", "Wh"),
|
"daily_production": ("Envoy Today's Energy Production", "Wh"),
|
||||||
"7_days_production": ("Envoy Last Seven Days Energy Production", "Wh"),
|
"seven_days_production": ("Envoy Last Seven Days Energy Production", "Wh"),
|
||||||
"lifetime_production": ("Envoy Lifetime Energy Production", "Wh"),
|
"lifetime_production": ("Envoy Lifetime Energy Production", "Wh"),
|
||||||
"consumption": ("Envoy Current Energy Consumption", "W"),
|
"consumption": ("Envoy Current Energy Consumption", "W"),
|
||||||
"daily_consumption": ("Envoy Today's Energy Consumption", "Wh"),
|
"daily_consumption": ("Envoy Today's Energy Consumption", "Wh"),
|
||||||
"7_days_consumption": ("Envoy Last Seven Days Energy Consumption", "Wh"),
|
"seven_days_consumption": ("Envoy Last Seven Days Energy Consumption",
|
||||||
|
"Wh"),
|
||||||
"lifetime_consumption": ("Envoy Lifetime Energy Consumption", "Wh")
|
"lifetime_consumption": ("Envoy Lifetime Energy Consumption", "Wh")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ICON = 'mdi:flash'
|
ICON = 'mdi:flash'
|
||||||
|
CONST_DEFAULT_HOST = "envoy"
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
vol.Required(CONF_IP_ADDRESS): cv.string,
|
vol.Optional(CONF_IP_ADDRESS, default=CONST_DEFAULT_HOST): cv.string,
|
||||||
vol.Optional(CONF_MONITORED_CONDITIONS, default=list(SENSORS)):
|
vol.Optional(CONF_MONITORED_CONDITIONS, default=list(SENSORS)):
|
||||||
vol.All(cv.ensure_list, [vol.In(list(SENSORS))])})
|
vol.All(cv.ensure_list, [vol.In(list(SENSORS))])})
|
||||||
|
|
||||||
@ -81,27 +83,6 @@ class Envoy(Entity):
|
|||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Get the energy production data from the Enphase Envoy."""
|
"""Get the energy production data from the Enphase Envoy."""
|
||||||
import envoy_reader
|
from envoy_reader import EnvoyReader
|
||||||
|
|
||||||
if self._type == "production":
|
self._state = getattr(EnvoyReader(self._ip_address), self._type)()
|
||||||
self._state = int(envoy_reader.production(self._ip_address))
|
|
||||||
elif self._type == "daily_production":
|
|
||||||
self._state = int(envoy_reader.daily_production(self._ip_address))
|
|
||||||
elif self._type == "7_days_production":
|
|
||||||
self._state = int(envoy_reader.seven_days_production(
|
|
||||||
self._ip_address))
|
|
||||||
elif self._type == "lifetime_production":
|
|
||||||
self._state = int(envoy_reader.lifetime_production(
|
|
||||||
self._ip_address))
|
|
||||||
|
|
||||||
elif self._type == "consumption":
|
|
||||||
self._state = int(envoy_reader.consumption(self._ip_address))
|
|
||||||
elif self._type == "daily_consumption":
|
|
||||||
self._state = int(envoy_reader.daily_consumption(
|
|
||||||
self._ip_address))
|
|
||||||
elif self._type == "7_days_consumption":
|
|
||||||
self._state = int(envoy_reader.seven_days_consumption(
|
|
||||||
self._ip_address))
|
|
||||||
elif self._type == "lifetime_consumption":
|
|
||||||
self._state = int(envoy_reader.lifetime_consumption(
|
|
||||||
self._ip_address))
|
|
||||||
|
@ -321,7 +321,7 @@ enocean==0.40
|
|||||||
# envirophat==0.0.6
|
# envirophat==0.0.6
|
||||||
|
|
||||||
# homeassistant.components.sensor.enphase_envoy
|
# homeassistant.components.sensor.enphase_envoy
|
||||||
envoy_reader==0.1
|
envoy_reader==0.2
|
||||||
|
|
||||||
# homeassistant.components.sensor.season
|
# homeassistant.components.sensor.season
|
||||||
ephem==3.7.6.0
|
ephem==3.7.6.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user