Skip to content

Commit

Permalink
add GetInverterInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
farmio committed Aug 22, 2021
1 parent b109959 commit 36c5fef
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions pyfronius/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@

import asyncio
import enum
from html import unescape
import logging
import re

Expand Down Expand Up @@ -78,6 +79,10 @@ class API_VERSION(enum.Enum):
URL_ACTIVE_DEVICE_INFO_SYSTEM = {
API_VERSION.V1: "GetActiveDeviceInfo.cgi?DeviceClass=System"
}
URL_INVERTER_INFO = {
API_VERSION.V0: "GetInverterInfo.cgi",
API_VERSION.V1: "GetInverterInfo.cgi",
}
URL_LOGGER_INFO = {
API_VERSION.V0: "GetLoggerInfo.cgi",
API_VERSION.V1: "GetLoggerInfo.cgi",
Expand Down Expand Up @@ -369,6 +374,14 @@ async def current_logger_info(self):
Fronius._logger_info, URL_LOGGER_INFO, "current logger info"
)

async def inverter_info(self):
"""
Get the general infos of an inverter.
"""
return await self._current_data(
Fronius._inverter_info, URL_INVERTER_INFO, "inverter info"
)

@staticmethod
def _system_led_data(data):
_LOGGER.debug("Converting system led data: '{}'".format(data))
Expand Down Expand Up @@ -993,6 +1006,20 @@ def _system_active_device_info(data: dict):

return sensor

@staticmethod
def _inverter_info(data):
"""Parse inverter info."""
_LOGGER.debug("Converting inverter info: '{}'".format(data))
inverters = [
{
**inverter_info,
"device_id": inverter_index,
"CustomName": unescape(inverter_info["CustomName"])
}
for inverter_index, inverter_info in data.items()
]
return {"inverters": inverters}

@staticmethod
def _logger_info(data):
_LOGGER.debug("Converting Logger info: '{}'".format(data))
Expand Down

0 comments on commit 36c5fef

Please sign in to comment.