• ctrl-tab
  • Registratie: Maart 2001
  • Laatst online: 00:42
Weet er iemand hoe het komt dat de volgorde van de batterijen binnen de Zendure kan afwijken van de fysieke volgorde? Kwam er nl achter dat er 2 bij mij niet overeenkomen.
Aangepast in Gielz inegratie. Maar kan dit nog veranderen? Of gewoon iets met een eerste initialisatie?

WP: Panasonic WP KIT-WC07L3E5 , Panasonic 50 liter buffer parallel, Boilervat Panasonic PAW-TD20C1E5-1 Solar: Goodwe SDT G2 GW6K-DT 6 kW


  • ctrl-tab
  • Registratie: Maart 2001
  • Laatst online: 00:42
Ben(V) schreef op woensdag 13 mei 2026 @ 22:02:
Heb mijn post even verbeterd, lees hem nog even.

Ga morgen nog wel even een template maken die beide invalshoeken weergeeft.
Heb het nu voor de gielz integratie aangepast. nu wordt het verschil tussen de batterijen (en dus de connector ertussen) berekend, en niet alles vanuit perspectief van de invertor.
Dit vereist dus wel da je interne volgorde correct is! Dit was bij mij niet zo (en zal vaker voorkomen, gezien de Gielz setting die je helpt dat te corrigeren)

Afbeeldingslocatie: https://tweakers.net/i/-A28lQvaK54S5dWcArD3cQN78gc=/x800/filters:strip_exif()/f/image/P3Pi5uD8OIyKs1vWBQ7Mrk7w.png?f=fotoalbum_large

Sensoren (plaatsen in gielz package)
code:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
# ── INVERTER 1 REST SENSOR BLOCK ─────────────────────────────────────────────

      - name: "Zendure Inverter 1 Connector Inv-Pack0 Resistance"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [0, 1, 2] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set bat_volt = states('sensor.zendure_inverter_1_battery_voltage') | float(0) * 100 %}
            {% set pack_index = (volgorde[0] | int) - 1 %}
            {% set pack_volt = value_json['packData'][pack_index]['totalVol'] | float %}
            {{ ((pack_volt - bat_volt) | abs / 100.0 / total_current * 1000) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_1_connector_inv_pack0_resistance
        unit_of_measurement: "mΩ"
        state_class: measurement
        icon: mdi:omega

      - name: "Zendure Inverter 1 Connector Inv-Pack0 Heat Loss"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [0, 1, 2] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set bat_volt = states('sensor.zendure_inverter_1_battery_voltage') | float(0) * 100 %}
            {% set pack_index = (volgorde[0] | int) - 1 %}
            {% set pack_volt = value_json['packData'][pack_index]['totalVol'] | float %}
            {{ ((pack_volt - bat_volt) | abs / 100.0 * total_current) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_1_connector_inv_pack0_heat_loss
        unit_of_measurement: "W"
        state_class: measurement
        device_class: power
        icon: mdi:heat-wave

      - name: "Zendure Inverter 1 Connector Pack0-Pack1 Resistance"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [1, 2] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx0 = (volgorde[0] | int) - 1 %}
            {% set idx1 = (volgorde[1] | int) - 1 %}
            {% set volt0 = value_json['packData'][idx0]['totalVol'] | float %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {{ ((volt0 - volt1) | abs / 100.0 / total_current * 1000) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_1_connector_pack0_pack1_resistance
        unit_of_measurement: "mΩ"
        state_class: measurement
        icon: mdi:omega

      - name: "Zendure Inverter 1 Connector Pack0-Pack1 Heat Loss"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [1, 2] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx0 = (volgorde[0] | int) - 1 %}
            {% set idx1 = (volgorde[1] | int) - 1 %}
            {% set volt0 = value_json['packData'][idx0]['totalVol'] | float %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {{ ((volt0 - volt1) | abs / 100.0 * total_current) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_1_connector_pack0_pack1_heat_loss
        unit_of_measurement: "W"
        state_class: measurement
        device_class: power
        icon: mdi:heat-wave

      - name: "Zendure Inverter 1 Connector Pack1-Pack2 Resistance"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [2] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx1 = (volgorde[1] | int) - 1 %}
            {% set idx2 = (volgorde[2] | int) - 1 %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {% set volt2 = value_json['packData'][idx2]['totalVol'] | float %}
            {{ ((volt1 - volt2) | abs / 100.0 / total_current * 1000) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_1_connector_pack1_pack2_resistance
        unit_of_measurement: "mΩ"
        state_class: measurement
        icon: mdi:omega

      - name: "Zendure Inverter 1 Connector Pack1-Pack2 Heat Loss"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [2] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx1 = (volgorde[1] | int) - 1 %}
            {% set idx2 = (volgorde[2] | int) - 1 %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {% set volt2 = value_json['packData'][idx2]['totalVol'] | float %}
            {{ ((volt1 - volt2) | abs / 100.0 * total_current) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_1_connector_pack1_pack2_heat_loss
        unit_of_measurement: "W"
        state_class: measurement
        device_class: power
        icon: mdi:heat-wave

# ── INVERTER 2 REST SENSOR BLOCK ─────────────────────────────────────────────

      - name: "Zendure Inverter 2 Connector Inv-Pack0 Resistance"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [3, 4, 5] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set bat_volt = states('sensor.zendure_inverter_2_battery_voltage') | float(0) * 100 %}
            {% set pack_index = (volgorde[3] | int) - 1 %}
            {% set pack_volt = value_json['packData'][pack_index]['totalVol'] | float %}
            {{ ((pack_volt - bat_volt) | abs / 100.0 / total_current * 1000) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_2_connector_inv_pack0_resistance
        unit_of_measurement: "mΩ"
        state_class: measurement
        icon: mdi:omega

      - name: "Zendure Inverter 2 Connector Inv-Pack0 Heat Loss"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [3, 4, 5] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set bat_volt = states('sensor.zendure_inverter_2_battery_voltage') | float(0) * 100 %}
            {% set pack_index = (volgorde[3] | int) - 1 %}
            {% set pack_volt = value_json['packData'][pack_index]['totalVol'] | float %}
            {{ ((pack_volt - bat_volt) | abs / 100.0 * total_current) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_2_connector_inv_pack0_heat_loss
        unit_of_measurement: "W"
        state_class: measurement
        device_class: power
        icon: mdi:heat-wave

      - name: "Zendure Inverter 2 Connector Pack0-Pack1 Resistance"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [4, 5] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx0 = (volgorde[3] | int) - 1 %}
            {% set idx1 = (volgorde[4] | int) - 1 %}
            {% set volt0 = value_json['packData'][idx0]['totalVol'] | float %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {{ ((volt0 - volt1) | abs / 100.0 / total_current * 1000) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_2_connector_pack0_pack1_resistance
        unit_of_measurement: "mΩ"
        state_class: measurement
        icon: mdi:omega

      - name: "Zendure Inverter 2 Connector Pack0-Pack1 Heat Loss"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [4, 5] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx0 = (volgorde[3] | int) - 1 %}
            {% set idx1 = (volgorde[4] | int) - 1 %}
            {% set volt0 = value_json['packData'][idx0]['totalVol'] | float %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {{ ((volt0 - volt1) | abs / 100.0 * total_current) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_2_connector_pack0_pack1_heat_loss
        unit_of_measurement: "W"
        state_class: measurement
        device_class: power
        icon: mdi:heat-wave

      - name: "Zendure Inverter 2 Connector Pack1-Pack2 Resistance"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [5] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx1 = (volgorde[4] | int) - 1 %}
            {% set idx2 = (volgorde[5] | int) - 1 %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {% set volt2 = value_json['packData'][idx2]['totalVol'] | float %}
            {{ ((volt1 - volt2) | abs / 100.0 / total_current * 1000) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_2_connector_pack1_pack2_resistance
        unit_of_measurement: "mΩ"
        state_class: measurement
        icon: mdi:omega

      - name: "Zendure Inverter 2 Connector Pack1-Pack2 Heat Loss"
        value_template: >
          {% set volgorde_raw = states('input_text.zendure_setting_battery_order') %}
          {% set volgorde = volgorde_raw.split(';') if volgorde_raw not in ['unknown', 'unavailable', ''] else ['1','2','3','4','5','6'] %}
          {% set ns = namespace(total_current=0) %}
          {% for i in [5] %}
            {% set idx = (volgorde[i] | int) - 1 %}
            {% set raw = value_json['packData'][idx]['batcur'] | int %}
            {% set ns.total_current = ns.total_current + ((raw if raw <= 32767 else raw - 65536) / 10.0) %}
          {% endfor %}
          {% set total_current = ns.total_current | abs %}
          {% if total_current > 0 %}
            {% set idx1 = (volgorde[4] | int) - 1 %}
            {% set idx2 = (volgorde[5] | int) - 1 %}
            {% set volt1 = value_json['packData'][idx1]['totalVol'] | float %}
            {% set volt2 = value_json['packData'][idx2]['totalVol'] | float %}
            {{ ((volt1 - volt2) | abs / 100.0 * total_current) | round(2) }}
          {% else %}
            unavailable
          {% endif %}
        unique_id: zendure_inverter_2_connector_pack1_pack2_heat_loss
        unit_of_measurement: "W"
        state_class: measurement
        device_class: power
        icon: mdi:heat-wave
rest sensoren voor voltage per invertor (in dit geval 2)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  - resource: "http://IPADDRESS/properties/report"  # <-- Replace with IP of inverter 1
    scan_interval: 1
    sensor:
      - name: "Zendure Inverter 1 Battery Voltage"
        value_template: "{{ (value_json['properties']['BatVolt'] | float / 100) | round(2) }}"
        unique_id: zendure_inverter_1_battery_voltage
        unit_of_measurement: "V"
        state_class: measurement
        device_class: voltage
        icon: mdi:sine-wave

  - resource: "http://IPADDRESS/properties/report"  # <-- Replace with IP of inverter 2
    scan_interval: 1
    sensor:
      - name: "Zendure Inverter 2 Battery Voltage"
        value_template: "{{ (value_json['properties']['BatVolt'] | float / 100) | round(2) }}"
        unique_id: zendure_inverter_2_battery_voltage
        unit_of_measurement: "V"
        state_class: measurement
        device_class: voltage
        icon: mdi:sine-wave

WP: Panasonic WP KIT-WC07L3E5 , Panasonic 50 liter buffer parallel, Boilervat Panasonic PAW-TD20C1E5-1 Solar: Goodwe SDT G2 GW6K-DT 6 kW


  • Hippe Lip
  • Registratie: Februari 2011
  • Laatst online: 01:49

Hippe Lip

Er valt altijd wat te leren

Ben(V) schreef op woensdag 13 mei 2026 @ 11:21:
[...]
Als je het wifi netwerk goed opbouwt hebt (vooral niet teveel AP's) zal je met moderne clients die je op de 5Ghz band gebruikt helemaal nooit meer last van sticky clients hebben.
Dat is leuke theorie, maar ik heb in mijn huis met betonnen vloeren nogal last van vervelende ‘dode’ zones als ik niet elke verdieping (BG, 1 en 2) van een eigen AP voorzie. Wel weg bij het trapgat.

Verdraagzaamheid is het hoogste gebod
en wie dat niet eert die schoppen we rot.
<John O`Mill>


  • Hippe Lip
  • Registratie: Februari 2011
  • Laatst online: 01:49

Hippe Lip

Er valt altijd wat te leren

RemmyB83 schreef op woensdag 13 mei 2026 @ 14:37:
[...]

Ik heb het geheel niet helemaal gelezen.
Maar ik had pas geleden hetzelfde.
Ik kreeg toen de tip van @gast777 om de MQTT van mijn Zendure uit te zetten (in de zendure app)als die aanstond. Deze had ik toen idd aanstaan, en heb ik uitgezet. Probleem zou te veel data zijn, die niet goed verwerkt kon worden. Nu heb ik nog maar een enkele onderbreking.
Als die standaard uit staat, is die nu nog steeds uit. Nooit wat met MQTT gedaan met de Zendures. Ik zou niet eens weten waar ik dat in de app aan of uit kan zetten. Net nog eens naar gekeken.

Verdraagzaamheid is het hoogste gebod
en wie dat niet eert die schoppen we rot.
<John O`Mill>


  • Hippe Lip
  • Registratie: Februari 2011
  • Laatst online: 01:49

Hippe Lip

Er valt altijd wat te leren

Mazzelaar :+
De Zendure staat op Zolder en de dichtbij zijnde AP hangt een verdieping lager terwijl de vloer van de zolder betonplaten zijn, is dus alle wifi signalen moeten via het trapgat.

Misschien overstuur je de boel wel juist omdat je de AP er vlak bij hebt staan (is maar een gok).
Wie weet …
Weet je zeker dat het aan de wifi ligt?
Hoe constateer je dat hij de verbinding verliest?
Hoe zou ik dat kunnen weten? Ik weet dat de Gielz de verbinding gewoonlijk als Excellent kwalificeert, maar als ik daar een tijdje naar kijk, dan zie ik dat er onderbrekinkjes in de verbinding zijn.
Dat kan de WiFi zijn, dat kan de proxy zijn, dat kan de Gielz zijn. Als je het weet mag je het zeggen.

Verdraagzaamheid is het hoogste gebod
en wie dat niet eert die schoppen we rot.
<John O`Mill>

Pagina: 1 ... 47 48 Laatste

Let op:
Dit topic is alleen voor de integratie met Home Assistant.

Zie voor algemeen: Het grote Zendure plug-and-play thuisaccu systemen topic
Voor integratie met Homey: Zendure Batterijen Slim aansturen met Athom Homey

Zoek voor andere zaken het juiste topic.