Skip to content

Commit e05a453

Browse files
authored
Update en_properties.md
1 parent 95290f2 commit e05a453

File tree

1 file changed

+155
-98
lines changed

1 file changed

+155
-98
lines changed

docs/en_properties.md

Lines changed: 155 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -4,103 +4,160 @@
44
* @LastEditors: dav1dBoy 492664938@qq.com
55
* @LastEditTime: 2026-01-04 14:40:33
66
* @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.
1010
-->
1111

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

Comments
 (0)