Get more detailed info for growatt_server (#38852)

* Get more detailed info including inverter temperature

* Bump version to 0.1.1
This commit is contained in:
indykoning 2020-08-15 02:54:10 +02:00 committed by GitHub
parent 4bfcfb0017
commit b7275de837
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 44 additions and 21 deletions

View File

@ -2,6 +2,6 @@
"domain": "growatt_server", "domain": "growatt_server",
"name": "Growatt", "name": "Growatt",
"documentation": "https://www.home-assistant.io/integrations/growatt_server/", "documentation": "https://www.home-assistant.io/integrations/growatt_server/",
"requirements": ["growattServer==0.0.4"], "requirements": ["growattServer==0.1.1"],
"codeowners": ["@indykoning"] "codeowners": ["@indykoning"]
} }

View File

@ -16,6 +16,7 @@ from homeassistant.const import (
ENERGY_KILO_WATT_HOUR, ENERGY_KILO_WATT_HOUR,
FREQUENCY_HERTZ, FREQUENCY_HERTZ,
POWER_WATT, POWER_WATT,
TEMP_CELSIUS,
VOLT, VOLT,
) )
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -56,77 +57,94 @@ TOTAL_SENSOR_TYPES = {
} }
INVERTER_SENSOR_TYPES = { INVERTER_SENSOR_TYPES = {
"inverter_energy_today": ("Energy today", ENERGY_KILO_WATT_HOUR, "e_today", {},), "inverter_energy_today": (
"Energy today",
ENERGY_KILO_WATT_HOUR,
"powerToday",
{"round": 1},
),
"inverter_energy_total": ( "inverter_energy_total": (
"Lifetime energy output", "Lifetime energy output",
ENERGY_KILO_WATT_HOUR, ENERGY_KILO_WATT_HOUR,
"e_total", "powerTotal",
{}, {"round": 1},
), ),
"inverter_voltage_input_1": ("Input 1 voltage", VOLT, "vpv1", {}), "inverter_voltage_input_1": ("Input 1 voltage", VOLT, "vpv1", {"round": 2}),
"inverter_amperage_input_1": ( "inverter_amperage_input_1": (
"Input 1 Amperage", "Input 1 Amperage",
ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_CURRENT_AMPERE,
"ipv1", "ipv1",
{}, {"round": 1},
), ),
"inverter_wattage_input_1": ( "inverter_wattage_input_1": (
"Input 1 Wattage", "Input 1 Wattage",
POWER_WATT, POWER_WATT,
"ppv1", "ppv1",
{"device_class": "power"}, {"device_class": "power", "round": 1},
), ),
"inverter_voltage_input_2": ("Input 2 voltage", VOLT, "vpv2", {}), "inverter_voltage_input_2": ("Input 2 voltage", VOLT, "vpv2", {"round": 1}),
"inverter_amperage_input_2": ( "inverter_amperage_input_2": (
"Input 2 Amperage", "Input 2 Amperage",
ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_CURRENT_AMPERE,
"ipv2", "ipv2",
{}, {"round": 1},
), ),
"inverter_wattage_input_2": ( "inverter_wattage_input_2": (
"Input 2 Wattage", "Input 2 Wattage",
POWER_WATT, POWER_WATT,
"ppv2", "ppv2",
{"device_class": "power"}, {"device_class": "power", "round": 1},
), ),
"inverter_voltage_input_3": ("Input 3 voltage", VOLT, "vpv3", {}), "inverter_voltage_input_3": ("Input 3 voltage", VOLT, "vpv3", {"round": 1}),
"inverter_amperage_input_3": ( "inverter_amperage_input_3": (
"Input 3 Amperage", "Input 3 Amperage",
ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_CURRENT_AMPERE,
"ipv3", "ipv3",
{}, {"round": 1},
), ),
"inverter_wattage_input_3": ( "inverter_wattage_input_3": (
"Input 3 Wattage", "Input 3 Wattage",
POWER_WATT, POWER_WATT,
"ppv3", "ppv3",
{"device_class": "power"}, {"device_class": "power", "round": 1},
), ),
"inverter_internal_wattage": ( "inverter_internal_wattage": (
"Internal wattage", "Internal wattage",
POWER_WATT, POWER_WATT,
"ppv", "ppv",
{"device_class": "power"}, {"device_class": "power", "round": 1},
), ),
"inverter_reactive_voltage": ("Reactive voltage", VOLT, "vacr", {}), "inverter_reactive_voltage": ("Reactive voltage", VOLT, "vacr", {"round": 1}),
"inverter_inverter_reactive_amperage": ( "inverter_inverter_reactive_amperage": (
"Reactive amperage", "Reactive amperage",
ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_CURRENT_AMPERE,
"iacr", "iacr",
{}, {"round": 1},
), ),
"inverter_frequency": ("AC frequency", FREQUENCY_HERTZ, "fac", {}), "inverter_frequency": ("AC frequency", FREQUENCY_HERTZ, "fac", {"round": 1}),
"inverter_current_wattage": ( "inverter_current_wattage": (
"Output power", "Output power",
POWER_WATT, POWER_WATT,
"pac", "pac",
{"device_class": "power"}, {"device_class": "power", "round": 1},
), ),
"inverter_current_reactive_wattage": ( "inverter_current_reactive_wattage": (
"Reactive wattage", "Reactive wattage",
POWER_WATT, POWER_WATT,
"pacr", "pacr",
{"device_class": "power"}, {"device_class": "power", "round": 1},
),
"inverter_ipm_temperature": (
"Intelligent Power Management temperature",
TEMP_CELSIUS,
"ipmTemperature",
{"device_class": "temperature", "round": 1},
),
"inverter_temperature": (
"Temperature",
TEMP_CELSIUS,
"temperature",
{"device_class": "temperature", "round": 1},
), ),
} }
@ -326,6 +344,11 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
elif device["deviceType"] == "storage": elif device["deviceType"] == "storage":
probe.plant_id = plant_id probe.plant_id = plant_id
sensors = STORAGE_SENSOR_TYPES sensors = STORAGE_SENSOR_TYPES
else:
_LOGGER.debug(
"Device type %s was found but is not supported right now.",
device["deviceType"],
)
for sensor in sensors: for sensor in sensors:
entities.append( entities.append(
@ -420,7 +443,7 @@ class GrowattData:
self.data = total_info self.data = total_info
elif self.growatt_type == "inverter": elif self.growatt_type == "inverter":
inverter_info = self.api.inverter_detail(self.device_id) inverter_info = self.api.inverter_detail(self.device_id)
self.data = inverter_info["data"] self.data = inverter_info
elif self.growatt_type == "storage": elif self.growatt_type == "storage":
storage_info_detail = self.api.storage_params(self.device_id)[ storage_info_detail = self.api.storage_params(self.device_id)[
"storageDetailBean" "storageDetailBean"

View File

@ -697,7 +697,7 @@ greenwavereality==0.5.1
griddypower==0.1.0 griddypower==0.1.0
# homeassistant.components.growatt_server # homeassistant.components.growatt_server
growattServer==0.0.4 growattServer==0.1.1
# homeassistant.components.gstreamer # homeassistant.components.gstreamer
gstreamer-player==1.1.2 gstreamer-player==1.1.2