GoSungrow - iSolarCloud API written in GoLang.
Note: The next major release, (v3.0.x), is here! Check out the Latest releases here.
Find this useful? You can support development of this app
What is it?
This GoLang package has a complete implementation of the iSolarCloud API. There's been no published specs on this, so I've had to figure it all out based on the Android app, using javascript IDEs and various other means.
Note:
- iSolarCloud has no interest in developing a public API.
- Their "API" implementation is so broken with security and coding issues, I'm surprised it hasn't been exploited yet.
- iSolarCloud reached out to me, (based off this GitHub page), to see what can be done about these security issues. So that's a very good thing.
- As of 1st August 2022 I discovered a number of security holes. At which point I notified AusCert, the vendor and a number of other security companies - hopefully they will get patched because my tool makes it very easy.
I'm currently using it in my HomeAssistant instance.
What state is it in?
It was originally intended for my needs, (seeing all data in HomeAssistant), but there seems to be a big interest in this tool. So I spent some time working on the v3.0.0 release, adding features.
I have now mapped out all the API calls. All the read-only endpoints are mapped out and fully tested. The write-only calls haven't been tested fully. It's tricky as their "API" changes regularly; however I've accommodated for quick changes in the v3.0.0 release.
Most endpoints contain repeated data. The main endpoints that house most of the data I've provided easy commands to access. Of course, all endpoints are accessible. So go for your life.
+-------------------+-------------------+--------------------+------------+
| AREAS | ENABLED ENDPOINTS | DISABLED ENDPOINTS | COVERAGE % |
+-------------------+-------------------+--------------------+------------+
| AliSmsService | 1 | 0 | 100 % |
| AppService | 574 | 0 | 100 % |
| MttvScreenService | 30 | 0 | 100 % |
| NullArea | 1 | 0 | 100 % |
| PowerPointService | 1 | 0 | 100 % |
| WebAppService | 190 | 0 | 100 % |
| WebIscmAppService | 184 | 0 | 100 % |
| ---------------- | ---------------- | ----------------- | --------- |
| Total | 981 | 0 | 100 % |
+-------------------+-------------------+--------------------+------------+
What does it do?
This GoLang package does several things:
- Provides ready access to all API calls via a simple get/put framework.
- MQTT client to push to HomeAssistant.
- Graphing any data points, over daily, monthly and yearly with 5 minute to 1 hour granularity.
- Output data to various formats - tables, JSON, CSV, raw, Graphing, XML, XLSX, Markdown, SQL, HTML and GoLang structures.
What is the roadmap?
I've implemented most of the features I've wanted to, except for...
- IFTTT support.
The most recent version has changed the code-base substantially, making it a lot more robust to changes in the API JSON schema.
Using GoSungrow:
Config and login.
Add your username and password to the config. (See the website) Once done, it's a case of set and forget. GoSungrow will handle the re-authentication for you.
% ./bin/GoSungrow config write --user=USERNAME --password=PASSWORD
Using config file '/Users/mick/.GoSungrow/config.json'
Login to SunGrow website.
% ./bin/GoSungrow api login
Email: [email protected]
Create Date: Tue Nov 16 23:30:12 CST 2021
Login Last Date: 2022-03-10 17:14:49
Login Last IP:
Login State: 1
User Account: mickmake
User Id: 276937
User Name: MickMake
Is Online: 0
Token: 424242_42424242424242424242424242424242
Token File: /Users/mick/.GoSungrow/AppService_login.json
High level reporting examples.
For more examples see the EXAMPLES.md and examples.txt files. EXAMPLES.md examples.txt
Show all devices on your iSolarCloud account.
% ./bin/GoSungrow show ps list
ββββββββββββββββββββ³ββββββββββ³ββββββββββββββ³ββββββββββββββ³βββββββββββββ³ββββββββββββββ³βββββββββββββββ³βββββββββββββββ
β Ps Key β Ps Id β Device Type β Device Code β Channel Id β Serial # β Factory Name β Device Model β
β£ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 1129147_14_1_1 β 1129147 β 14 β 1 β 1 β B2192301528 β SUNGROW β SH10RT β
β 1129147_22_247_1 β 1129147 β 22 β 247 β 1 β B2192301528 β SUNGROW β WiNet-S β
β 1129147_43_2_1 β 1129147 β 43 β 2 β 1 β B2192301528 β SUNGROW β SBR096 β
β 1171348_14_1_2 β 1171348 β 14 β 1 β 2 β B2281302388 β SUNGROW β SH10RT-V112 β
β 1171348_22_247_2 β 1171348 β 22 β 247 β 2 β B2281302388 β SUNGROW β WiNet-S β
β 1171348_43_2_2 β 1171348 β 43 β 2 β 2 β B2281302388 β SUNGROW β SBR096 β
ββββββββββββββββββββ·ββββββββββ·ββββββββββββββ·ββββββββββββββ·βββββββββββββ·ββββββββββββββ·βββββββββββββββ·βββββββββββββββ
Show the device tree on your iSolarCloud account.
% ./bin/GoSungrow show ps tree
+ PsId:1129147 PsName:MickMake PsKey:1129147_11_0_0 DeviceName:MickMake Uuid:844763
+-- PsId:1129147 PsName:MickMake PsKey:1129147_14_1_1 DeviceName:SH10RT Uuid:844775
+---- PsId:1129147 PsName:MickMake PsKey:1129147_43_2_1 DeviceName:Battery_001_002 Uuid:1155386
+-- PsId:1129147 PsName:MickMake PsKey:1129147_22_247_1 DeviceName:WiNet-S Uuid:844774
+ PsId:1171348 PsName:MickMake42 PsKey:1171348_11_0_0 DeviceName:MickMake42 Uuid:1179860
+-- PsId:1171348 PsName:MickMake42 PsKey:1171348_22_247_2 DeviceName:Communication Module 02_247 Uuid:1179877
+-- PsId:1171348 PsName:MickMake42 PsKey:1171348_14_1_2 DeviceName:Energy Storage System 02_01 Uuid:1179878
+---- PsId:1171348 PsName:MickMake42 PsKey:1171348_43_2_2 DeviceName:Battery 02_02 Uuid:1179879
List all known data points for all PS on your account.
% ./bin/GoSungrow show ps points
# Available points:
ββββββββββββ³βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ³βββββββββ³ββββββββββββ³ββββββββββ³ββββββββββββββ³ββββββββββββββββββββββββββββββ
β Id β Name β Unit β Unit Type β Ps Id β Device Type β Device Name β
β£βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β p83001 β Inverter AC Power Normalization β kW/kWp β 43 β 1129147 β 11 β MickMake β
β p83002 β Inverter AC Power β kW β 3 β 1129147 β 11 β MickMake β
β p83004 β Inverter Total Yield β kWh β 7 β 1129147 β 11 β MickMake β
β p83005 β Daily Equivalent Hours of Meter β h β 15 β 1129147 β 11 β MickMake β
β p83006 β Meter Daily Yield β kWh β 7 β 1129147 β 11 β MickMake β
β p83007 β Meter PR β % β 10 β 1129147 β 11 β MickMake β
β p83008 β Daily Equivalent Hours of Inverter β h β 15 β 1129147 β 11 β MickMake β
β p83009 β Daily Yield by Inverter β kWh β 7 β 1129147 β 11 β MickMake β
β p83010 β Inverter PR β % β 10 β 1129147 β 11 β MickMake β
β p83011 β Meter E-daily Consumption β kWh β 7 β 1129147 β 11 β MickMake β
...
β p58630 β Min. Cell Voltage of Module 5 β mV β 31 β 1171348 β 43 β Battery 02_02 β
β p58631 β Min. Cell Voltage of Module 6 β mV β 31 β 1171348 β 43 β Battery 02_02 β
β p58632 β Min. Cell Voltage of Module 7 β mV β 31 β 1171348 β 43 β Battery 02_02 β
β p58633 β Min. Cell Voltage of Module 8 β mV β 31 β 1171348 β 43 β Battery 02_02 β
β p58635 β DC Contactor State β β 999 β 1171348 β 43 β Battery 02_02 β
β p58636 β Fault Module ID β β 999 β 1171348 β 43 β Battery 02_02 β
ββββββββββββ·βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ·βββββββββ·ββββββββββββ·ββββββββββ·ββββββββββββββ·ββββββββββββββββββββββββββββββ
Produce data table of device_type 22 on ps_id 1171348 between 20221001 and 20221002 at 60 minute increments.
% ./bin/GoSungrow show ps data 1171348 22 20221001 20221002 60
# DataTable AppService.queryMutiPointDataList.ResultData.Data - PsKeys:1171348_22_247_2,1171348_22_247_2,1171348_22_247_2,1171348_22_247_2,1171348_22_247_2,1171348_22_247_2,1171348_22_247_2,1171348_22_247_2 Points:p23001,p23014,p23019,p23020,p23021,p23022,p23023,p23024 PsId:1171348 StartTimeStamp:20221001000000 EndTimeStamp:20221002000000 MinuteInterval:60
ββββββββββββββββββββββββββ³ββββββββββββββββββββββ³βββββββββββββββββββββββββββββ
β Timestamp β Ps Key β 1171348_22_247_2.p23014 β
β£ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 2022-10-01 00:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 01:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 02:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 03:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 04:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 05:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 06:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 07:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 08:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 09:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 10:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 11:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 12:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 13:00:00 β 1171348_22_247_2 β -- β
β 2022-10-01 14:00:00 β 1171348_22_247_2 β -68 β
β 2022-10-01 15:00:00 β 1171348_22_247_2 β -82 β
β 2022-10-01 16:00:00 β 1171348_22_247_2 β -81 β
β 2022-10-01 17:00:00 β 1171348_22_247_2 β -81 β
β 2022-10-01 18:00:00 β 1171348_22_247_2 β -86 β
β 2022-10-01 19:00:00 β 1171348_22_247_2 β -82 β
β 2022-10-01 20:00:00 β 1171348_22_247_2 β -90 β
β 2022-10-01 21:00:00 β 1171348_22_247_2 β -89 β
β 2022-10-01 22:00:00 β 1171348_22_247_2 β -88 β
β 2022-10-01 23:00:00 β 1171348_22_247_2 β -86 β
β 2022-10-02 00:00:00 β 1171348_22_247_2 β -83 β
ββββββββββββββββββββββββββ·ββββββββββββββββββββββ·βββββββββββββββββββββββββββββ
Do the same, but with a graph!
% ./bin/GoSungrow show ps graph 1171348 22 20221001 20221002 60
Found ps_keys: 1129147_14_1_1,1129147_22_247_1,1129147_43_2_1,1171348_14_1_2,1171348_22_247_2,1171348_43_2_2
Finding points to graph...
Table Headers: Timestamp, Ps Key, 1171348_22_247_2.p23014
Table rows: 25
Found 1 points.
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1171348-1171348_22_247_2.p23014.png'
Get all defined report templates.
% ./bin/GoSungrow show template list
# DataTable AppService.getTemplateList.ResultData.PageList - DataTable AppService.getTemplateList.ResultData.PageList
ββββββββββββββββββ³βββββββββββββββββββ³βββββββββββββββββββββββββ
β Template Id β Template Name β Update Time β
β£βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 7981 β Power β 2022-02-09 10:03:40 β
β 8031 β kWh β 2022-02-15 07:57:36 β
β 8035 β Hours β 2022-02-15 08:55:56 β
β 8033 β kW β 2022-02-15 09:01:19 β
β 8037 β MW β 2022-02-15 09:03:22 β
β 8038 β MWh β 2022-02-15 09:09:22 β
β 8034 β Percent β 2022-02-15 09:30:41 β
β 8040 β A β 2022-02-15 09:30:56 β
β 8039 β v β 2022-02-15 09:31:10 β
β 8036 β C β 2022-02-15 09:31:35 β
β 8041 β extras β 2022-02-15 09:40:04 β
β 8042 β Critical β 2022-02-15 13:00:28 β
β 8092 β ALL1 β 2022-03-09 17:18:21 β
β 8093 β ALL2 β 2022-03-09 17:20:42 β
β 8094 β ALL3 β 2022-03-09 17:36:20 β
β 8095 β ALL4 β 2022-03-09 17:37:56 β
β 8652 β NewAll1 β 2022-10-04 12:27:00 β
β 8653 β NewAll2 β 2022-10-04 12:28:58 β
β 8654 β NewAll03 β 2022-10-04 12:31:39 β
β 8655 β NewAll04 β 2022-10-04 12:34:51 β
β 8656 β NewAll05 β 2022-10-04 12:37:34 β
β 8657 β NewAll06 β 2022-10-04 12:38:27 β
ββββββββββββββββββ·βββββββββββββββββββ·βββββββββββββββββββββββββ
Show all data points used in a report template.
% ./bin/GoSungrow show template points 8040
# DataTable WebAppService.queryUserCurveTemplateData.8040.ResultData.PointsData.Devices.[1129147_14_1_1].Points - TemplateId:8040
βββββββββββββββ³ββββββββββββββββββββββββββββββββββββ³βββββββββββββ³ββββββββββββββββββββ³βββββββββββββ³βββββββββββββββ³ββββββββββββββ³ββββββββββββββββ³βββββββββββ³ββββββββββ³βββββββββββββββ
β Point Id β Point Name β Ps Id β Ps Key β Color β Detail Id β Ps Name β Statistics β Style β Unit β Data List β
β£βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β p13002 β MPPT1 Current β 1129147 β 1129147_14_1_1 β #FFFF00 β 123808 β MickMake β 5 β 1 β A β β
β p13008 β Phase A Current β 1129147 β 1129147_14_1_1 β #FF0000 β 123814 β MickMake β 5 β 1 β A β β
β p13009 β Phase B Current β 1129147 β 1129147_14_1_1 β #00FF00 β 123813 β MickMake β 5 β 1 β A β β
β p13010 β Phase C Current β 1129147 β 1129147_14_1_1 β #0000FF β 123812 β MickMake β 5 β 1 β A β β
β p13106 β MPPT2 Current β 1129147 β 1129147_14_1_1 β #70DB93 β 123807 β MickMake β 5 β 1 β A β β
β p13139 β Battery Current β 1129147 β 1129147_14_1_1 β #CD7F32 β 123806 β MickMake β 5 β 1 β A β β
β p13162 β Max. Charging Current (BMS) β 1129147 β 1129147_14_1_1 β #C0C0C0 β 123805 β MickMake β 5 β 1 β A β β
β p13163 β Max. Discharging Current (BMS) β 1129147 β 1129147_14_1_1 β #9F9F9F β 123804 β MickMake β 5 β 1 β A β β
β p18062 β Phase A Backup Current β 1129147 β 1129147_14_1_1 β #FF00FF β 123811 β MickMake β 5 β 1 β A β β
β p18063 β Phase B Backup Current β 1129147 β 1129147_14_1_1 β #00FFFF β 123810 β MickMake β 5 β 1 β A β β
β p18064 β Phase C Backup Current β 1129147 β 1129147_14_1_1 β #000000 β 123809 β MickMake β 5 β 1 β A β β
βββββββββββββββ·ββββββββββββββββββββββββββββββββββββ·βββββββββββββ·ββββββββββββββββββββ·βββββββββββββ·βββββββββββββββ·ββββββββββββββ·ββββββββββββββββ·βββββββββββ·ββββββββββ·βββββββββββββββ
Produce daily report for template 8040 for date 2022/02/24 display on STDOUT.
% ./bin/GoSungrow show template data 8040 20220204 20220205 120
# DataTable AppService.queryMutiPointDataList.ResultData.Data - MinuteInterval:120 PsKeys:1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1 Points:p13008,p13010,p13162,p18062,p13009,p18064,p13106,p13139,p13163,p18063,p13002 PsId:1129147 StartTimeStamp:20220204000000 EndTimeStamp:20220205000000
ββββββββββββββββββββββββββ³ββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ³βββββββββββββββββββββββββββ
β Timestamp β Ps Key β 1129147_14_1_1.p13002 β 1129147_14_1_1.p13008 β 1129147_14_1_1.p13009 β 1129147_14_1_1.p13010 β 1129147_14_1_1.p13106 β 1129147_14_1_1.p13139 β 1129147_14_1_1.p13162 β 1129147_14_1_1.p13163 β 1129147_14_1_1.p18062 β 1129147_14_1_1.p18063 β 1129147_14_1_1.p18064 β
β£ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 2022-02-04 00:00:00 β 1129147_14_1_1 β 0 β 0 β 0 β 0 β 0 β 0 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 02:00:00 β 1129147_14_1_1 β 0 β 0 β 0 β 0 β 0 β 0 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 04:00:00 β 1129147_14_1_1 β 0 β 0 β 0 β 0 β 0 β 0 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 06:00:00 β 1129147_14_1_1 β 0 β 1.38 β 1.38 β 1.29 β 0 β 4.6 β 30 β 28 β 0 β 0.1 β 0 β
β 2022-02-04 08:00:00 β 1129147_14_1_1 β 2.39 β 3.31 β 3.31 β 3.31 β 6.1 β 0 β 30 β 29 β 0 β 0.1 β 0 β
β 2022-02-04 10:00:00 β 1129147_14_1_1 β 6.35 β 1.75 β 1.75 β 1.75 β 15.4 β 24.5 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 12:00:00 β 1129147_14_1_1 β 6.99 β 9.84 β 9.94 β 9.84 β 19.5 β 0 β 0 β 30 β 0 β 0.2 β 0 β
β 2022-02-04 14:00:00 β 1129147_14_1_1 β 0.64 β 0.83 β 0.83 β 0.83 β 1.4 β 0 β 0 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 16:00:00 β 1129147_14_1_1 β 0.37 β 3.13 β 3.13 β 3.13 β 0.8 β 10.1 β 20 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 18:00:00 β 1129147_14_1_1 β 0 β 1.01 β 0.92 β 1.01 β 0 β 3.8 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 20:00:00 β 1129147_14_1_1 β 0 β 1.38 β 1.47 β 1.47 β 0 β 5.5 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-04 22:00:00 β 1129147_14_1_1 β 0 β 0 β 0 β 0 β 0 β 0 β 30 β 30 β 0 β 0.1 β 0 β
β 2022-02-05 00:00:00 β 1129147_14_1_1 β 0 β 0 β 0 β 0 β 0 β 0 β 30 β 30 β 0 β 0.1 β 0 β
ββββββββββββββββββββββββββ·ββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ·βββββββββββββββββββββββββββ
And now graph it!
% ./bin/GoSungrow show template graph 8040 20220204 20220205 120
Finding points to graph...
Table Headers: Timestamp, Ps Key, 1129147_14_1_1.p13002, 1129147_14_1_1.p13008, 1129147_14_1_1.p13009, 1129147_14_1_1.p13010, 1129147_14_1_1.p13106, 1129147_14_1_1.p13139, 1129147_14_1_1.p13162, 1129147_14_1_1.p13163, 1129147_14_1_1.p18062, 1129147_14_1_1.p18063, 1129147_14_1_1.p18064
Table rows: 13
Found 11 points.
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1129147-1129147_14_1_1.p13002.png'
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1129147-1129147_14_1_1.p13008.png'
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1129147-1129147_14_1_1.p13009.png'
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1129147-1129147_14_1_1.p13010.png'
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1129147-1129147_14_1_1.p13106.png'
List all possible devices
% ./bin/GoSungrow show device list
# Available points:
βββββββββββββββ³βββββββββββββββββββββββββββββββββββββββββββββββββ
β Device Type β Name β
β£βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 1 β Inverter β
β 10 β String β
β 11 β Plant β
β 12 β Circuit Protection β
β 13 β Splitting Device β
β 14 β Energy Storage System β
β 15 β Sampling Device β
β 16 β EMU β
β 17 β Unit β
β 18 β Temperature and Humidity Sensor β
β 19 β Intelligent Power Distribution Cabinet β
β 20 β Display Device β
β 21 β AC Power Distributed Cabinet β
β 22 β Communication Module β
β 23 β System-BMS β
β 24 β RackBMS β
β 25 β DC-DC β
β 26 β Energy Management System β
β 28 β Wind Energy Converter β
β 29 β SVG β
β 3 β Grid-connection Point β
β 30 β PT Cabinet β
β 31 β Bus Protection β
β 32 β Cleaning Robot β
β 33 β Direct Current Cabinet β
β 34 β Public Measurement and Control β
β 35 β Anti-islanding Protection Device β
β 36 β Frequency and Voltage Emergency Control Device β
β 37 β PCS β
β 38 β Cell BMS β
β 39 β Power Quality β
β 4 β Combiner Box β
β 40 β Shuttle β
β 41 β Optimizer β
β 42 β Tracking axis communication box β
β 43 β Battery β
β 44 β Battery Cluster Management Unit β
β 45 β Local Controller β
β 46 β Networking Devices β
β 47 β Energy Storage Unit β
β 48 β DC Container β
β 5 β Meteo Station β
β 50 β IO Module β
β 51 β Charger β
β 52 β Battery System Controller β
β 6 β Transformer β
β 7 β Meter β
β 8 β UPS β
β 9 β Data Logger β
β 99 β Others β
βββββββββββββββ·βββββββββββββββββββββββββββββββββββββββββββββββββ
Get mains power frequency variation graph from template id 8041 on date 2022/02/28
% ./bin/GoSungrow show point data 20220301 20220302 120 1129147_14_1_1.p13007
# DataTable AppService.queryMutiPointDataList.ResultData.Data - PsId:1129147 StartTimeStamp:20220301000000 EndTimeStamp:20220302000000 MinuteInterval:120 PsKeys:1129147_14_1_1 Points:p13007
ββββββββββββββββββββββββββ³ββββββββββββββββββββ³βββββββββββββββββββββββββββ
β Timestamp β Ps Key β 1129147_14_1_1.p13007 β
β£ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ«
β 2022-03-01 00:00:00 β 1129147_14_1_1 β 49.969997 β
β 2022-03-01 02:00:00 β 1129147_14_1_1 β 49.98 β
β 2022-03-01 04:00:00 β 1129147_14_1_1 β 50.01 β
β 2022-03-01 06:00:00 β 1129147_14_1_1 β 49.98 β
β 2022-03-01 08:00:00 β 1129147_14_1_1 β 49.98 β
β 2022-03-01 10:00:00 β 1129147_14_1_1 β 50.01 β
β 2022-03-01 12:00:00 β 1129147_14_1_1 β 50 β
β 2022-03-01 14:00:00 β 1129147_14_1_1 β 50.02 β
β 2022-03-01 16:00:00 β 1129147_14_1_1 β 49.96 β
β 2022-03-01 18:00:00 β 1129147_14_1_1 β 50.01 β
β 2022-03-01 20:00:00 β 1129147_14_1_1 β 50 β
β 2022-03-01 22:00:00 β 1129147_14_1_1 β 49.969997 β
β 2022-03-02 00:00:00 β 1129147_14_1_1 β 50.01 β
ββββββββββββββββββββββββββ·ββββββββββββββββββββ·βββββββββββββββββββββββββββ
% ./bin/GoSungrow show point graph 20220301 20220302 120 1129147_14_1_1.p13007
Finding points to graph...
Table Headers: Timestamp, Ps Key, 1129147_14_1_1.p13007
Table rows: 13
Found 1 points.
Creating graph file 'AppService.queryMutiPointDataList.ResultData.Data-1129147-1129147_14_1_1.p13007.png'
Using the API instead.
Want to get your hands dirty?
Get basic inverter information for inverter id 1129147
% ./bin/GoSungrow api get findPsType '{"ps_id":"1129147"}'
% ./bin/GoSungrow api get getPsDetailWithPsType '{"ps_id":"1129147"}'
Get basic power stats for inverter
% ./bin/GoSungrow api get getPowerStatistics '{"ps_id":"1129147"}'
Get point_id to point names for different device types
% ./bin/GoSungrow api get getPowerDevicePointNames '{"device_type":"1"}'
% ./bin/GoSungrow api get getPowerDevicePointNames '{"device_type":"2"}'
% ./bin/GoSungrow api get getPowerDevicePointNames '{"device_type":"7"}'
Get all inverters
% ./bin/GoSungrow api get getPsList
% ./bin/GoSungrow api get WebAppService.showPSView '{"ps_id":"1129147"}'
Produce basic storage report
% ./bin/GoSungrow api get queryMutiPointDataList '{"ps_key":"1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_14_1_1,1129147_11_0_0","points":"p13150,p13126,p13142,p13143,p13019,p13141,p13121,p13003,p13149,p83106","minute_interval":"5","start_time_stamp":"20220215000000","end_time_stamp":"20220215235900", "ps_id":"1129147"}'
Get the household storage report
% ./bin/GoSungrow api get getHouseholdStoragePsReport '{"date_id":"2022","date_type":"4","ps_id":"1129147"}'
Config file.
Show current config.
% GoSungrow config read
Write current config.
% GoSungrow config write
Change diff command used in compares.
% GoSungrow --diff-cmd='sdiff' config write
Change iSolarCloud API token.
% GoSungrow --cf-token='this is a token string' config write
Flags available for all commands:
% ./bin/GoSungrow help flags
+-----------------+------------+-------------------------+--------------------------------+------------------------------------+
| FLAG | SHORT FLAG | ENVIRONMENT | DESCRIPTION | VALUE (* = DEFAULT) |
+-----------------+------------+-------------------------+--------------------------------+------------------------------------+
| --config | | GOSUNGROW_CONFIG | GoSungrow: config file. | /Users/mick/.GoSungrow/config.json |
| --debug | | GOSUNGROW_DEBUG | GoSungrow: Debug mode. | false * |
| --quiet | | GOSUNGROW_QUIET | GoSungrow: Silence all | false * |
| | | | messages. | |
| --timeout | | GOSUNGROW_TIMEOUT | Web timeout. | 0s |
| --user | -u | GOSUNGROW_USER | SunGrow: api username. | ------------------ |
| --password | -p | GOSUNGROW_PASSWORD | SunGrow: api password. | --------------------------- |
| --appkey | | GOSUNGROW_APPKEY | SunGrow: api application key. | 93D72E60331ABDCDC7B39ADC2D1F32B3 |
| | | | | * |
| --host | | GOSUNGROW_HOST | SunGrow: Provider API URL. | https://augateway.isolarcloud.com |
| | | | | * |
| --token-expiry | | GOSUNGROW_TOKEN_EXPIRY | SunGrow: last login. | 2022-12-08T16:58:19 |
| --save | -s | GOSUNGROW_SAVE | Save output as a file. | false * |
| --mqtt-user | | GOSUNGROW_MQTT_USER | HASSIO: mqtt username. | ------------------ |
| --mqtt-password | | GOSUNGROW_MQTT_PASSWORD | HASSIO: mqtt password. | -------------- |
| --mqtt-host | | GOSUNGROW_MQTT_HOST | HASSIO: mqtt host. | localhost |
| --mqtt-port | | GOSUNGROW_MQTT_PORT | HASSIO: mqtt port. | 1883 |
+-----------------+------------+-------------------------+--------------------------------+------------------------------------+