You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+99-4Lines changed: 99 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,8 +28,12 @@ Any methods that may be useful.
28
28
29
29
`api.plant_info(plant_id)` Get info for specified plant.
30
30
31
+
`api.plant_settings(plant_id)` Get the current settings for the specified plant
32
+
31
33
`api.plant_detail(plant_id, timespan<1=day, 2=month>, date)` Get details of a specific plant.
32
34
35
+
`api.plant_energy_data(plant_id)` Get energy data for the specified plant.
36
+
33
37
`api.inverter_list(plant_id)` Get a list of inverters in specified plant. (May be deprecated in the future, since it gets all devices. Use `device_list` instead).
34
38
35
39
`api.device_list(plant_id)` Get a list of devices in specified plant.
@@ -38,10 +42,26 @@ Any methods that may be useful.
38
42
39
43
`api.inverter_detail(inverter_id)` Get detailed data on inverter.
40
44
45
+
`api.tlx_system_status(plant_id, tlx_id)` Get system status.
46
+
47
+
`api.tlx_energy_overview(plant_id, tlx_id)` Get energy overview of the system.
48
+
49
+
`api.tlx_energy_prod_cons(plant_id, tlx_id)` Get energy production and consumption for the system.
50
+
41
51
`api.tlx_data(tlx_id, date)` Get some basic data of a specific date for the tlx type inverter.
42
52
43
53
`api.tlx_detail(tlx_id)` Get detailed data on a tlx type inverter.
44
54
55
+
`api.tlx_params(tlx_id)` Get parameters for the tlx type inverter.
56
+
57
+
`api.tlx_get_all_settings(tlx_id)` Get all possible settings for the tlx type inverter.
58
+
59
+
`api.tlx_get_enabled_settings(tlx_id)` Get all enabled settings for the tlx type inverter.
60
+
61
+
`api.tlx_battery_info(serial_num)` Get battery info for tlx systems.
62
+
63
+
`api.tlx_battery_info_detailed(serial_num)` Get detailed battery info.
64
+
45
65
`api.mix_info(mix_id, plant_id=None)` Get high level information about the Mix system including daily and overall totals. NOTE: `plant_id` is an optional parameter, it does not appear to be used by the remote API, but is used by the mobile app these calls were reverse-engineered from.
46
66
47
67
`api.mix_totals(mix_id, plant_id)` Get daily and overall total information for the Mix system (duplicates some of the information from `mix_info`).
@@ -58,21 +78,37 @@ Any methods that may be useful.
58
78
59
79
`api.storage_energy_overview(plant_id, storage_id)` Get the information you see in the "Generation overview".
60
80
61
-
`api.get_plant_settings(plant_id)` Get the current settings for the specified plant
81
+
`api.is_plant_noah_system(plant_id)` Get the Information if noah devices are configured for the specified plant
82
+
83
+
`api.noah_system_status(serial_number)` Get the current status for the specified noah device e.g. workMode, soc, chargePower, disChargePower, current import/export etc.
84
+
85
+
`api.noah_info(serial_number)` Get all information for the specified noah device e.g. configured Operation Modes, configured Battery Management charging upper & lower limit, configured System Default Output Power, Firmware Version
62
86
63
87
`api.get_mix_inverter_settings(serial_number)` Get the current inverter settings for the specified serial number including charge/discharge schedule for hybrid systems.
64
88
65
89
`api.update_plant_settings(plant_id, changed_settings, current_settings)` Update the settings for a plant to the values specified in the dictionary, if the `current_settings` are not provided it will look them up automatically using the `get_plant_settings` function - See 'Plant settings' below for more information
66
90
91
+
`api.update_tlx_inverter_setting(serial_number, setting_type, parameter)` Applies the provided parameter for the specified setting on the specified tlx inverter; see 'Inverter settings' below for more information.
92
+
93
+
`api.update_tlx_inverter_time_segment(serial_number, segment_id, batt_mode, start_time, end_time, enabled)` Updates one of the 9 time segments with the specified battery mode (load, battery, grid first); see 'Inverter settings' below for more information.
94
+
67
95
`api.update_mix_inverter_setting(serial_number, setting_type, parameters)` Applies the provided parameters (dictionary or array) for the specified setting on the specified mix inverter; see 'Inverter settings' below for more information
68
96
69
97
`api.update_ac_inverter_setting(serial_number, setting_type, parameters)` Applies the provided parameters (dictionary or array) for the specified setting on the specified AC-coupled inverter; see 'Inverter settings' below for more information
70
98
99
+
`api.update_noah_settings(serial_number, setting_type, parameters)` Applies the provided parameters (dictionary or array) for the specified setting on the specified noah device; see 'Noah settings' below for more information
100
+
71
101
### Variables
72
102
73
103
Some variables you may want to set.
74
104
75
-
`api.server_url` The growatt server URL, default: 'https://server-api.growatt.com/'
105
+
`api.server_url` The growatt server URL, default: 'https://openapi.growatt.com/'
106
+
107
+
You may need a different URL depending on where your account is registered:
'https://openapi-us.growatt.com/' (North American server)
111
+
'https://openapi.growatt.com/' (Other regional server: e.g. Europe)
76
112
77
113
## Note
78
114
@@ -125,7 +161,7 @@ The plant settings function(s) allow you to re-configure the settings for a spec
125
161
The function `update_plant_settings` allows you to provide a python dictionary of any/all of the above settings and change their value.
126
162
127
163
## Inverter Settings
128
-
NOTE: The inverter settings function appears to only work with 'mix' systems based on the API call that it makes being specific to 'mix' inverters
164
+
NOTE: The inverter settings function appears to only work with 'mix' and 'tlx' systems based on the API call that it makes being specific to those inverter types
129
165
130
166
The inverter settings function(s) allow you to change individual values on your inverter e.g. time, charging period etc.
131
167
From what has been reverse engineered from the api, each setting has a `setting_type` and a set of `parameters` that are relevant to it.
@@ -179,8 +215,67 @@ Known working settings & parameters are as follows (all parameter values are str
179
215
*`param15`: Schedule 3 - End time - Hour e.g. "02" (2am)
180
216
*`param16`: Schedule 3 - End time - Minute e.g. "00" (0 minutes)
* batt_mode: Battery Mode for the segment: 0=Load First(Self-Consumption), 1=Battery First, 2=Grid First
237
+
* start_time: timedate object with start time of segment with format HH:MM
238
+
* end_time: timedate object with end time of segment with format HH:MM
239
+
* enabled: time segment enabled, boolean: True (Enabled), False (Disabled)
240
+
241
+
The four functions `update_tlx_inverter_setting`, `update_mix_inverter_setting`, `update_ac_inverter_setting`, and `update_inverter_setting` take either a dictionary or an array. If an array is passed it will automatically generate the `paramN` key based on array index since all params for settings seem to used the same numbering scheme.
242
+
243
+
Only the settings described above have been tested with `update_tlx_inverter_setting` and they all take only one single parameter. It is very likely that the function works with all settings returned by `tlx_get_enabled_settings`, but this has not been tested. A helper function `update_tlx_inverter_time_segment` is provided for the settings that require more than one parameter.
244
+
245
+
## Noah Settings
246
+
The noah settings function allow you to change individual values on your noah system e.g. system default output power, battery management, operation mode and currency
247
+
From what has been reverse engineered from the api, each setting has a `setting_type` and a set of `parameters` that are relevant to it.
182
248
183
-
The three functions `update_mix_inverter_setting`, `update_ac_inverter_setting`, and `update_inverter_setting` take either a dictionary or an array. If an array is passed it will automatically generate the `paramN` key based on array index since all params for settings seem to used the same numbering scheme.
249
+
Known working settings & parameters are as follows (all parameter values are strings):
250
+
***Change "System Default Output Power"**
251
+
* function: `api.update_noah_settings`
252
+
* setting type: `default_power`
253
+
* params:
254
+
*`param1`: System default output power in watt
255
+
***Change "Battery Management"**
256
+
* function: `api.update_noah_settings`
257
+
* setting type: `charging_soc`
258
+
* params:
259
+
*`param1`: Charge upper limit in %
260
+
*`param2`: Charge lower limit in %
261
+
***Change "Operation Mode" Time Segment**
262
+
* function: `api.update_noah_settings`
263
+
* setting type: `time_segment` key from `api.noah_info(serial_number)`, for new `time_segment` count the ending number up
0 commit comments