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: docs/developer_guide.md
+26-2Lines changed: 26 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -90,8 +90,32 @@ Documentation to be completed ...
90
90
91
91
## Scan groups for differentiated polling
92
92
Some inverter plugins use different scan groups (to differentiate between slowly changing sensor entities and entities that are updated frequently?)
93
-
To be documented ...
94
-
93
+
This is determined by the presence of attribute scan_group on sensor entities.
94
+
The scan_group attribute can take following values: SCAN_GROUP_DEFAULT, SCAN_GROUP_MEDIUM, SCAN_GROUP_FAST or SCAN_GROUP_AUTO
95
+
If no scan_group is specified, the plugin-specific default will be used. There can be a different default for holding and input registers. See the plugin declaration at the end of your plugin. Example:
96
+
```
97
+
plugin_instance = solax_plugin(
98
+
plugin_name="SolaX",
99
+
plugin_manufacturer="SolaX Power",
100
+
SENSOR_TYPES=SENSOR_TYPES_MAIN,
101
+
NUMBER_TYPES=NUMBER_TYPES,
102
+
BUTTON_TYPES=BUTTON_TYPES,
103
+
SELECT_TYPES=SELECT_TYPES,
104
+
SWITCH_TYPES=[],
105
+
block_size=100,
106
+
order16=Endian.BIG,
107
+
order32=Endian.LITTLE,
108
+
auto_block_ignore_readerror=True,
109
+
default_holding_scangroup=SCAN_GROUP_DEFAULT,
110
+
default_input_scangroup=SCAN_GROUP_AUTO,
111
+
auto_default_scangroup=SCAN_GROUP_FAST,
112
+
auto_slow_scangroup=SCAN_GROUP_MEDIUM,
113
+
)
114
+
```
115
+
The actual polling speed for each group is determined during initial or subsequent configuration of the intergration (config_flow).
116
+
If the 3 polling group times are set to the same value, the system will act as if there is only one scangroup (they are merged together by interval time)
117
+
118
+
If SCAN_GROUP_AUTO is chosen for `default_input_scangroup` or `default_holding_scangroup`, entities without a `scan_group` declararation will get the value specified in `plugin.auto_slow_scangroup` if their native unit is slowly changing like temperatures or kWh .., otherwise the value specified in `plugin.auto_default_scangroup`
Copy file name to clipboardExpand all lines: docs/solax-mode1-modbus-power-control.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,12 +19,14 @@ The work described here uses mode 1 from the Solax KB document: [KB document : S
19
19
A similar autorepeat mechanism is under development for mode 8
20
20
21
21
### Note:
22
-
For people using external tasks to control the power, the _remotecontrol_xxx_direct_ versions of the entities could be used. This is outside the scope if this wiki page.
22
+
- For people using external tasks to control the power, the _remotecontrol_xxx_direct_ versions of the entities could be used. This is outside the scope if this wiki page.
23
+
- If you use modbus power control autorepeat loops, make sure the polling interval for the fastest scangroup is sufficiently low e.g. 3-5 seconds, otherwise the values are updated too slowly. A too short interval can overload your system or modbus communication bus. Some people can go as low as 1 second, but it is safer to have more margin.
23
24
24
25
***
25
26
## Solax Gen4 approach - Mode 1
26
27
***
27
28
29
+
28
30
The Solax Gen4 inverters and higher use a modbus write_multiple_registers command.
29
31
On the Gen4, these actions are not stored in EEPROM, so they can be executed frequently.
30
32
The integration hides this complexity and implements one button to trigger a single or repeated update(s). The action behind this button is configurable through 6 parameter entities.
Copy file name to clipboardExpand all lines: docs/solax-mode8-modbus-power-control.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,6 +21,7 @@ A similar autorepeat mechanism is available for mode 1; see the dedicated wiki p
21
21
* For people using external tasks to control the power, the _remotecontrol_xxx_direct_ versions of the entities could be used. This is outside the scope if this wiki page.
22
22
* Although the addition of Mode 8 in new firmwares is a big enhancement, we still feel there is a missing mode that focusses on the grid interface and can limit the PV in case of negative prices. Our Mode 8 autorepeat loop tries to emulate this, but can only adjust every polling cycle, a firmware based solution could react faster.
23
23
* This mechanism will only work on the most recent firmware versions; previous versions do not support mode 8 or 9. I am running Firmware: DSP v1.52 ARM v1.50 at the time of my testing
24
+
* If you use modbus power control autorepeat loops, make sure the polling interval for the fastest scangroup is sufficiently low e.g. 3-5 seconds, otherwise the values are updated too slowly. A too short interval can overload your system or modbus communication bus. Some people can go as low as 1 second, but it is safer to have more margin.
0 commit comments