File: devices.md

package info (click to toggle)
growattserver 2.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 392 kB
  • sloc: python: 1,722; makefile: 2
file content (46 lines) | stat: -rw-r--r-- 2,044 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# OpenAPI V1 - Devices

Devices offer a generic way to interact with your device using the V1 API without needing to provide your S/N every time. And can be used instead of the more specific device functions in the API class.

```python
import growattServer
from growattServer.open_api_v1.devices import Sph, Min

api = growattServer.OpenApiV1(token="YOUR_API_TOKEN")

device = Sph(api, 'YOUR_DEVICE_SERIAL_NUMBER') # or Min(api, 'YOUR_DEVICE_SERIAL_NUMBER')
device.detail()
device.energy()
device.energy_history()
device.read_parameter()
device.write_parameter()
```

If you do not know your devices type, but do have their type id this method will provide you with the correct device class to use

```
import growattServer

api = growattServer.OpenApiV1(token="YOUR_API_TOKEN")
device = api.get_device(device_sn, device_type)
if device is not None:
    device.detail()
    device.energy()
    device.energy_history()
    device.read_parameter()
    device.write_parameter()
```

The basic methods are described here

| Method | Arguments | Description |
|:---|:---|:---|
| `device.energy()` | None | Get current energy data for any inverter, including power and energy values. |
| `device.detail()` | None | Get detailed data for any inverter. |
| `device.energy_history(start_date=None, end_date=None, timezone=None, page=None, limit=None)` | start_date: Date, end_date: Date, timezone: String, page: Int, limit: Int | Get energy history data for any inverter (7-day max range). |
| `device.read_parameter(parameter_id, start_address=None, end_address=None)` | parameter_id: String, start_address: Int, end_address: Int | Read a specific setting for any inverter. |
| `device.write_parameter(parameter_id, parameter_values)` | parameter_id: String, parameter_values: Dict/Array | Set parameters on any inverter. Parameter values can be a single value, a list, or a dictionary. |

However some device classes harbor more methods, which will be described in their respective readmes:
- [SPH/MIX](./devices/sph.md)
- [Min/TLX](./devices/min.md)