[semsportal] Fix lastUpdate parse format to accept the format provided by the inverter (#11127)
* Fixed lastUpdate date formating Signed-off-by: Julio Gesser <jgesser@gmail.com>
This commit is contained in:
parent
14cd779530
commit
aee601cc3d
bundles/org.openhab.binding.semsportal/src
main/java/org/openhab/binding/semsportal/internal
test
@ -85,7 +85,7 @@ public class PortalHandler extends BaseBridgeHandler {
|
||||
public PortalHandler(Bridge bridge, HttpClientFactory httpClientFactory) {
|
||||
super(bridge);
|
||||
httpClient = httpClientFactory.getCommonHttpClient();
|
||||
gson = new GsonBuilder().setDateFormat(SEMSPortalBindingConstants.DATE_FORMAT).create();
|
||||
gson = new GsonBuilder().create();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -28,7 +28,7 @@ import org.openhab.core.thing.ThingTypeUID;
|
||||
public class SEMSPortalBindingConstants {
|
||||
|
||||
private static final String BINDING_ID = "semsportal";
|
||||
static final String DATE_FORMAT = "MM.dd.yyyy HH:mm:ss";
|
||||
public static final String TIME_FORMAT = "HH:mm:ss";
|
||||
|
||||
// List of all Thing Type UIDs
|
||||
public static final ThingTypeUID THING_TYPE_PORTAL = new ThingTypeUID(BINDING_ID, "portal");
|
||||
|
@ -12,8 +12,6 @@
|
||||
*/
|
||||
package org.openhab.binding.semsportal.internal.dto;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
@ -23,9 +21,9 @@ import com.google.gson.annotations.SerializedName;
|
||||
*/
|
||||
public class InverterDetails {
|
||||
@SerializedName("last_refresh_time")
|
||||
private Date lastUpdate;
|
||||
private String lastUpdate;
|
||||
|
||||
public Date getLastUpdate() {
|
||||
public String getLastUpdate() {
|
||||
return lastUpdate;
|
||||
}
|
||||
}
|
||||
|
30
bundles/org.openhab.binding.semsportal/src/main/java/org/openhab/binding/semsportal/internal/dto/StationInfo.java
Normal file
30
bundles/org.openhab.binding.semsportal/src/main/java/org/openhab/binding/semsportal/internal/dto/StationInfo.java
Normal file
@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Copyright (c) 2010-2021 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.binding.semsportal.internal.dto;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
* POJO containing details about the inverter. Only a very small subset of the available properties is mapped.
|
||||
*
|
||||
* @author Julio Gesser - Initial contribution
|
||||
*/
|
||||
public class StationInfo {
|
||||
|
||||
@SerializedName("date_format")
|
||||
private String dateFormat;
|
||||
|
||||
public String getDateFormat() {
|
||||
return dateFormat;
|
||||
}
|
||||
}
|
@ -12,10 +12,15 @@
|
||||
*/
|
||||
package org.openhab.binding.semsportal.internal.dto;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.ZoneId;
|
||||
import java.time.ZonedDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.format.DateTimeFormatterBuilder;
|
||||
import java.util.List;
|
||||
|
||||
import org.openhab.binding.semsportal.internal.SEMSPortalBindingConstants;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
/**
|
||||
@ -29,6 +34,8 @@ public class StationStatus {
|
||||
private KeyPerformanceIndicators keyPerformanceIndicators;
|
||||
@SerializedName("inverter")
|
||||
private List<Station> stations;
|
||||
@SerializedName("info")
|
||||
private StationInfo info;
|
||||
|
||||
public Double getCurrentOutput() {
|
||||
return keyPerformanceIndicators.getCurrentOutput();
|
||||
@ -62,7 +69,10 @@ public class StationStatus {
|
||||
if (stations.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
return ZonedDateTime.ofInstant(stations.get(0).getDetails().getLastUpdate().toInstant(),
|
||||
ZoneId.systemDefault());
|
||||
DateTimeFormatter formatter = new DateTimeFormatterBuilder().appendPattern(info.getDateFormat())
|
||||
.appendLiteral(" ").appendPattern(SEMSPortalBindingConstants.TIME_FORMAT).toFormatter()
|
||||
.withZone(ZoneId.systemDefault());
|
||||
Instant instant = formatter.parse(stations.get(0).getDetails().getLastUpdate(), Instant::from);
|
||||
return ZonedDateTime.ofInstant(instant, ZoneId.systemDefault());
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,8 @@ import java.time.ZonedDateTime;
|
||||
|
||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.ValueSource;
|
||||
import org.openhab.binding.semsportal.internal.dto.BaseResponse;
|
||||
import org.openhab.binding.semsportal.internal.dto.LoginResponse;
|
||||
import org.openhab.binding.semsportal.internal.dto.StationListResponse;
|
||||
@ -34,9 +36,11 @@ import com.google.gson.GsonBuilder;
|
||||
*/
|
||||
@NonNullByDefault
|
||||
public class SEMSJsonParserTest {
|
||||
@Test
|
||||
public void testParseSuccessStatusResult() throws Exception {
|
||||
String json = Files.readString(Paths.get("src/test/resources/success_status.json"));
|
||||
|
||||
@ParameterizedTest
|
||||
@ValueSource(strings = { "success_status.json", "success_status_br.json" })
|
||||
public void testParseSuccessStatusResult(String resourceName) throws Exception {
|
||||
String json = Files.readString(Paths.get("src/test/resources/" + resourceName));
|
||||
StatusResponse response = getGson().fromJson(json, StatusResponse.class);
|
||||
assertNotNull(response, "Expected deserialized StatusResponse");
|
||||
if (response != null) {// response cannot be null, was asserted before, but code check produces a warning
|
||||
@ -99,6 +103,6 @@ public class SEMSJsonParserTest {
|
||||
}
|
||||
|
||||
private Gson getGson() {
|
||||
return new GsonBuilder().setDateFormat(SEMSPortalBindingConstants.DATE_FORMAT).create();
|
||||
return new GsonBuilder().create();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,941 @@
|
||||
{
|
||||
"language": "en",
|
||||
"function": [
|
||||
"ADD",
|
||||
"VIEW",
|
||||
"EDIT",
|
||||
"DELETE",
|
||||
"INVERTER_A",
|
||||
"INVERTER_E",
|
||||
"INVERTER_D"
|
||||
],
|
||||
"hasError": false,
|
||||
"msg": "success",
|
||||
"code": "0",
|
||||
"data": {
|
||||
"info": {
|
||||
"powerstation_id": "RANDOM_UUID",
|
||||
"time": "02/06/2021 11:24:41",
|
||||
"date_format": "dd/MM/yyyy",
|
||||
"date_format_ym": "MM/yyyy",
|
||||
"stationname": "Home",
|
||||
"address": "Somewhere",
|
||||
"owner_name": null,
|
||||
"owner_phone": null,
|
||||
"owner_email": "some@mailaddress.com",
|
||||
"battery_capacity": 0.0,
|
||||
"turnon_time": "04/06/2020 18:19:40",
|
||||
"create_time": "04/06/2020 18:18:32",
|
||||
"capacity": 7.8,
|
||||
"longitude": 16,
|
||||
"latitude": 23,
|
||||
"powerstation_type": "Residential",
|
||||
"status": 1,
|
||||
"is_stored": false,
|
||||
"is_powerflow": false,
|
||||
"charts_type": 4,
|
||||
"has_pv": true,
|
||||
"has_statistics_charts": false,
|
||||
"only_bps": false,
|
||||
"only_bpu": false,
|
||||
"time_span": -1.0,
|
||||
"pr_value": ""
|
||||
},
|
||||
"kpi": {
|
||||
"month_generation": 17.7,
|
||||
"pac": 381.0,
|
||||
"power": 0.5,
|
||||
"total_power": 7379.0,
|
||||
"day_income": 0.11,
|
||||
"total_income": 823.38,
|
||||
"yield_rate": 0.12,
|
||||
"currency": "EUR"
|
||||
},
|
||||
"images": [],
|
||||
"weather": {
|
||||
"HeWeather6": [
|
||||
{
|
||||
"daily_forecast": [
|
||||
{
|
||||
"cond_code_d": "407",
|
||||
"cond_code_n": "499",
|
||||
"cond_txt_d": "Snow Flurry",
|
||||
"cond_txt_n": "Snow",
|
||||
"date": "2021-02-06",
|
||||
"time": "2021-02-06 00:00:00",
|
||||
"hum": "79",
|
||||
"pcpn": "0.2",
|
||||
"pop": "49",
|
||||
"pres": "1011",
|
||||
"tmp_max": "0",
|
||||
"tmp_min": "-5",
|
||||
"uv_index": "0",
|
||||
"vis": "6",
|
||||
"wind_deg": "84",
|
||||
"wind_dir": "E",
|
||||
"wind_sc": "4-5",
|
||||
"wind_spd": "34"
|
||||
},
|
||||
{
|
||||
"cond_code_d": "499",
|
||||
"cond_code_n": "499",
|
||||
"cond_txt_d": "Snow",
|
||||
"cond_txt_n": "Snow",
|
||||
"date": "2021-02-07",
|
||||
"time": "2021-02-07 00:00:00",
|
||||
"hum": "93",
|
||||
"pcpn": "7.2",
|
||||
"pop": "82",
|
||||
"pres": "1006",
|
||||
"tmp_max": "-3",
|
||||
"tmp_min": "-6",
|
||||
"uv_index": "0",
|
||||
"vis": "1",
|
||||
"wind_deg": "70",
|
||||
"wind_dir": "NE",
|
||||
"wind_sc": "6-7",
|
||||
"wind_spd": "46"
|
||||
},
|
||||
{
|
||||
"cond_code_d": "499",
|
||||
"cond_code_n": "101",
|
||||
"cond_txt_d": "Snow",
|
||||
"cond_txt_n": "Cloudy",
|
||||
"date": "2021-02-08",
|
||||
"time": "2021-02-08 00:00:00",
|
||||
"hum": "94",
|
||||
"pcpn": "1.1",
|
||||
"pop": "55",
|
||||
"pres": "1005",
|
||||
"tmp_max": "-3",
|
||||
"tmp_min": "-7",
|
||||
"uv_index": "0",
|
||||
"vis": "1",
|
||||
"wind_deg": "84",
|
||||
"wind_dir": "E",
|
||||
"wind_sc": "3-4",
|
||||
"wind_spd": "20"
|
||||
},
|
||||
{
|
||||
"cond_code_d": "901",
|
||||
"cond_code_n": "901",
|
||||
"cond_txt_d": "Cold",
|
||||
"cond_txt_n": "Cold",
|
||||
"date": "2021-02-09",
|
||||
"time": "2021-02-09 00:00:00",
|
||||
"hum": "92",
|
||||
"pcpn": "0.0",
|
||||
"pop": "25",
|
||||
"pres": "1009",
|
||||
"tmp_max": "-4",
|
||||
"tmp_min": "-9",
|
||||
"uv_index": "1",
|
||||
"vis": "24",
|
||||
"wind_deg": "85",
|
||||
"wind_dir": "E",
|
||||
"wind_sc": "3-4",
|
||||
"wind_spd": "18"
|
||||
},
|
||||
{
|
||||
"cond_code_d": "901",
|
||||
"cond_code_n": "103",
|
||||
"cond_txt_d": "Cold",
|
||||
"cond_txt_n": "Partly Cloudy",
|
||||
"date": "2021-02-10",
|
||||
"time": "2021-02-10 00:00:00",
|
||||
"hum": "90",
|
||||
"pcpn": "0.0",
|
||||
"pop": "12",
|
||||
"pres": "1019",
|
||||
"tmp_max": "-3",
|
||||
"tmp_min": "-7",
|
||||
"uv_index": "1",
|
||||
"vis": "25",
|
||||
"wind_deg": "67",
|
||||
"wind_dir": "NE",
|
||||
"wind_sc": "3-4",
|
||||
"wind_spd": "14"
|
||||
},
|
||||
{
|
||||
"cond_code_d": "103",
|
||||
"cond_code_n": "101",
|
||||
"cond_txt_d": "Partly Cloudy",
|
||||
"cond_txt_n": "Cloudy",
|
||||
"date": "2021-02-11",
|
||||
"time": "2021-02-11 00:00:00",
|
||||
"hum": "93",
|
||||
"pcpn": "0.0",
|
||||
"pop": "8",
|
||||
"pres": "1018",
|
||||
"tmp_max": "-1",
|
||||
"tmp_min": "-7",
|
||||
"uv_index": "2",
|
||||
"vis": "6",
|
||||
"wind_deg": "187",
|
||||
"wind_dir": "S",
|
||||
"wind_sc": "1-2",
|
||||
"wind_spd": "11"
|
||||
},
|
||||
{
|
||||
"cond_code_d": "999",
|
||||
"cond_code_n": "999",
|
||||
"cond_txt_d": "-",
|
||||
"cond_txt_n": "-",
|
||||
"date": "2021-02-12",
|
||||
"time": "2021-02-12 00:00:00",
|
||||
"hum": "-",
|
||||
"pcpn": "-",
|
||||
"pop": "-",
|
||||
"pres": "-",
|
||||
"tmp_max": "-",
|
||||
"tmp_min": "-",
|
||||
"uv_index": "-",
|
||||
"vis": "-",
|
||||
"wind_deg": "-",
|
||||
"wind_dir": "--",
|
||||
"wind_sc": "--",
|
||||
"wind_spd": "-"
|
||||
}
|
||||
],
|
||||
"basic": {
|
||||
"cid": "NL2755251",
|
||||
"location": "SomeCity",
|
||||
"cnty": "SomeCountry",
|
||||
"lat": "13",
|
||||
"lon": "26",
|
||||
"tz": "+5.00"
|
||||
},
|
||||
"update": {
|
||||
"loc": "2021-02-05 23:56:00",
|
||||
"utc": "2021-02-05 22:56:00"
|
||||
},
|
||||
"status": "ok"
|
||||
}
|
||||
]
|
||||
},
|
||||
"inverter": [
|
||||
{
|
||||
"sn": "56000222200W0000",
|
||||
"dict": {
|
||||
"left": [
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "dmDeviceType",
|
||||
"value": "GW6000-DT",
|
||||
"unit": "",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "serialNum",
|
||||
"value": "5600000000000000",
|
||||
"unit": "",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "laCheckcode",
|
||||
"value": "026848",
|
||||
"unit": "",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "capacity",
|
||||
"value": "6",
|
||||
"unit": "kW",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "laConnected",
|
||||
"value": "04.06.2020 18:19:40",
|
||||
"unit": "",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "InverterPowerOfPlantMonitor",
|
||||
"value": "0.381",
|
||||
"unit": "kW",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "outputV",
|
||||
"value": "233.1/233.5/228.7",
|
||||
"unit": "V",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "acCurrent",
|
||||
"value": "0.5/0.4/0.5",
|
||||
"unit": "A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "acFrequency",
|
||||
"value": "50.00/50.00/50.00",
|
||||
"unit": "Hz",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
}
|
||||
],
|
||||
"right": [
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "innerTemp",
|
||||
"value": "32.6",
|
||||
"unit": "℃",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "dcVandC1",
|
||||
"value": "720.4/0.4",
|
||||
"unit": "V/A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "dcVandC2",
|
||||
"value": "0.0/0.0",
|
||||
"unit": "V/A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "dcVandC3",
|
||||
"value": "--",
|
||||
"unit": "V/A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "dcVandC4",
|
||||
"value": "--",
|
||||
"unit": "V/A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "strCurrent1",
|
||||
"value": "--",
|
||||
"unit": "A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "strCurrent2",
|
||||
"value": "--",
|
||||
"unit": "A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "strCurrent3",
|
||||
"value": "--",
|
||||
"unit": "A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
},
|
||||
{
|
||||
"isHT": false,
|
||||
"key": "strCurrent4",
|
||||
"value": "--",
|
||||
"unit": "A",
|
||||
"isFaultMsg": 0,
|
||||
"faultMsgCode": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"is_stored": false,
|
||||
"name": "home",
|
||||
"in_pac": 6554.3,
|
||||
"out_pac": 381.0,
|
||||
"eday": 0.5,
|
||||
"emonth": 17.2,
|
||||
"etotal": 7379.0,
|
||||
"status": 1,
|
||||
"turnon_time": "04/06/2020 18:19:40",
|
||||
"releation_id": "5600000000000000",
|
||||
"type": "GW6000-DT",
|
||||
"capacity": 6.0,
|
||||
"d": {
|
||||
"pw_id": "5600000000000000",
|
||||
"capacity": "6kW",
|
||||
"model": "GW6000-DT",
|
||||
"output_power": "381W",
|
||||
"output_current": "0.5A",
|
||||
"grid_voltage": "233.1V",
|
||||
"backup_output": "4294967.295V/0W",
|
||||
"soc": "400%",
|
||||
"soh": "0%",
|
||||
"last_refresh_time": "06/02/2021 11:22:48",
|
||||
"work_mode": "Wait Mode",
|
||||
"dc_input1": "720.4V/0.4A",
|
||||
"dc_input2": "0V/0A",
|
||||
"battery": "65535V/6553.5A/429483622W",
|
||||
"bms_status": "DischargingOfBattery",
|
||||
"warning": "Over Temperature/Under Temperature/Cell Voltage Differences/Over Total Voltage/Discharge Over Current/Charge Over Current/Under SOC/Under Total Voltage/Communication Fail/Output Short/SOC Too High/BMS Module Fault/BMS System Fault/BMS Internal Fault/TBD/TBD",
|
||||
"charge_current_limit": "1A",
|
||||
"discharge_current_limit": "0A",
|
||||
"firmware_version": 181809.0,
|
||||
"creationDate": "02/06/2021 18:22:48",
|
||||
"eDay": 0.5,
|
||||
"eTotal": 7379.0,
|
||||
"pac": 381.0,
|
||||
"hTotal": 5132.0,
|
||||
"vpv1": 720.4,
|
||||
"vpv2": 0.0,
|
||||
"vpv3": 6553.5,
|
||||
"vpv4": 6553.5,
|
||||
"ipv1": 0.4,
|
||||
"ipv2": 0.0,
|
||||
"ipv3": 6553.5,
|
||||
"ipv4": 6553.5,
|
||||
"vac1": 233.1,
|
||||
"vac2": 233.5,
|
||||
"vac3": 228.7,
|
||||
"iac1": 0.5,
|
||||
"iac2": 0.4,
|
||||
"iac3": 0.5,
|
||||
"fac1": 50.0,
|
||||
"fac2": 50.0,
|
||||
"fac3": 50.0,
|
||||
"istr1": 0.0,
|
||||
"istr2": 0.0,
|
||||
"istr3": 0.0,
|
||||
"istr4": 0.0,
|
||||
"istr5": 0.0,
|
||||
"istr6": 0.0,
|
||||
"istr7": 0.0,
|
||||
"istr8": 0.0,
|
||||
"istr9": 0.0,
|
||||
"istr10": 0.0,
|
||||
"istr11": 0.0,
|
||||
"istr12": 0.0,
|
||||
"istr13": 0.0,
|
||||
"istr14": 0.0,
|
||||
"istr15": 0.0,
|
||||
"istr16": 0.0
|
||||
},
|
||||
"it_change_flag": false,
|
||||
"tempperature": 32.6,
|
||||
"check_code": "026848",
|
||||
"next": null,
|
||||
"prev": null,
|
||||
"next_device": {
|
||||
"sn": null,
|
||||
"isStored": false
|
||||
},
|
||||
"prev_device": {
|
||||
"sn": null,
|
||||
"isStored": false
|
||||
},
|
||||
"invert_full": {
|
||||
"sn": "5600000000000000",
|
||||
"powerstation_id": "5600000000000000",
|
||||
"name": "home",
|
||||
"model_type": "GW6000-DT",
|
||||
"change_type": 0,
|
||||
"change_time": 0,
|
||||
"capacity": 6.0,
|
||||
"eday": 0.5,
|
||||
"iday": 0.11,
|
||||
"etotal": 7379.0,
|
||||
"itotal": 1623.38,
|
||||
"hour_total": 5132.0,
|
||||
"status": 1,
|
||||
"turnon_time": 1586168380200,
|
||||
"pac": 381.0,
|
||||
"tempperature": 32.6,
|
||||
"vpv1": 720.4,
|
||||
"vpv2": 0.0,
|
||||
"vpv3": 6553.5,
|
||||
"vpv4": 6553.5,
|
||||
"ipv1": 0.4,
|
||||
"ipv2": 0.0,
|
||||
"ipv3": 6553.5,
|
||||
"ipv4": 6553.5,
|
||||
"vac1": 233.1,
|
||||
"vac2": 233.5,
|
||||
"vac3": 228.7,
|
||||
"iac1": 0.5,
|
||||
"iac2": 0.4,
|
||||
"iac3": 0.5,
|
||||
"fac1": 50.0,
|
||||
"fac2": 50.0,
|
||||
"fac3": 50.0,
|
||||
"istr1": 0.0,
|
||||
"istr2": 0.0,
|
||||
"istr3": 0.0,
|
||||
"istr4": 0.0,
|
||||
"istr5": 0.0,
|
||||
"istr6": 0.0,
|
||||
"istr7": 0.0,
|
||||
"istr8": 0.0,
|
||||
"istr9": 0.0,
|
||||
"istr10": 0.0,
|
||||
"istr11": 0.0,
|
||||
"istr12": 0.0,
|
||||
"istr13": 0.0,
|
||||
"istr14": 0.0,
|
||||
"istr15": 0.0,
|
||||
"istr16": 0.0,
|
||||
"last_time": 1612606968847,
|
||||
"vbattery1": 65535.0,
|
||||
"ibattery1": 6553.5,
|
||||
"pmeter": 381.0,
|
||||
"soc": 400.0,
|
||||
"soh": -0.100000000000364,
|
||||
"bms_discharge_i_max": null,
|
||||
"bms_charge_i_max": 1.0,
|
||||
"bms_warning": 0,
|
||||
"bms_alarm": 65535,
|
||||
"battary_work_mode": 2,
|
||||
"workmode": 1,
|
||||
"vload": 4294967.295,
|
||||
"iload": 4294901.76,
|
||||
"firmwareversion": 1818.0,
|
||||
"pbackup": 0.0,
|
||||
"seller": 0.0,
|
||||
"buy": 0.0,
|
||||
"yesterdaybuytotal": null,
|
||||
"yesterdaysellertotal": null,
|
||||
"yesterdayct2sellertotal": null,
|
||||
"yesterdayetotal": null,
|
||||
"yesterdayetotalload": null,
|
||||
"thismonthetotle": 17.2,
|
||||
"lastmonthetotle": 7361.3,
|
||||
"ram": 9.0,
|
||||
"outputpower": 381.0,
|
||||
"fault_messge": 0,
|
||||
"isbuettey": false,
|
||||
"isbuetteybps": false,
|
||||
"isbuetteybpu": false,
|
||||
"isESUOREMU": false,
|
||||
"backUpPload_S": 0.0,
|
||||
"backUpVload_S": 0.0,
|
||||
"backUpIload_S": 0.0,
|
||||
"backUpPload_T": 0.0,
|
||||
"backUpVload_T": 0.0,
|
||||
"backUpIload_T": 0.0,
|
||||
"eTotalBuy": null,
|
||||
"eDayBuy": null,
|
||||
"eBatteryCharge": null,
|
||||
"eChargeDay": null,
|
||||
"eBatteryDischarge": null,
|
||||
"eDischargeDay": null,
|
||||
"battStrings": 6553.5,
|
||||
"meterConnectStatus": null,
|
||||
"mtActivepowerR": 0.0,
|
||||
"mtActivepowerS": 0.0,
|
||||
"mtActivepowerT": 0.0,
|
||||
"ezPro_connect_status": null,
|
||||
"dataloggersn": "",
|
||||
"equipment_name": null,
|
||||
"hasmeter": false,
|
||||
"meter_type": null,
|
||||
"pre_hour_lasttotal": null,
|
||||
"pre_hour_time": null,
|
||||
"current_hour_pv": 0.0,
|
||||
"extend_properties": null,
|
||||
"eP_connect_status_happen": null,
|
||||
"eP_connect_status_recover": null
|
||||
},
|
||||
"time": "02/06/2021 11:24:41",
|
||||
"battery": "65535V/6553.5A/429483622W",
|
||||
"firmware_version": 181809.0,
|
||||
"warning_bms": "Over Temperature/Under Temperature/Cell Voltage Differences/Over Total Voltage/Discharge Over Current/Charge Over Current/Under SOC/Under Total Voltage/Communication Fail/Output Short/SOC Too High/BMS Module Fault/BMS System Fault/BMS Internal Fault/TBD/TBD",
|
||||
"soh": "0%",
|
||||
"discharge_current_limit_bms": "0A",
|
||||
"charge_current_limit_bms": "1A",
|
||||
"soc": "400%",
|
||||
"pv_input_2": "0V/0A",
|
||||
"pv_input_1": "720.4V/0.4A",
|
||||
"back_up_output": "4294967.295V/0W",
|
||||
"output_voltage": "233.1V",
|
||||
"backup_voltage": "4294967.295V",
|
||||
"output_current": "0.5A",
|
||||
"output_power": "381W",
|
||||
"total_generation": "7379kWh",
|
||||
"daily_generation": "0.5kWh",
|
||||
"battery_charging": "65535V/6553.5A/429483622W",
|
||||
"last_refresh_time": "02/06/2021 11:22:48",
|
||||
"bms_status": "DischargingOfBattery",
|
||||
"pw_id": "0000000-0000-0000-00000000",
|
||||
"fault_message": "",
|
||||
"battery_power": 429483622.5,
|
||||
"point_index": "3",
|
||||
"points": [
|
||||
{
|
||||
"target_index": 1,
|
||||
"target_name": "Vpv1",
|
||||
"display": "Vpv1(V)",
|
||||
"unit": "V",
|
||||
"target_key": "Vpv1",
|
||||
"text_cn": "直流电压1",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 2,
|
||||
"target_name": "Vpv2",
|
||||
"display": "Vpv2(V)",
|
||||
"unit": "V",
|
||||
"target_key": "Vpv2",
|
||||
"text_cn": "直流电压2",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 5,
|
||||
"target_name": "Ipv1",
|
||||
"display": "Ipv1(A)",
|
||||
"unit": "A",
|
||||
"target_key": "Ipv1",
|
||||
"text_cn": "直流电流1",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 6,
|
||||
"target_name": "Ipv2",
|
||||
"display": "Ipv2(A)",
|
||||
"unit": "A",
|
||||
"target_key": "Ipv2",
|
||||
"text_cn": "直流电流2",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 9,
|
||||
"target_name": "Vac1",
|
||||
"display": "Vac1(V)",
|
||||
"unit": "V",
|
||||
"target_key": "Vac1",
|
||||
"text_cn": "交流电压1",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 10,
|
||||
"target_name": "Vac2",
|
||||
"display": "Vac2(V)",
|
||||
"unit": "V",
|
||||
"target_key": "Vac2",
|
||||
"text_cn": "交流电压2",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 11,
|
||||
"target_name": "Vac3",
|
||||
"display": "Vac3(V)",
|
||||
"unit": "V",
|
||||
"target_key": "Vac3",
|
||||
"text_cn": "交流电压3",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 12,
|
||||
"target_name": "Iac1",
|
||||
"display": "Iac1(A)",
|
||||
"unit": "A",
|
||||
"target_key": "Iac1",
|
||||
"text_cn": "交流电流1",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 13,
|
||||
"target_name": "Iac2",
|
||||
"display": "Iac2(A)",
|
||||
"unit": "A",
|
||||
"target_key": "Iac2",
|
||||
"text_cn": "交流电流2",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 14,
|
||||
"target_name": "Iac3",
|
||||
"display": "Iac3(A)",
|
||||
"unit": "A",
|
||||
"target_key": "Iac3",
|
||||
"text_cn": "交流电流3",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 15,
|
||||
"target_name": "Fac1",
|
||||
"display": "Fac1(Hz)",
|
||||
"unit": "Hz",
|
||||
"target_key": "Fac1",
|
||||
"text_cn": "频率1",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 16,
|
||||
"target_name": "Fac2",
|
||||
"display": "Fac2(Hz)",
|
||||
"unit": "Hz",
|
||||
"target_key": "Fac2",
|
||||
"text_cn": "频率2",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 17,
|
||||
"target_name": "Fac3",
|
||||
"display": "Fac3(Hz)",
|
||||
"unit": "Hz",
|
||||
"target_key": "Fac3",
|
||||
"text_cn": "频率3",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 18,
|
||||
"target_name": "Pac",
|
||||
"display": "Pac(W)",
|
||||
"unit": "W",
|
||||
"target_key": "Pac",
|
||||
"text_cn": "功率",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 19,
|
||||
"target_name": "WorkMode",
|
||||
"display": "WorkMode()",
|
||||
"unit": "",
|
||||
"target_key": "WorkMode",
|
||||
"text_cn": "工作模式",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 20,
|
||||
"target_name": "Temperature",
|
||||
"display": "Temperature(℃)",
|
||||
"unit": "℃",
|
||||
"target_key": "Tempperature",
|
||||
"text_cn": "温度",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 21,
|
||||
"target_name": "Daily Generation",
|
||||
"display": "Daily Generation(kWh)",
|
||||
"unit": "kWh",
|
||||
"target_key": "EDay",
|
||||
"text_cn": "日发电量",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 22,
|
||||
"target_name": "Total Generation",
|
||||
"display": "Total Generation(kWh)",
|
||||
"unit": "kWh",
|
||||
"target_key": "ETotal",
|
||||
"text_cn": "总发电量",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 23,
|
||||
"target_name": "HTotal",
|
||||
"display": "HTotal(h)",
|
||||
"unit": "h",
|
||||
"target_key": "HTotal",
|
||||
"text_cn": "工作时长",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
},
|
||||
{
|
||||
"target_index": 36,
|
||||
"target_name": "RSSI",
|
||||
"display": "RSSI(%)",
|
||||
"unit": "%",
|
||||
"target_key": "Reserved5",
|
||||
"text_cn": "GPRS信号强度",
|
||||
"target_sn_six": null,
|
||||
"target_sn_seven": null,
|
||||
"target_type": null,
|
||||
"storage_name": null
|
||||
}
|
||||
],
|
||||
"backup_pload_s": 0.0,
|
||||
"backup_vload_s": 0.0,
|
||||
"backup_iload_s": 0.0,
|
||||
"backup_pload_t": 0.0,
|
||||
"backup_vload_t": 0.0,
|
||||
"backup_iload_t": 0.0,
|
||||
"etotal_buy": null,
|
||||
"eday_buy": null,
|
||||
"ebattery_charge": null,
|
||||
"echarge_day": null,
|
||||
"ebattery_discharge": null,
|
||||
"edischarge_day": null,
|
||||
"batt_strings": 6553.5,
|
||||
"meter_connect_status": null,
|
||||
"mtactivepower_r": 0.0,
|
||||
"mtactivepower_s": 0.0,
|
||||
"mtactivepower_t": 0.0,
|
||||
"has_tigo": false,
|
||||
"canStartIV": false
|
||||
}
|
||||
],
|
||||
"hjgx": {
|
||||
"co2": 7.3568630000000006,
|
||||
"tree": 403.26234999999997,
|
||||
"coal": 2.981116
|
||||
},
|
||||
"pre_powerstation_id": null,
|
||||
"nex_powerstation_id": null,
|
||||
"homKit": {
|
||||
"homeKitLimit": false,
|
||||
"sn": null
|
||||
},
|
||||
"isTigo": false,
|
||||
"smuggleInfo": {
|
||||
"isAllSmuggle": false,
|
||||
"isSmuggle": false,
|
||||
"descriptionText": null,
|
||||
"sns": null
|
||||
},
|
||||
"hasPowerflow": false,
|
||||
"powerflow": null,
|
||||
"hasEnergeStatisticsCharts": false,
|
||||
"energeStatisticsCharts": {
|
||||
"contributingRate": 1.0,
|
||||
"selfUseRate": 1.0,
|
||||
"sum": 0.5,
|
||||
"buy": 0.0,
|
||||
"buyPercent": 0.0,
|
||||
"sell": 0.0,
|
||||
"sellPercent": 0.0,
|
||||
"selfUseOfPv": 0.5,
|
||||
"consumptionOfLoad": 0.5,
|
||||
"chartsType": 4,
|
||||
"hasPv": true,
|
||||
"hasCharge": false,
|
||||
"charge": 0.0,
|
||||
"disCharge": 0.0
|
||||
},
|
||||
"energeStatisticsTotals": {
|
||||
"contributingRate": 1.0,
|
||||
"selfUseRate": 1.0,
|
||||
"sum": 157.2,
|
||||
"buy": 0.0,
|
||||
"buyPercent": 0.0,
|
||||
"sell": 0.0,
|
||||
"sellPercent": 0.0,
|
||||
"selfUseOfPv": 157.2,
|
||||
"consumptionOfLoad": 157.2,
|
||||
"chartsType": 4,
|
||||
"hasPv": true,
|
||||
"hasCharge": false,
|
||||
"charge": 0.0,
|
||||
"disCharge": 0.0
|
||||
},
|
||||
"soc": {
|
||||
"power": 0,
|
||||
"status": -1
|
||||
},
|
||||
"environmental": [],
|
||||
"equipment": [
|
||||
{
|
||||
"type": "5",
|
||||
"title": "home",
|
||||
"status": 1,
|
||||
"statusText": null,
|
||||
"capacity": null,
|
||||
"actionThreshold": null,
|
||||
"subordinateEquipment": "",
|
||||
"powerGeneration": "Power:0.381(kW)",
|
||||
"eday": "Today Generation: 0.5(kWh)",
|
||||
"brand": "",
|
||||
"isStored": false,
|
||||
"soc": "SOC:400%",
|
||||
"isChange": false,
|
||||
"relationId": "0000000-0000-0000-00000000",
|
||||
"sn": "5600000000000000",
|
||||
"has_tigo": false,
|
||||
"is_sec": false,
|
||||
"is_secs": false,
|
||||
"targetPF": null,
|
||||
"exportPowerlimit": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"components": {
|
||||
"para": "{\"model\":{\"PowerStationId\":\"0000000-0000-0000-00000000\"}}",
|
||||
"langVer": 97,
|
||||
"timeSpan": 177,
|
||||
"api": "http://www.semsportal.com:82/api/v2/PowerStation/GetMonitorDetailByPowerstationId",
|
||||
"msgSocketAdr": null
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user