Compare commits
10 commits
69074b45a8
...
8d22af9344
Author | SHA1 | Date | |
---|---|---|---|
|
8d22af9344 | ||
|
386bc3b448 | ||
|
c571821bfe | ||
|
4395fb6f13 | ||
|
bdfb6b02ba | ||
|
0275d26daf | ||
|
0812b9bb4d | ||
|
e6d0c5e5c6 | ||
|
3d657ce512 | ||
|
2c2822bcea |
9 changed files with 618 additions and 46 deletions
14
README.md
14
README.md
|
@ -34,16 +34,20 @@ Follow the flow.
|
|||
|
||||
|
||||
### Sensors
|
||||
Sensors are registered to each device as `sensor.{name}_{serial}_{sensor_name}` with an friendly name of `sensor_name`. Additional attributes are presented on each sensor:
|
||||
Sensors are registered to device as `sensor.{device_name}_{sensor_name}` with an friendly name of `sensor_name`. Additional attributes are presented on each sensor:
|
||||
- Product Description, Destination Name, Source Name: internal names
|
||||
- Internal Unique ID: `{serial}_{sensor_name}`
|
||||
- Device Name: as
|
||||
- Internal Unique ID: `{serial}_{sensor_name}` or `{serial}_{report}_{sensor_name}`
|
||||
- Device Name: `{serial}`
|
||||
- Vendor Product Serial: serial number of the PowerOcean inverter
|
||||
- Vendor Firmware Version: 5.1.8
|
||||
- Vendor Product Build: 13
|
||||
- Vendor Firmware Version: 5.1.15
|
||||
- Vendor Product Build: 6
|
||||
|
||||
![sensor](documentation/sensor.PNG)
|
||||
|
||||
##Neuer Sensor (berechnet aus einzelnen Strings)
|
||||
|
||||
![sensor](documentation/mpptPv_pwrTotal.PNG)
|
||||
|
||||
|
||||
## Troubleshooting
|
||||
Please set your logging for the this custom component to debug during initial setup phase. If everything works well, you are safe to remove the debug logging:
|
||||
|
|
|
@ -142,13 +142,11 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
step_device_options_schema = vol.Schema(
|
||||
{
|
||||
vol.Required("custom_device_name", default=default_device_name): str,
|
||||
# vol.Required("polling_time", default=60): vol.All(
|
||||
vol.Required("polling_time", default=5): vol.All(
|
||||
vol.Coerce(int), vol.Clamp(min=60)
|
||||
vol.Required("polling_time", default=10): vol.All(
|
||||
vol.Coerce(int), vol.Clamp(min=5)
|
||||
),
|
||||
vol.Required("group_sensors", default=True): bool,
|
||||
#vol.Required("disable_sensors", default=False): bool,
|
||||
vol.Required("disable_sensors", default=True): bool,
|
||||
vol.Required("disable_sensors", default=False): bool,
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -3,10 +3,10 @@
|
|||
import logging
|
||||
from homeassistant.const import Platform
|
||||
|
||||
DOMAIN = "powerocean" # Have requested to add logos via https://github.com/home-assistant/brands/pull/4904
|
||||
DOMAIN = "powerocean"
|
||||
NAME = "Ecoflow PowerOcean"
|
||||
VERSION = "2024.01.01"
|
||||
ISSUE_URL = "https://github.com/evercape/powerocean/issues"
|
||||
VERSION = "2024.08.27"
|
||||
ISSUE_URL = "https://github.com/niltrip/powerocean/issues"
|
||||
ISSUE_URL_ERROR_MESSAGE = " Please log any issues here: " + ISSUE_URL
|
||||
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ from .const import _LOGGER, ISSUE_URL_ERROR_MESSAGE
|
|||
# Better storage of PowerOcean endpoint
|
||||
PowerOceanEndPoint = namedtuple(
|
||||
"PowerOceanEndPoint",
|
||||
"internal_unique_id, serial, name, friendly_name, value, unit, description",
|
||||
"internal_unique_id, serial, name, friendly_name, value, unit, description, icon",
|
||||
)
|
||||
|
||||
|
||||
|
@ -43,7 +43,7 @@ class Ecoflow:
|
|||
"vendor": "Ecoflow",
|
||||
"serial": self.sn,
|
||||
"version": "5.1.15", # TODO: woher bekommt man diese Info?
|
||||
"build": "13", # TODO: wo finde ich das?
|
||||
"build": "6", # TODO: wo finde ich das?
|
||||
"name": "PowerOcean",
|
||||
"features": "Photovoltaik",
|
||||
}
|
||||
|
@ -120,7 +120,6 @@ class Ecoflow:
|
|||
response = self.get_json_response(request)
|
||||
|
||||
_LOGGER.debug(f"{response}")
|
||||
_LOGGER.debug(f"{response['data']}")
|
||||
|
||||
return self._get_sensors(response)
|
||||
|
||||
|
@ -136,7 +135,7 @@ class Ecoflow:
|
|||
|
||||
def __get_unit(self, key):
|
||||
"""Function get unit from key Name."""
|
||||
if key.endswith(("pwr", "Pwr")):
|
||||
if key.endswith(("pwr", "Pwr", "Power")):
|
||||
unit = "W"
|
||||
elif key.endswith(("amp", "Amp")):
|
||||
unit = "A"
|
||||
|
@ -233,6 +232,9 @@ class Ecoflow:
|
|||
if not isinstance(value, dict):
|
||||
# default uid, unit and descript
|
||||
unique_id = f"{self.sn}_{key}"
|
||||
special_icon = None
|
||||
if key == "mpptPwr":
|
||||
special_icon = "mdi:solar-power"
|
||||
|
||||
sensors[unique_id] = PowerOceanEndPoint(
|
||||
internal_unique_id=unique_id,
|
||||
|
@ -242,6 +244,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=self.__get_description(key),
|
||||
icon=special_icon,
|
||||
)
|
||||
|
||||
return sensors
|
||||
|
@ -270,6 +273,7 @@ class Ecoflow:
|
|||
# value=value,
|
||||
# unit=self.__get_unit(key),
|
||||
# description=self.__get_description(key),
|
||||
# icon=None,
|
||||
# )
|
||||
# dict.update(sensors, data)
|
||||
#
|
||||
|
@ -307,6 +311,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=self.__get_description(key),
|
||||
icon=None,
|
||||
)
|
||||
dict.update(sensors, data)
|
||||
|
||||
|
@ -340,6 +345,9 @@ class Ecoflow:
|
|||
# default uid, unit and descript
|
||||
unique_id = f"{self.sn}_{report}_{bat}_{key}"
|
||||
description_tmp = f"{name}" + self.__get_description(key)
|
||||
special_icon = None
|
||||
if key == "bpAmp":
|
||||
special_icon = "mdi:current-dc"
|
||||
data[unique_id] = PowerOceanEndPoint(
|
||||
internal_unique_id=unique_id,
|
||||
serial=self.sn,
|
||||
|
@ -348,6 +356,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=description_tmp,
|
||||
icon=special_icon,
|
||||
)
|
||||
# compute mean temperature of cells
|
||||
key = "bpTemp"
|
||||
|
@ -363,6 +372,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=description_tmp,
|
||||
icon=None,
|
||||
)
|
||||
|
||||
dict.update(sensors, data)
|
||||
|
@ -376,6 +386,10 @@ class Ecoflow:
|
|||
sens_select = [
|
||||
"bpRemainWatth",
|
||||
"emsBpAliveNum",
|
||||
"emsBpPower",
|
||||
"pcsActPwr",
|
||||
"pcsMeterPower",
|
||||
|
||||
]
|
||||
data = {}
|
||||
for key, value in d.items():
|
||||
|
@ -391,6 +405,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=description_tmp,
|
||||
icon=None,
|
||||
)
|
||||
|
||||
# special for phases
|
||||
|
@ -408,6 +423,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=self.__get_description(key),
|
||||
icon=None,
|
||||
)
|
||||
|
||||
# special for mpptPv
|
||||
|
@ -419,6 +435,11 @@ class Ecoflow:
|
|||
for i, mpptpv in enumerate(mpptpvs):
|
||||
for key, value in d["mpptHeartBeat"][0]["mpptPv"][i].items():
|
||||
unique_id = f"{self.sn}_{report}_mpptHeartBeat_{mpptpv}_{key}"
|
||||
special_icon = None
|
||||
if key.endswith("amp"):
|
||||
special_icon = "mdi:current-dc"
|
||||
if key.endswith("pwr"):
|
||||
special_icon = "mdi:solar-power"
|
||||
|
||||
data[unique_id] = PowerOceanEndPoint(
|
||||
internal_unique_id=unique_id,
|
||||
|
@ -428,6 +449,7 @@ class Ecoflow:
|
|||
value=value,
|
||||
unit=self.__get_unit(key),
|
||||
description=self.__get_description(key),
|
||||
icon=special_icon,
|
||||
)
|
||||
# sum power of all strings
|
||||
if key == "pwr":
|
||||
|
@ -445,6 +467,7 @@ class Ecoflow:
|
|||
value=mpptPv_sum,
|
||||
unit=self.__get_unit(key),
|
||||
description="Solarertrag aller Strings",
|
||||
icon="mdi:solar-power",
|
||||
)
|
||||
|
||||
dict.update(sensors, data)
|
||||
|
|
|
@ -11,5 +11,5 @@
|
|||
"homekit": {},
|
||||
"iot_class": "cloud_polling",
|
||||
"requirements": [],
|
||||
"version": "2024.01.01"
|
||||
"version": "2024.08.27"
|
||||
}
|
||||
|
|
|
@ -144,11 +144,11 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||
# entity is enabled
|
||||
if entity and not entity.disabled_by:
|
||||
sensor_data = full_data.get(sensor.unique_id)
|
||||
_LOGGER.debug(f"{device_id}: Sensor {sensor.name} enabled.")
|
||||
# _LOGGER.debug(f"{device_id}: Sensor {sensor.name} enabled.")
|
||||
if sensor_data:
|
||||
_LOGGER.debug(
|
||||
f"{device_id}: Sensor {sensor.name} has API data to update {sensor_data}"
|
||||
)
|
||||
# _LOGGER.debug(
|
||||
# f"{device_id}: Sensor {sensor.name} has API data to update {sensor_data}"
|
||||
# )
|
||||
|
||||
# Check if current state value differs from new API value,
|
||||
# or current state has not initialized
|
||||
|
@ -156,19 +156,19 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||
str(sensor._state).strip()
|
||||
!= str(sensor_data.value).strip()
|
||||
):
|
||||
_LOGGER.debug(
|
||||
f"{device_id}: Sensor {sensor.name} marked for update: current state = "
|
||||
f"{sensor._state} with new value = {sensor_data.value}"
|
||||
)
|
||||
# _LOGGER.debug(
|
||||
# f"{device_id}: Sensor {sensor.name} marked for update: current state = "
|
||||
# f"{sensor._state} with new value = {sensor_data.value}"
|
||||
# )
|
||||
# Now update the sensor with new values
|
||||
# update_status returns 1 for upated, 0 for skipped or error
|
||||
update_status = await sensor.async_update(sensor_data)
|
||||
counter_updated = counter_updated + update_status
|
||||
else:
|
||||
_LOGGER.debug(
|
||||
f"{device_id}: Sensor {sensor.name} skipped update! Current value = "
|
||||
f"{sensor._state}, new value = {sensor_data.value}"
|
||||
)
|
||||
# _LOGGER.debug(
|
||||
# f"{device_id}: Sensor {sensor.name} skipped update! Current value = "
|
||||
# f"{sensor._state}, new value = {sensor_data.value}"
|
||||
# )
|
||||
counter_unchanged = counter_unchanged + 1
|
||||
else:
|
||||
_LOGGER.warning(
|
||||
|
@ -177,9 +177,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
|
|||
)
|
||||
counter_error = counter_error + 1
|
||||
else:
|
||||
_LOGGER.debug(
|
||||
f"{device_id}: Sensor {sensor.name} is disabled, skipping update"
|
||||
)
|
||||
# _LOGGER.debug(
|
||||
# f"{device_id}: Sensor {sensor.name} is disabled, skipping update"
|
||||
# )
|
||||
counter_disabled = counter_disabled + 1
|
||||
else:
|
||||
_LOGGER.warning(
|
||||
|
@ -231,9 +231,9 @@ class PowerOceanSensor(SensorEntity):
|
|||
self._unique_id = endpoint.internal_unique_id
|
||||
|
||||
# Set the icon for the sensor based on its unit, ensure the icon_mapper is defined
|
||||
self._icon = PowerOceanSensor.icon_mapper.get(
|
||||
endpoint.unit
|
||||
) # Default handled in function
|
||||
# Default handled in function
|
||||
# self._icon = PowerOceanSensor.icon_mapper.get(endpoint.unit)
|
||||
self._icon = endpoint.icon
|
||||
|
||||
# The initial state/value of the sensor
|
||||
self._state = endpoint.value
|
||||
|
@ -328,16 +328,21 @@ class PowerOceanSensor(SensorEntity):
|
|||
"manufacturer": "ECOFLOW",
|
||||
}
|
||||
|
||||
icon_mapper = defaultdict(
|
||||
lambda: "mdi:alert-circle",
|
||||
{
|
||||
"°C": "mdi:thermometer",
|
||||
"%": "mdi:flash",
|
||||
"s": "mdi:timer",
|
||||
"Wh": "mdi:solar-power-variant-outline",
|
||||
"h": "mdi:timer-sand",
|
||||
},
|
||||
)
|
||||
@property
|
||||
def icon(self):
|
||||
"""Return the icon of the sensor."""
|
||||
return self._icon
|
||||
|
||||
# icon_mapper = defaultdict(
|
||||
# lambda: "mdi:alert-circle",
|
||||
# {
|
||||
# "°C": "mdi:thermometer",
|
||||
# "%": "mdi:flash",
|
||||
# "s": "mdi:timer",
|
||||
# "Wh": "mdi:solar-power-variant-outline",
|
||||
# "h": "mdi:timer-sand",
|
||||
# },
|
||||
# )
|
||||
|
||||
# This is to register the icon settings
|
||||
async def async_added_to_hass(self):
|
||||
|
|
BIN
documentation/mpptPv_pwrTotal.PNG
Normal file
BIN
documentation/mpptPv_pwrTotal.PNG
Normal file
Binary file not shown.
After Width: | Height: | Size: 58 KiB |
|
@ -37,6 +37,7 @@
|
|||
"SN_BATTERIEPACK2": "{\n \"bpPwr\": -509.56927,\n \"bpSoc\": 83,\n \"bpSoh\": 100,\n \"bpTemp\": [30.0, 31.0, 30.0, 31.0, 31.0, 29.0, 30.0, 30.0, 31.0],\n \"bpCellMaxVol\": 3311.0,\n \"bpCellMinVol\": 3309.0,\n \"bpRunSta\": \"RUNSTA_RUN\",\n \"bpVol\": 52.957,\n \"bpAmp\": -9.622321,\n \"bpBusVol\": 800.7783,\n \"bpErrCode\": 0,\n \"bpCellVol\": [3311.0, 3311.0, 3310.0, 3310.0, 3310.0, 3311.0, 3310.0, 3311.0, 3310.0, 3309.0, 3310.0, 3310.0, 3311.0, 3310.0, 3310.0, 3311.0],\n \"bpDsrc\": 1,\n \"bpSn\": \"SEozMlpESDRaRjhVMDE2Nw==\",\n \"bpCycles\": 129,\n \"bpBalanceState\": 0,\n \"bpHvMosTemp\": 41.0,\n \"bpLvMosTemp\": 40.0,\n \"bpPtcTemp\": 31.0,\n \"bpHtsTemp\": 36.0,\n \"bpBusNegTemp\": 36.0,\n \"bpBusPosTemp\": 37.0,\n \"bpEnvTemp\": 37.0,\n \"bpAccuChgCap\": 10595094,\n \"bpAccuDsgCap\": 10531372,\n \"bpDesignCap\": 100000,\n \"bpFullCap\": 101681,\n \"bpMaxCellTemp\": 31.0,\n \"bpMinCellTemp\": 29.0,\n \"bpMaxMosTemp\": 41.0,\n \"bpMinMosTemp\": 40.0,\n \"bpBmsFault\": 0,\n \"bpEcloundSoc\": 65535,\n \"bpHeartbeatVer\": 33,\n \"bpTimestamp\": 1723754955,\n \"bpRealSoc\": 82.0,\n \"bpRealSoh\": 101.68145,\n \"bpGlobalProtect\": 0,\n \"bpDownLimitSoc\": 14,\n \"bpUpLimitSoc\": 100,\n \"bpActiveCalReqStat\": 0,\n \"bpActiveCalRunStat\": 0,\n \"moduleProductInfo\": 21251,\n \"moduleProgramSta\": 1,\n \"moduleAplSwVer\": 67176201,\n \"moduleLoaderSwVer\": 67174401,\n \"bmsRunSta\": \"PB_BMS_STATE_NORMAL\",\n \"bmsChgDsgSta\": \"PB_STANDBY_STATE\",\n \"dabModSta\": \"PB_MOD_STA_NORMAL\",\n \"bpChgSop\": 50,\n \"bpDsgSop\": 80,\n \"bpRemainWatth\": 4395.431,\n \"bpTargetSoc\": 83.16742,\n \"bpDiffSoc\": 3.0,\n \"bpMaxSoc\": 83.756485,\n \"bpMinSoc\": 80.75656,\n \"bpLimitSoc\": 0.5,\n \"bpCalendarSoh\": 100.0,\n \"bpCycleSoh\": 100.0,\n \"bpAcRechargeFlag\": false,\n \"bpPtcHeatFlag\": false,\n \"bpPtcExitEvent\": \"PB_PTC_OT_STATE\",\n \"bpAccuChgEnergy\": 539787,\n \"bpAccuDsgEnergy\": 521340,\n \"bpPtcTemp2\": 32.0,\n \"bpSysState\": \"NORMAL_STATE\"\n}"
|
||||
},
|
||||
"JTS1_EMS_HEARTBEAT": {
|
||||
"pcsBpPower": -512.94556,
|
||||
"pcsCPhase": {
|
||||
"vol": 238.08665,
|
||||
"amp": 1.032396,
|
||||
|
@ -78,6 +79,8 @@
|
|||
"mpptInsResist": 679.71265
|
||||
}
|
||||
],
|
||||
"emsBpPower": -503.5379,
|
||||
"pcsActPwr": 95.37367,
|
||||
"pcsAPhase": {
|
||||
"vol": 230.28967,
|
||||
"amp": 1.1428562,
|
||||
|
|
539
documentation/response_modified_5_1_16_11.json
Normal file
539
documentation/response_modified_5_1_16_11.json
Normal file
|
@ -0,0 +1,539 @@
|
|||
{
|
||||
"code": "0",
|
||||
"message": "Success",
|
||||
"data": {
|
||||
"sysLoadPwr": 1730.0,
|
||||
"sysGridPwr": 0.0,
|
||||
"mpptPwr": 1770.0,
|
||||
"bpPwr": 40.0,
|
||||
"bpSoc": 55,
|
||||
"sysBatChgUpLimit": 0,
|
||||
"sysBatDsgDownLimit": 0,
|
||||
"sysGridSta": 0,
|
||||
"sysOnOffMachineStat": 0,
|
||||
"online": 1,
|
||||
"todayElectricityGeneration": "1.79",
|
||||
"monthElectricityGeneration": "770.80",
|
||||
"yearElectricityGeneration": "4781.03",
|
||||
"totalElectricityGeneration": "4883.49",
|
||||
"systemName": "systemName",
|
||||
"createTime": "createTime",
|
||||
"location": "location",
|
||||
"timezone": "timezone",
|
||||
"quota": {
|
||||
"JTS1_ENERGY_STREAM_REPORT": {
|
||||
"bpSoc": 55,
|
||||
"mpptPwr": 1770.0,
|
||||
"updateTime": "2024-08-29 16:14:09",
|
||||
"bpPwr": 40.0,
|
||||
"sysLoadPwr": 1730.0,
|
||||
"sysGridPwr": 0.0
|
||||
},
|
||||
"JTS1_EMS_CHANGE_REPORT": {
|
||||
"pcsUnderFreqIncrementEndDelay": 0.0,
|
||||
"pcsQuQ1": 0.6,
|
||||
"pcsQuQ2": 0.0,
|
||||
"pcsQuQ3": 0.0,
|
||||
"pcsQuQ4": -0.6,
|
||||
"afciEn": 0,
|
||||
"ethWanStat": 0,
|
||||
"pcsDcErrCode": 0,
|
||||
"evBindList": {
|
||||
"evSn": [
|
||||
]
|
||||
},
|
||||
"pcsFaultRecoverHighFreqOnGrid": 50.1,
|
||||
"afciProtectValueCh1": 0.0,
|
||||
"pcsLowVolRecover": 195.5,
|
||||
"batRealyStatus": 2,
|
||||
"mppt1WarningCode": 0,
|
||||
"afciProtectValueCh2": 20000.0,
|
||||
"afciFaultCntCh2": 0,
|
||||
"afciFaultCntCh1": 0,
|
||||
"pcsOverVolDeratingSwitch": 0,
|
||||
"pcsOverFreq1": 51.5,
|
||||
"pcsOverFreq2": 51.5,
|
||||
"sysHeatStat": 0,
|
||||
"pcsHighVolRideThroughRecover": 253.0,
|
||||
"pcsAutoTestFlag": 0,
|
||||
"pcsSafetyCountryCodeSelection": 4,
|
||||
"bpLineOffFlag": 0,
|
||||
"batSoftRelayStatus": 0,
|
||||
"pcsUnderFreqIncrementEnd": 49.8,
|
||||
"emsWorkState": 0,
|
||||
"iot4gErr": 7,
|
||||
"bpOnlineSum": 2,
|
||||
"pcsOverFreqDeratingSwitch": 0,
|
||||
"afciFaultMaxValueCh1": 0.0,
|
||||
"afciFaultMaxValueCh2": 0.0,
|
||||
"sysWorkSta": 0,
|
||||
"pcsOverVolRideThroughStart1": 265.65,
|
||||
"batRelayCloseFailFlag": 0,
|
||||
"rateCtrlSwtich": false,
|
||||
"pcsFastCheck": 0,
|
||||
"pcsOverVolRideThroughStart2": 287.5,
|
||||
"pcsLowFreqTime2": 100,
|
||||
"emsSysSelfCheckStat": 9,
|
||||
"pcsLowFreqTime1": 100,
|
||||
"pcsLowVolRideThroughRecover": 195.5,
|
||||
"pcsReactPwrCompensation": 0.0049,
|
||||
"wireless4gIccid": "",
|
||||
"pcsQuLockoutPower": 0.0,
|
||||
"pcsActivePowerSoftstartSwitch": 1,
|
||||
"pcsCospP1": 0.1,
|
||||
"pcsCospP2": 0.5,
|
||||
"pcsOvpProtectCnt": 0,
|
||||
"pcsUnderFreqIncrementSlope": 0.4,
|
||||
"pcsCospP3": 1.0,
|
||||
"parallelType": 0,
|
||||
"pcsCospP4": 0.0,
|
||||
"sysMulPeakTime": 1200,
|
||||
"emsWordMode": "WORKMODE_SELFUSE",
|
||||
"pcsOverVolRideThroughProtectTime1": 5500,
|
||||
"pcsOverFreqDeratingRecoverSlope": 0.09,
|
||||
"pcsOfpProtectCnt": 0,
|
||||
"pcsUvp2ProtectCnt": 0,
|
||||
"pcsOverVolRideThroughProtectTime2": 1000,
|
||||
"pcsUnderFreqIncrementRecoverSlope": 0.09,
|
||||
"pcsFaultRecoverHighVolOnGrid": 253.0,
|
||||
"chgDsgPwr": 0.0,
|
||||
"pcsRunSta": "RUNSTA_RUN",
|
||||
"mppt2WarningCode": 0,
|
||||
"pcsOfpProtectValue": 0.0,
|
||||
"pcsQuV1": 213.90001,
|
||||
"wifiStaStat": 0,
|
||||
"pcsAutoTestState": 0,
|
||||
"pcsOverVolDeratingEnd": 257.6,
|
||||
"pcsFaultRecoverLowFreqOnGrid": 47.53,
|
||||
"emsFeedRatio": 100,
|
||||
"pcsLowVolRideThroughProtectTime1": 5200,
|
||||
"pcsFreqLocalCommand": 1,
|
||||
"pcsLowVolRideThroughProtectTime3": 1000,
|
||||
"pcsLowVolRideThroughProtectTime2": 3000,
|
||||
"pcsOverFreqDeratingStart": 50.2,
|
||||
"pcs10minOverVolTime": 100,
|
||||
"sysGridSta": 0,
|
||||
"pcsUnderFreqIncrementStart": 49.8,
|
||||
"sysRateCtrlTime": 60,
|
||||
"pcsAvgOvpProtectCnt": 0,
|
||||
"pcsUvp2ProtectValue": 0.0,
|
||||
"pcsLowVolTime2": 300,
|
||||
"pcsLowVolTime3": 240,
|
||||
"pcsFaultRecoverLowVolOnGrid": 195.5,
|
||||
"mppt2FaultCode": 0,
|
||||
"pcsLowVolTime1": 3000,
|
||||
"pcsSendEnd": 0,
|
||||
"sysBatBackupRatio": 0,
|
||||
"emsFeedPwr": 10000,
|
||||
"afciSelfTestCmdState": 0,
|
||||
"pcsOvpProtectValue": 0.0,
|
||||
"sysMulPeakSwitch": true,
|
||||
"emsSgRunStat": 0,
|
||||
"pcsOverFreqDeratingEnd": 50.2,
|
||||
"pcs10minOverVolSwitch": 0,
|
||||
"pcsUnderFreqIncrementFrozeSwitch": 0,
|
||||
"pcsAcWarningCode": 0,
|
||||
"sysTypeCfg": 0,
|
||||
"pcsPowerDeratingFlag": 9,
|
||||
"pcsQuV2": 223.1,
|
||||
"pcsQuV3": 236.9,
|
||||
"pcsQuV4": 246.1,
|
||||
"emsFeedMode": 3,
|
||||
"pcsAcErrCode": 0,
|
||||
"pcsOngridReconnectFlag": 0,
|
||||
"pcsUvp1ProtectCnt": 0,
|
||||
"pcsOverVolDeratingDaleyTime": 0.0,
|
||||
"sysCalStat": 0,
|
||||
"emsSgReadyEn": false,
|
||||
"pcsOverFreqTime2": 100,
|
||||
"pcsOverFreqTime1": 100,
|
||||
"pcsOverVolDeratingTimeConst": 10.0,
|
||||
"pcsPowerDeratingSet": 200,
|
||||
"userRole": 0,
|
||||
"pcsAvgOvpProtectValue": 0.0,
|
||||
"pcsFunctionEnable": 0,
|
||||
"pcsOverVolTime1": 100,
|
||||
"pcsOverVolTime2": 100,
|
||||
"pcsOverVolTime3": 0,
|
||||
"pcsActivePowerNormalRampUpRate": 60.0,
|
||||
"pcsUfpProtectValue": 0.0,
|
||||
"pcsLowVolRideThroughStart1": 184.0,
|
||||
"pcsAntiBackFlowSwitch": 1,
|
||||
"pcsLowVolRideThroughStart3": 57.5,
|
||||
"pcsLowVol1": 184.0,
|
||||
"pcsLowVolRideThroughStart2": 103.5,
|
||||
"pcsLowVol2": 103.5,
|
||||
"pcsLowVol3": 57.5,
|
||||
"pcsOverFreqDeratingEndDelay": 0.0,
|
||||
"pcsOverVolDeratingEndPower": 0.0,
|
||||
"sysOnOffMachineStat": 0,
|
||||
"afciFaultClearState": 0,
|
||||
"parallelTypeCur": 0,
|
||||
"mppt1FaultCode": 0,
|
||||
"pcsOverVolRecover": 253.0,
|
||||
"emsCtrlLedType": 1,
|
||||
"pcsActivePowerDeratingPercent": 1.0,
|
||||
"sysBatChgUpLimit": 100,
|
||||
"pcsOverVol3": 0.0,
|
||||
"pcsOverVol2": 287.5,
|
||||
"pcsOverVol1": 287.5,
|
||||
"pcs10minOverVol": 253.0,
|
||||
"pcsAutoTestPercent": 0,
|
||||
"iot4gSta": 2,
|
||||
"afciFaultValueCh2": 0.0,
|
||||
"afciFaultValueCh1": 0.0,
|
||||
"emsSgReady": {
|
||||
"emsSgParam": [
|
||||
]
|
||||
},
|
||||
"pcsOverFreqDeratingStartDelay": 0.0,
|
||||
"sysBatDsgDownLimit": 10,
|
||||
"pcsLowFreqRecover": 47.53,
|
||||
"parallelTypeSet": 0,
|
||||
"pcsActivePowerSoftStartRate": 0.1,
|
||||
"pcsOverFreqDeratingCutoffPower": 0.0,
|
||||
"pcsActivePowerSoftstartTime": 1143373824,
|
||||
"pcsQuMinimumCosphi": 0.4,
|
||||
"pcsHighFreqOnGrid": 50.1,
|
||||
"pcsQuTimeConst": 10.0,
|
||||
"pcsReactPwrModeSelect": 0,
|
||||
"iot4gOn": 1,
|
||||
"bpTotalChgEnergy": 1214338,
|
||||
"pcsLowFreqOnGrid": 47.53,
|
||||
"pcsRunFsmState": 58861634,
|
||||
"afciFaultFlagCh1": 0,
|
||||
"pcsOverFreqDeratingFrozeSwitch": 0,
|
||||
"afciFaultFlagCh2": 0,
|
||||
"updateTime": "2024-08-29 16:37:32",
|
||||
"pcsHighVolOnGrid": 253.0,
|
||||
"pcsOverVolDeratingStart": 253.0,
|
||||
"pcsUfpProtectCnt": 0,
|
||||
"pcsOverFreqRecover": 50.1,
|
||||
"pcsUnderFreqIncrementRecoverSlopeSwitch": 1,
|
||||
"chgDsgMode": 0,
|
||||
"sysMeterCfg": 0,
|
||||
"pcsCospPf2": -1.0,
|
||||
"pcsOverFreqDeratingRecoverSlopeSwitch": 0,
|
||||
"pcsCospPf1": -1.0,
|
||||
"pcsCospPf4": 0.0,
|
||||
"pcsCospPf3": -0.9,
|
||||
"afciIsExist": 0,
|
||||
"pcsActivePowerGradient": 0.0033,
|
||||
"afciSellfTestResult": 0,
|
||||
"pcsHvrtLvrtSwitch": 1,
|
||||
"pcsQuLockinPower": 0.0,
|
||||
"pcsActivePowerDeratingSwitch": 0,
|
||||
"bpChgDsgSta": 1,
|
||||
"pcsFreqRecoverTime": 1000,
|
||||
"emsKeepSoc": 0,
|
||||
"pcsFaultRecoverOnGridWaitTime": 60000,
|
||||
"pcsPfValue": 1.0,
|
||||
"bpReverseFlag": 0,
|
||||
"afciEnSet": 0,
|
||||
"pcsVolRecoverTime": 1000,
|
||||
"pcsOnGridWaitTime": 60000,
|
||||
"bpSoc": 60,
|
||||
"pcsReconnectGridDetectSwitch": 1,
|
||||
"pcsLowFreq1": 47.5,
|
||||
"pcsLowFreq2": 47.5,
|
||||
"bpRestartFlag": 1,
|
||||
"pcsUvp1ProtectValue": 0.0,
|
||||
"emsCtrlLedBright": 10,
|
||||
"pcsOverVolDeratingStartingPower": 1.0,
|
||||
"pcsOverFreqDeratingSlope": 0.4,
|
||||
"pcsUnderFreqIncrementSwitch": 0,
|
||||
"virtualHardEdition": 1,
|
||||
"parallelAllowState": false,
|
||||
"pcsReactPwrPercent": 0.0,
|
||||
"afciSwitchFreqCh2": 20000,
|
||||
"iot4gPdp": -1,
|
||||
"pcsRelaySelfCheckSta": 9,
|
||||
"afciSwitchFreqCh1": 0,
|
||||
"pcsOverFreqDeratingPowerBased": 2.0,
|
||||
"emsStopAll": 0,
|
||||
"pcsUnderFreqIncrementStartDelay": 0.0,
|
||||
"pcsFreqExternalSignal": 0,
|
||||
"pcsRelayStateShow": 609324111,
|
||||
"bpTotalDsgEnergy": 1147539,
|
||||
"pcsLowVolOnGrid": 195.5,
|
||||
"afciEnableCmdState": 0,
|
||||
"pcsIslandDetectSwitch": 1,
|
||||
"emsBackupEvent": 0
|
||||
},
|
||||
"JTS1_HP_TIMER_TASK_REPORT": {
|
||||
},
|
||||
"JTS1_BP_STA_REPORT": {
|
||||
"SN_BATTERIEPACK1": "{\n \"bpPwr\": 1561.5443,\n \"bpSoc\": 61,\n \"bpSoh\": 100,\n \"bpTemp\": [29.0, 31.0, 29.0, 29.0, 31.0, 28.0, 28.0, 29.0, 30.0],\n \"bpCellMaxVol\": 3381.0,\n \"bpCellMinVol\": 3374.0,\n \"bpRunSta\": \"RUNSTA_RUN\",\n \"bpVol\": 54.021,\n \"bpAmp\": 28.906246,\n \"bpBusVol\": 807.8273,\n \"bpErrCode\": 0,\n \"bpCellVol\": [3376.0, 3378.0, 3377.0, 3379.0, 3378.0, 3379.0, 3377.0, 3378.0, 3381.0, 3379.0, 3377.0, 3379.0, 3379.0, 3380.0, 3375.0, 3374.0],\n \"bpDsrc\": 2,\n \"bpSn\": \"SEozMlpESDRaRjhVMDEyNg==\",\n \"bpCycles\": 132,\n \"bpBalanceState\": 0,\n \"bpHvMosTemp\": 38.0,\n \"bpLvMosTemp\": 37.0,\n \"bpPtcTemp\": 30.0,\n \"bpHtsTemp\": 34.0,\n \"bpBusNegTemp\": 36.0,\n \"bpBusPosTemp\": 36.0,\n \"bpEnvTemp\": 35.0,\n \"bpAccuChgCap\": 11190702,\n \"bpAccuDsgCap\": 11171727,\n \"bpDesignCap\": 100000,\n \"bpFullCap\": 101937,\n \"bpMaxCellTemp\": 31.0,\n \"bpMinCellTemp\": 28.0,\n \"bpMaxMosTemp\": 38.0,\n \"bpMinMosTemp\": 37.0,\n \"bpBmsFault\": 0,\n \"bpEcloundSoc\": 65535,\n \"bpHeartbeatVer\": 33,\n \"bpTimestamp\": 1724920557,\n \"bpRealSoc\": 61.0,\n \"bpRealSoh\": 101.93712,\n \"bpGlobalProtect\": 0,\n \"bpDownLimitSoc\": 14,\n \"bpUpLimitSoc\": 100,\n \"bpActiveCalReqStat\": 0,\n \"bpActiveCalRunStat\": 0,\n \"moduleProductInfo\": 21251,\n \"moduleProgramSta\": 1,\n \"moduleAplSwVer\": 67176454,\n \"moduleLoaderSwVer\": 67174401,\n \"bmsRunSta\": \"PB_BMS_STATE_NORMAL\",\n \"bmsChgDsgSta\": \"PB_DSG_STATE\",\n \"dabModSta\": \"PB_MOD_STA_NORMAL\",\n \"bpChgSop\": 50,\n \"bpDsgSop\": 80,\n \"bpRemainWatth\": 3123.2,\n \"bpTargetSoc\": 61.346497,\n \"bpDiffSoc\": 2.333374,\n \"bpMaxSoc\": 62.444008,\n \"bpMinSoc\": 60.108322,\n \"bpLimitSoc\": 0.5,\n \"bpCalendarSoh\": 100.0,\n \"bpCycleSoh\": 100.0,\n \"bpAcRechargeFlag\": false,\n \"bpPtcHeatFlag\": false,\n \"bpPtcExitEvent\": \"PB_PTC_OT_STATE\",\n \"bpAccuChgEnergy\": 574233,\n \"bpAccuDsgEnergy\": 555830,\n \"bpPtcTemp2\": 31.0,\n \"bpSysState\": \"NORMAL_STATE\"\n}",
|
||||
"": "{\n \"bpTemp\": [],\n \"bpCellVol\": []\n}",
|
||||
"updateTime": "2024-08-29 16:36:02",
|
||||
"SN_BATTERIEPACK2": "{\n \"bpPwr\": -0.26787513,\n \"bpSoc\": 61,\n \"bpSoh\": 100,\n \"bpTemp\": [29.0, 31.0, 29.0, 30.0, 31.0, 29.0, 30.0, 30.0, 31.0],\n \"bpCellMaxVol\": 3338.0,\n \"bpCellMinVol\": 3326.0,\n \"bpRunSta\": \"RUNSTA_RUN\",\n \"bpVol\": 53.277,\n \"bpAmp\": -0.0050279694,\n \"bpBusVol\": 808.02185,\n \"bpErrCode\": 0,\n \"bpCellVol\": [3328.0, 3330.0, 3329.0, 3335.0, 3329.0, 3331.0, 3331.0, 3328.0, 3338.0, 3326.0, 3333.0, 3328.0, 3334.0, 3333.0, 3330.0, 3335.0],\n \"bpDsrc\": 1,\n \"bpSn\": \"SEozMlpESDRaRjhVMDE2Nw==\",\n \"bpCycles\": 138,\n \"bpBalanceState\": 0,\n \"bpHvMosTemp\": 39.0,\n \"bpLvMosTemp\": 37.0,\n \"bpPtcTemp\": 31.0,\n \"bpHtsTemp\": 36.0,\n \"bpBusNegTemp\": 35.0,\n \"bpBusPosTemp\": 36.0,\n \"bpEnvTemp\": 35.0,\n \"bpAccuChgCap\": 11294418,\n \"bpAccuDsgCap\": 11253368,\n \"bpDesignCap\": 100000,\n \"bpFullCap\": 101681,\n \"bpMaxCellTemp\": 31.0,\n \"bpMinCellTemp\": 29.0,\n \"bpMaxMosTemp\": 39.0,\n \"bpMinMosTemp\": 37.0,\n \"bpBmsFault\": 0,\n \"bpEcloundSoc\": 65535,\n \"bpHeartbeatVer\": 33,\n \"bpTimestamp\": 1724920556,\n \"bpRealSoc\": 61.0,\n \"bpRealSoh\": 101.68145,\n \"bpGlobalProtect\": 0,\n \"bpDownLimitSoc\": 14,\n \"bpUpLimitSoc\": 100,\n \"bpActiveCalReqStat\": 0,\n \"bpActiveCalRunStat\": 0,\n \"moduleProductInfo\": 21251,\n \"moduleProgramSta\": 1,\n \"moduleAplSwVer\": 67176454,\n \"moduleLoaderSwVer\": 67174401,\n \"bmsRunSta\": \"PB_BMS_STATE_NORMAL\",\n \"bmsChgDsgSta\": \"PB_STANDBY_STATE\",\n \"dabModSta\": \"PB_MOD_STA_NORMAL\",\n \"bpChgSop\": 50,\n \"bpDsgSop\": 80,\n \"bpRemainWatth\": 3123.2,\n \"bpTargetSoc\": 61.015976,\n \"bpDiffSoc\": 3.0,\n \"bpMaxSoc\": 62.38619,\n \"bpMinSoc\": 59.380417,\n \"bpLimitSoc\": 0.5,\n \"bpCalendarSoh\": 100.0,\n \"bpCycleSoh\": 100.0,\n \"bpAcRechargeFlag\": false,\n \"bpPtcHeatFlag\": false,\n \"bpPtcExitEvent\": \"PB_PTC_OT_STATE\",\n \"bpAccuChgEnergy\": 577577,\n \"bpAccuDsgEnergy\": 559331,\n \"bpPtcTemp2\": 31.0,\n \"bpSysState\": \"NORMAL_STATE\"\n}"
|
||||
},
|
||||
"JTS1_LOGY_DEV_REPORT": {
|
||||
"HPReport": {
|
||||
"devSn": "",
|
||||
"online": 0,
|
||||
"errorCode": ""
|
||||
},
|
||||
"updateTime": "2024-08-29 16:27:34"
|
||||
},
|
||||
"JTS1_EMS_PARAM_CHANGE_REPORT": {
|
||||
"smartCtrl": false,
|
||||
"breakerCapacityMax": 400,
|
||||
"energyEfficientEnable": true,
|
||||
"breakerEnableState": true,
|
||||
"bpBurst": false,
|
||||
"updateTime": "2024-08-29 16:27:34",
|
||||
"lowerPowerStat": false,
|
||||
"sysZone": 8,
|
||||
"sysTimeTab": 19662120
|
||||
},
|
||||
"JTS1_HP_UI_REPORT": {
|
||||
},
|
||||
"JTS1_PARALLEL_ENERGY_STREAM_REPORT": {
|
||||
},
|
||||
"JTS1_EMS_ALL_TIMER_TASK_REPORT": {
|
||||
"timeTaskCfg": [
|
||||
],
|
||||
"updateTime": "2024-08-29 13:21:07"
|
||||
},
|
||||
"JTS1_HEATING_ROD_TIMER_TASK_REPORT": {
|
||||
},
|
||||
"JTS1_LOGY_DEV_ENERGY_STREAM_REPORT": {
|
||||
},
|
||||
"JTS1_APP_REQUEST_BP_EU_LAW_DATA_REPORT": {
|
||||
},
|
||||
"JTS1_EMS_PV_INV_ENERGY_STREAM_REPORT": {
|
||||
"pvInvPwr": 0.0,
|
||||
"updateTime": "2024-08-29 16:14:09"
|
||||
},
|
||||
"JTS1_EMS_PARALLEL_DEVICE_LIST": {
|
||||
},
|
||||
"JT303_EDEV_PRIORITY_LIST_REPORT": {
|
||||
},
|
||||
"JTS1_ERROR_CHANGE_REPORT": {
|
||||
"updateTime": "2024-08-29 16:27:36",
|
||||
"emsErrCode": {
|
||||
"errCode": [
|
||||
],
|
||||
"moduleSn": "codierte sn"
|
||||
},
|
||||
"pcsErrCode": {
|
||||
"errCode": [
|
||||
],
|
||||
"moduleSn": "codierte sn"
|
||||
},
|
||||
"bpErrCode": [
|
||||
{
|
||||
"errCode": [
|
||||
],
|
||||
"moduleSn": "codierte sn"
|
||||
},
|
||||
{
|
||||
"errCode": [
|
||||
],
|
||||
"moduleSn": "codierte sn"
|
||||
}
|
||||
]
|
||||
},
|
||||
"JTS1_EV_CHARGING_ENERGY_STREAM_REPORT": {
|
||||
},
|
||||
"JTS1_ERROR_CODE_MASK_REPORT": {
|
||||
"errorCode": [
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"updateTime": "2024-08-29 13:21:07"
|
||||
},
|
||||
"JTS1_EMS_HEARTBEAT": {
|
||||
"emsPcsStartupState": 1,
|
||||
"pcsBpPower": 1232.3423,
|
||||
"pcsPfcCurRef": 0.0,
|
||||
"pcsCPhase": {
|
||||
"vol": 239.47925,
|
||||
"amp": 1.0047227,
|
||||
"actPwr": -149.27367,
|
||||
"reactPwr": 188.70789,
|
||||
"apparentPwr": 240.61024
|
||||
},
|
||||
"pcsActivePowerRef": 713.7766,
|
||||
"pcsReactivePowerRef": 0.0,
|
||||
"bpRemainWatth": 6666.0,
|
||||
"emsMpptModStat": 0,
|
||||
"pcsAverageVoltage": 0.0,
|
||||
"emsBpAliveNum": 2,
|
||||
"pcsDci": 0.0035001037,
|
||||
"emsBpDsg": -6601.1196,
|
||||
"emsSelfUsedCnt": 14701148,
|
||||
"pcsActivePowerLimitUp": 713.7766,
|
||||
"pcsBPhase": {
|
||||
"vol": 241.53192,
|
||||
"amp": 0.6367133,
|
||||
"actPwr": -123.93383,
|
||||
"reactPwr": 91.0534,
|
||||
"apparentPwr": 153.78659
|
||||
},
|
||||
"pcsDcv": 0.0,
|
||||
"pcsVbusRef": 770.0,
|
||||
"emsStartFsmState": 1078644260,
|
||||
"emsBusVolt": 806.4418,
|
||||
"emsBpChg": 5000.848,
|
||||
"emsAcMakeupTriggleSoc": 12,
|
||||
"bpDsgTime": 600000,
|
||||
"pcsLeakAmp": -6.364746,
|
||||
"emsLpStateFlag": 0,
|
||||
"emsMpptStartupState": 1,
|
||||
"pcsActivePowerLimitDn": -10000.0,
|
||||
"pcsBusVolt": 806.153,
|
||||
"pcsGridSafetyStateRecord": 9490524,
|
||||
"pcsCommInterfaceState": 17120,
|
||||
"emsLpState": 0,
|
||||
"pcsMeterPower": -5.2220154,
|
||||
"emsStopCmd": 34,
|
||||
"emsPcsSelfcheckState": 1,
|
||||
"emsAcMakeupExitSoc": 14,
|
||||
"emsBusVoltErrSlidFilter": 0.85184544,
|
||||
"emsPvInvPwr": 0.0,
|
||||
"emsMpptHbState": 17,
|
||||
"emsBpChgRequest": 0,
|
||||
"pcsLoadInfo": [
|
||||
{
|
||||
"vol": 235.78484,
|
||||
"amp": 0.0,
|
||||
"freq": 50.019608,
|
||||
"pwr": 0.0
|
||||
},
|
||||
{
|
||||
"vol": 241.53192,
|
||||
"amp": 0.0,
|
||||
"freq": 50.019608,
|
||||
"pwr": 0.0
|
||||
},
|
||||
{
|
||||
"vol": 239.47925,
|
||||
"amp": 0.0,
|
||||
"freq": 50.019608,
|
||||
"pwr": 0.0
|
||||
}
|
||||
],
|
||||
"mpptHeartBeat": [
|
||||
{
|
||||
"mpptPv": [
|
||||
{
|
||||
"vol": 345.86108,
|
||||
"amp": 5.05552,
|
||||
"lightSta": true,
|
||||
"pwr": 1748.5077
|
||||
},
|
||||
{
|
||||
"vol": 254.73224,
|
||||
"amp": 1.5166792,
|
||||
"lightSta": true,
|
||||
"pwr": 386.34708
|
||||
}
|
||||
],
|
||||
"mpptTempVal": [
|
||||
41.100002,
|
||||
42.3,
|
||||
42.0
|
||||
],
|
||||
"mpptInsResist": 611.47766
|
||||
}
|
||||
],
|
||||
"emsBusVoltRipple": 1.2493286,
|
||||
"emsLpType": 0,
|
||||
"pcsBpPowerChgLimit": 5000.848,
|
||||
"pcsAcFreq": 50.01,
|
||||
"emsSocCalibRequest": 0,
|
||||
"emsBpStartupState": 1,
|
||||
"emsSysCfg": 7,
|
||||
"emsAcMakeupMinSoc": 0,
|
||||
"emsLpMpptCnt": 0,
|
||||
"emsBpSelfcheckState": 1,
|
||||
"emsBpPower": 1234.7299,
|
||||
"emsActiveOffGridCmd": 0,
|
||||
"pcsActPwr": 109.46263,
|
||||
"emsLpBpCnt": 0,
|
||||
"emsNtcTempMax": 42.3,
|
||||
"emsAcMakeupCnt": 0,
|
||||
"emsSocCalibState": 0,
|
||||
"pcsRelayStateShow": 609324111,
|
||||
"updateTime": "2024-08-29 16:40:24",
|
||||
"emsMpptRunState": 1,
|
||||
"pcsVgridThd": 8.080436E-05,
|
||||
"pcsInterruptOccupancyRate": 90.0,
|
||||
"pcsAPhase": {
|
||||
"vol": 235.78484,
|
||||
"amp": 1.8547661,
|
||||
"actPwr": 382.67014,
|
||||
"reactPwr": 211.70108,
|
||||
"apparentPwr": 437.3257
|
||||
},
|
||||
"emsMpptSelfcheckState": 1,
|
||||
"pcsPfcCurReal": 0.0,
|
||||
"pcsGridSafetyFuncRecord": 100687970,
|
||||
"pcsGridInvErrorRms": 10.824885,
|
||||
"meterHeartBeat": [
|
||||
{
|
||||
"meterAddr": 106,
|
||||
"meterType": 11,
|
||||
"meterData": [
|
||||
0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
5.4385986
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"JT303_EDEV_PRIORITY_SET_ACK": {
|
||||
},
|
||||
"JTS1_HEATING_ROD_ENERGY_STREAM_REPORT": {
|
||||
},
|
||||
"JTS1_EVCHARGING_REPORT": {
|
||||
},
|
||||
"JTS1_HEATING_ROD_PARAM_REPORT": {
|
||||
},
|
||||
"JTS1_ECOLOGY_DEV_BIND_LIST_REPORT": {
|
||||
"devItem": [
|
||||
],
|
||||
"updateTime": "2024-08-29 16:27:34"
|
||||
},
|
||||
"JTS1_MPPT_STA_REPORT": {
|
||||
},
|
||||
"JTS1_EV_CHARGING_TIMER_TASK_REPORT": {
|
||||
}
|
||||
}
|
||||
},
|
||||
"eagleEyeTraceId": "lange id",
|
||||
"tid": ""
|
||||
}
|
Loading…
Reference in a new issue