- Findings in system exports #55
- Include battery capacity and energy into solarbank_monitor #56 - Bug in Solar power/Charge power #48
This commit is contained in:
parent
76a3db6380
commit
b3835dc007
54
api/api.py
54
api/api.py
|
@ -459,10 +459,12 @@ class AnkerSolixApi:
|
|||
device.update({"is_admin": True})
|
||||
elif isAdmin is False and device.get("is_admin") is None:
|
||||
device.update({"is_admin": False})
|
||||
calc_capacity = False # Flag whether capacity may need recalculation
|
||||
for key, value in devData.items():
|
||||
if key in ["product_code", "device_pn"] and value:
|
||||
device.update({"device_pn": str(value)})
|
||||
elif key in ["device_name"] and value:
|
||||
calc_capacity = value != device.get("name","")
|
||||
device.update({"name": str(value)})
|
||||
elif key in ["alias_name"] and value:
|
||||
device.update({"alias": str(value)})
|
||||
|
@ -482,20 +484,6 @@ class AnkerSolixApi:
|
|||
elif key in ["battery_power"] and value:
|
||||
# This is a percentage value for the battery state of charge, not power
|
||||
device.update({"battery_soc": str(value)})
|
||||
cap = ""
|
||||
# Derive battery capacity in Wh from solarbank name
|
||||
if device.get("type") == SolixDeviceType.SOLARBANK.value:
|
||||
cap = device.get("name", "").replace("Solarbank E", "")
|
||||
# Add capacity and calculate remaining energy in Wh
|
||||
if cap and str(cap).isdigit() and str(value).isdigit:
|
||||
device.update(
|
||||
{
|
||||
"battery_capacity": str(cap),
|
||||
"battery_energy": str(
|
||||
int(int(cap) * int(value) / 100)
|
||||
),
|
||||
}
|
||||
)
|
||||
elif key in ["charging_power"]:
|
||||
device.update({"charging_power": str(value)})
|
||||
elif key in ["photovoltaic_power"]:
|
||||
|
@ -583,6 +571,24 @@ class AnkerSolixApi:
|
|||
elif key in ["generate_power"]:
|
||||
device.update({"generate_power": str(value)})
|
||||
|
||||
# generate extra values when certain conditions are met
|
||||
if (key in ["battery_power"] or calc_capacity) and device.get("type") == SolixDeviceType.SOLARBANK.value:
|
||||
# generate battery values when soc updated or device name changed
|
||||
# Derive battery capacity in Wh from latest solarbank name and soc
|
||||
cap = (device.get("name", "") or devData.get("device_name","")).replace("Solarbank E", "")
|
||||
soc = device.get("battery_soc", "") or devData.get("battery_power","")
|
||||
# Calculate remaining energy in Wh and add values
|
||||
if cap and soc and str(cap).isdigit() and str(soc).isdigit:
|
||||
device.update(
|
||||
{
|
||||
"battery_capacity": str(cap),
|
||||
"battery_energy": str(
|
||||
int(int(cap) * int(soc) / 100)
|
||||
),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
self.devices.update({str(sn): device})
|
||||
return sn
|
||||
|
||||
|
@ -881,6 +887,11 @@ class AnkerSolixApi:
|
|||
sb_charges = {}
|
||||
sb_list = (mysite.get("solarbank_info", {})).get("solarbank_list", [])
|
||||
for solarbank in sb_list:
|
||||
# work around for device_name which is actually the device_alias in scene info
|
||||
if "device_name" in solarbank:
|
||||
# modify only a copy of the device dict to prevent changing the scene info dict
|
||||
solarbank = dict(solarbank).copy()
|
||||
solarbank.update({"alias_name": solarbank.pop("device_name")})
|
||||
# work around for incorrect charging power value per solarbank, only solarbank total_charging_power is correct
|
||||
# calculate estimate based on total for proportional split across available solarbanks and their calculated charge power
|
||||
with contextlib.suppress(ValueError):
|
||||
|
@ -922,6 +933,11 @@ class AnkerSolixApi:
|
|||
}
|
||||
)
|
||||
for pps in (mysite.get("pps_info", {})).get("pps_list", []):
|
||||
# work around for device_name which is actually the device_alias in scene info
|
||||
if "device_name" in pps:
|
||||
# modify only a copy of the device dict to prevent changing the scene info dict
|
||||
pps = dict(pps).copy()
|
||||
pps.update({"alias_name": pps.pop("device_name")})
|
||||
sn = self._update_dev(
|
||||
pps,
|
||||
devType=SolixDeviceType.PPS.value,
|
||||
|
@ -931,6 +947,11 @@ class AnkerSolixApi:
|
|||
if sn:
|
||||
act_devices.append(sn)
|
||||
for solar in mysite.get("solar_list", []):
|
||||
# work around for device_name which is actually the device_alias in scene info
|
||||
if "device_name" in solar:
|
||||
# modify only a copy of the device dict to prevent changing the scene info dict
|
||||
solar = dict(solar).copy()
|
||||
solar.update({"alias_name": solar.pop("device_name")})
|
||||
sn = self._update_dev(
|
||||
solar,
|
||||
devType=SolixDeviceType.INVERTER.value,
|
||||
|
@ -940,6 +961,11 @@ class AnkerSolixApi:
|
|||
if sn:
|
||||
act_devices.append(sn)
|
||||
for powerpanel in mysite.get("powerpanel_list", []):
|
||||
# work around for device_name which is actually the device_alias in scene info
|
||||
if "device_name" in powerpanel:
|
||||
# modify only a copy of the device dict to prevent changing the scene info dict
|
||||
powerpanel = dict(powerpanel).copy()
|
||||
powerpanel.update({"alias_name": powerpanel.pop("device_name")})
|
||||
sn = self._update_dev(
|
||||
powerpanel,
|
||||
devType=SolixDeviceType.POWERPANEL.value,
|
||||
|
|
|
@ -1,14 +1,11 @@
|
|||
{
|
||||
"J19P1918S0BKY4EP": {
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"S8S4GS0KZKLP0BH8": {
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"type": "solarbank",
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"is_admin": true,
|
||||
"device_pn": "A17C0",
|
||||
"name": "Solarbank E1600",
|
||||
"battery_soc": "75",
|
||||
"battery_capacity": "1600",
|
||||
"battery_energy": "1200",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "2",
|
||||
|
@ -18,8 +15,11 @@
|
|||
"wireless_type": "1",
|
||||
"input_power": "0",
|
||||
"output_power": "0",
|
||||
"bt_ble_mac": "F68FC0404AD7",
|
||||
"alias": "Solarbank E1600",
|
||||
"bt_ble_mac": "FD49FD9BFEC1",
|
||||
"name": "Solarbank E1600",
|
||||
"battery_capacity": "1600",
|
||||
"battery_energy": "1200",
|
||||
"wifi_online": false,
|
||||
"charge": false,
|
||||
"bws_surplus": "0",
|
||||
|
@ -49,7 +49,14 @@
|
|||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
"charge_priority": 80,
|
||||
"power_setting_mode": 1,
|
||||
"device_power_loads": [
|
||||
{
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"power": 150
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
|
@ -64,7 +71,14 @@
|
|||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
"charge_priority": 80,
|
||||
"power_setting_mode": 1,
|
||||
"device_power_loads": [
|
||||
{
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"power": 50
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
|
@ -79,7 +93,14 @@
|
|||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 0
|
||||
"charge_priority": 0,
|
||||
"power_setting_mode": 1,
|
||||
"device_power_loads": [
|
||||
{
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"power": 150
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"min_load": 100,
|
||||
|
@ -87,10 +108,12 @@
|
|||
"step": 0,
|
||||
"is_charge_priority": 0,
|
||||
"default_charge_priority": 0,
|
||||
"is_zero_output_tips": 1
|
||||
"is_zero_output_tips": 1,
|
||||
"display_advanced_mode": 0,
|
||||
"advanced_mode_min_load": 0
|
||||
},
|
||||
"set_system_output_power": "300",
|
||||
"set_output_power": "300",
|
||||
"set_system_output_power": "0",
|
||||
"set_output_power": "0",
|
||||
"fittings": {}
|
||||
}
|
||||
}
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff": {
|
||||
"c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42": {
|
||||
"type": "system",
|
||||
"site_info": {
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"site_name": "BKW",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
|
@ -10,7 +10,12 @@
|
|||
],
|
||||
"ms_type": 1,
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": true
|
||||
"is_allow_delete": true,
|
||||
"support_device_models": [
|
||||
"A17C0",
|
||||
"A5143",
|
||||
"A1771"
|
||||
]
|
||||
},
|
||||
"site_admin": true,
|
||||
"home_info": {
|
||||
|
@ -50,12 +55,12 @@
|
|||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "75",
|
||||
"bind_site_status": "",
|
||||
"charging_power": 0,
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "2",
|
||||
"status": "0",
|
||||
|
@ -64,7 +69,8 @@
|
|||
"photovoltaic_power": "0",
|
||||
"output_power": "0",
|
||||
"create_time": 1695392386,
|
||||
"set_load_power": ""
|
||||
"set_load_power": "",
|
||||
"output_cutoff_data": 10
|
||||
}
|
||||
],
|
||||
"total_charging_power": "0",
|
||||
|
@ -76,10 +82,10 @@
|
|||
"total_output_power": "0.00",
|
||||
"display_set_power": false
|
||||
},
|
||||
"retain_load": "300W",
|
||||
"retain_load": "0W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"powerpanel_list": []
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
"main_switch": true,
|
||||
"device_list": [
|
||||
{
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"device_name": "Solarbank E1600",
|
||||
"auto_upgrade": false,
|
||||
"alias_name": "Solarbank E1600",
|
||||
|
@ -13,5 +13,5 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "07e9f38f25a3f84ccdda95e6bde176d4"
|
||||
"trace_id": "466cd3eff9469c2c7deaf25f6f26ab0a"
|
||||
}
|
|
@ -4,10 +4,10 @@
|
|||
"data": {
|
||||
"data": [
|
||||
{
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"product_code": "A17C0",
|
||||
"bt_ble_id": "F6:8F:C0:40:4A:D7",
|
||||
"bt_ble_mac": "F68FC0404AD7",
|
||||
"bt_ble_id": "FD:49:FD:9B:FE:C1",
|
||||
"bt_ble_mac": "FD49FD9BFEC1",
|
||||
"device_name": "Solarbank E1600",
|
||||
"alias_name": "Solarbank E1600",
|
||||
"img_url": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
|
@ -26,5 +26,5 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "9eebba7bcd2992dbccae0561cc0f3cae"
|
||||
"trace_id": "731c3d838addc0fe0368cdb0c3c0c9d7"
|
||||
}
|
|
@ -5,5 +5,5 @@
|
|||
"device_list": null,
|
||||
"guide_txt": ""
|
||||
},
|
||||
"trace_id": "bfc75c3882ba76d42cb51b32f0e3cc5a"
|
||||
"trace_id": "7be5820ec6c6f8d7e2fa3415e213b50b"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"ota_complete_status": 2,
|
||||
"process_skip_type": 1,
|
||||
"solar_info": {
|
||||
"solar_sn": "",
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5140",
|
||||
"brand_id": "3a9930f5-74ef-4e41-a797-04e6b33d3f0f",
|
||||
"model_img": "https://public-aiot-ore-qa.s3.us-west-2.amazonaws.com/product/870cd979-95d8-4cc1-89c4-04a26511c9b1/picl_A1771_normal.png",
|
||||
"version": "",
|
||||
"ota_status": 1,
|
||||
"solar_model_name": "MI60 Microinverter"
|
||||
}
|
||||
},
|
||||
"trace_id": "7ea0ad4d351fe3696435e3a1e4a58f43"
|
||||
}
|
|
@ -15,5 +15,5 @@
|
|||
"solar_model_name": "MI60 Microinverter"
|
||||
}
|
||||
},
|
||||
"trace_id": "fc6eb9cc0bd3ebb9900a1ba6d3bcfc7e"
|
||||
"trace_id": "aa0e32b025caf38eab6545a84fccb5c4"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": []
|
||||
},
|
||||
"trace_id": "835d911e86a5a7bfea2d6e1f02cfdbbf"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": []
|
||||
},
|
||||
"trace_id": "fd7ded14b0e11d5d2ff8dfce2ace3faa"
|
||||
}
|
|
@ -4,5 +4,5 @@
|
|||
"data": {
|
||||
"data": []
|
||||
},
|
||||
"trace_id": "b0eaff6d759bbfd56dd2f2421b6a9e13"
|
||||
"trace_id": "4dabbd807c0e98fe8e58ebae70910f0e"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "3df1aea0-4b7c-e0f8-7cc5-5ba5a4df5f7a",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"08:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"08:00\",\"end_time\":\"17:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"17:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":0}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":1}",
|
||||
"current_home_load": "300W",
|
||||
"parallel_home_load": "",
|
||||
"parallel_display": false
|
||||
},
|
||||
"trace_id": "daaad794adf6ec9ebcebd49ae3cbbff9"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"08:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"08:00\",\"end_time\":\"17:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"17:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":0}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":1}",
|
||||
"current_home_load": "300W",
|
||||
"parallel_home_load": "",
|
||||
"parallel_display": false
|
||||
},
|
||||
"trace_id": "c73f8add28b4b6accd0ff213db4e9cab"
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"08:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":80,\"power_setting_mode\":1,\"device_power_loads\":[{\"device_sn\":\"S8S4GS0KZKLP0BH8\",\"power\":150}]},{\"id\":0,\"start_time\":\"08:00\",\"end_time\":\"17:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80,\"power_setting_mode\":1,\"device_power_loads\":[{\"device_sn\":\"S8S4GS0KZKLP0BH8\",\"power\":50}]},{\"id\":0,\"start_time\":\"17:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":0,\"power_setting_mode\":1,\"device_power_loads\":[{\"device_sn\":\"S8S4GS0KZKLP0BH8\",\"power\":150}]}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":1,\"display_advanced_mode\":0,\"advanced_mode_min_load\":0}",
|
||||
"current_home_load": "0W",
|
||||
"parallel_home_load": "",
|
||||
"parallel_display": false
|
||||
},
|
||||
"trace_id": "edc0aace41b8f1dbbdd0ddb7dcbcbbc0"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"param_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"08:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"08:00\",\"end_time\":\"17:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"17:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":0}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":1}"
|
||||
},
|
||||
"trace_id": "bdf5c51cd0fd73b07a5a49c7f8efda5b"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"param_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"08:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"08:00\",\"end_time\":\"17:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"17:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":0}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":1}"
|
||||
},
|
||||
"trace_id": "d3babd61efdfadf1d298ed0f08da4d55"
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"param_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"08:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":80,\"power_setting_mode\":1,\"device_power_loads\":[{\"device_sn\":\"S8S4GS0KZKLP0BH8\",\"power\":150}]},{\"id\":0,\"start_time\":\"08:00\",\"end_time\":\"17:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80,\"power_setting_mode\":1,\"device_power_loads\":[{\"device_sn\":\"S8S4GS0KZKLP0BH8\",\"power\":50}]},{\"id\":0,\"start_time\":\"17:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":300,\"number\":1}],\"charge_priority\":0,\"power_setting_mode\":1,\"device_power_loads\":[{\"device_sn\":\"S8S4GS0KZKLP0BH8\",\"power\":150}]}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":1,\"display_advanced_mode\":0,\"advanced_mode_min_load\":0}"
|
||||
},
|
||||
"trace_id": "abe0cd159ab3d5fd1e5ed06f7bd79cbe"
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
"data": {
|
||||
"site_list": [
|
||||
{
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"site_name": "BKW",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
|
@ -12,7 +12,8 @@
|
|||
],
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
"is_allow_delete": false,
|
||||
"support_device_models": null
|
||||
}
|
||||
],
|
||||
"solar_list": [],
|
||||
|
@ -20,7 +21,7 @@
|
|||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "",
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "75",
|
||||
|
@ -34,10 +35,11 @@
|
|||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
"set_load_power": "",
|
||||
"output_cutoff_data": 0
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "7ec26cd4e3ebac01c5bbceabab0b3ad5"
|
||||
"trace_id": "9a39fafe7f5c72ab4a9746a92793bf6d"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"power_cutoff_data": [
|
||||
{
|
||||
"id": 1,
|
||||
"is_selected": 1,
|
||||
"output_cutoff_data": 10,
|
||||
"lowpower_input_data": 5,
|
||||
"input_cutoff_data": 10
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"is_selected": 0,
|
||||
"output_cutoff_data": 5,
|
||||
"lowpower_input_data": 4,
|
||||
"input_cutoff_data": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "7ccca0c8df1fc646ad6a0bc1daea0dd2"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"power_cutoff_data": [
|
||||
{
|
||||
"id": 1,
|
||||
"is_selected": 1,
|
||||
"output_cutoff_data": 10,
|
||||
"lowpower_input_data": 5,
|
||||
"input_cutoff_data": 10
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"is_selected": 0,
|
||||
"output_cutoff_data": 5,
|
||||
"lowpower_input_data": 4,
|
||||
"input_cutoff_data": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "688edd9aa7f63abf2ecd89cbcac79cdf"
|
||||
}
|
|
@ -19,5 +19,5 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "dd8ffe41b2e1ce4b50ed82be55c2efc7"
|
||||
"trace_id": "810134a03be0200fc75bf5ce15cacc3b"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"price": 0.4,
|
||||
"site_co2": 0,
|
||||
"site_price_unit": "\u20ac"
|
||||
},
|
||||
"trace_id": "6edea20b7d8ecdbebf9eff8339efd98b"
|
||||
}
|
|
@ -2,10 +2,10 @@
|
|||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "3df1aea0-4b7c-e0f8-7cc5-5ba5a4df5f7a",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"price": 0.4,
|
||||
"site_co2": 0,
|
||||
"site_price_unit": "\u20ac"
|
||||
},
|
||||
"trace_id": "f43f68ee34777fd9fb83dc6ac067aed3"
|
||||
"trace_id": "3c10c236f183f13be3233f802227ffd0"
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"home_info": {
|
||||
"home_name": "Home",
|
||||
"home_img": "",
|
||||
"charging_power": "0.00",
|
||||
"power_unit": "W"
|
||||
},
|
||||
"solar_list": [],
|
||||
"pps_info": {
|
||||
"pps_list": [],
|
||||
"total_charging_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"total_battery_power": "0.00",
|
||||
"updated_time": "",
|
||||
"pps_status": 0
|
||||
},
|
||||
"statistics": [
|
||||
{
|
||||
"type": "1",
|
||||
"total": "89.75",
|
||||
"unit": "kwh"
|
||||
},
|
||||
{
|
||||
"type": "2",
|
||||
"total": "89.48",
|
||||
"unit": "kg"
|
||||
},
|
||||
{
|
||||
"type": "3",
|
||||
"total": "35.90",
|
||||
"unit": "\u20ac"
|
||||
}
|
||||
],
|
||||
"topology_type": "1",
|
||||
"solarbank_info": {
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "4AD5NI2AC8WL4CFI",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "75",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "2",
|
||||
"status": "0",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "0",
|
||||
"output_power": "0",
|
||||
"create_time": 1695392386,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"total_charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "0",
|
||||
"total_battery_power": "0.00",
|
||||
"updated_time": "2023-12-28 18:53:27",
|
||||
"total_photovoltaic_power": "0",
|
||||
"total_output_power": "0.00",
|
||||
"display_set_power": false
|
||||
},
|
||||
"retain_load": "300W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "3df1aea0-4b7c-e0f8-7cc5-5ba5a4df5f7a",
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "82aa6e7e4db47cbbe7b2ed355b751beb"
|
||||
}
|
|
@ -39,7 +39,7 @@
|
|||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "75",
|
||||
|
@ -53,7 +53,8 @@
|
|||
"photovoltaic_power": "0",
|
||||
"output_power": "0",
|
||||
"create_time": 1695392386,
|
||||
"set_load_power": ""
|
||||
"set_load_power": "",
|
||||
"output_cutoff_data": 10
|
||||
}
|
||||
],
|
||||
"total_charging_power": "0",
|
||||
|
@ -65,11 +66,11 @@
|
|||
"total_output_power": "0.00",
|
||||
"display_set_power": false
|
||||
},
|
||||
"retain_load": "300W",
|
||||
"retain_load": "0W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "ed1cf05df2ee38fe9cface257d7e0e35"
|
||||
"trace_id": "be165dce6edbfda3eef203e9f8cd3cfb"
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_info": {
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_name": "BKW",
|
||||
"site_img": "",
|
||||
"device_type_list": null,
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
},
|
||||
"solar_list": [],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "560cc90e81ebe4dfda45ac4f295ca07a"
|
||||
}
|
|
@ -3,20 +3,27 @@
|
|||
"msg": "success!",
|
||||
"data": {
|
||||
"site_info": {
|
||||
"site_id": "3df1aea0-4b7c-e0f8-7cc5-5ba5a4df5f7a",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"site_name": "BKW",
|
||||
"site_img": "",
|
||||
"device_type_list": null,
|
||||
"device_type_list": [
|
||||
3
|
||||
],
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": false,
|
||||
"support_device_models": [
|
||||
"A17C0",
|
||||
"A5143",
|
||||
"A1771"
|
||||
]
|
||||
},
|
||||
"solar_list": [],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "4AD5NI2AC8WL4CFI",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
|
@ -29,11 +36,12 @@
|
|||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
"create_time": 1695392386,
|
||||
"set_load_power": "",
|
||||
"output_cutoff_data": 0
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "cd5d205dbe3e4ace5accfcbbcbc7bf5e"
|
||||
"trace_id": "42fca6e31c7597b30ccb8bafdb5c409f"
|
||||
}
|
|
@ -4,7 +4,7 @@
|
|||
"data": {
|
||||
"site_list": [
|
||||
{
|
||||
"site_id": "b8b1aaa6-ff7c-f1d3-9faa-c5e1648091ff",
|
||||
"site_id": "c6a3216c-b3bd-fe9a-bd00-e46bfe61ee42",
|
||||
"site_name": "BKW",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
|
@ -12,9 +12,14 @@
|
|||
],
|
||||
"ms_type": 1,
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": true
|
||||
"is_allow_delete": true,
|
||||
"support_device_models": [
|
||||
"A17C0",
|
||||
"A5143",
|
||||
"A1771"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "cda3bbcc760a9239d38076efacfefaea"
|
||||
"trace_id": "f4a07b0fc7eda9aac8a047bfe3ce0881"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"brand_id": "3a9930f5-74ef-4e41-a797-04e6b33d3f0f",
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5140",
|
||||
"solar_sn": "",
|
||||
"solar_model_name": "MI60 Microinverter"
|
||||
},
|
||||
"trace_id": "c84fe77fee6a27a04f3dd5f50af91bea"
|
||||
}
|
|
@ -8,5 +8,5 @@
|
|||
"solar_sn": "",
|
||||
"solar_model_name": "MI60 Microinverter"
|
||||
},
|
||||
"trace_id": "faa1851e4db703c37e2f344ac596a2f1"
|
||||
"trace_id": "a982c1bc38ab3f9da5afef26e496f013"
|
||||
}
|
|
@ -7,7 +7,7 @@
|
|||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "J19P1918S0BKY4EP",
|
||||
"device_sn": "S8S4GS0KZKLP0BH8",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
|
@ -21,9 +21,11 @@
|
|||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
"set_load_power": "",
|
||||
"output_cutoff_data": 0
|
||||
}
|
||||
]
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "7f27c7c8daaadb4d12fa129de411499b"
|
||||
"trace_id": "e9eeb54a20b422df82fafdaedc75f21f"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"wifi_info_list": [
|
||||
{
|
||||
"wifi_name": "wifi-network-1",
|
||||
"wifi_signal": "100"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "19d71d7c090ba105da53084fdca41baa"
|
||||
}
|
|
@ -9,5 +9,5 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "81d6b63ab0b93d9d6b99cecacbbd0ebc"
|
||||
"trace_id": "0a0d59c1b266de112d9028dfcfcf5ffe"
|
||||
}
|
|
@ -1,233 +0,0 @@
|
|||
{
|
||||
"6TXY2KVEWX2UB78L": {
|
||||
"device_sn": "RBJX4XL3BQ8PWS1X",
|
||||
"type": "solarbank",
|
||||
"site_id": "7fe6ade4-f3eb-ba1f-d82f-1f3a7e4fee8a",
|
||||
"is_admin": true,
|
||||
"device_pn": "A17C0",
|
||||
"name": "Solarbank E1600",
|
||||
"battery_soc": "46",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"charging_status_desc": "bypass",
|
||||
"status": "1",
|
||||
"status_desc": "on",
|
||||
"wireless_type": "1",
|
||||
"input_power": "72",
|
||||
"output_power": "0",
|
||||
"set_output_power": "0",
|
||||
"bt_ble_mac": "0668D49E66AE",
|
||||
"alias": "SB2",
|
||||
"wifi_online": true,
|
||||
"charge": false,
|
||||
"bws_surplus": "0",
|
||||
"sw_version": "v1.5.6",
|
||||
"auto_upgrade": true,
|
||||
"wifi_name": "wifi-network-3",
|
||||
"wifi_signal": "98",
|
||||
"power_cutoff": 10,
|
||||
"solar_info": {
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5143",
|
||||
"solar_sn": "OTGYG8DGM1D3",
|
||||
"solar_model_name": "MI80 Microinverter(BLE)"
|
||||
},
|
||||
"schedule": {
|
||||
"ranges": [
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "00:00",
|
||||
"end_time": "07:30",
|
||||
"turn_on": true,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "07:30",
|
||||
"end_time": "09:30",
|
||||
"turn_on": true,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "09:30",
|
||||
"end_time": "17:30",
|
||||
"turn_on": false,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 100
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "17:30",
|
||||
"end_time": "24:00",
|
||||
"turn_on": false,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
}
|
||||
],
|
||||
"min_load": 100,
|
||||
"max_load": 800,
|
||||
"step": 0,
|
||||
"is_charge_priority": 1,
|
||||
"default_charge_priority": 80,
|
||||
"is_zero_output_tips": 0
|
||||
}
|
||||
},
|
||||
"WO42TA2RIXLX2WLZ": {
|
||||
"device_sn": "Y0VUVD54J4GI7PRS",
|
||||
"type": "solarbank",
|
||||
"site_id": "7fe6ade4-f3eb-ba1f-d82f-1f3a7e4fee8a",
|
||||
"is_admin": true,
|
||||
"device_pn": "A17C0",
|
||||
"name": "Solarbank E1600",
|
||||
"battery_soc": "52",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"charging_status_desc": "bypass",
|
||||
"status": "1",
|
||||
"status_desc": "on",
|
||||
"wireless_type": "1",
|
||||
"input_power": "72",
|
||||
"output_power": "0",
|
||||
"set_output_power": "0",
|
||||
"bt_ble_mac": "AC2D06D70E6B",
|
||||
"alias": "SB1",
|
||||
"wifi_online": true,
|
||||
"charge": false,
|
||||
"bws_surplus": "0",
|
||||
"sw_version": "v1.5.6",
|
||||
"auto_upgrade": true,
|
||||
"wifi_name": "wifi-network-3",
|
||||
"wifi_signal": "98",
|
||||
"power_cutoff": 10,
|
||||
"solar_info": {
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5143",
|
||||
"solar_sn": "OTGYG8DGM1D3",
|
||||
"solar_model_name": "MI80 Microinverter(BLE)"
|
||||
},
|
||||
"schedule": {
|
||||
"ranges": [
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "00:00",
|
||||
"end_time": "07:30",
|
||||
"turn_on": true,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "07:30",
|
||||
"end_time": "09:30",
|
||||
"turn_on": true,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "09:30",
|
||||
"end_time": "17:30",
|
||||
"turn_on": false,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 100
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "17:30",
|
||||
"end_time": "24:00",
|
||||
"turn_on": false,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
}
|
||||
],
|
||||
"min_load": 100,
|
||||
"max_load": 800,
|
||||
"step": 0,
|
||||
"is_charge_priority": 1,
|
||||
"default_charge_priority": 80,
|
||||
"is_zero_output_tips": 0
|
||||
}
|
||||
},
|
||||
"PK2UE3X006JF": {
|
||||
"device_sn": "OTGYG8DGM1D3",
|
||||
"type": "inverter",
|
||||
"site_id": "7fe6ade4-f3eb-ba1f-d82f-1f3a7e4fee8a",
|
||||
"is_admin": true,
|
||||
"name": "MI80 Microinverter(BLE)",
|
||||
"generate_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"status": "1",
|
||||
"status_desc": "on",
|
||||
"wireless_type": "2",
|
||||
"device_pn": "A5143",
|
||||
"bt_ble_mac": "9EBD418DD71B",
|
||||
"alias": "MI80 Microinverter(BLE)",
|
||||
"wifi_online": false,
|
||||
"wifi_name": "wifi-network-3",
|
||||
"charge": false,
|
||||
"bws_surplus": "0",
|
||||
"sw_version": "v0.0.1",
|
||||
"wifi_signal": "94"
|
||||
}
|
||||
}
|
|
@ -1,116 +0,0 @@
|
|||
{
|
||||
"beddfef9-acaa-89de-f6c9-31fc9a499c65": {
|
||||
"site_info": {
|
||||
"site_id": "7fe6ade4-f3eb-ba1f-d82f-1f3a7e4fee8a",
|
||||
"site_name": "AnkerPrime",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"ms_type": 1,
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": true
|
||||
},
|
||||
"site_admin": true,
|
||||
"home_info": {
|
||||
"home_name": "Home",
|
||||
"home_img": "",
|
||||
"charging_power": "0.00",
|
||||
"power_unit": "W"
|
||||
},
|
||||
"solar_list": [
|
||||
{
|
||||
"device_sn": "OTGYG8DGM1D3",
|
||||
"device_name": "MI80 Microinverter(BLE)",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/0f8e0ca7-dda9-4e70-940d-fe08e1fc89ea/picl_A5143_normal.png",
|
||||
"bind_site_status": "",
|
||||
"generate_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"status": "1",
|
||||
"wireless_type": "2",
|
||||
"device_pn": "A5143",
|
||||
"main_version": ""
|
||||
}
|
||||
],
|
||||
"pps_info": {
|
||||
"pps_list": [],
|
||||
"total_charging_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"total_battery_power": "0.00",
|
||||
"updated_time": "",
|
||||
"pps_status": 0
|
||||
},
|
||||
"statistics": [
|
||||
{
|
||||
"type": "1",
|
||||
"total": "14.41",
|
||||
"unit": "kwh"
|
||||
},
|
||||
{
|
||||
"type": "2",
|
||||
"total": "14.36",
|
||||
"unit": "kg"
|
||||
},
|
||||
{
|
||||
"type": "3",
|
||||
"total": "4.61",
|
||||
"unit": "\u20ac"
|
||||
}
|
||||
],
|
||||
"topology_type": "1",
|
||||
"solarbank_info": {
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "RBJX4XL3BQ8PWS1X",
|
||||
"device_name": "SB2",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "46",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "72",
|
||||
"output_power": "0",
|
||||
"create_time": 1707039514,
|
||||
"set_load_power": "0"
|
||||
},
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "Y0VUVD54J4GI7PRS",
|
||||
"device_name": "SB1",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "52",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "72",
|
||||
"output_power": "0",
|
||||
"create_time": 1707130510,
|
||||
"set_load_power": "0"
|
||||
}
|
||||
],
|
||||
"total_charging_power": "144",
|
||||
"power_unit": "W",
|
||||
"charging_status": "0",
|
||||
"total_battery_power": "0.49",
|
||||
"updated_time": "2024-02-22 13:17:30",
|
||||
"total_photovoltaic_power": "144",
|
||||
"total_output_power": "0.00",
|
||||
"display_set_power": true
|
||||
},
|
||||
"retain_load": "0W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "7fe6ade4-f3eb-ba1f-d82f-1f3a7e4fee8a",
|
||||
"powerpanel_list": []
|
||||
}
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"main_switch": true,
|
||||
"device_list": [
|
||||
{
|
||||
"device_sn": "WO42TA2RIXLX2WLZ",
|
||||
"device_name": "Solarbank E1600",
|
||||
"auto_upgrade": true,
|
||||
"alias_name": "SB1",
|
||||
"icon": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png"
|
||||
},
|
||||
{
|
||||
"device_sn": "6TXY2KVEWX2UB78L",
|
||||
"device_name": "Solarbank E1600",
|
||||
"auto_upgrade": true,
|
||||
"alias_name": "SB2",
|
||||
"icon": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "0bd61d8eae05f2bdc7f6bda5ee615d2c"
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": [
|
||||
{
|
||||
"device_sn": "PK2UE3X006JF",
|
||||
"product_code": "A5143",
|
||||
"bt_ble_id": "140FBCB617F0",
|
||||
"bt_ble_mac": "140FBCB617F0",
|
||||
"device_name": "MI80 Microinverter(BLE)",
|
||||
"alias_name": "MI80 Microinverter(BLE)",
|
||||
"img_url": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/0f8e0ca7-dda9-4e70-940d-fe08e1fc89ea/picl_A5143_normal.png",
|
||||
"link_time": 1707581381737,
|
||||
"wifi_online": false,
|
||||
"wifi_name": "wifi-network-1",
|
||||
"relate_type": [
|
||||
"ble"
|
||||
],
|
||||
"charge": false,
|
||||
"bws_surplus": 0,
|
||||
"device_sw_version": "v0.0.1",
|
||||
"has_manual": false,
|
||||
"hes_data": null
|
||||
},
|
||||
{
|
||||
"device_sn": "WO42TA2RIXLX2WLZ",
|
||||
"product_code": "A17C0",
|
||||
"bt_ble_id": "DDCEDE2CA2D880D6B3E9CF5E01BEBAC0",
|
||||
"bt_ble_mac": "4BDB6A35CFFD",
|
||||
"device_name": "Solarbank E1600",
|
||||
"alias_name": "SB1",
|
||||
"img_url": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"link_time": 1707039543652,
|
||||
"wifi_online": true,
|
||||
"wifi_name": "",
|
||||
"relate_type": [
|
||||
"ble",
|
||||
"wifi"
|
||||
],
|
||||
"charge": false,
|
||||
"bws_surplus": 0,
|
||||
"device_sw_version": "v1.5.6",
|
||||
"has_manual": false,
|
||||
"hes_data": null
|
||||
},
|
||||
{
|
||||
"device_sn": "6TXY2KVEWX2UB78L",
|
||||
"product_code": "A17C0",
|
||||
"bt_ble_id": "728D453D7CA8D5D9AFEF1D89BBAE7FED",
|
||||
"bt_ble_mac": "EE3BFBD6DB9B",
|
||||
"device_name": "Solarbank E1600",
|
||||
"alias_name": "SB2",
|
||||
"img_url": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"link_time": 1707039423762,
|
||||
"wifi_online": true,
|
||||
"wifi_name": "",
|
||||
"relate_type": [
|
||||
"ble",
|
||||
"wifi"
|
||||
],
|
||||
"charge": false,
|
||||
"bws_surplus": 0,
|
||||
"device_sw_version": "v1.5.6",
|
||||
"has_manual": false,
|
||||
"hes_data": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "4cd860c899ec772afefdefd1e042daf9"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"device_list": null,
|
||||
"guide_txt": ""
|
||||
},
|
||||
"trace_id": "29b2ae3cb302fb3a30bfa52f0d8f1bcd"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"ota_complete_status": 2,
|
||||
"process_skip_type": 2,
|
||||
"solar_info": {
|
||||
"solar_sn": "PK2UE3X006JF",
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5143",
|
||||
"brand_id": "3a9930f5-74ef-4e41-a797-04e6b33d3f0f",
|
||||
"model_img": "https://public-aiot-ore-qa.s3.us-west-2.amazonaws.com/anker-power/public/product/2023/09/18/iot-admin/77Y3rnoAVmzTQrSr/picl_A17C0FW_guide_SN_A5143.png",
|
||||
"version": "Anker EZ1 1.0.0_b",
|
||||
"ota_status": 3,
|
||||
"solar_model_name": "MI80 Microinverter(BLE)"
|
||||
}
|
||||
},
|
||||
"trace_id": "6e54269c6b7c6cbf2ec7b80bc83eedd5"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"ota_complete_status": 2,
|
||||
"process_skip_type": 2,
|
||||
"solar_info": {
|
||||
"solar_sn": "PK2UE3X006JF",
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5143",
|
||||
"brand_id": "3a9930f5-74ef-4e41-a797-04e6b33d3f0f",
|
||||
"model_img": "https://public-aiot-ore-qa.s3.us-west-2.amazonaws.com/anker-power/public/product/2023/09/18/iot-admin/77Y3rnoAVmzTQrSr/picl_A17C0FW_guide_SN_A5143.png",
|
||||
"version": "Anker EZ1 1.0.0_b",
|
||||
"ota_status": 3,
|
||||
"solar_model_name": "MI80 Microinverter(BLE)"
|
||||
}
|
||||
},
|
||||
"trace_id": "e09abf5e2f1bd1001f9b978ae6bccba8"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": []
|
||||
},
|
||||
"trace_id": "2bf9a0fe16ccb4a9f5ee495d3db2e0ae"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": []
|
||||
},
|
||||
"trace_id": "aeb578aaee66bb30a20b1a6ab104cdfc"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"07:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"07:30\",\"end_time\":\"09:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"09:30\",\"end_time\":\"17:30\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":100},{\"id\":0,\"start_time\":\"17:30\",\"end_time\":\"24:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":1,\"default_charge_priority\":80,\"is_zero_output_tips\":0}",
|
||||
"current_home_load": "0W",
|
||||
"parallel_home_load": "0W",
|
||||
"parallel_display": true
|
||||
},
|
||||
"trace_id": "6c51fc6b854d0c6a9fcebbc147bbb7dc"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"07:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"07:30\",\"end_time\":\"09:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"09:30\",\"end_time\":\"17:30\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":100},{\"id\":0,\"start_time\":\"17:30\",\"end_time\":\"24:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":1,\"default_charge_priority\":80,\"is_zero_output_tips\":0}",
|
||||
"current_home_load": "0W",
|
||||
"parallel_home_load": "0W",
|
||||
"parallel_display": true
|
||||
},
|
||||
"trace_id": "8d53eee0f4829267f0adcb7e097508cc"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"07:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"07:30\",\"end_time\":\"09:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"09:30\",\"end_time\":\"17:30\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":100},{\"id\":0,\"start_time\":\"17:30\",\"end_time\":\"24:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":1,\"default_charge_priority\":80,\"is_zero_output_tips\":0}",
|
||||
"current_home_load": "0W",
|
||||
"parallel_home_load": "0W",
|
||||
"parallel_display": true
|
||||
},
|
||||
"trace_id": "47cf7a4eaec4abfbf12ffebf1d2dbbeb"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"param_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"07:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"07:30\",\"end_time\":\"09:30\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"09:30\",\"end_time\":\"17:30\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":100},{\"id\":0,\"start_time\":\"17:30\",\"end_time\":\"24:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80}],\"min_load\":100,\"max_load\":800,\"step\":0,\"is_charge_priority\":1,\"default_charge_priority\":80,\"is_zero_output_tips\":0}"
|
||||
},
|
||||
"trace_id": "40a3cdc83c5e79ebb2eb5d91be3dade2"
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_list": [
|
||||
{
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"site_name": "AnkerPrime",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
}
|
||||
],
|
||||
"solar_list": [
|
||||
{
|
||||
"device_sn": "PK2UE3X006JF",
|
||||
"device_name": "MI80 Microinverter(BLE)",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/0f8e0ca7-dda9-4e70-940d-fe08e1fc89ea/picl_A5143_normal.png",
|
||||
"bind_site_status": "1",
|
||||
"generate_power": "",
|
||||
"power_unit": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"device_pn": "",
|
||||
"main_version": ""
|
||||
}
|
||||
],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "",
|
||||
"device_sn": "6TXY2KVEWX2UB78L",
|
||||
"device_name": "SB2",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "46",
|
||||
"bind_site_status": "1",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
},
|
||||
{
|
||||
"device_pn": "",
|
||||
"device_sn": "WO42TA2RIXLX2WLZ",
|
||||
"device_name": "SB1",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "52",
|
||||
"bind_site_status": "1",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "24f42c6fbdabc4baaecefe560cf6ef77"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"power_cutoff_data": [
|
||||
{
|
||||
"id": 1,
|
||||
"is_selected": 1,
|
||||
"output_cutoff_data": 10,
|
||||
"lowpower_input_data": 5,
|
||||
"input_cutoff_data": 10
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"is_selected": 0,
|
||||
"output_cutoff_data": 5,
|
||||
"lowpower_input_data": 4,
|
||||
"input_cutoff_data": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "e3db7c9ca2468be386c9e7b0a9dbaefb"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"power_cutoff_data": [
|
||||
{
|
||||
"id": 1,
|
||||
"is_selected": 1,
|
||||
"output_cutoff_data": 10,
|
||||
"lowpower_input_data": 5,
|
||||
"input_cutoff_data": 10
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"is_selected": 0,
|
||||
"output_cutoff_data": 5,
|
||||
"lowpower_input_data": 4,
|
||||
"input_cutoff_data": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "97ea2f4895eea97bd61abe8b4ca53dde"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"price": 0.32,
|
||||
"site_co2": 0,
|
||||
"site_price_unit": "\u20ac"
|
||||
},
|
||||
"trace_id": "831bbfcbefdb411bece398bdaa4ebdae"
|
||||
}
|
|
@ -1,106 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"home_info": {
|
||||
"home_name": "Home",
|
||||
"home_img": "",
|
||||
"charging_power": "0.00",
|
||||
"power_unit": "W"
|
||||
},
|
||||
"solar_list": [
|
||||
{
|
||||
"device_sn": "PK2UE3X006JF",
|
||||
"device_name": "MI80 Microinverter(BLE)",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/0f8e0ca7-dda9-4e70-940d-fe08e1fc89ea/picl_A5143_normal.png",
|
||||
"bind_site_status": "",
|
||||
"generate_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"status": "1",
|
||||
"wireless_type": "2",
|
||||
"device_pn": "A5143",
|
||||
"main_version": ""
|
||||
}
|
||||
],
|
||||
"pps_info": {
|
||||
"pps_list": [],
|
||||
"total_charging_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"total_battery_power": "0.00",
|
||||
"updated_time": "",
|
||||
"pps_status": 0
|
||||
},
|
||||
"statistics": [
|
||||
{
|
||||
"type": "1",
|
||||
"total": "14.41",
|
||||
"unit": "kwh"
|
||||
},
|
||||
{
|
||||
"type": "2",
|
||||
"total": "14.36",
|
||||
"unit": "kg"
|
||||
},
|
||||
{
|
||||
"type": "3",
|
||||
"total": "4.61",
|
||||
"unit": "\u20ac"
|
||||
}
|
||||
],
|
||||
"topology_type": "1",
|
||||
"solarbank_info": {
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "6TXY2KVEWX2UB78L",
|
||||
"device_name": "SB2",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "46",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "72",
|
||||
"output_power": "0",
|
||||
"create_time": 1707039514,
|
||||
"set_load_power": "0"
|
||||
},
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "WO42TA2RIXLX2WLZ",
|
||||
"device_name": "SB1",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "52",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "72",
|
||||
"output_power": "0",
|
||||
"create_time": 1707130510,
|
||||
"set_load_power": "0"
|
||||
}
|
||||
],
|
||||
"total_charging_power": "144",
|
||||
"power_unit": "W",
|
||||
"charging_status": "0",
|
||||
"total_battery_power": "0.49",
|
||||
"updated_time": "2024-02-22 13:17:30",
|
||||
"total_photovoltaic_power": "144",
|
||||
"total_output_power": "0.00",
|
||||
"display_set_power": true
|
||||
},
|
||||
"retain_load": "0W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "ffae31c7dbcfa27ecaaecf30a6badb92"
|
||||
}
|
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_info": {
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"site_name": "AnkerPrime",
|
||||
"site_img": "",
|
||||
"device_type_list": null,
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
},
|
||||
"solar_list": [
|
||||
{
|
||||
"device_sn": "PK2UE3X006JF",
|
||||
"device_name": "MI80 Microinverter(BLE)",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/0f8e0ca7-dda9-4e70-940d-fe08e1fc89ea/picl_A5143_normal.png",
|
||||
"bind_site_status": "",
|
||||
"generate_power": "",
|
||||
"power_unit": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"device_pn": "",
|
||||
"main_version": ""
|
||||
}
|
||||
],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "6TXY2KVEWX2UB78L",
|
||||
"device_name": "SB2",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
},
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "WO42TA2RIXLX2WLZ",
|
||||
"device_name": "SB1",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "bc44b7bcdfadcbec2fbe2b04ff8deb6d"
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_list": [
|
||||
{
|
||||
"site_id": "beddfef9-acaa-89de-f6c9-31fc9a499c65",
|
||||
"site_name": "AnkerPrime",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"ms_type": 1,
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "68740a3b7bf3df0fc3d2fa6b5fe2ae8b"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"brand_id": "3a9930f5-74ef-4e41-a797-04e6b33d3f0f",
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5143",
|
||||
"solar_sn": "PK2UE3X006JF",
|
||||
"solar_model_name": "MI80 Microinverter(BLE)"
|
||||
},
|
||||
"trace_id": "dadff22c3df0c07ee33cbecf5ef6f42b"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"brand_id": "3a9930f5-74ef-4e41-a797-04e6b33d3f0f",
|
||||
"solar_brand": "ANKER",
|
||||
"solar_model": "A5143",
|
||||
"solar_sn": "PK2UE3X006JF",
|
||||
"solar_model_name": "MI80 Microinverter(BLE)"
|
||||
},
|
||||
"trace_id": "f77669a3caf42517c1e202f0adf6491d"
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"solar_list": [
|
||||
{
|
||||
"device_sn": "PK2UE3X006JF",
|
||||
"device_name": "MI80 Microinverter(BLE)",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/0f8e0ca7-dda9-4e70-940d-fe08e1fc89ea/picl_A5143_normal.png",
|
||||
"bind_site_status": "1",
|
||||
"generate_power": "",
|
||||
"power_unit": "",
|
||||
"status": "0",
|
||||
"wireless_type": "2",
|
||||
"device_pn": "A5143",
|
||||
"main_version": ""
|
||||
}
|
||||
],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "WO42TA2RIXLX2WLZ",
|
||||
"device_name": "SB1",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "1",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
},
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "6TXY2KVEWX2UB78L",
|
||||
"device_name": "SB2",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "1",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "ec59d13ed6356dfca2c0d03cbaad9a6f"
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"wifi_info_list": [
|
||||
{
|
||||
"wifi_name": "wifi-network-1",
|
||||
"wifi_signal": "98"
|
||||
},
|
||||
{
|
||||
"wifi_name": "wifi-network-1",
|
||||
"wifi_signal": "94"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "5df3a423dae8ba2abcc75f4abea92d65"
|
||||
}
|
|
@ -1,92 +0,0 @@
|
|||
{
|
||||
"SE0QPSV3WXDDXN8G": {
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"type": "solarbank",
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"is_admin": true,
|
||||
"device_pn": "A17C0",
|
||||
"name": "Solarbank E1600",
|
||||
"battery_soc": "56",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"charging_status_desc": "bypass",
|
||||
"status": "1",
|
||||
"status_desc": "on",
|
||||
"wireless_type": "1",
|
||||
"input_power": "267",
|
||||
"output_power": "0",
|
||||
"set_output_power": "",
|
||||
"bt_ble_mac": "EA7AAD9B60BD",
|
||||
"alias": "Solarbank E1600",
|
||||
"wifi_online": true,
|
||||
"charge": false,
|
||||
"bws_surplus": "0",
|
||||
"sw_version": "v1.5.6",
|
||||
"auto_upgrade": false,
|
||||
"wifi_name": "wifi-network-1",
|
||||
"wifi_signal": "36",
|
||||
"power_cutoff": 10,
|
||||
"solar_info": {
|
||||
"solar_brand": "Deye",
|
||||
"solar_model": "SUN600G3-EU-230",
|
||||
"solar_sn": "",
|
||||
"solar_model_name": "SUN600G3-EU-230"
|
||||
},
|
||||
"schedule": {
|
||||
"ranges": [
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "00:00",
|
||||
"end_time": "07:00",
|
||||
"turn_on": true,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 100,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "07:00",
|
||||
"end_time": "20:00",
|
||||
"turn_on": false,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 150,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
},
|
||||
{
|
||||
"id": 0,
|
||||
"start_time": "20:00",
|
||||
"end_time": "24:00",
|
||||
"turn_on": true,
|
||||
"appliance_loads": [
|
||||
{
|
||||
"id": 0,
|
||||
"name": "Benutzerdefiniert",
|
||||
"power": 100,
|
||||
"number": 1
|
||||
}
|
||||
],
|
||||
"charge_priority": 80
|
||||
}
|
||||
],
|
||||
"min_load": 150,
|
||||
"max_load": 800,
|
||||
"step": 0,
|
||||
"is_charge_priority": 0,
|
||||
"default_charge_priority": 0,
|
||||
"is_zero_output_tips": 0
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,84 +0,0 @@
|
|||
{
|
||||
"5c345692-b73f-8ce8-a9fd-b7928c5fa51d": {
|
||||
"site_info": {
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"site_name": "Anker Solix E1600",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
3
|
||||
],
|
||||
"ms_type": 1,
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": true
|
||||
},
|
||||
"site_admin": true,
|
||||
"home_info": {
|
||||
"home_name": "Home",
|
||||
"home_img": "",
|
||||
"charging_power": "0.00",
|
||||
"power_unit": "W"
|
||||
},
|
||||
"solar_list": [],
|
||||
"pps_info": {
|
||||
"pps_list": [],
|
||||
"total_charging_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"total_battery_power": "0.00",
|
||||
"updated_time": "",
|
||||
"pps_status": 0
|
||||
},
|
||||
"statistics": [
|
||||
{
|
||||
"type": "1",
|
||||
"total": "75.63",
|
||||
"unit": "kwh"
|
||||
},
|
||||
{
|
||||
"type": "2",
|
||||
"total": "75.41",
|
||||
"unit": "kg"
|
||||
},
|
||||
{
|
||||
"type": "3",
|
||||
"total": "28.74",
|
||||
"unit": "\u20ac"
|
||||
}
|
||||
],
|
||||
"topology_type": "1",
|
||||
"solarbank_info": {
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "56",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "267",
|
||||
"output_power": "0",
|
||||
"create_time": 1695394124,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"total_charging_power": "267",
|
||||
"power_unit": "W",
|
||||
"charging_status": "0",
|
||||
"total_battery_power": "0.56",
|
||||
"updated_time": "2024-02-22 14:42:12",
|
||||
"total_photovoltaic_power": "267",
|
||||
"total_output_power": "0.00",
|
||||
"display_set_power": false
|
||||
},
|
||||
"retain_load": "0W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"powerpanel_list": []
|
||||
}
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"main_switch": false,
|
||||
"device_list": [
|
||||
{
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"device_name": "Solarbank E1600",
|
||||
"auto_upgrade": false,
|
||||
"alias_name": "Solarbank E1600",
|
||||
"icon": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "50f4906ee2dedf2d982ec68fbde09173"
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": [
|
||||
{
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"product_code": "A17C0",
|
||||
"bt_ble_id": "EA:7A:AD:9B:60:BD",
|
||||
"bt_ble_mac": "EA7AAD9B60BD",
|
||||
"device_name": "Solarbank E1600",
|
||||
"alias_name": "Solarbank E1600",
|
||||
"img_url": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"link_time": 1695394038705,
|
||||
"wifi_online": true,
|
||||
"wifi_name": "",
|
||||
"relate_type": [
|
||||
"ble",
|
||||
"wifi"
|
||||
],
|
||||
"charge": false,
|
||||
"bws_surplus": 0,
|
||||
"device_sw_version": "v1.5.6",
|
||||
"has_manual": false,
|
||||
"hes_data": null
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "a1a461ed0ea2bb9ec79ecab2347e97f9"
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"device_list": null,
|
||||
"guide_txt": ""
|
||||
},
|
||||
"trace_id": "e28b26fe8dccc7f40bdfbc79148eddcd"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"ota_complete_status": 2,
|
||||
"process_skip_type": 1,
|
||||
"solar_info": {
|
||||
"solar_sn": "",
|
||||
"solar_brand": "Deye",
|
||||
"solar_model": "SUN600G3-EU-230",
|
||||
"brand_id": "227fb692-1e9e-439f-aadb-40c9144f6996",
|
||||
"model_img": "",
|
||||
"version": "",
|
||||
"ota_status": 1,
|
||||
"solar_model_name": "SUN600G3-EU-230"
|
||||
}
|
||||
},
|
||||
"trace_id": "dccd78ba3fb99c6e2bab49f0510ce87e"
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"data": [
|
||||
{
|
||||
"device_sn": "ZDL32D6A3HKXUTN1",
|
||||
"product_code": "A17Y0",
|
||||
"device_name": "E1600 0W Output Switch",
|
||||
"alias_name": "E1600 0W Output Switch",
|
||||
"img_url": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/2024/01/10/iot-admin/EPBsJ3a5JyMGqA1j/picl_A17Y0_normal.png",
|
||||
"bt_ble_id": "",
|
||||
"bt_ble_mac": "FC1CEA253CDB",
|
||||
"link_time": 1707127936
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "055aeafc5fbbfabfedbf2bbcd254ede3"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"home_load_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"07:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"07:00\",\"end_time\":\"20:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"20:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80}],\"min_load\":150,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":0}",
|
||||
"current_home_load": "0W",
|
||||
"parallel_home_load": "",
|
||||
"parallel_display": false
|
||||
},
|
||||
"trace_id": "e2bc02ad278c764fbe1eb1c0b15f06df"
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"param_data": "{\"ranges\":[{\"id\":0,\"start_time\":\"00:00\",\"end_time\":\"07:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"07:00\",\"end_time\":\"20:00\",\"turn_on\":false,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":150,\"number\":1}],\"charge_priority\":80},{\"id\":0,\"start_time\":\"20:00\",\"end_time\":\"24:00\",\"turn_on\":true,\"appliance_loads\":[{\"id\":0,\"name\":\"Benutzerdefiniert\",\"power\":100,\"number\":1}],\"charge_priority\":80}],\"min_load\":150,\"max_load\":800,\"step\":0,\"is_charge_priority\":0,\"default_charge_priority\":0,\"is_zero_output_tips\":0}"
|
||||
},
|
||||
"trace_id": "c1de0c0ec83ff687a25f6d8ebcf5efaf"
|
||||
}
|
|
@ -1,43 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_list": [
|
||||
{
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"site_name": "Anker Solix E1600",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
3
|
||||
],
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
}
|
||||
],
|
||||
"solar_list": [],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "",
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "56",
|
||||
"bind_site_status": "1",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "7cbb4ed8eded8785f5dc5066ab28fe00"
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"power_cutoff_data": [
|
||||
{
|
||||
"id": 1,
|
||||
"is_selected": 1,
|
||||
"output_cutoff_data": 10,
|
||||
"lowpower_input_data": 5,
|
||||
"input_cutoff_data": 10
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"is_selected": 0,
|
||||
"output_cutoff_data": 5,
|
||||
"lowpower_input_data": 4,
|
||||
"input_cutoff_data": 5
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "809b4800aa50eca5f89dcfede689dea8"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"price": 0.38,
|
||||
"site_co2": 0,
|
||||
"site_price_unit": "\u20ac"
|
||||
},
|
||||
"trace_id": "aafbf25dfbccbb7cdd676fba2a623151"
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"home_info": {
|
||||
"home_name": "Home",
|
||||
"home_img": "",
|
||||
"charging_power": "0.00",
|
||||
"power_unit": "W"
|
||||
},
|
||||
"solar_list": [],
|
||||
"pps_info": {
|
||||
"pps_list": [],
|
||||
"total_charging_power": "0.00",
|
||||
"power_unit": "W",
|
||||
"total_battery_power": "0.00",
|
||||
"updated_time": "",
|
||||
"pps_status": 0
|
||||
},
|
||||
"statistics": [
|
||||
{
|
||||
"type": "1",
|
||||
"total": "75.63",
|
||||
"unit": "kwh"
|
||||
},
|
||||
{
|
||||
"type": "2",
|
||||
"total": "75.41",
|
||||
"unit": "kg"
|
||||
},
|
||||
{
|
||||
"type": "3",
|
||||
"total": "28.74",
|
||||
"unit": "\u20ac"
|
||||
}
|
||||
],
|
||||
"topology_type": "1",
|
||||
"solarbank_info": {
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "56",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "0",
|
||||
"power_unit": "W",
|
||||
"charging_status": "3",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "267",
|
||||
"output_power": "0",
|
||||
"create_time": 1695394124,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"total_charging_power": "267",
|
||||
"power_unit": "W",
|
||||
"charging_status": "0",
|
||||
"total_battery_power": "0.56",
|
||||
"updated_time": "2024-02-22 14:42:12",
|
||||
"total_photovoltaic_power": "267",
|
||||
"total_output_power": "0.00",
|
||||
"display_set_power": false
|
||||
},
|
||||
"retain_load": "0W",
|
||||
"updated_time": "01-01-0001 00:00:00",
|
||||
"power_site_type": 2,
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "6ebdaaae952e62bba128dfffb4f2c86d"
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_info": {
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"site_name": "Anker Solix E1600",
|
||||
"site_img": "",
|
||||
"device_type_list": null,
|
||||
"ms_type": 0,
|
||||
"power_site_type": 0,
|
||||
"is_allow_delete": false
|
||||
},
|
||||
"solar_list": [],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "",
|
||||
"wireless_type": "",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
],
|
||||
"powerpanel_list": []
|
||||
},
|
||||
"trace_id": "f70bffa4fbd02ca1f9e13c88b5f1af90"
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"site_list": [
|
||||
{
|
||||
"site_id": "5c345692-b73f-8ce8-a9fd-b7928c5fa51d",
|
||||
"site_name": "Anker Solix E1600",
|
||||
"site_img": "",
|
||||
"device_type_list": [
|
||||
3
|
||||
],
|
||||
"ms_type": 1,
|
||||
"power_site_type": 2,
|
||||
"is_allow_delete": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "10cdf7797cbb2e7c17b3bdd5306dfb2f"
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"brand_id": "227fb692-1e9e-439f-aadb-40c9144f6996",
|
||||
"solar_brand": "Deye",
|
||||
"solar_model": "SUN600G3-EU-230",
|
||||
"solar_sn": "",
|
||||
"solar_model_name": "SUN600G3-EU-230"
|
||||
},
|
||||
"trace_id": "e8c19e9df57ed9b2c95de3d38acd9bc0"
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"solar_list": [],
|
||||
"pps_list": [],
|
||||
"solarbank_list": [
|
||||
{
|
||||
"device_pn": "A17C0",
|
||||
"device_sn": "SE0QPSV3WXDDXN8G",
|
||||
"device_name": "Solarbank E1600",
|
||||
"device_img": "https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/anker-power/e9478c2d-e665-4d84-95d7-dd4844f82055/20230719-144818.png",
|
||||
"battery_power": "",
|
||||
"bind_site_status": "1",
|
||||
"charging_power": "",
|
||||
"power_unit": "",
|
||||
"charging_status": "",
|
||||
"status": "1",
|
||||
"wireless_type": "1",
|
||||
"main_version": "",
|
||||
"photovoltaic_power": "",
|
||||
"output_power": "",
|
||||
"create_time": 0,
|
||||
"set_load_power": ""
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "f22ddac5d4803fb09939e1f7be2dd6bb"
|
||||
}
|
|
@ -1,13 +0,0 @@
|
|||
{
|
||||
"code": 0,
|
||||
"msg": "success!",
|
||||
"data": {
|
||||
"wifi_info_list": [
|
||||
{
|
||||
"wifi_name": "wifi-network-1",
|
||||
"wifi_signal": "36"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trace_id": "f378d2627ad09a3b25c87cbd497cb5e7"
|
||||
}
|
|
@ -15,7 +15,7 @@ dedicated data extraction from the devices.
|
|||
Optionally the API class can use the json files for debugging and testing on
|
||||
various system outputs.
|
||||
|
||||
"""
|
||||
""" # noqa: D205
|
||||
# pylint: disable=duplicate-code
|
||||
|
||||
import asyncio
|
||||
|
@ -29,9 +29,8 @@ import time
|
|||
|
||||
from aiohttp import ClientSession
|
||||
from aiohttp.client_exceptions import ClientError
|
||||
|
||||
import common
|
||||
from api import api, errors
|
||||
import common
|
||||
|
||||
_LOGGER: logging.Logger = logging.getLogger(__name__)
|
||||
_LOGGER.addHandler(logging.StreamHandler(sys.stdout))
|
||||
|
@ -90,6 +89,14 @@ def randomize(val, key: str = "") -> str:
|
|||
elif "wifi_name" in key:
|
||||
idx = sum(1 for s in RANDOMDATA.values() if "wifi-network-" in s)
|
||||
randomstr = f"wifi-network-{idx+1}"
|
||||
elif key in ["home_load_data", "param_data"]:
|
||||
# these keys may contain schedule dict encoded as string, ensure contained serials are replaced in string
|
||||
# replace all mappings from randomdata, but skip trace ids
|
||||
randomstr = val
|
||||
for k, v in ((old,new) for old,new in RANDOMDATA.items() if len(old) != 32):
|
||||
randomstr = randomstr.replace(k,v)
|
||||
# leave without saving randomized string in RANDOMDATA
|
||||
return randomstr
|
||||
else:
|
||||
# default randomize format
|
||||
randomstr = "".join(random.choices(string.ascii_letters, k=len(val)))
|
||||
|
@ -108,13 +115,13 @@ def check_keys(data):
|
|||
v = [check_keys(i) for i in v]
|
||||
# Randomize value for certain keys
|
||||
if any(
|
||||
x in k for x in ["_sn", "site_id", "trace_id", "bt_ble_", "wifi_name"]
|
||||
x in k for x in ["_sn", "site_id", "trace_id", "bt_ble_", "wifi_name", "home_load_data", "param_data"]
|
||||
) or k in ["sn"]:
|
||||
data[k] = randomize(v, k)
|
||||
return data
|
||||
|
||||
|
||||
def export(filename: str, d: dict = None, randomkeys: bool = False) -> None:
|
||||
def export(filename: str, d: dict = None, skip_randomize: bool = False, randomkeys: bool = False) -> None:
|
||||
"""Save dict data to given file."""
|
||||
if not d:
|
||||
d = {}
|
||||
|
@ -122,12 +129,22 @@ def export(filename: str, d: dict = None, randomkeys: bool = False) -> None:
|
|||
if len(d) == 0:
|
||||
CONSOLE.info("WARNING: File %s not saved because JSON is empty", filename)
|
||||
return
|
||||
if RANDOMIZE:
|
||||
if RANDOMIZE and not skip_randomize:
|
||||
d = check_keys(d)
|
||||
# Randomize also the keys for the api dictionary export
|
||||
# Randomize also the (nested) keys for dictionary export if required
|
||||
if randomkeys:
|
||||
d_copy = d.copy()
|
||||
for key in list(d):
|
||||
for key, val in d.items():
|
||||
# check first nested keys in dict values
|
||||
for nested_key, nested_val in dict(val).items():
|
||||
if isinstance(nested_val, dict):
|
||||
for k in [text for text in nested_val if isinstance(text,str)]:
|
||||
# check nested dict keys
|
||||
if k in RANDOMDATA:
|
||||
d_copy[key][nested_key][RANDOMDATA[k]] = d_copy[key][
|
||||
nested_key
|
||||
].pop(k)
|
||||
# check root keys
|
||||
if key in RANDOMDATA:
|
||||
d_copy[RANDOMDATA[key]] = d_copy.pop(key)
|
||||
d = d_copy
|
||||
|
@ -141,9 +158,7 @@ def export(filename: str, d: dict = None, randomkeys: bool = False) -> None:
|
|||
return
|
||||
|
||||
|
||||
async def main() -> (
|
||||
bool
|
||||
): # noqa: C901 # pylint: disable=too-many-branches,too-many-statements
|
||||
async def main() -> bool: # noqa: C901 # pylint: disable=too-many-branches,too-many-statements
|
||||
"""Run main function to export config."""
|
||||
global RANDOMIZE # noqa: PLW0603, W0603 # pylint: disable=global-statement
|
||||
CONSOLE.info("Exporting found Anker Solix system data for all assigned sites:")
|
||||
|
@ -181,7 +196,8 @@ async def main() -> (
|
|||
# first update sites and devices in API object
|
||||
CONSOLE.info("\nQuerying site information...")
|
||||
await myapi.update_sites()
|
||||
await myapi.update_device_details()
|
||||
# Skip device detail queries, the defined serials are provided with the sites update
|
||||
#await myapi.update_device_details()
|
||||
CONSOLE.info("Sites: %s, Devices: %s", len(myapi.sites), len(myapi.devices))
|
||||
_LOGGER.debug(json.dumps(myapi.devices, indent=2))
|
||||
|
||||
|
@ -382,18 +398,25 @@ async def main() -> (
|
|||
except (ClientError, errors.AnkerSolixError):
|
||||
if not admin:
|
||||
CONSOLE.warning("Query requires account of site owner!")
|
||||
CONSOLE.info("\nExporting Api Sites overview...")
|
||||
export(
|
||||
os.path.join(folder, "api_sites.json"),
|
||||
myapi.sites,
|
||||
randomkeys=RANDOMIZE,
|
||||
)
|
||||
CONSOLE.info("Exporting Api Devices overview...")
|
||||
export(
|
||||
os.path.join(folder, "api_devices.json"),
|
||||
myapi.devices,
|
||||
randomkeys=RANDOMIZE,
|
||||
)
|
||||
|
||||
# update the api dictionaries from exported files to use randomized input data
|
||||
# this is more efficient and allows validation of randomized data in export files
|
||||
myapi.testDir(folder)
|
||||
await myapi.update_sites(fromFile=True)
|
||||
await myapi.update_device_details(fromFile=True)
|
||||
# avoid randomizing dictionary export twice when imported from randomized files already
|
||||
CONSOLE.info("\nExporting Api Sites overview...")
|
||||
export(
|
||||
os.path.join(folder, "api_sites.json"),
|
||||
myapi.sites,
|
||||
skip_randomize=True,
|
||||
)
|
||||
CONSOLE.info("Exporting Api Devices overview...")
|
||||
export(
|
||||
os.path.join(folder, "api_devices.json"),
|
||||
myapi.devices,
|
||||
skip_randomize=True,
|
||||
)
|
||||
|
||||
CONSOLE.info(
|
||||
"\nCompleted export of Anker Solix system data for user %s", user
|
||||
|
|
|
@ -113,7 +113,8 @@ async def main() -> ( # noqa: C901 # pylint: disable=too-many-locals,too-many-b
|
|||
next_refr = now
|
||||
next_dev_refr = now
|
||||
col1 = 15
|
||||
col2 = 20
|
||||
col2 = 23
|
||||
col3 = 14
|
||||
t1 = 2
|
||||
t2 = 5
|
||||
t3 = 5
|
||||
|
@ -148,56 +149,57 @@ async def main() -> ( # noqa: C901 # pylint: disable=too-many-locals,too-many-b
|
|||
devtype = dev.get("type", "Unknown")
|
||||
admin = dev.get("is_admin", False)
|
||||
CONSOLE.info(
|
||||
f"{'Device':<{col1}}: {(dev.get('name','NoName')):<{col2}} (Alias: {dev.get('alias','Unknown')})"
|
||||
f"{'Device':<{col1}}: {(dev.get('name','NoName')):<{col2}} {'Alias':<{col3}}: {dev.get('alias','Unknown')}"
|
||||
)
|
||||
CONSOLE.info(
|
||||
f"{'SN':<{col1}}: {sn:<{col2}} (Admin: {'YES' if admin else 'NO'})"
|
||||
f"{'Serialnumber':<{col1}}: {sn:<{col2}} {'Admin':<{col3}}: {'YES' if admin else 'NO'}"
|
||||
)
|
||||
siteid = dev.get("site_id", "")
|
||||
CONSOLE.info(f"{'Site ID':<{col1}}: {siteid}")
|
||||
for fsn, fitting in dev.get('fittings',{}).items():
|
||||
CONSOLE.info(
|
||||
f"{'Fitting':<{col1}}: {fitting.get('device_name',''):<{col2}} {'Serialnumber':<{col3}}: {fsn}"
|
||||
)
|
||||
CONSOLE.info(
|
||||
f"{'PN':<{col1}}: {dev.get('device_pn',''):<{col2}} (Type: {devtype.capitalize()})"
|
||||
f"{'Wifi SSID':<{col1}}: {dev.get('wifi_name',''):<{col2}}"
|
||||
)
|
||||
online = dev.get("wifi_online")
|
||||
CONSOLE.info(
|
||||
f"{'Wifi state':<{col1}}: {('Unknown' if online is None else 'Online' if online else 'Offline'):<{col2}} {'Signal':<{col3}}: {dev.get('wifi_signal','---'):>4} %"
|
||||
)
|
||||
if devtype == "solarbank":
|
||||
siteid = dev.get("site_id", "")
|
||||
CONSOLE.info(f"{'Site ID':<{col1}}: {siteid}")
|
||||
CONSOLE.info(
|
||||
f"{'Wifi SSID':<{col1}}: {dev.get('wifi_name',''):<{col2}}"
|
||||
)
|
||||
online = dev.get("wifi_online")
|
||||
CONSOLE.info(
|
||||
f"{'Wifi state':<{col1}}: {('Unknown' if online is None else 'Online' if online else 'Offline'):<{col2}} (Signal: {dev.get('wifi_signal','---')} %)"
|
||||
)
|
||||
upgrade = dev.get("auto_upgrade")
|
||||
CONSOLE.info(
|
||||
f"{'SW Version':<{col1}}: {dev.get('sw_version','Unknown'):<{col2}} (Auto-Upgrade: {'Unknown' if upgrade is None else 'Enabled' if upgrade else 'Disabled'})"
|
||||
)
|
||||
soc = f"{dev.get('battery_soc','---'):>3} %"
|
||||
CONSOLE.info(
|
||||
f"{'Status':<{col1}}: {dev.get('status_desc','Unknown'):<{col2}} (Status code: {str(dev.get('status','-'))})"
|
||||
f"{'SW Version':<{col1}}: {dev.get('sw_version','Unknown'):<{col2}} {'Auto-Upgrade':<{col3}}: {'Unknown' if upgrade is None else 'Enabled' if upgrade else 'Disabled'}"
|
||||
)
|
||||
CONSOLE.info(
|
||||
f"{'Charge Status':<{col1}}: {dev.get('charging_status_desc','Unknown'):<{col2}} (Status code: {str(dev.get('charging_status','-'))})"
|
||||
f"{'Status':<{col1}}: {dev.get('status_desc','Unknown'):<{col2}} {'Status code':<{col3}}: {str(dev.get('status','-'))}"
|
||||
)
|
||||
CONSOLE.info(
|
||||
f"{'State Of Charge':<{col1}}: {soc:<{col2}} (Min SOC: {str(dev.get('power_cutoff','--'))+' %'})"
|
||||
f"{'Charge Status':<{col1}}: {dev.get('charging_status_desc','Unknown'):<{col2}} {'Status code':<{col3}}: {str(dev.get('charging_status','-'))}"
|
||||
)
|
||||
soc = f"{dev.get('battery_soc','---'):>4} %"
|
||||
CONSOLE.info(
|
||||
f"{'State Of Charge':<{col1}}: {soc:<{col2}} {'Min SOC':<{col3}}: {str(dev.get('power_cutoff','--')):>4} %"
|
||||
)
|
||||
energy = f"{dev.get('battery_energy','----'):>4} Wh"
|
||||
CONSOLE.info(
|
||||
f"{'Battery Energy':<{col1}}: {energy:<{col2}} {'Capacity':<{col3}}: {str(dev.get('battery_capacity','----')):>4} Wh"
|
||||
)
|
||||
unit = dev.get("power_unit", "W")
|
||||
CONSOLE.info(
|
||||
f"{'Solar Power':<{col1}}: {dev.get('input_power',''):>3} {unit:<{col2-4}} Charge Power: {dev.get('charging_power',''):>3} {unit}"
|
||||
f"{'Solar Power':<{col1}}: {dev.get('input_power',''):>4} {unit:<{col2-5}} {'Output Power':<{col3}}: {dev.get('output_power',''):>4} {unit}"
|
||||
)
|
||||
preset = dev.get("set_output_power") or "---"
|
||||
site_preset = dev.get("set_system_output_power") or "---"
|
||||
CONSOLE.info(
|
||||
f"{'Output Power':<{col1}}: {dev.get('output_power',''):>3} {unit:<{col2-4}} (Output Preset: {preset:>3} {unit})"
|
||||
f"{'Charge Power':<{col1}}: {dev.get('charging_power',''):>4} {unit:<{col2-5}} {'Device Preset':<{col3}}: {preset:>4} {unit}"
|
||||
)
|
||||
# update schedule with device details refresh and print it
|
||||
if admin:
|
||||
# Schedule is now included in the device details
|
||||
# if not schedules.get(sn) and siteid:
|
||||
# schedules.update({sn: await myapi.get_device_load(siteId=siteid,deviceSn=sn,fromFile=use_file)})
|
||||
# data = schedules.get(sn,{})
|
||||
data = dev.get("schedule", {})
|
||||
CONSOLE.info(
|
||||
f"{'Schedule':<{col1}}: {now.strftime('%H:%M UTC %z'):<{col2}} (Current Preset: {str(site_preset).replace('W','')} W)"
|
||||
f"{'Schedule':<{col1}}: {now.strftime('%H:%M UTC %z'):<{col2}} {'System Preset':<{col3}}: {str(site_preset).replace('W',''):>4} W"
|
||||
)
|
||||
CONSOLE.info(
|
||||
f"{'ID':<{t1}} {'Start':<{t2}} {'End':<{t3}} {'Discharge':<{t4}} {'Output':<{t5}} {'ChargePrio':<{t6}}"
|
||||
|
@ -211,21 +213,12 @@ async def main() -> ( # noqa: C901 # pylint: disable=too-many-locals,too-many-b
|
|||
f"{str(slot.get('id','')):>{t1}} {slot.get('start_time',''):<{t2}} {slot.get('end_time',''):<{t3}} {('---' if enabled is None else 'YES' if enabled else 'NO'):^{t4}} {str(load.get('power',''))+' W':>{t5}} {str(slot.get('charge_priority',''))+' %':>{t6}}"
|
||||
)
|
||||
elif devtype == "inverter":
|
||||
siteid = dev.get("site_id", "")
|
||||
CONSOLE.info(f"{'Site ID':<{col1}}: {siteid}")
|
||||
CONSOLE.info(
|
||||
f"{'Wifi SSID':<{col1}}: {dev.get('wifi_name',''):<{col2}}"
|
||||
)
|
||||
online = dev.get("wifi_online")
|
||||
CONSOLE.info(
|
||||
f"{'Wifi state':<{col1}}: {('Unknown' if online is None else 'Online' if online else 'Offline'):<{col2}} (Signal: {dev.get('wifi_signal','---')} %)"
|
||||
)
|
||||
upgrade = dev.get("auto_upgrade")
|
||||
CONSOLE.info(
|
||||
f"{'SW Version':<{col1}}: {dev.get('sw_version','Unknown'):<{col2}} (Auto-Upgrade: {'Unknown' if upgrade is None else 'Enabled' if upgrade else 'Disabled'})"
|
||||
f"{'SW Version':<{col1}}: {dev.get('sw_version','Unknown'):<{col2}} {'Auto-Upgrade':<{col3}}: {'Unknown' if upgrade is None else 'Enabled' if upgrade else 'Disabled'}"
|
||||
)
|
||||
CONSOLE.info(
|
||||
f"{'Status':<{col1}}: {dev.get('status_desc','Unknown'):<{col2}} (Status code: {str(dev.get('status','-'))})"
|
||||
f"{'Status':<{col1}}: {dev.get('status_desc','Unknown'):<{col2}} {'Status code':<{col3}}: {str(dev.get('status','-'))}"
|
||||
)
|
||||
unit = dev.get("power_unit", "W")
|
||||
CONSOLE.info(
|
||||
|
|
Loading…
Reference in New Issue