This article is the open api document of Fox ESS Cloud Platform. Before using this api, please go to the api management of the cloud platform personal center to generate your api-key.
Please make sure to keep your API key safe to avoid any unauthorized access. If it gets lost or leaked, you can go to the personal center to get a new one, and the old key will no longer be valid.
The open API is designed in RESTful style, and the returned data are all in json format, and the encoding format is utf-8.
If you use script calling, be sure to modify your User-Agent.
Updated date | Version | Update content |
---|---|---|
2023/11/30 | V1.0.1 | The real-time data and historical data interfaces add the sn parameter of the device that can be specified. |
2023/12/18 | V1.0.2 | Added an interface for obtaining variable names. The real-time data and historical data interfaces cancel the limit on the number of variables, and can obtain all variable data by default without passing variables. |
2024/01/12 | V1.0.3 | Added inverter power generation, inverter reports, inverter battery SOC settings, inverter battery strong charging time settings, inverter list, inverter details, collector list, power station list, power station details interface |
Params | Required or not | Example | Parameter Description |
---|---|---|---|
token | Yes | The api-key generated by the API management function in the platform personal center | |
timestamp | Yes | Current timestamp milliseconds | |
signature | Yes | Encrypt the string url+"\r\n"+token+"\r\n"+timestamp with md5 | |
lang | Yes | en | langurage |
This limit is calculated based on various factors such as server performance, and the Company reserves the right of final interpretation
40256 The request header parameters are missing. Please check whether the request headers are consistent with the document requirements.
40257 The request body parameters are invalid. Please check whether the request body is consistent with the document requirements.
40400 The number of requests is too frequent. Please reduce the frequency of access.
import json
import time
import urllib3
import requests
import hashlib
import os
from json import JSONDecodeError
"""debug mode"""
debug = False
"""request interval (second)"""
sleep_time = 0
"""domain name, do not modify it unless necessary"""
domain = 'https://www.foxesscloud.com'
"""your key"""
key = ''
class GetAuth:
def get_signature(self, token, path, lang='en'):
"""
This function is used to generate a signature consisting of URL, token, and timestamp, and return a dictionary containing the signature and other information.
:param token: your key
:param path: your request path
:param lang: language, default is English.
:return: with authentication header
"""
timestamp = round(time.time() * 1000)
signature = fr'{path}\r\n{token}\r\n{timestamp}'
result = {
'token': token,
'lang': lang,
'timestamp': str(timestamp),
'signature': self.md5c(text=signature),
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/117.0.0.0 Safari/537.36'
}
return result
@staticmethod
def md5c(text="", _type="lower"):
res = hashlib.md5(text.encode(encoding='UTF-8')).hexdigest()
if _type.__eq__("lower"):
return res
else:
return res.upper()
def save_response_data(response, filename):
"""Create the 'data' directory if it doesn't exist"""
os.makedirs('data', exist_ok=True)
"""Concatenate the directory path and filename to create the full file path"""
file_path = os.path.join('data', filename)
"""Get the current timestamp"""
timestamp = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
"""Check if the status code is 200"""
if response.status_code == 200:
"""Save the response data and timestamp to a dictionary"""
try:
response_json = response.json()
except JSONDecodeError:
response_json = response.text
data = {
'response': response_json,
'timestamp': timestamp
}
"""Write the dictionary as JSON to the file"""
with open(file_path, 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False, indent=4)
else:
"""Save the status code, response text, and timestamp to a dictionary"""
data = {
'status_code': response.status_code,
'response_text': response.text,
'timestamp': timestamp
}
"""Write the dictionary as JSON to the file"""
with open(file_path, 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False, indent=4)
print(f'{timestamp}: [{filename}] successfully saved')
urllib3.disable_warnings()
def fr_requests(method, path, param=None):
url = domain + path
headers = GetAuth().get_signature(token=key, path=path)
time.sleep(sleep_time)
if method == 'get':
response = requests.get(url=url, params=param, headers=headers, verify=False)
elif method == 'post':
response = requests.post(url=url, json=param, headers=headers, verify=False)
else:
raise Exception('request method error')
if debug:
result = {'url': url, 'method': method, 'param': param, 'headers': headers, 'response': response.text}
print(json.dumps(result, indent=1))
print('-------------------------' * 5)
return response
class Plant:
@staticmethod
def plant_list():
path = '/op/v0/plant/list'
request_param = {'currentPage': 1, 'pageSize': 10}
response = fr_requests('post', path, request_param)
save_response_data(response, 'plant_list_response.json')
return response
@staticmethod
def plant_detail():
path = '/op/v0/plant/detail'
request_param = {'id': 'abc'}
response = fr_requests('get', path, request_param)
save_response_data(response, 'plant_detail_response.json')
return response
class Device:
@staticmethod
def device_list():
path = '/op/v0/device/list'
request_param = {'currentPage': 1, 'pageSize': 500}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_list_response.json')
return response
@staticmethod
def device_detail():
path = '/op/v0/device/detail'
request_param = {'sn': 'sn'}
response = fr_requests('get', path, request_param)
save_response_data(response, 'device_detail_response.json')
return response
@staticmethod
def variable_get():
path = '/op/v0/device/variable/get'
response = fr_requests('get', path)
save_response_data(response, 'device_variable_get_response.json')
return response
@staticmethod
def real_query():
path = '/op/v0/device/real/query'
request_param = {'sn': 'sn', 'variables': []}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_real_query_response.json')
return response
@staticmethod
def history_query():
path = '/op/v0/device/history/query'
"""get the current millisecond level timestamp"""
end_time = int(time.time() * 1000)
"""timestamp 24 hours ago"""
begin_time = end_time - 3600000
request_param = {'sn': 'sn', 'variables': [], 'begin': begin_time, 'end': end_time}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_history_query_response.json')
return response
@staticmethod
def report_query():
path = '/op/v0/device/report/query'
request_param = {"sn": "sn",
"year": 2024, "month": 1, 'day': 17, "dimension": "day",
"variables": ["generation", "feedin", "gridConsumption",
"chargeEnergyToTal", "dischargeEnergyToTal"]}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_report_query_response.json')
return response
@staticmethod
def device_generation():
path = '/op/v0/device/generation'
request_param = {'sn': 'sn'}
response = fr_requests('get', path, request_param)
save_response_data(response, 'device_generation_response.json')
return response
@staticmethod
def device_bat_soc_get():
path = '/op/v0/device/battery/soc/get'
request_param = {'sn': 'sn'}
response = fr_requests('get', path, request_param)
save_response_data(response, 'device_bat_soc_get_response.json')
return response
@staticmethod
def device_bat_soc_set():
path = '/op/v0/device/battery/soc/set'
request_param = {'sn': 'sn', 'minSoc': 10, 'minSocOnGrid': 10}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_bat_soc_set_response.json')
return response
@staticmethod
def device_bat_force_charge_time_get():
path = '/op/v0/device/battery/forceChargeTime/get'
request_param = {'sn': 'sn'}
response = fr_requests('get', path, request_param)
save_response_data(response, 'device_bat_force_charge_time_get_response.json')
return response
@staticmethod
def device_bat_force_charge_time_set():
path = '/op/v0/device/battery/forceChargeTime/set'
request_param = {"sn": "sn", "enable1": True, "enable2": False,
"startTime1": {"hour": 12, "minute": 0}, "endTime1": {"hour": 14, "minute": 56},
"startTime2": {"hour": 2, "minute": 0}, "endTime2": {"hour": 4, "minute": 0}}
"""
request_param = {"sn": "sn", "enable1": False, "enable2": False,
"startTime1": {"hour": 11, "minute": 1}, "endTime1": {"hour": 15, "minute": 57},
"startTime2": {"hour": 3, "minute": 1}, "endTime2": {"hour": 5, "minute": 1}}
"""
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_bat_force_charge_time_set_response.json')
return response
@staticmethod
def device_scheduler_get_flag():
path = '/op/v0/device/scheduler/get/flag'
request_param = {'deviceSN': 'sn'}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_scheduler_get_flag_response.json')
return response
@staticmethod
def device_scheduler_set_flag():
path = '/op/v0/device/scheduler/set'
request_param = {'deviceSN': 'sn', 'enable': 0}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_scheduler_set_flag_response.json')
return response
@staticmethod
def device_scheduler_get():
path = '/op/v0/device/scheduler/get'
request_param = {'deviceSN': 'sn'}
response = fr_requests('post', path, request_param)
save_response_data(response, 'device_scheduler_get_response.json')
return response
@staticmethod
def device_scheduler_enable():
path = '/op/v0/device/scheduler/enable'
request_param1 = {"deviceSN": "sn",
"groups": [{"enable": 1, "startHour": 0, "startMinute": 0, "endHour": 1, "endMinute": 59,
"workMode": "SelfUse", "minSocOnGrid": 11, "fdSoc": 12, "fdPwr": 5001},
{"enable": 1, "startHour": 2, "startMinute": 1, "endHour": 3, "endMinute": 0,
"workMode": "SelfUse", "minSocOnGrid": 21, "fdSoc": 22, "fdPwr": 5002},
{"enable": 1, "startHour": 3, "startMinute": 1, "endHour": 3, "endMinute": 58,
"workMode": "Feedin", "minSocOnGrid": 31, "fdSoc": 32, "fdPwr": 5003},
{"enable": 1, "startHour": 4, "startMinute": 1, "endHour": 4, "endMinute": 58,
"workMode": "Backup", "minSocOnGrid": 41, "fdSoc": 42, "fdPwr": 5004},
{"enable": 1, "startHour": 5, "startMinute": 1, "endHour": 5, "endMinute": 58,
"workMode": "ForceCharge", "minSocOnGrid": 51, "fdSoc": 52, "fdPwr": 5005},
{"enable": 1, "startHour": 6, "startMinute": 1, "endHour": 6, "endMinute": 58,
"workMode": "ForceDischarge", "minSocOnGrid": 61, "fdSoc": 62, "fdPwr": 5006},
{"enable": 1, "startHour": 7, "startMinute": 0, "endHour": 7, "endMinute": 59,
"workMode": "ForceDischarge", "minSocOnGrid": 71, "fdSoc": 72, "fdPwr": 0},
{"enable": 1, "startHour": 8, "startMinute": 0, "endHour": 23, "endMinute": 59,
"workMode": "ForceDischarge", "minSocOnGrid": 81, "fdSoc": 82, "fdPwr": 6000}]}
request_param2 = {"deviceSN": "sn",
"groups": [{"enable": 0, "startHour": 0, "startMinute": 0, "endHour": 0, "endMinute": 1,
"workMode": "ForceCharge", "minSocOnGrid": 10, "fdSoc": 0, "fdPwr": 0},
{"enable": 0, "startHour": 3, "startMinute": 2, "endHour": 4, "endMinute": 1,
"workMode": "ForceCharge", "minSocOnGrid": 22, "fdSoc": 23, "fdPwr": 5003},
{"enable": 0, "startHour": 4, "startMinute": 2, "endHour": 4, "endMinute": 59,
"workMode": "Backup", "minSocOnGrid": 32, "fdSoc": 32, "fdPwr": 5004},
{"enable": 0, "startHour": 5, "startMinute": 2, "endHour": 5, "endMinute": 59,
"workMode": "Feedin", "minSocOnGrid": 42, "fdSoc": 42, "fdPwr": 5005},
{"enable": 0, "startHour": 6, "startMinute": 2, "endHour": 6, "endMinute": 59,
"workMode": "SelfUse", "minSocOnGrid": 52, "fdSoc": 52, "fdPwr": 5006},
{"enable": 0, "startHour": 7, "startMinute": 1, "endHour": 7, "endMinute": 59,
"workMode": "SelfUse", "minSocOnGrid": 62, "fdSoc": 62, "fdPwr": 5007},
{"enable": 0, "startHour": 8, "startMinute": 1, "endHour": 8, "endMinute": 3,
"workMode": "SelfUse", "minSocOnGrid": 72, "fdSoc": 72, "fdPwr": 0},
{"enable": 0, "startHour": 22, "startMinute": 59, "endHour": 23, "endMinute": 59,
"workMode": "SelfUse", "minSocOnGrid": 100, "fdSoc": 100, "fdPwr": 6000}]}
response = fr_requests('post', path, request_param2)
save_response_data(response, 'device_scheduler_set_response.json')
return response
class Module:
@staticmethod
def module_list():
path = '/op/v0/module/list'
request_param = {'currentPage': 1, 'pageSize': 10}
response = fr_requests('post', path, request_param)
save_response_data(response, 'module_list_response.json')
return response
class User:
@staticmethod
def user_get_access_count():
path = '/op/v0/user/getAccessCount'
response = fr_requests('get', path)
save_response_data(response, 'user_get_access_count_response.json')
return response
if name == 'main':
plant = Plant()
"""
plant.plant_list()
plant.plant_detail()
"""
device = Device()
"""
device.device_list()
device.device_detail()
device.variable_get()
device.real_query()
device.history_query()
device.report_query()
device.device_generation()
device.device_bat_soc_set()
time.sleep(3)
device.device_bat_soc_get()
device.device_bat_force_charge_time_set()
time.sleep(3)
device.device_bat_force_charge_time_get()
device.device_scheduler_set_flag()
time.sleep(3)
device.device_scheduler_get_flag()
device.device_scheduler_enable()
time.sleep(3)
device.device_scheduler_get()
"""
module = Module()
"""
module.module_list()
"""
user = User()
"""
user.user_get_access_count()
"""
The table presented below offers a comprehensive overview of the variables that can be accessed through the API. It is important to note that the availability of these variables may differ depending on the specific device being utilized. Therefore, the variables listed in the table are subject to change based on the device in use.
data:
- todayYield:
name:
zh_CN: 今日发电量
en: Today’s power generation
pl: Dzisiejsza produkcja energii
fr: La production d’électricité d’aujourd’hui
pt: A geração de energia de hoje
de: Die heutige Stromerzeugung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pvPower:
name:
zh_CN: PV功率
en: PVPower
pl: Moc PV
fr: PV Puissance
pt: Potência PV
de: PV Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv1Volt:
name:
zh_CN: PV1电压
en: PV1Volt
pl: Napięcie PV1
fr: PV1 Tension
pt: Tensão PV1
de: PV1 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv1Current:
name:
zh_CN: PV1电流
en: PV1Current
pl: Prąd PV1
fr: PV1 Courant
pt: Corrente PV1
de: PV1 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv1Power:
name:
zh_CN: PV1功率
en: PV1Power
pl: Moc PV1
fr: PV1 Puissance
pt: Potência PV1
de: PV1 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv2Volt:
name:
zh_CN: PV2电压
en: PV2Volt
pl: Napięcie PV2
fr: PV2 Tension
pt: Tensão PV2
de: PV2 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv2Current:
name:
zh_CN: PV2电流
en: PV2Current
pl: Prąd PV2
fr: PV2 Courant
pt: Corrente PV2
de: PV2 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv2Power:
name:
zh_CN: PV2功率
en: PV2Power
pl: Moc PV2
fr: PV2 Puissance
pt: Potência PV2
de: PV2 Leistung
unit: kW
- pv3Volt:
name:
zh_CN: PV3电压
en: PV3Volt
pl: Napięcie PV3
fr: PV3 Tension
pt: Tensão PV3
de: PV3 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv3Current:
name:
zh_CN: PV3电流
en: PV3Current
pl: Prąd PV3
fr: PV3 Courant
pt: Corrente PV3
de: PV3 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv3Power:
name:
zh_CN: PV3功率
en: PV3Power
pl: Moc PV3
fr: PV3 Puissance
pt: Potência PV3
de: PV3 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv4Volt:
name:
zh_CN: PV4电压
en: PV4Volt
pl: Napięcie PV4
fr: PV4 Tension
pt: Tensão PV4
de: PV4 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv4Current:
name:
zh_CN: PV4电流
en: PV4Current
pl: Prąd PV4
fr: PV4 Courant
pt: Corrente PV4
de: PV4 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv4Power:
name:
zh_CN: PV4功率
en: PV4Power
pl: Moc PV4
fr: PV4 Puissance
pt: Potência PV4
de: PV4 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv5Volt:
name:
zh_CN: PV5电压
en: PV5Volt
pl: Napięcie PV5
fr: PV5 Tension
pt: Tensão PV5
de: PV5 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv5Current:
name:
zh_CN: PV5电流
en: PV5Current
pl: Prąd PV5
fr: PV5 Courant
pt: Corrente PV5
de: PV5 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv5Power:
name:
zh_CN: PV5功率
en: PV5Power
pl: Moc PV5
fr: PV5 Puissance
pt: Potência PV5
de: PV5 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv6Volt:
name:
zh_CN: PV6电压
en: PV6Volt
pl: Napięcie PV6
fr: PV6 Tension
pt: Tensão PV6
de: PV6 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv6Current:
name:
zh_CN: PV6电流
en: PV6Current
pl: Prąd PV6
fr: PV6 Courant
pt: Corrente PV6
de: PV6 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv6Power:
name:
zh_CN: PV6功率
en: PV6Power
pl: Moc PV6
fr: PV6 Puissance
pt: Potência PV6
de: PV6 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv7Volt:
name:
zh_CN: PV7电压
en: PV7Volt
pl: Napięcie PV7
fr: PV7 Tension
pt: Tensão PV7
de: PV7 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv7Current:
name:
zh_CN: PV7电流
en: PV7Current
pl: Prąd PV7
fr: PV7 Courant
pt: Corrente PV7
de: PV7 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv7Power:
name:
zh_CN: PV7功率
en: PV7Power
pl: Moc PV7
fr: PV7 Puissance
pt: Potência PV7
de: PV7 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv8Volt:
name:
zh_CN: PV8电压
en: PV8Volt
pl: Napięcie PV8
fr: PV8 Tension
pt: Tensão PV8
de: PV8 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv8Current:
name:
zh_CN: PV8电流
en: PV8Current
pl: Prąd PV8
fr: PV8 Courant
pt: Corrente PV8
de: PV8 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv8Power:
name:
zh_CN: PV8功率
en: PV8Power
pl: Moc PV8
fr: PV8 Puissance
pt: Potência PV8
de: PV8 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv9Volt:
name:
zh_CN: PV9电压
en: PV9Volt
pl: Napięcie PV9
fr: PV9 Tension
pt: Tensão PV9
de: PV9 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv9Current:
name:
zh_CN: PV9电流
en: PV9Current
pl: Prąd PV9
fr: PV9 Courant
pt: Corrente PV9
de: PV9 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv9Power:
name:
zh_CN: PV9功率
en: PV9Power
pl: Moc PV9
fr: PV9 Puissance
pt: Potência PV9
de: PV9 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv10Volt:
name:
zh_CN: PV10电压
en: PV10Volt
pl: Napięcie PV10
fr: PV10 Tension
pt: Tensão PV10
de: PV10 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv10Current:
name:
zh_CN: PV10电流
en: PV10Current
pl: Prąd PV10
fr: PV10 Courant
pt: Corrente PV10
de: PV10 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv10Power:
name:
zh_CN: PV10功率
en: PV10Power
pl: Moc PV10
fr: PV10 Puissance
pt: Potência PV10
de: PV10 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv11Volt:
name:
zh_CN: PV11电压
en: PV11Volt
pl: Napięcie PV11
fr: PV11 Tension
pt: Tensão PV11
de: PV11 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv11Current:
name:
zh_CN: PV11电流
en: PV11Current
pl: Prąd PV11
fr: PV11 Courant
pt: Corrente PV11
de: PV11 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv11Power:
name:
zh_CN: PV11功率
en: PV11Power
pl: Moc PV11
fr: PV11 Puissance
pt: Potência PV11
de: PV11 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv12Volt:
name:
zh_CN: PV12电压
en: PV12Volt
pl: Napięcie PV12
fr: PV12 Tension
pt: Tensão PV12
de: PV12 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv12Current:
name:
zh_CN: PV12电流
en: PV12Current
pl: Prąd PV12
fr: PV12 Courant
pt: Corrente PV12
de: PV12 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv12Power:
name:
zh_CN: PV12功率
en: PV12Power
pl: Moc PV12
fr: PV12 Puissance
pt: Potência PV12
de: PV12 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv13Volt:
name:
zh_CN: PV13电压
en: PV13Volt
pl: Napięcie PV13
fr: PV13 Tension
pt: Tensão PV13
de: PV13 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv13Current:
name:
zh_CN: PV13电流
en: PV13Current
pl: Prąd PV13
fr: PV13 Courant
pt: Corrente PV13
de: PV13 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv13Power:
name:
zh_CN: PV13功率
en: PV13Power
pl: Moc PV13
fr: PV13 Puissance
pt: Potência PV13
de: PV13 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv14Volt:
name:
zh_CN: PV14电压
en: PV14Volt
pl: Napięcie PV14
fr: PV14 Tension
pt: Tensão PV14
de: PV14 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv14Current:
name:
zh_CN: PV14电流
en: PV14Current
pl: Prąd PV14
fr: PV14 Courant
pt: Corrente PV14
de: PV14 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv14Power:
name:
zh_CN: PV14功率
en: PV14Power
pl: Moc PV14
fr: PV14 Puissance
pt: Potência PV14
de: PV14 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv15Volt:
name:
zh_CN: PV15电压
en: PV15Volt
pl: Napięcie PV15
fr: PV15 Tension
pt: Tensão PV15
de: PV15 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv15Current:
name:
zh_CN: PV15电流
en: PV15Current
pl: Prąd PV15
fr: PV15 Courant
pt: Corrente PV15
de: PV15 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv15Power:
name:
zh_CN: PV15功率
en: PV15Power
pl: Moc PV15
fr: PV15 Puissance
pt: Potência PV15
de: PV15 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv16Volt:
name:
zh_CN: PV16电压
en: PV16Volt
pl: Napięcie PV16
fr: PV16 Tension
pt: Tensão PV16
de: PV16 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv16Current:
name:
zh_CN: PV16电流
en: PV16Current
pl: Prąd PV16
fr: PV16 Courant
pt: Corrente PV16
de: PV16 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv16Power:
name:
zh_CN: PV16功率
en: PV16Power
pl: Moc PV16
fr: PV16 Puissance
pt: Potência PV16
de: PV16 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv17Volt:
name:
zh_CN: PV17电压
en: PV17Volt
pl: Napięcie PV17
fr: PV17 Tension
pt: Tensão PV17
de: PV17 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv17Current:
name:
zh_CN: PV17电流
en: PV17Current
pl: Prąd PV17
fr: PV17 Courant
pt: Corrente PV17
de: PV17 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv17Power:
name:
zh_CN: PV17功率
en: PV17Power
pl: Moc PV17
fr: PV17 Puissance
pt: Potência PV17
de: PV17 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- pv18Volt:
name:
zh_CN: PV18电压
en: PV18Volt
pl: Napięcie PV18
fr: PV18 Tension
pt: Tensão PV18
de: PV18 Spannung
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- pv18Current:
name:
zh_CN: PV18电流
en: PV18Current
pl: Prąd PV18
fr: PV18 Courant
pt: Corrente PV18
de: PV18 Strom
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- pv18Power:
name:
zh_CN: PV18功率
en: PV18Power
pl: Moc PV18
fr: PV18 Puissance
pt: Potência PV18
de: PV18 Leistung
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- epsPower:
name:
zh_CN: EPS功率
en: EPSPower
pl: EPSPower
fr: EPSPower
pt: EPSPower
de: EPSPower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- epsCurrentR:
name:
zh_CN: EPS-R相电流
en: EPS-RCurrent
pl: EPS-RCurrent
fr: EPS-RCurrent
pt: EPS-RCurrent
de: EPS-RCurrent
unit: A
Grid-tied inverter: false
Energy-storage inverter: true
- epsVoltR:
name:
zh_CN: EPS-R相电压
en: EPS-RVolt
pl: EPS-RVolt
fr: EPS-RVolt
pt: EPS-RVolt
de: EPS-RVolt
unit: V
Grid-tied inverter: false
Energy-storage inverter: true
- epsPowerR:
name:
zh_CN: EPS-R相功率
en: EPS-RPower
pl: EPS-RVolt
fr: EPS-RPower
pt: EPS-RPower
de: EPS-RPower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- epsCurrentS:
name:
zh_CN: EPS-S相电流
en: EPS-SCurrent
pl: EPS-SCurrent
fr: EPS-SCurrent
pt: EPS-SCurrent
de: EPS-SCurrent
unit: A
Grid-tied inverter: false
Energy-storage inverter: true
- epsVoltS:
name:
zh_CN: EPS-S相电压
en: EPS-SVolt
pl: EPS-SVolt
fr: EPS-SVolt
pt: EPS-SVolt
de: EPS-SVolt
unit: V
Grid-tied inverter: false
Energy-storage inverter: true
- epsPowerS:
name:
zh_CN: EPS-S相功率
en: EPS-SPower
pl: EPS-SPower
fr: EPS-SPower
pt: EPS-SPower
de: EPS-SPower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- epsCurrentT:
name:
zh_CN: EPS-T相电流
en: EPS-TCurrent
pl: EPS-TCurrent
fr: EPS-TCurrent
pt: EPS-TCurrent
de: EPS-TCurrent
unit: A
Grid-tied inverter: false
Energy-storage inverter: true
- epsVoltT:
name:
zh_CN: EPS-T相电压
en: EPS-TVolt
pl: EPS-TVolt
fr: EPS-TVolt
pt: EPS-TVolt
de: EPS-TVolt
unit: V
Grid-tied inverter: false
Energy-storage inverter: true
- epsPowerT:
name:
zh_CN: EPS-T相功率
en: EPS-TPower
pl: EPS-TPower
fr: EPS-TPower
pt: EPS-TPower
de: EPS-TPower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- RCurrent:
name:
zh_CN: R相电流
en: RCurrent
pl: RCurrent
fr: RCurrent
pt: RCurrent
de: RCurrent
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- RVolt:
name:
zh_CN: R相电压
en: RVolt
pl: RVolt
fr: RVolt
pt: RVolt
de: RVolt
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- RFreq:
name:
zh_CN: R相频率
en: RFreq
pl: RFreq
fr: RFreq
pt: RFreq
de: RFreq
unit: Hz
Grid-tied inverter: true
Energy-storage inverter: true
- RPower:
name:
zh_CN: R相功率
en: RPower
pl: RPower
fr: RPower
pt: RPower
de: RPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- SCurrent:
name:
zh_CN: S相电流
en: SCurrent
pl: SCurrent
fr: SCurrent
pt: SCurrent
de: SCurrent
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- SVolt:
name:
zh_CN: S相电压
en: SVolt
pl: SVolt
fr: SVolt
pt: SVolt
de: SVolt
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- SFreq:
name:
zh_CN: S相频率
en: SFreq
pl: SFreq
fr: SFreq
pt: SFreq
de: SFreq
unit: Hz
Grid-tied inverter: true
Energy-storage inverter: true
- SPower:
name:
zh_CN: S相功率
en: SPower
pl: SPower
fr: SPower
pt: SPower
de: SPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- TCurrent:
name:
zh_CN: T相电流
en: TCurrent
pl: TCurrent
fr: TCurrent
pt: TCurrent
de: TCurrent
unit: A
Grid-tied inverter: true
Energy-storage inverter: true
- TVolt:
name:
zh_CN: T相电压
en: TVolt
pl: TVolt
fr: TVolt
pt: TVolt
de: TVolt
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- TFreq:
name:
zh_CN: T相频率
en: TFreq
pl: TFreq
fr: TFreq
pt: TFreq
de: TFreq
unit: Hz
Grid-tied inverter: true
Energy-storage inverter: true
- TPower:
name:
zh_CN: T相功率
en: TPower
pl: TPower
fr: TPower
pt: TPower
de: TPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- ambientTemperation:
name:
zh_CN: 环境温度
en: AmbientTemperature
pl: AmbientTemperature
fr: AmbientTemperature
pt: AmbientTemperature
de: AmbientTemperature
unit: ℃
Grid-tied inverter: true
Energy-storage inverter: true
- boostTemperation:
name:
zh_CN: 充电器温度
en: BoostTemperature
pl: BoostTemperature
fr: BoostTemperature
pt: BoostTemperature
de: BoostTemperature
unit: ℃
Grid-tied inverter: true
Energy-storage inverter: true
- invTemperation:
name:
zh_CN: 逆变器温度
en: InvTemperation
pl: InvTemperation
fr: InvTemperation
pt: InvTemperation
de: InvTemperation
unit: ℃
Grid-tied inverter: true
Energy-storage inverter: true
- chargeTemperature:
name:
zh_CN: 充电温度
en: ChargeTemperature
pl: ChargeTemperature
fr: ChargeTemperature
pt: ChargeTemperature
de: ChargeTemperature
unit: ℃
Grid-tied inverter: true
Energy-storage inverter: true
- batTemperature:
name:
zh_CN: 电池温度
en: batTemperature
pl: batTemperature
fr: batTemperature
pt: batTemperature
de: batTemperature
unit: ℃
Grid-tied inverter: false
Energy-storage inverter: true
- dspTemperature:
name:
zh_CN: DSP温度
en: DSPTemperature
pl: DSPTemperature
fr: DSPTemperature
pt: DSPTemperature
de: DSPTemperature
unit: ℃
Grid-tied inverter: true
Energy-storage inverter: true
- loadsPower:
name:
zh_CN: 负载功率
en: Load Power
pl: LoadsPower
fr: LoadsPower
pt: LoadsPower
de: LoadsPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- loadsPowerR:
name:
zh_CN: 负载R相功率
en: LoadsRPower
pl: LoadsRPower
fr: LoadsRPower
pt: LoadsRPower
de: LoadsRPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- loadsPowerS:
name:
zh_CN: 负载S相功率
en: LoadsSPower
pl: LoadsSPower
fr: LoadsSPower
pt: LoadsSPower
de: LoadsSPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- loadsPowerT:
name:
zh_CN: 负载T相功率
en: LoadsTPower
pl: LoadsTPower
fr: LoadsTPower
pt: LoadsTPower
de: LoadsTPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- generationPower:
name:
zh_CN: 发电功率
en: Output Power
pl: GenerationPower
fr: GenerationPower
pt: GenerationPower
de: GenerationPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- feedinPower:
name:
zh_CN: 并网功率
en: Feed-in Power
pl: FeedinPower
fr: FeedinPower
pt: FeedinPower
de: FeedinPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- gridConsumptionPower:
name:
zh_CN: 电网损耗功率
en: GridConsumption Power
pl: GridConsumptionPower
fr: GridConsumptionPower
pt: GridConsumptionPower
de: GridConsumptionPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- invBatVolt:
name:
zh_CN: 逆变侧电池电压
en: InvBatVolt
pl: InvBatVolt
fr: InvBatVolt
pt: InvBatVolt
de: InvBatVolt
unit: V
Grid-tied inverter: true
Energy-storage inverter: true
- invBatCurrent:
name:
zh_CN: 逆变侧电池电流
en: InvBatCurrent
pl: InvBatCurrent
fr: InvBatCurrent
pt: InvBatCurrent
de: InvBatCurrent
unit: A
Grid-tied inverter: false
Energy-storage inverter: true
- invBatPower:
name:
zh_CN: 逆变侧电池功率
en: invBatPower
pl: invBatPower
fr: invBatPower
pt: invBatPower
de: invBatPower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- batChargePower:
name:
zh_CN: 电池充电功率
en: Charge Power
pl: BatChargePower
fr: BatChargePower
pt: BatChargePower
de: BatChargePower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- batDischargePower:
name:
zh_CN: 电池放电功率
en: Discharge Power
pl: BatDischargePower
fr: BatDischargePower
pt: BatDischargePower
de: BatDischargePower
unit: kW
Grid-tied inverter: false
Energy-storage inverter: true
- batVolt:
name:
zh_CN: 电池电压
en: BatVolt
pl: BatVolt
fr: BatVolt
pt: BatVolt
de: BatVolt
unit: V
Grid-tied inverter: false
Energy-storage inverter: true
- batCurrent:
name:
zh_CN: 电池电流
en: BatCurrent
pl: BatCurrent
fr: BatCurrent
pt: BatCurrent
de: BatCurrent
unit: A
Grid-tied inverter: false
Energy-storage inverter: true
- meterPower:
name:
zh_CN: 电表功率
en: MeterPower
pl: MeterPower
fr: MeterPower
pt: MeterPower
de: MeterPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- meterPower2:
name:
zh_CN: 电表2功率
en: Meter2Power
pl: Meter2Power
fr: Meter2Power
pt: Meter2Power
de: Meter2Power
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- meterPowerR:
name:
zh_CN: 电表功率R
en: MeterRPower
pl: MeterRPower
fr: MeterRPower
pt: MeterRPower
de: MeterRPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- meterPowerS:
name:
zh_CN: 电表功率S
en: MeterSPower
pl: MeterSPower
fr: MeterSPower
pt: MeterSPower
de: MeterSPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- meterPowerT:
name:
zh_CN: 电表功率T
en: MeterTPower
pl: MeterTPower
fr: MeterTPower
pt: MeterTPower
de: MeterTPower
unit: kW
Grid-tied inverter: true
Energy-storage inverter: true
- SoC:
name:
zh_CN: SoC
en: SoC
pl: SoC
fr: SoC
pt: SoC
de: SoC
unit: "%"
Grid-tied inverter: false
Energy-storage inverter: true
- ReactivePower:
name:
zh_CN: 无功功率
en: ReactivePower
pl: ReactivePower
fr: ReactivePower
pt: ReactivePower
de: ReactivePower
unit: kVar
Grid-tied inverter: true
Energy-storage inverter: true
- PowerFactor:
name:
zh_CN: 功率因数
en: PowerFactor
pl: PowerFactor
fr: PowerFactor
pt: PowerFactor
de: PowerFactor
unit:
Grid-tied inverter: true
Energy-storage inverter: true
- generation:
name:
zh_CN: 累计发电量
en: Cumulative power generation
pl: Cumulative power generation
fr: Cumulative power generation
pt: Cumulative power generation
de: Cumulative power generation
unit: kWh
Grid-tied inverter: true
Energy-storage inverter: true
- ResidualEnergy:
name:
zh_CN: 电池剩余电量
en: Battery Residual Energy
pl: Battery Residual Energy
fr: Battery Residual Energy
pt: Battery Residual Energy
de: Battery Residual Energy
unit: 10Wh
Grid-tied inverter: false
Energy-storage inverter: true
- runningState:
name:
zh_CN: 运行状态
en: Running State
pl: Running State
fr: Running State
pt: Running State
de: Running State
unit:
Grid-tied inverter: true
Energy-storage inverter: true
enum:
160: self-test
161: waiting
162: checking
163: on-grid
164: off-grid
165: fault
166: permanent-fault
167: standby
168: upgrading
169: fct
170: illegal
- batStatus:
name:
zh_CN: 电池状态
en: Battery Status
pl: Battery Status
fr: Battery Status
pt: Battery Status
de: Battery Status
unit:
Grid-tied inverter: false
Energy-storage inverter: true
- batStatusV2:
name:
zh_CN: 电池状态名称
en: Battery Status Name
pl: Battery Status Name
fr: Battery Status Name
pt: Battery Status Name
de: Battery Status Name
unit:
Grid-tied inverter: false
Energy-storage inverter: true
- currentFault:
name:
zh_CN: 当前报错
en: The current error code is reported
pl: The current error code is reported
fr: The current error code is reported
pt: The current error code is reported
de: The current error code is reported
unit:
Grid-tied inverter: true
Energy-storage inverter: true
- currentFaultCount:
name:
zh_CN: 当前报错个数
en: The number of errors
pl: The number of errors
fr: The number of errors
pt: The number of errors
de: The number of errors
unit:
Grid-tied inverter: true
Energy-storage inverter: true
Path: /op/v0/plant/create
Method: POST
Description of the interface:
request body example:
{
"devices": [
{
"sn": "*******"
}
],
"pileSN": "*************",
"details": {
"name": "name_51b2289bf18f",
"type": 1,
"countryCode": "CN",
"city": "city_54049a6aad08",
"address": "address_efdf02e2819d",
"postcode": "213414",
"price": 0.52,
"currency": "CNY(¥)",
"systemCapacity": 72.00
},
"timezone": "Asia/Shanghai",
"position": {
"x": "x_9e0c3cf37a91",
"y": "y_6fa583b5fe21",
"format": "format_b9434db57b54",
"pid": "pid_169c8579050c"
},
"electricmeterSN": "*********************",
"layoutByMini": {
"direction": 1,
"arrange": [
{
"sn": "***********",
"horizontal": 2,
"vertical": 3,
"azimuth": 30,
"dipAngle": 45,
"direction": 1,
"capacity": 30,
"model": "model_71300e86ba58"
}
]
}
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
devices | object [] | No | Information of modules(needed for creating pv/energy-storage power station) | item type: object |
|
├─ sn | string | No | Serial number of module | ||
├─ key | string | No | |||
pileSN | string | No | Charge pile's serial number(needed for charge pile power station) | ||
details | object | Yes | Details of power station | ||
├─ name | string | Yes | Name of power station | ||
├─ type | number | Yes | Type of power station(1-pv power station,2-energy-storage power station,3-charge-pile power station,4-mini-device power station) | ||
├─ countryCode | string | Yes | Country's code of power station(Two-bit code, such as China is "CN",Reference address:https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) | ||
├─ city | string | Yes | City | ||
├─ address | string | Yes | Address | ||
├─ postcode | string | Yes | Postcode | ||
├─ price | number | No | Electric price of power station(needed for creating pv/energy-storage/mini-device power station) | ||
├─ currency | string | No | The currency of electricity price measurement(needed for editing pv/energy-storage/mini-device power station,reference:U.S. dollar-USD($);Euro-EUR(€);Vietnamese Dong-VND(D.);RMB-CNY(¥);Pound sterling-GBP(£);Australian dollar-AUD($);Poland-PLN(Zł);India-INR(₹);Brazil-BRL(R$);S.Africa-ZAR(R);THB (THB)-THB(฿);Pakistani rupee-PKR(Rs)) | ||
├─ systemCapacity | number | No | System's capacity of power station(needed for creating pv/energy-storage/mini-device power station) | ||
timezone | string | Yes | Detailed time zone in English("district"+"/"+"country",such as:Asia/Shanghai,Reference address:https://nodatime.org/TimeZones) | ||
position | object | No | Coordinate information | ||
├─ format | string | No | Coordinate address | ||
├─ x | string | No | Longitude | ||
├─ y | string | No | Latitude | ||
├─ pid | string | No | Ip of address | ||
electricmeterSN | string | No | Serial number of electricmeter(needn't if empty) | ||
layoutByMini | object | No | Information of mini-device (needed for creating mini-device power station) | ||
├─ direction | number | No | Component layout(1-portrait,2-crosswise) | ||
├─ arrange | object [] | No | item type: object |
||
├─ sn | string | No | Serial number of module (needed for creating mini-device power station) | ||
├─ horizontal | number | No | Horizontal number (needed for creating mini-device power station) | ||
├─ vertical | number | No | Vertical number (needed for creating mini-device power station) | ||
├─ azimuth | number | No | Azimuth angle (needed for creating mini-device power station,between 0 and 360°) | ||
├─ dipAngle | number | No | Angle of inclination (needed for creating mini-device power station,between 0 and 90°) | ||
├─ direction | number | No | Direction( needed for creating mini-device power station,1-vertical,2-horizontal) | ||
├─ capacity | number | No | Component capacity (needed for creating mini-device power station) | ||
├─ model | string | No | Component type (needed for creating mini-device power station) |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | number | No | Error number(When the result is not equal to zero, the request fails) | ||
result | object | No | |||
├─ stationID | string | No | Id of power station | ||
├─ devices | object [] | No | Information of module | item type: object |
|
├─ device | object | No | |||
├─ sn | string | No | Snserial number of module | ||
├─ key | string | No | |||
├─ errno | number | No | Error number of module(when the result is not equal to zero, the serial number cannt meet the requirements) |
Path: /op/v0/plant/delete
Method: POST
Description of the interface:
request body example:
{
"stationID": "***********"
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
stationID | string | Yes | Id of power station |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) |
Path: /op/v0/plant/update
Method: POST
Description of the interface:
request body example:
{
"devices": [
{
"sn": "*******"
}
],
"pileSN": "*************",
"details": {
"stationID": "********************",
"name": "name_51b2289bf18f",
"type": 1,
"countryCode": "CN",
"city": "city_54049a6aad08",
"address": "address_efdf02e2819d",
"postcode": "213414",
"price": 0.52,
"currency": "CNY(¥)",
"systemCapacity": 72.00
},
"timezone": "Asia/Shanghai",
"position": {
"x": "x_9e0c3cf37a91",
"y": "y_6fa583b5fe21",
"format": "format_b9434db57b54",
"pid": "pid_169c8579050c"
},
"electricmeterSN": "*********************",
"layoutByMini": {
"direction": 1,
"arrange": [
{
"sn": "***********",
"horizontal": 2,
"vertical": 3,
"azimuth": 30,
"dipAngle": 45,
"direction": 1,
"capacity": 30,
"model": "model_71300e86ba58"
}
]
}
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
devices | object [] | No | Information of modules(needed for editing pv/energy-storage power station) | item type: object |
|
├─ sn | string | No | Serial number of module | ||
├─ key | string | No | |||
pileSN | string | No | Charge pile's serial number(needed for charge pile power station) | ||
details | object | Yes | Details of power station | ||
├─ name | string | Yes | Name of power station | ||
├─ type | number | Yes | Type of power station(1-pv power station,2-energy-storage power station,3-charge-pile power station,4-mini-device power station) | ||
├─ countryCode | string | Yes | Country's code of power station(Two-bit code, such as China is "CN",Reference address:https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) | ||
├─ city | string | Yes | City | ||
├─ address | string | Yes | Address | ||
├─ postcode | string | Yes | Postcode | ||
├─ price | number | No | Electric price of power station(needed for editing pv/energy-storage/mini-device power station) | ||
├─ currency | string | No | The currency of electricity price measurement(needed for editing pv/energy-storage/mini-device power station,reference:U.S. dollar-USD($);Euro-EUR(€);Vietnamese Dong-VND(D.);RMB-CNY(¥);Pound sterling-GBP(£);Australian dollar-AUD($);Poland-PLN(Zł);India-INR(₹);Brazil-BRL(R$);S.Africa-ZAR(R);THB (THB)-THB(฿);Pakistani rupee-PKR(Rs)) | ||
├─ stationID | string | Yes | Id of power station | ||
├─ systemCapacity | number | No | System's capacity of power station(needed for editing pv/energy-storage/mini-device power station) | ||
timezone | string | Yes | Detailed time zone in English("district"+"/"+"country",such as:Asia/Shanghai,Reference address:https://nodatime.org/TimeZones) | ||
position | object | No | Coordinate information | ||
├─ format | string | No | Coordinate address | ||
├─ x | string | No | Longitude | ||
├─ y | string | No | Latitude | ||
├─ pid | string | No | Ip of address | ||
electricmeterSN | string | No | Serial number of electricmeter(needn't if empty) | ||
layoutByMini | object | No | Information of mini-device (needed for editing mini-device power station) | ||
├─ direction | number | No | Component layout(1-portrait,2-crosswise) | ||
├─ arrange | object [] | No | item type: object |
||
├─ sn | string | No | Serial number of module | ||
├─ horizontal | number | No | Horizontal number | ||
├─ vertical | number | No | Vertical number | ||
├─ azimuth | number | No | Azimuth angle(between 0 and 360°) | ||
├─ dipAngle | number | No | Angle of inclination(between 0 and 90°) | ||
├─ direction | number | No | Direction(1-vertical,2-horizontal) | ||
├─ capacity | number | No | Component capacity | ||
├─ model | string | No | Component type |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | number | No | Error number(When the result is not equal to zero, the request fails) | ||
result | object | No | |||
├─ stationID | string | No | Id of power station | ||
├─ devices | object [] | No | Information of module | item type: object |
|
├─ device | object | No | |||
├─ sn | string | No | Serial number of module | ||
├─ key | string | No | |||
├─ errno | number | No | Error number of module(when the result is not equal to zero, the serial number cannt meet the requirements) |
Path: /op/v0/plant/detail
Method: GET
Description of the interface:
Obtain details about a power station based on the power station ID
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Query
The name of the parameter | Required or not | Example | Remark |
---|---|---|---|
id | Yes | Id of power station |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ stationName | string | Yes | Name of power station | ||
├─ country | string | Yes | Country of power station | ||
├─ city | string | Yes | City of power station | ||
├─ address | string | Yes | Address of power station | ||
├─ createDate | string | Yes | Create time,millisecond timestamp | ||
├─ postcode | string | Yes | Postcode of power station | ||
├─ capacity | number | Yes | Installed capacity (Unit kw) | ||
├─ timezone | string | Yes | Time zone of power station | ||
├─ user | object | Yes | User information | ||
├─ name | string | Yes | Name of user | ||
string | Yes | Email of user | |||
├─ phone | string | Yes | Phone of user | ||
├─ installer | object | Yes | Installer information | ||
├─ name | string | Yes | Name of Installer | ||
string | Yes | Email of Installer | |||
├─ phone | string | Yes | Phone of Installer | ||
├─ modules | object [] | Yes | Device list | item type: object |
|
├─ moduleSN | string | Yes | Serial number of Data Logger | ||
├─ deviceSN | string | Yes | Serial number of Inverter |
Path: /op/v0/plant/list
Method: POST
Description of the interface:
Obtain the list of power stations to which this account belongs
request body example:
{
"currentPage": 1,
"pageSize": 10
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
currentPage | integer | Yes | 1 | Current page number | minimum: 1 |
pageSize | integer | Yes | 10 | The amount of data presented per page | minimum: 10 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | number | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ data | object [] | Yes | item type: object |
||
├─ stationID | string | Yes | Id of power station | ||
├─ name | string | Yes | Name of power station | ||
├─ ianaTimezone | string | Yes | Timezone of power station | ||
├─ currentPage | integer | Yes | Current page number | ||
├─ pageSize | integer | Yes | The amount of data presented per page | ||
├─ total | integer | Yes | Data volume total |
Path: /op/v0/device/list
Method: POST
Description of the interface:
Obtain the list of inverters owned by this account
request body example:
{
"currentPage": 10,
"pageSize": 1
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
currentPage | integer | Yes | 1 | Current page number | minimum: 1 |
pageSize | integer | Yes | 10 | The amount of data presented per page | minimum: 10 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ currentPage | integer | Yes | Current page number | ||
├─ pageSize | integer | Yes | The amount of data presented per page | ||
├─ total | integer | Yes | Data volume total | ||
├─ data | object [] | Yes | item type: object |
||
├─ deviceSN | string | Yes | Serial number of the inverter | ||
├─ moduleSN | string | Yes | Serial number of the Data Logger | ||
├─ plantID | string | Yes | Id of power station | ||
├─ status | integer | Yes | Status of module | enum: 1,2,3 enumerate the comments: 1:online 2:fault 3:offline |
|
├─ hasPV | boolean | Yes | Is there a photovoltaic system available | ||
├─ hasBattery | boolean | Yes | Is there a battery available | ||
├─ deviceType | string | Yes | Type of device | ||
├─ productType | string | Yes | Type of product | ||
├─ stationName | string | Yes | Name of power station |
Path: /op/v0/device/detail
Method: GET
Description of the interface:
Obtain inverter details
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Query
The name of the parameter | Required or not | Example | Remark |
---|---|---|---|
sn | Yes | Serial number of Inverter |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ deviceSN | string | Yes | Serial number of the inverter | ||
├─ moduleSN | string | Yes | Serial number of the collector | ||
├─ stationID | string | Yes | Id of power station | ||
├─ stationName | string | Yes | Name of power station | ||
├─ afciVersion | string | Yes | Version of afci | ||
├─ managerVersion | string | Yes | Version of manager | ||
├─ masterVersion | string | Yes | Version of master | ||
├─ slaveVersion | string | Yes | Version of slave | ||
├─ hardwareVersion | string | Yes | Version of hardware | ||
├─ status | integer | Yes | Status of device | enum: 1,2,3 enumerate the comments: 1:online 2:breakdown 3:offline |
|
├─ function | object | Yes | Functional support | ||
├─ scheduler | boolean | Yes | Whether the periodic mode switchover function is supported |
Path: /op/v0/device/variable/get
Method: GET
Description of the interface:
Obtain variable tables for use by real-time data and historical data interfaces
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
string | No | format: binary |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | |||
result | object [] | Yes | item type: object |
||
├─ {variable} | object | Yes | |||
├─ unit | string | Yes | unit | ||
├─ name | object | Yes | variable name | ||
├─ zh_CN | string | Yes | |||
├─ en | string | Yes | |||
├─ de | string | Yes | |||
├─ pt | string | Yes | |||
├─ fr | string | Yes | |||
├─ pl | string | Yes |
Path: /op/v0/device/real/query
Method: POST
Description of the interface:
Get the latest real-time data of the inverter, and get the real-time data of all devices under the name without specifying the SN
request body example:
{
"sn": "***************",
"variables": ["pvPower","pv1Current"]
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
variables | string [] | No | If this parameter is not passed, all variable data is obtained by default item type: string | item type: string |
|
├─ | No | Variable name Available variables can be queried through the Get Variables interface Remark:Variable name,available variables can be queried through the Get Variables interface | |||
sn | string | No | Serial Number of Inverter If no parameter is specified, all devices are obtained |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | |||
result | object [] | Yes | item type: object |
||
├─ deviceSN | string | Yes | Serial Number of Inverter | ||
├─ datas | object [] | Yes | item type: object |
||
├─ variable | string | Yes | Variable name If the data is not found, it will not be returned | ||
├─ unit | string | Yes | Unit | ||
├─ name | string | Yes | Name in English | ||
├─ value | number | Yes | Value | ||
├─ time | string | Yes | Time of Data Update, utc time |
Path: /op/v0/device/history/query
Method: POST
Description of the interface:
Obtain the historical data of the inverter, obtain the historical data of the last three days without specifying the time,and the time span must be less than or equal to 24 hours
request body example:
{
"sn": "***************",
"variables": ["pvPower","pv1Current"],
"begin": 1703548800000,
"end": 1703635200000
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
variables | string [] | No | If this parameter is not passed, all variable data is obtained by default | item type: string |
|
├─ | No | Variable name Available variables can be queried through the Get Variables interface Remark:Variable name,available variables can be queried through the Get Variables interface | |||
sn | string | Yes | Serial Number of Inverter | ||
begin | number | No | Start timestamp(milliseconds) | ||
end | number | No | End timestamp(milliseconds) |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | |||
result | object [] | Yes | item type: object |
||
├─ deviceSN | string | Yes | Serial Number of Inverter | ||
├─ datas | object [] | Yes | item type: object |
||
├─ variable | string | Yes | Variable name | ||
├─ unit | string | Yes | Unit of variable | ||
├─ name | string | Yes | Name in English | ||
├─ data | object [] | Yes | item type: object |
||
├─ value | number | Yes | Value | ||
├─ time | string | Yes | Time of Data Update, utc time |
Path: /op/v0/device/report/query
Method: POST
Description of the interface:
Obtain the inverter electricity consumption report.Calculated according to the time zone of the power station to which the inverter belongs.The monthly electricity consumption of the year is obtained, the daily electricity consumption of the month is obtained, and the hourly electricity consumption of the day is obtained
request body example:
{
"sn": "***************",
"year": 2023,
"month": 10,
"day": 3,
"dimension": "day",
"variables": ["generation","feedin","gridConsumption","chargeEnergyToTal","dischargeEnergyToTal"]
}
{
"sn": "***************",
"year": 2023,
"month": 10,
"dimension": "month",
"variables": ["generation","feedin","gridConsumption","chargeEnergyToTal","dischargeEnergyToTal"]
}
{
"sn": "***************",
"year": 2023,
"dimension": "year",
"variables": ["generation","feedin","gridConsumption","chargeEnergyToTal","dischargeEnergyToTal"]
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
sn | string | Yes | Serial number of the inverter | ||
year | integer | Yes | year | minimum: 2020 |
|
month | integer | No | month | maximum: 12 minimum: 1 |
|
day | integer | No | day | maximum: 31 minimum: 1 |
|
dimension | string | Yes | Statistical dimension | enum: year,month,day |
|
variables | string [] | Yes | Query variable | item type: string |
|
├─ | No | enum: loads,feedin,generation,gridConsumption ,chargeEnergyToTal ,dischargeEnergyToTal |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object [] | Yes | item type: object |
||
├─ variable | string | Yes | Variable name | ||
├─ unit | string | Yes | Variable unit | ||
├─ values | number [] | Yes | Variable value | item type: number |
|
├─ | No |
Path: /op/v0/device/generation
Method: GET
Description of the interface:
Obtain the energy yield information of the inverter based on the time zone of the power station to which the inverter belongs
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Query
The name of the parameter | Required or not | Example | Remark |
---|---|---|---|
sn | Yes | Serial number of inverter |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ today | number | Yes | Electricity generation of this today unit:kWh | ||
├─ month | number | Yes | Electricity generation of this month unit:kWh | ||
├─ cumulative | number | Yes | Cumulative power generation unit:kWh |
Path: /op/v0/device/battery/soc/get
Method: GET
Description of the interface:
Obtain the inverter battery soc Settings
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Query
The name of the parameter | Required or not | Example | Remark |
---|---|---|---|
sn | Yes | Serial number of Inverter |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ minSoc | integer | Yes | Minimum soc of system | ||
├─ minSocOnGrid | integer | Yes | Minimum soc in grid-connected mode |
Path: /op/v0/device/battery/soc/set
Method: POST
Description of the interface:
Set the minmum soc for the battery of the device
request body example:
{
"sn": "***************",
"minSoc": 10,
"minSocOnGrid": 10
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
sn | string | Yes | Serial number of inverter | ||
minSoc | integer | Yes | Minimum soc of system | maximum: 100 minimum: 10 |
|
minSocOnGrid | integer | Yes | Minimum soc in grid-connected mode | maximum: 100 minimum: 10 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes |
Path: /op/v0/device/battery/forceChargeTime/get
Method: GET
Description of the interface:
Obtain the setting of battery charging time
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Query
The name of the parameter | Required or not | Example | Remark |
---|---|---|---|
sn | Yes | Serial number of inverter |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ enable1 | string | Yes | Whether the first segment is enabled | ||
├─ startTime1 | object | Yes | The first period starts time | ||
├─ hour | integer | Yes | |||
├─ minute | integer | Yes | |||
├─ endTime1 | object | Yes | The end time of the first period | ||
├─ hour | integer | Yes | |||
├─ minute | integer | Yes | |||
├─ enable2 | string | Yes | Whether the second segment is enabled or not | ||
├─ startTime2 | object | Yes | The second period starts time | ||
├─ hour | integer | Yes | |||
├─ minute | integer | Yes | |||
├─ endTime2 | object | Yes | The end time of the second period | ||
├─ hour | integer | Yes | |||
├─ minute | integer | Yes |
Path: /op/v0/device/battery/forceChargeTime/set
Method: POST
Description of the interface:
Set the battery charging time. The period must be two periods. Both periods must be delivered
request body :
{
"sn": "sn_4e50c9b8a5c3",
"enable1": false,
"enable2": false,
"startTime1": {
"hour": 0,
"minute": 0
},
"endTime1": {
"hour": 0,
"minute": 0
},
"startTime2": {
"hour": 0,
"minute": 0
},
"endTime2": {
"hour": 0,
"minute": 0
}
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
sn | string | Yes | Serial number of Inverter | ||
enable1 | boolean | Yes | Whether the first segment is enabled | ||
enable2 | boolean | Yes | Whether the second segment is enabled or not | ||
startTime1 | object | Yes | The first period starts time | ||
├─ hour | integer | Yes | maximum: 23 minimum: 0 |
||
├─ minute | integer | Yes | maximum: 59 minimum: 0 |
||
endTime1 | object | Yes | The end time of the first period | ||
├─ hour | integer | Yes | maximum: 23 minimum: 0 |
||
├─ minute | integer | Yes | maximum: 59 minimum: 0 |
||
startTime2 | object | Yes | The second period starts time | ||
├─ hour | integer | Yes | maximum: 23 minimum: 0 |
||
├─ minute | integer | Yes | maximum: 59 minimum: 0 |
||
endTime2 | object | Yes | The end time of the second period | ||
├─ hour | integer | Yes | maximum: 23 minimum: 0 |
||
├─ minute | integer | Yes | maximum: 59 minimum: 0 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes |
Path: /op/v0/device/scheduler/get/flag
Method: POST
Description of the interface:
Obtain the timing mode switch status
request body example:
{
"deviceSN": "**************"
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
deviceSN | string | Yes | Serial number of device |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
msg | string | Yes | Error message | ||
result | object | Yes | |||
├─ support | integer | Yes | Whether the timing function is supported(0:nonsupport 1:support) 0:nonsupport 1:support | ||
├─ enable | integer | Yes | Whether to enable the timing function(0:disable 1:enable) 0:disable 1:enable |
Path: /op/v0/device/scheduler/get
Method: POST
Description of the interface:
Get timing mode segment information
request body example:
{
"deviceSN": "**************"
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
deviceSN | string | Yes | Serial number of device |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | error number(When the result is not equal to zero, the request fails) | ||
msg | string | Yes | Error message | ||
result | object | Yes | |||
├─ enable | string | Yes | State of master switch (0:off 1:on) | ||
├─ groups | object [] | Yes | item type: object |
||
├─ enable | integer | Yes | Whether to enable this group setting(0:disable 1:enable) | ||
├─ startHour | integer | Yes | Start time - hour(The value is between 0 and 23) | ||
├─ startMinute | integer | Yes | Start time - minute(The value is between 0 and 59) | ||
├─ endHour | integer | Yes | Ending time - hour(The value is between 0 and 23) | ||
├─ endMinute | integer | Yes | Ending time - minute(The value is between 0 and 59) | ||
├─ workMode | string | Yes | Working mode(SelfUse,Feedin,Backup,ForceCharge,ForceDischarge) | ||
├─ minSocOnGrid | integer | Yes | socThe minimum soc value of the offline battery | ||
├─ fdSoc | integer | Yes | Discharge soc value | ||
├─ fdPwr | integer | Yes | The maximum discharge power value |
Path: /op/v0/device/scheduler/set/flag
Method: POST
Description of the interface:
Set the timing mode switch
request body example:
{
"deviceSN": "**************",
"enable": 1
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
deviceSN | string | Yes | Serial number of device | ||
enable | integer | Yes | Whether the switch is on 0:disable 1:enable |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
msg | string | Yes | Error message |
Path: /op/v0/device/scheduler/enable
Method: POST
Description of the interface:
Set the time segment information of the timing mode
request body example:
{
"deviceSN": "*************",
"groups": [
{
"enable": 1,
"startHour": 0,
"startMinute": 0,
"endHour": 5,
"endMinute": 0,
"workMode": "SelfUse",
"minSocOnGrid": 10,
"fdSoc": 90,
"fdPwr": 3000
},
{
"enable": 1,
"startHour": 6,
"startMinute": 0,
"endHour": 17,
"endMinute": 0,
"workMode": "Feedin",
"minSocOnGrid": 10,
"fdSoc": 90,
"fdPwr": 3000
}
]
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
deviceSN | string | Yes | Serial number of device | ||
groups | object [] | Yes | item type: object |
||
├─ enable | integer | Yes | Whether to enable this group setting(0:disable 1:enable) | ||
├─ startHour | integer | Yes | Start time - hour(The value is between 0 and 23) | ||
├─ startMinute | integer | Yes | Start time - minute(The value is between 0 and 59) | ||
├─ endHour | integer | Yes | Ending time - hour(The value is between 0 and 23) | ||
├─ endMinute | integer | Yes | Ending time - minute(The value is between 0 and 59) | ||
├─ workMode | string | Yes | Working mode(SelfUse,Feedin,Backup,ForceCharge,ForceDischarge) | ||
├─ minSocOnGrid | integer | Yes | The minimum soc range of the offline battery is between 10 and 100 | ||
├─ fdSoc | integer | Yes | Discharge soc range between 0 and 100,value of fdsoc must be equal or greater than minSocOnGrid value of fdsoc must be equal or greater than minSocOnGrid | ||
├─ fdPwr | number | Yes | The maximum discharge power ranges between 0 and 6000 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
msg | string | Yes | Error message |
Path: /op/v0/module/list
Method: POST
Description of the interface:
Obtain the collector list of this account
request body example:
{
"currentPage": 10,
"pageSize": 1
}
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
currentPage | integer | Yes | 1 | Current page number | minimum: 1 |
pageSize | integer | Yes | 10 | The amount of data presented per page | maximum: 1000 minimum: 10 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ currentPage | integer | Yes | Current page number | ||
├─ pageSize | integer | Yes | The amount of data presented per page | ||
├─ total | integer | Yes | Data volume total | ||
├─ data | object [] | Yes | item type: object |
||
├─ moduleSN | string | Yes | Serial number of Data Logger | ||
├─ stationID | string | Yes | Id of power station | ||
├─ status | integer | Yes | Status of collector | enum: 1,2 enumerate the comments: 1:online 2:offline |
|
├─ signal | integer | Yes | Signal strength | maximum: 100 minimum: 0 |
Path: /op/v0/user/getAccessCount
Method: GET
Description of the interface:
Obtain the number of accessible interfaces under the account based on the open api.
Headers
The name of the parameter | Parameter value | Required or not | Example | Remark |
---|---|---|---|---|
Content-Type | application/json | Yes | ||
token | Yes | Generate apikey from the API management function of the platform | ||
signature | Yes | Signature rule: Encrypt the string url + "\r\n" + token + "\r\n" + timestamp with md5 | ||
timestamp | Yes | Current timestamp | ||
lang | Yes | en | Language |
Body
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
currentPage | integer | Yes | 1 | Current page number | minimum: 1 |
pageSize | integer | Yes | 10 | The amount of data presented per page | maximum: 1000 minimum: 10 |
The name of the parameter | The type of the parameter | Required or not | Default | Remark | Additional Information |
---|---|---|---|---|---|
errno | integer | Yes | Error number(When the result is not equal to zero, the request fails) | ||
result | object | Yes | |||
├─ total | string | Yes | Number of total times that the user can access the open interface | ||
├─ remaining | string | Yes | Number of remaining times that the user can access the open interface |