|
4 | 4 | * @LastEditors: dav1dBoy 492664938@qq.com |
5 | 5 | * @LastEditTime: 2026-01-04 14:40:33 |
6 | 6 | * @FilePath: /zenSDK/docs/en_properties.md |
7 | | - * @Description: |
8 | | - * |
9 | | - * Copyright (c) 2025 by Zendure, All Rights Reserved. |
| 7 | + * @Description: |
| 8 | + * |
| 9 | + * Copyright (c) 2025 by Zendure, All Rights Reserved. |
10 | 10 | --> |
11 | 11 |
|
12 | | -# **SolarFlow 800** **SolarFlow 800 PRO/AC** **SolarFlow 800 PRO/AC** **SolarFlow 2400AC** |
13 | | - |
14 | | -## **Battery Pack Data Properties** |
15 | | - |
16 | | -| Attribute | Data Type | Description | |
17 | | -| ----------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
18 | | -| sn | string | Serial number of the battery pack | |
19 | | -| packType | int | Not used | |
20 | | -| socLevel | int | Battery charge level | |
21 | | -| state | int | 0: Standby, 1: Charging, 2: Discharging | |
22 | | -| power | int | Battery pack power | |
23 | | -| maxTemp | int | Maximum battery temperature (maxTemp) is stored as one-tenth of the Kelvin temperature. The conversion formula to Celsius (°C) is:`float maxTemp_Celsius = (maxTemp - 2731) / 10.0; // Unit: °C` | |
24 | | -| totalVol | int | Total voltage | |
25 | | -| batcur | int | The raw batcur data is stored as a 16-bit two’s complement value in a uint8_t[2] array.During parsing, it needs to be converted into a signed 16-bit integer.According to the protocol definition, divide the value by 10 to obtain the actual current, in amperes (A). | |
26 | | -| maxVol | int | Maximum cell voltage, stored in units of 0.01V. The conversion formula to actual voltage:`maxVol / 100.0` (Unit: V) | |
27 | | -| minVol | int | Minimum cell voltage, stored in units of 0.01V. The conversion formula to actual voltage:`minVol / 100.0` (Unit: V) | |
28 | | -| softVersion | int | Software version | |
29 | | -| heatState | int | Heating state (0: Not heating, 1: Heating) | |
30 | | - |
31 | | -**Battery Current (batcur) Data Conversion Description** |
32 | | - |
33 | | -The raw **batcur** data is stored as a **16-bit two’s complement** value in a **uint8_t[2]** array. |
34 | | - |
35 | | -During parsing, it needs to be converted into a **signed 16-bit integer**. |
36 | | - |
37 | | -According to the protocol definition, divide the value by **10** to obtain the actual current, in **amperes (A)**. |
38 | | - |
39 | | -## **Device Data Properties - Read-Only** |
40 | | - |
41 | | -| Attribute | Data Type | Description | |
42 | | -| --------------- | --------- | -------------------------------------------------------------------- | |
43 | | -| heatState | int | 0: Not heating, 1: Heating | |
44 | | -| packInputPower | int | Battery pack input power (discharging) | |
45 | | -| outputPackPower | int | Output power to battery pack (charging) | |
46 | | -| outputHomePower | int | Output power to home electricity | |
47 | | -| remainOutTime | int | Remaining discharge time (unit: minutes) | |
48 | | -| packState | int | 0: Standby, 1: Charging, 2: Discharging | |
49 | | -| packNum | int | Number of battery packs | |
50 | | -| electricLevel | int | Average battery pack charge level | |
51 | | -| gridInputPower | int | Grid input power | |
52 | | -| solarInputPower | int | Total solar input power | |
53 | | -| solarPower1 | int | Solar line 1 input power | |
54 | | -| solarPower2 | int | Solar line 2 input power | |
55 | | -| solarPower3 | int | Solar line 3 input power | |
56 | | -| solarPower4 | int | Solar line 4 input power | |
57 | | -| solarPower5 | int | Solar line 5 input power | |
58 | | -| solarPower6 | int | Solar line 6 input power | |
59 | | -| pass | int | 0: No, 1: Yes | |
60 | | -| reverseState | int | 0: No, 1: Reverse flow | |
61 | | -| socStatus | int | 0: No, 1: Calibrating | |
62 | | -| hyperTmp | int | Enclosure temperature | |
63 | | -| dcStatus | int | 0: Stopped, 1: Battery input, 2: Battery output | |
64 | | -| pvStatus | int | 0: Stopped, 1: Running | |
65 | | -| acStatus | int | 0: Stopped, 1: Grid-connected operation, 2: Charging operation | |
66 | | -| dataReady | int | 0: Not ready, 1: Ready | |
67 | | -| gridState | int | 0: Not connected, 1: Connected | |
68 | | -| BatVolt | int | Battery voltage (unit: 0.01V) | |
69 | | -| FMVolt | int | Voltage activation - Voltage value | |
70 | | -| socLimit | int | 0: Normal state, 1: Charge limit reached, 2: Discharge limit reached | |
71 | | -| rssi | int | Signal strength (unit: dBm) | |
72 | | -| gridOffPower | int | Grid off power | |
73 | | -| lampSwitch | int | Lamp switch state (0: Off, 1: On) | |
74 | | -| gridOffMode | int | Grid off mode setting | |
75 | | -| IOTState | int | IOT connection state | |
76 | | -| fanSwitch | int | Fan switch state (0: Off, 1: On) | |
77 | | -| fanSpeed | int | Fan speed level | |
78 | | -| faultLevel | int | Fault level indicator | |
79 | | -| bindstate | int | Device bind state | |
80 | | -| VoltWakeup | int | Voltage wakeup setting | |
81 | | -| OldMode | int | Old mode setting | |
82 | | -| OTAState | int | OTA (Over-The-Air) update state | |
83 | | -| LCNState | int | LCN state | |
84 | | -| factoryModeState| int | Factory mode state | |
85 | | -| timestamp | int | System timestamp | |
86 | | -| ts | int | Timestamp (Unix epoch time) | |
87 | | -| timeZone | int | Time zone setting | |
88 | | -| tsZone | int | Timezone offset | |
89 | | -| chargeMaxLimit | int | Maximum charge limit (unit: W) | |
90 | | -| phaseSwitch | int | Phase switch setting | |
91 | | -| is_error | int | Error indication flag (0: No error, 1: Error present) | |
92 | | - |
93 | | -## **Device Data Properties - Read/Write** |
94 | | - |
95 | | -| Attribute | Data Type | Description | |
96 | | -| --------------- | --------- | --------------------------------------------------------------- | |
97 | | -| writeRsp | N/A | Read/write response acknowledgment | |
98 | | -| acMode | int | 1: Input/Charging, 2: Output/Discharging | |
99 | | -| inputLimit | int | AC charging power limit | |
100 | | -| outputLimit | int | Output power limit | |
101 | | -| socSet | int | 700-1000: 70%-100% | |
102 | | -| minSoc | int | 0-500: 0%-50% | |
103 | | -| gridReverse | int | 0: Disabled, 1: Allowed reverse flow, 2: Forbidden reverse flow | |
104 | | -| inverseMaxPower | int | Maximum output power limit | |
105 | | -| gridStandard | int | Grid connection standard 0: Germany 1: France 2: Austria 3: Switzerland | |
106 | | -| smartMode | int | 1: The setting parameter is not written to flash. After an unexpected power loss and restart, the device will use the value stored in flash. 0: The setting parameter is written to flash. If you frequently set device properties, set this to 1. | |
| 12 | +# SolarFlow Generic |
| 13 | + |
| 14 | +Unified property definition for SolarFlow series devices. |
| 15 | + |
| 16 | +--- |
| 17 | + |
| 18 | +## Document Conventions |
| 19 | + |
| 20 | +- Power unit: W |
| 21 | +- Voltage unit: V |
| 22 | +- Temperature storage: 0.1 Kelvin unless stated otherwise |
| 23 | +- Bit fields are defined in dedicated sections |
| 24 | +- Ranges are inclusive |
| 25 | +- Unless otherwise specified, all `int` values are non-negative |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +## Table Template |
| 30 | + |
| 31 | +Use this template when adding new property tables. |
| 32 | + |
| 33 | +| Attribute | Type | Access | Unit | Range | Description | |
| 34 | +|-----------|------|--------|------|-------|------------| |
| 35 | +| example | int | RO/RW | W | 0-100 | Description here | |
| 36 | + |
| 37 | +Access values: |
| 38 | + |
| 39 | +- RO: Read Only |
| 40 | +- RW: Read / Write |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## Battery Pack Data Properties |
| 45 | + |
| 46 | +| Attribute | Type | Access | Unit | Range | Description | |
| 47 | +|-----------|------|--------|------|-------|------------| |
| 48 | +| sn | string | RO | — | — | Battery pack serial number | |
| 49 | +| packType | int | RO | — | — | Reserved | |
| 50 | +| socLevel | int | RO | % | 0-100 | State of charge | |
| 51 | +| state | int | RO | — | 0-2 | 0 Standby, 1 Charging, 2 Discharging | |
| 52 | +| power | int | RO | W | — | Battery pack power | |
| 53 | +| maxTemp | int | RO | 0.1K | — | Stored temperature value | |
| 54 | +| totalVol | int | RO | V | — | Total voltage | |
| 55 | +| batcur | int | RO | A | — | Battery current, see conversion | |
| 56 | +| maxVol | int | RO | 0.01V | — | Max cell voltage | |
| 57 | +| minVol | int | RO | 0.01V | — | Min cell voltage | |
| 58 | +| softVersion | int | RO | — | — | Firmware version | |
| 59 | +| heatState | int | RO | — | 0-1 | Heating state | |
| 60 | + |
| 61 | +### Temperature Conversion |
| 62 | + |
| 63 | +float maxTemp_C = (maxTemp - 2731) / 10.0; |
| 64 | + |
| 65 | +### Battery Current Conversion |
| 66 | + |
| 67 | +Raw format: 16-bit two’s complement |
| 68 | +Source container: uint8_t[2] |
| 69 | +Convert to signed int16 |
| 70 | + |
| 71 | +current_A = value / 10.0; |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +## Device Data Properties — Read Only |
| 76 | + |
| 77 | +| Attribute | Type | Access | Unit | Range | Description | |
| 78 | +|-----------|------|--------|------|-------|------------| |
| 79 | +| heatState | int | RO | — | 0-1 | Heating state | |
| 80 | +| packInputPower | int | RO | W | — | Battery discharge power | |
| 81 | +| outputPackPower | int | RO | W | — | Battery charge power | |
| 82 | +| outputHomePower | int | RO | W | — | Output to home | |
| 83 | +| remainOutTime | int | RO | min | — | Remaining discharge time | |
| 84 | +| packState | int | RO | — | 0-2 | Pack state | |
| 85 | +| packNum | int | RO | — | — | Number of packs | |
| 86 | +| electricLevel | int | RO | % | 0-100 | Average SOC | |
| 87 | +| gridInputPower | int | RO | W | — | Grid input power | |
| 88 | +| solarInputPower | int | RO | W | — | Total PV input | |
| 89 | +| solarPower1~6 | int | RO | W | — | PV channel power | |
| 90 | +| pass | int | RO | — | 0-1 | Pass-through state | |
| 91 | +| reverseState | int | RO | — | 0-1 | Reverse flow state | |
| 92 | +| socStatus | int | RO | — | 0-1 | SOC calibration | |
| 93 | +| hyperTmp | int | RO | — | — | Enclosure temperature | |
| 94 | +| dcStatus | int | RO | — | 0-2 | DC state | |
| 95 | +| pvStatus | int | RO | — | 0-1 | PV state | |
| 96 | +| acStatus | int | RO | — | 0-2 | AC state | |
| 97 | +| dataReady | int | RO | — | 0-1 | Data ready flag | |
| 98 | +| gridState | int | RO | — | 0-1 | Grid connection state | |
| 99 | +| BatVolt | int | RO | 0.01V | — | Battery voltage | |
| 100 | +| FMVolt | int | RO | V | — | Voltage activation value | |
| 101 | +| socLimit | int | RO | — | 0-2 | SOC limit state | |
| 102 | +| rssi | int | RO | dBm | — | Signal strength | |
| 103 | +| gridOffPower | int | RO | W | — | Off-grid power | |
| 104 | +| lampSwitch | int | RO | — | 0-1 | Lamp state | |
| 105 | +| gridOffMode | int | RO | — | — | Off-grid mode | |
| 106 | +| IOTState | int | RO | — | — | IoT connection | |
| 107 | +| fanSwitch | int | RO | — | 0-1 | Fan state | |
| 108 | +| fanSpeed | int | RO | — | — | Fan level | |
| 109 | +| faultLevel | int | RO | — | — | Fault severity | |
| 110 | +| bindstate | int | RO | — | — | Bind state | |
| 111 | +| VoltWakeup | int | RO | — | — | Voltage wake-up | |
| 112 | +| OldMode | int | RO | — | — | Legacy mode | |
| 113 | +| OTAState | int | RO | — | — | OTA state | |
| 114 | +| LCNState | int | RO | — | — | LCN state | |
| 115 | +| factoryModeState | int | RO | — | — | Factory mode | |
| 116 | +| timestamp | int | RO | — | — | System timestamp | |
| 117 | +| ts | int | RO | — | — | Unix timestamp | |
| 118 | +| timeZone | int | RO | — | — | Timezone | |
| 119 | +| tsZone | int | RO | — | — | Timezone offset | |
| 120 | +| chargeMaxLimit | int | RO | W | — | Max charge power | |
| 121 | +| phaseSwitch | int | RO | — | — | Phase switch | |
| 122 | +| is_error | int | RO | — | 0-1 | Error flag | |
| 123 | +| acCouplingState | int | RO | — | - | AC Coupling State | |
| 124 | +| dryNodeState | int | RO | — | - | Dry contact status 1: Connected 0: Connected(May be reversed depending on actual wiring) | |
| 125 | + |
| 126 | +--- |
| 127 | + |
| 128 | +## Device Data Properties — Read / Write |
| 129 | + |
| 130 | +| Attribute | Type | Access | Unit | Range | Description | |
| 131 | +|-----------|------|--------|------|-------|------------| |
| 132 | +| writeRsp | N/A | RW | — | — | Write response | |
| 133 | +| acMode | int | RW | — | 1-2 | Charge or discharge mode | |
| 134 | +| inputLimit | int | RW | W | — | AC charge limit | |
| 135 | +| outputLimit | int | RW | W | — | Output limit | |
| 136 | +| socSet | int | RW | % | 70-100 | Target SOC | |
| 137 | +| minSoc | int | RW | % | 0-50 | Minimum SOC | |
| 138 | +| gridReverse | int | RW | — | 0-2 | Reverse flow control | |
| 139 | +| inverseMaxPower | int | RW | W | — | Max inverter output | |
| 140 | +| gridStandard | int | RW | — | 0-3 | Grid standard | |
| 141 | +| smartMode | int | RW | — | 0-1 | Flash write behavior | |
| 142 | +| batCalTime | int | RW | — | - | Unit: minutes. Unauthorized modifications are not recommended | |
| 143 | +| Fanmode | int | RW | — | 0-1 | 0: Fan off 1: Fan on. Unauthorized modification is not recommended. | |
| 144 | +| Fanspeed | int | RW | — | 0-1 | 0: Auto; 1: 1st gear; 2: 2nd gear. Unauthorized modification is not recommended. | |
| 145 | +### smartMode Behavior |
| 146 | + |
| 147 | +- 1: Parameters are not written to flash |
| 148 | +- Device restores previous flash values after reboot |
| 149 | +- Recommended for frequent configuration changes |
| 150 | + |
| 151 | +--- |
| 152 | + |
| 153 | +## Bit Field Definitions |
| 154 | + |
| 155 | +### AC Coupling State |
| 156 | + |
| 157 | +| Bit | Meaning | |
| 158 | +|-----|--------| |
| 159 | +| Bit0 | AC-coupled input present, auto-cleared by DSP | |
| 160 | +| Bit1 | AC input present flag | |
| 161 | +| Bit2 | AC-coupled overload | |
| 162 | +| Bit3 | Excess AC input power | |
| 163 | + |
0 commit comments