Ess » Geschiedenis » Versie 14
Micha Kersloot, 21-09-2023 15:43
1 | 1 | Micha Kersloot | h1. Ess |
---|---|---|---|
2 | |||
3 | 4 | Micha Kersloot | {{>toc}} |
4 | |||
5 | 11 | Micha Kersloot | Gathered info about the Victron Dynamic ESS algorithm |
6 | |||
7 | * The algorithm does consider tomorrow's prices, consumption and PV yield estimates (from the moment tomorrow's prices are published). This is not expressed visually on the graphs because Node-RED implementation is only a proof-of-concept :). But the documentation perhaps should reflect this fact to make it clear. |
||
8 | * It seems you have understood the reason behind why the discharge is always happening: because it is still profitable to do so since it is energy that is present in the battery. It is important to note that the algorithm only works with the future, so what happens in the past (the price at which it charged) is irrelevant because the algorithm only sees it as the available energy in the battery at a given moment. |
||
9 | * The partial charge that happens at 13 when the b_cost is below 0.04 is because it only considers the PV-yield as the profitable energy at that time. Looking at the buy/sell prices of the installation, it is hardly ever profitable to do energy trading using the grid since buy price is greatly higher than the sell price. But PV yield is 'free' in that way. And the reason why the charge/discharge (at 13 and evening) does not happen with prices above 0.05 is because the battery costs of that operation outweighs the earnings you would get from selling it to the grid. |
||
10 | * The reason why the controls do not reflect what you see on the graph is because the system is trying to be conservative with allowing the battery to be idle. Since the forecasts for both consumption and solar yield can be inaccurate and the battery costs are a factor to consider, we have seen that it is best to disallow the battery to be non-idle when its planned usage is below 10% of its charge/discharge capabilities. |
||
11 | * For the hours 1 and 2, the planned battery discharge was below 0.3 (10% of the FB_max) looking at the screenshot you have provided in the original post. In this case the battery is set to be idle in order to be conservative with its usage. But for the hour 3, the planned discharge was above 0.3 hence the battery was not idle (as you can see from the screenshot you posted the last) It is important to note that the decision-making with regards to this conservative usage is made based on the forecasts not what happens in reality in that hour: for hour 2 the usage was actually above 0.3 while for hour 3 it was the opposite. |
||
12 | 12 | Micha Kersloot | * For instance, for the first installation screenshots you have provided, the reason why it charges at 11 is because it expects |
13 | consumption of around 4 kWh in the hours after and the FG_max is 3.5 kWh, meaning there is a need for battery to meet that 1 kWh in those hours. Hence it plans to discharge till 14. After 14 it starts charging at a high rate because the prices are the lowest at that time. It continues charging till 17, to be ready to meet the consumption needs in the evening where the prices will be more expensive. And then it discharges. |
||
14 | In doing these it never aims to charge fully, because that is not necessarily the most cost-effective way to go according to the algorithm. I hope this provides more context as to how the algorithm functions, if you have any more questions feel free to ask. |
||
15 | 11 | Micha Kersloot | |
16 | 9 | Micha Kersloot | h1. EasySolar II |
17 | 1 | Micha Kersloot | |
18 | 10 | Micha Kersloot | ESS #1 means low SOC |
19 | |||
20 | 9 | Micha Kersloot | h2. Multiplus II |
21 | 1 | Micha Kersloot | |
22 | 9 | Micha Kersloot | {{collapse(Configuration) |
23 | 1 | Micha Kersloot | <pre> |
24 | TAB: GeneralSystem frequency 50Hz |
||
25 | |||
26 | Shore current 19.0 A |
||
27 | Overruled by remote checked |
||
28 | Dynamic current limiter unchecked |
||
29 | External current sensor connected (see manual) unchecked |
||
30 | State of charge when Bulk finished 95.0 % |
||
31 | Battery capacity 200 Ah |
||
32 | Charge efficiency 0.95 TAB: Grid |
||
33 | Country / grid code standard Germany: VDE-AR-N 4105:2018-11, internal NS protection |
||
34 | |||
35 | AC input 1 Above selected gridcode plus LOM B (compliant) |
||
36 | rise-in-voltage protection U> 253.0 V |
||
37 | start network service HF treshold 50.20 Hz |
||
38 | P(f>) droop 5.00 % |
||
39 | Use Aux1 as disable FeedIn signal checked |
||
40 | Maximum AC current for charge or feed in 100.0 % |
||
41 | Reactive power regulation Use a fixed Cos Phi |
||
42 | Filter time for reactive power 3.3 s |
||
43 | Cos phi at point 1 1.00 TAB: Inverter |
||
44 | PowerAssist unchecked |
||
45 | |||
46 | Inverter output voltage 230 V |
||
47 | Inverter DC shut-down voltage 44.00 V |
||
48 | Inverter DC restart voltage 48.00 V |
||
49 | Low DC alarm level 48.00 V |
||
50 | Do not restart after short-circuit (VDE 2510-2 safety) unchecked |
||
51 | enable AES uncheckedTAB: Charger |
||
52 | Enable charger checked |
||
53 | |||
54 | Weak AC input unchecked |
||
55 | Stop after excessive bulk unchecked |
||
56 | Lithium batteries checked |
||
57 | Disable VSense (for diagnostic purposes) unchecked |
||
58 | Configured for VE.Bus BMS unchecked |
||
59 | Charge curve Fixed |
||
60 | Absorption voltage 52.00 V |
||
61 | Float voltage 51.00 V |
||
62 | Charge current 70 A |
||
63 | Repeated absorption time 1.00 Hr |
||
64 | Repeated absorption interval 7.00 Days |
||
65 | Absorption time 1 HrTAB: Virtual switch |
||
66 | TAB: Usage |
||
67 | Virtual switch usage Do not use VS |
||
68 | TAB: Assistants |
||
69 | TAB: Assistant Configuration |
||
70 | ESS (Energy Storage System) (size:978) |
||
71 | |||
72 | *) System uses LiFePo4 with other type BMS |
||
73 | (This can be either a BMS connected via CAN bus or a BMS system in which the |
||
74 | batteries are protected from high/low cell voltages by external equipment.) |
||
75 | *) The battery capacity of the system is 200 Ah. |
||
76 | *) Sustain voltage 48.00 V. |
||
77 | *) Cut off voltage for a discharge current of: |
||
78 | 0.005 C= 46.00 V |
||
79 | 0.25 C= 46.00 V |
||
80 | 0.7 C= 46.00 V |
||
81 | 2 C= 46.00 V |
||
82 | *) Inverting is allowed again when voltage rises 1.20 V above cut-off(0). |
||
83 | *) Relevant VEConfigure settings: |
||
84 | - Battery capacity 200 Ah. |
||
85 | - PowerAssist unchecked |
||
86 | - Lithium batteries checked |
||
87 | - Dynamic current limiter unchecked |
||
88 | - Storage mode unchecked |
||
89 | |||
90 | |||
91 | Total size of all assistants including the required |
||
92 | (hidden) system assistants is: 1037 |
||
93 | </pre> |
||
94 | 9 | Micha Kersloot | }} |
95 | 2 | Micha Kersloot | |
96 | 9 | Micha Kersloot | h2. GX device |
97 | 3 | Micha Kersloot | |
98 | 1 | Micha Kersloot | seems to be an : Allwinner sun8i Family |
99 | |||
100 | 13 | Micha Kersloot | Use the firmware 'large' to have access to MQTT and Node-Red. |
101 | |||
102 | 2 | Micha Kersloot | https://www.victronenergy.com/live/ccgx:root_access |
103 | |||
104 | 9 | Micha Kersloot | h3. ESPhome grid meter |
105 | |||
106 | 5 | Micha Kersloot | Using the the following extra software on the GX device to enable mqtt devices to connect to the victron GX and be used as a grid meter: |
107 | 1 | Micha Kersloot | https://github.com/freakent/dbus-mqtt-devices |
108 | 5 | Micha Kersloot | |
109 | Using the following ESPHome alternate P1 meter configuration to send P1 data to the GX device AND to home assistant: |
||
110 | 1 | Micha Kersloot | |
111 | 8 | Micha Kersloot | after updating the firmware you seem to need to run the setup.sh script again. |
112 | |||
113 | 1 | Micha Kersloot | [[esphome p1meter victron version]] |
114 | |||
115 | 9 | Micha Kersloot | h3. GX to Home Assistant |
116 | 1 | Micha Kersloot | |
117 | 6 | Micha Kersloot | To get information from the GX device into home assistant you can use the following HACS addon: https://github.com/sfstar/hass-victron |
118 | |||
119 | To get the battery input/output into the energy dashboard you need to split the sensor.victron_system_battery_power into two values with template sensors and add two cummulative entries with the integration platform. |
||
120 | |||
121 | 9 | Micha Kersloot | {{collapse(configuration.yml) |
122 | 5 | Micha Kersloot | <pre> |
123 | sensor: |
||
124 | #total battery input energy (cummulate) |
||
125 | - platform: integration |
||
126 | source: sensor.battery_power_input |
||
127 | name: battery_input_energy |
||
128 | unit_prefix: k |
||
129 | method: left |
||
130 | round: 3 |
||
131 | #total battery output energy (cummulate) |
||
132 | - platform: integration |
||
133 | source: sensor.battery_power_output |
||
134 | name: battery_output_energy |
||
135 | unit_prefix: k |
||
136 | method: left |
||
137 | round: 3 |
||
138 | 1 | Micha Kersloot | |
139 | 5 | Micha Kersloot | ---- |
140 | 6 | Micha Kersloot | |
141 | 5 | Micha Kersloot | template: |
142 | - sensor: |
||
143 | - name: "Battery power input" |
||
144 | unique_id: sensor.battery_power_input |
||
145 | device_class: power |
||
146 | unit_of_measurement: "W" |
||
147 | state: > |
||
148 | {% if states('sensor.victron_system_battery_power')|float >= 0 %} |
||
149 | {{ states('sensor.victron_system_battery_power') }} |
||
150 | {% else %} |
||
151 | 0 |
||
152 | {% endif %} |
||
153 | - name: "Battery power output" |
||
154 | unique_id: sensor.battery_power_output |
||
155 | device_class: power |
||
156 | unit_of_measurement: "W" |
||
157 | state: > |
||
158 | {% if states('sensor.victron_system_battery_power')|float < 0 %} |
||
159 | 1 | Micha Kersloot | {{ -1 * states('sensor.victron_system_battery_power')|float }} |
160 | {% else %} |
||
161 | 5 | Micha Kersloot | 0 |
162 | {% endif %} |
||
163 | </pre> |
||
164 | 9 | Micha Kersloot | }} |
165 | 7 | Micha Kersloot | |
166 | 9 | Micha Kersloot | h3. GX Venus OS Large |
167 | 7 | Micha Kersloot | |
168 | 8 | Micha Kersloot | You can update the firmware with a Venus OS Large version. This version includes Node-RED. In the Remote Console, this can be enabled and you can finde node-red on https://venus:1881/ |
169 | 1 | Micha Kersloot | |
170 | 8 | Micha Kersloot | when installing Venus OS Large, you better run |
171 | |||
172 | 7 | Micha Kersloot | /opt/victronenergy/swupdate-scripts/resize2fs.sh |
173 | |||
174 | 9 | Micha Kersloot | h1. Pylontech 5000US |
175 | 4 | Micha Kersloot | |
176 | https://www.victronenergy.com/live/battery_compatibility:pylontech_phantom |
||
177 | 14 | Micha Kersloot | |
178 | The equalization takes place according to my information only if: |
||
179 | * At least one cell has over 3.450V & |
||
180 | * The cell difference within the battery is over 0,030V & |
||
181 | * The battery is being charged & |
||
182 | * The battery is not in error & |