OK, zie onderstaand:gielz schreef op zondag 26 april 2026 @ 20:58:
[...]
Post even een screenshot van tabblad 1 en je configuratie tabblad.
:strip_exif()/f/image/pB6OdFhP75vCBLyKZHoP3VGd.jpg?f=fotoalbum_large)
[ Voor 39% gewijzigd door Eduardo M op 26-04-2026 21:03 ]
OK, zie onderstaand:gielz schreef op zondag 26 april 2026 @ 20:58:
[...]
Post even een screenshot van tabblad 1 en je configuratie tabblad.
:strip_exif()/f/image/pB6OdFhP75vCBLyKZHoP3VGd.jpg?f=fotoalbum_large)
[ Voor 39% gewijzigd door Eduardo M op 26-04-2026 21:03 ]
Unknown weghalen in beide dynamische handmatige periodes. Met de volgende release zal dit niet meer fout gaan bij nieuwe gebruikers:Eduardo M schreef op zondag 26 april 2026 @ 21:02:
[...]
OK, zie onderstaand:
[Afbeelding]
[Afbeelding]
6320wp | Zendure 2400 AC (14.4 kwh) | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | HAOS op DS224+
Jep, dat was de oplossing, dank je Gielz!gielz schreef op zondag 26 april 2026 @ 21:06:
[...]
Unknown weghalen in beide dynamische handmatige periodes. Met de volgende release zal dit niet meer fout gaan bij nieuwe gebruikers:
Aanbevolen instellingen worden automatisch ingesteld
Bij het invoeren of wijzigen van het Zendure IP-adres (input_text.zendure_2400_ac_ip_adres) worden de aanbevolen instellingen automatisch toegepast:
Standby Vertraging ingesteld op 15 minuten
Opladen Starten Bij ingesteld op -300 watt
Start Ontladen Bij At ingesteld op 100 watt
Ontlaadmarge ingesteld op 5 watt
Oplaadmarge ingesteld op 50 watt
Minimaal toegestaan laadpercentage ingesteld op 10%
Maximum toegestaan laadpercentage ingesteld op 100%
Dynamisch Handmatige Periode (Morgen) beide velden worden leeg ingesteld.
Ik heb deze van je gebruikt en met wat aanpassingen werkt het in mijn situatie. Claude heeft dat voor mij geregeld.YvonneVP schreef op zondag 26 april 2026 @ 14:18:
[...]
Ik heb het voor de prijzen van Zonneplan als volgt gedaan.
Ik heb de Nordpool kwartieren laten omrekenen naar uren door in het Nordpool bestand aio_price.py, vóór de code (ongeveer bij regel 206 te vinden)
return {
"start": start_time,
"end": end_time,
"updated": updated,
"currency": currency,
"areas": area_data,
}
De volgende snippet toe te voegen :
# Aggregate quarterly values into hourly
if data_type == self.HOURLY:
for area_key, data_dict in area_data.items():
vals = sorted(data_dict["values"], key=lambda v: v["start"])
hourly_vals = []
for i in range(0, len(vals), 4):
chunk = vals[i:i+4]
if len(chunk) == 4:
hour_start = chunk[0]["start"].replace(minute=0, second=0, microsecond=0)
hour_end = chunk[-1]["end"].replace(minute=0, second=0, microsecond=0)
avg_val = sum(v["value"] for v in chunk) / 4.0
hourly_vals.append(
{"start": hour_start, "end": hour_end, "value": avg_val}
)
area_data[area_key]["values"] = hourly_vals
Vervolgens heb ik het volgende ingesteld bij de Nordpool UI integratie:
Region: NL
Currency: EUR
Vink BTW uit
additional_costs template:
code:
{% set p = current_price | float(0) %}
{% set opslag = 0.01653 %}
{% set vat = 1.21 %}
{% set energiebelasting = 0.1108 %}
{{ ( ((p + opslag) * vat + energiebelasting) - p ) | float }}
De prijzen zijn as we speak bij Zonneplan -0,3688 en in de Apex grafiek -0,369 (de afronding maakt dat het -0,369 is ipv -0,3688) Dit zijn dan dus de prijzen incl. energiebelasting en btw.
Herken je dit?Kwartieren → uren aggregatie
Het idee klopt — Zonneplan werkt op uurbasis, Nordpool levert kwartierdata. Maar het aanpassen van aio_price.py is een core bestand van de integratie — dit wordt overschreven bij elke update van de Nordpool integratie. Je verliest de aanpassing dus zodra er een update komt.
[ Voor 7% gewijzigd door ..Christiaan.. op 26-04-2026 22:57 ]
Samsung Qled | Sonos Arc Ultra; Sub 2nd; 2x Era100 | PS5 | DS218+ | DIRIGERA | Iptv | B&W 607s3 | NAD C338 | Argon Audio TT4SE | Streetfishing |
In de app: rechts onder de prijsgrafiekprijs grafiek zit een knopje met 2 horizontale streepjes en twee bolletjes. Daar kun je het aantal decimalen instellen...Christiaan.. schreef op zondag 26 april 2026 @ 22:43:
[...]
Ik heb deze van je gebruikt en met wat aanpassingen werkt het in mijn situatie. Claude heeft dat voor mij geregeld.
Die gaf mij wel dit terug over jouw aanpak:
[...]
Herken je dit?
Ik heb dit nu als resultaat:
Kale Nordpool prijs + Zonneplan opslag (1,653 ct) × BTW (21%) + energiebelasting (11,08 ct). De Norpool sensor uit Chielz komt bij mij nu overeen met de Zonneplanprijs. Wat weer handig is om een automatisering hierop af te stemmen.
Hoe zie jij trouwens de zonneplanprijzen met cijfers achter de komma? Ik zie alleen maar prijzen in hele centen in de Zonneplan app...
Ik zie ik zie wat jij niet ziet, en het is....... ach laat ook maar je ziet het toch niet!
Zal aan mij liggen, maar snipped delen? Wat bedoel je precies? Wat is een snipped?homeautomate schreef op zondag 26 april 2026 @ 18:05:
[...]
Geweldig! Zou je de snipped willen delen?
Stukje code van het kaartjeNiCNCo schreef op maandag 27 april 2026 @ 00:10:
[...]
Zal aan mij liggen, maar snipped delen? Wat bedoel je precies? Wat is een snipped?
Ik zou die tegel ook wel willen. In de tibber app staat nu iig €1,02 teruglevering (10kw) en -€2,07 verbuik (9kw)NiCNCo schreef op maandag 27 april 2026 @ 00:10:
[...]
Zal aan mij liggen, maar snipped delen? Wat bedoel je precies? Wat is een snipped?
I don't care if I feel Better as long as you feel worse
Is volgens mij de Zonneplan integratie. Klopt dat @NiCNCo ?
Ik zie ik zie wat jij niet ziet, en het is....... ach laat ook maar je ziet het toch niet!
:no_upscale():strip_icc():strip_exif()/f/image/ss7E9re1dNfMS7AmpmmbSIZ1.jpg?f=user_large)
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
| # Zendure Fan / Offgrid Stopcontact - Toren 1
# Filenaam: zendure_ha_fan_t1_local.yaml
# Plaats in: /config/packages/
input_boolean:
zendure_fan_auto_enabled:
name: Zendure Fan Automatisering Actief
icon: mdi:fan-auto
input_text:
zendure_unit_1_ip:
name: Zendure Unit 1 IP
initial: "192.168.x.y"
zendure_unit_1_sn:
name: Zendure Unit 1 Serienummer
initial: "HECxxxxxx"
input_datetime:
zendure_cooling_started_1:
name: Fan 1 Started
has_date: true
has_time: true
icon: mdi:timer
rest_command:
zendure_offgrid_standard_1:
url: "http://{{ states('input_text.zendure_unit_1_ip') }}/properties/write"
method: POST
headers:
Content-Type: "application/json"
payload: >
{"sn":"{{ states('input_text.zendure_unit_1_sn') }}","properties":{"gridOffMode":0}}
zendure_offgrid_economic_1:
url: "http://{{ states('input_text.zendure_unit_1_ip') }}/properties/write"
method: POST
headers:
Content-Type: "application/json"
payload: >
{"sn":"{{ states('input_text.zendure_unit_1_sn') }}","properties":{"gridOffMode":1}}
zendure_offgrid_off_1:
url: "http://{{ states('input_text.zendure_unit_1_ip') }}/properties/write"
method: POST
headers:
Content-Type: "application/json"
payload: >
{"sn":"{{ states('input_text.zendure_unit_1_sn') }}","properties":{"gridOffMode":2}}
sensor:
- platform: rest
name: zendure_grid_off_mode_raw_1
resource_template: "http://{{ states('input_text.zendure_unit_1_ip') }}/properties/report"
method: GET
value_template: "{{ value_json.properties.gridOffMode }}"
scan_interval: 15
template:
- sensor:
- name: "Zendure Offgrid Modus 1"
unique_id: zendure_offgrid_modus_1
state: >
{% set v = states('sensor.zendure_grid_off_mode_raw_1') | int(-1) %}
{% if v == 0 %}
Standard
{% elif v == 1 %}
Economic
{% elif v == 2 %}
Uit
{% else %}
Onbekend
{% endif %}
- sensor:
- name: "Zendure Fan 1 Status"
unique_id: zendure_fan_1_status
icon: mdi:fan
state: >
{% if is_state('switch.zendure_offgrid_stopcontact_1', 'on') %}
Aan
{% else %}
Uit
{% endif %}
- switch:
- name: "Zendure Offgrid Stopcontact 1"
unique_id: zendure_offgrid_stopcontact_1
icon: mdi:power-socket-eu
state: "{{ states('sensor.zendure_grid_off_mode_raw_1') in ['0', '1'] }}"
turn_on:
- service: rest_command.zendure_offgrid_standard_1
- delay: "00:00:02"
- service: homeassistant.update_entity
target:
entity_id: sensor.zendure_grid_off_mode_raw_1
turn_off:
- service: rest_command.zendure_offgrid_off_1
- delay: "00:00:02"
- service: homeassistant.update_entity
target:
entity_id: sensor.zendure_grid_off_mode_raw_1
automation:
- alias: "Zendure Fan 1 - AAN bij 35°C"
id: zendure_fan_1_aan
trigger:
- platform: numeric_state
entity_id: sensor.zendure_2400_ac_omvormer_temperatuur
above: 35
for: "00:02:00"
condition:
- condition: state
entity_id: input_boolean.zendure_fan_auto_enabled
state: "on"
- condition: state
entity_id: switch.zendure_offgrid_stopcontact_1
state: "off"
action:
- service: switch.turn_on
target:
entity_id: switch.zendure_offgrid_stopcontact_1
- service: input_datetime.set_datetime
target:
entity_id: input_datetime.zendure_cooling_started_1
data:
datetime: "{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"
mode: single
- alias: "Zendure Fan 1 - UIT bij 30°C"
id: zendure_fan_1_uit
trigger:
- platform: numeric_state
entity_id: sensor.zendure_2400_ac_omvormer_temperatuur
below: 30
for: "00:05:00"
condition:
- condition: state
entity_id: input_boolean.zendure_fan_auto_enabled
state: "on"
- condition: state
entity_id: switch.zendure_offgrid_stopcontact_1
state: "on"
action:
- service: switch.turn_off
target:
entity_id: switch.zendure_offgrid_stopcontact_1
mode: single
script:
zendure_fan_1_on:
alias: Zendure — Fan 1 AAN
sequence:
- service: switch.turn_on
target:
entity_id: switch.zendure_offgrid_stopcontact_1
zendure_fan_1_off:
alias: Zendure — Fan 1 UIT
sequence:
- service: switch.turn_off
target:
entity_id: switch.zendure_offgrid_stopcontact_1 |
[ Voor 0% gewijzigd door Maarten60 op 27-04-2026 12:34 . Reden: IP en sn verwijderd ]
/f/image/1RWhuOUWFKMRqXDN9VEWiWCk.png?f=fotoalbum_large)
[ Voor 18% gewijzigd door Ben(V) op 27-04-2026 14:14 ]
All truth passes through three stages: First it is ridiculed, second it is violently opposed and third it is accepted as being self-evident.
Ja, die heb ik. Ondanks dat het hier redelijk bewolkt was, was er inderdaad wel sprake van teruglevering aan het net. Volgt Dynamic smart matching dan ook overschot van de zonnepanelen? Ik dacht dat je met deze modus alleen laden op goedkope uren kan 'afdwingen'. Voor volgen van overschot van zonne-energie, dacht ik dat je dan smart matching moet kiezen.Ben(V) schreef op maandag 27 april 2026 @ 14:14:
Heb je zonnepanelen?
Want zonnestroom is nog goedkoper dan het laagste tarief en er was vanochtend heel veel zon.
Deze modus is geforceerd laden op de goedkoopste periodes en daar buiten NOM. Dus laden en ontladen op basis van de zon.bhuurne schreef op maandag 27 april 2026 @ 14:09:
Hoi, sinds een ruime maand ben ik in het bezit van een 2400AC+. Eerst wat ervaring opgedaan met HEMS, maar gisteren de @gielz integratie geïnstalleerd en HEMS uitgeschakeld. Ondanks dat ik een beginner ben met Home Assistant, ging de installatie probleemloos (dank voor de duidelijke uitleg @gielz !). Ik wil de integratie gebruiken om de batterij op te laden op goedkope uren en dan NOM te draaien op de resterende uren van de dag. Ik dacht hiervoor de modus 'Dynamic Smart Matching' te gebruiken. Ik heb het als volgt ingevuld in het dashboard:
[Afbeelding]
Ik zou verwachten dat de batterij dan alleen oplaadt tijdens de goedkope uren die ik aangegeven heb. Maar vanmorgen zag ik dat de batterij al tijdens de dure uren begon met opladen, ondanks dat de sensor.dynamic_lowest_price_period toen op Nee stond. Bij de instellingen heb ik minimal spread op 30% gezet. Wat zie ik over het hoofd?
6320wp | Zendure 2400 AC (14.4 kwh) | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | HAOS op DS224+
Officieële Zendure/fireson integratie? Kijk eens onder apparaten - je accu - MQTT....Amdwarrior schreef op maandag 27 april 2026 @ 17:29:
Ik heb Authorisation Key nodig wat rondvraag op Google gedaan, maar elke keer zeuren over developer options, die nergens te vinden is mijn versie 6.1.0.
Zendure app werkt gewoon prima.
[Afbeelding]
[Afbeelding]
Ik zie ik zie wat jij niet ziet, en het is....... ach laat ook maar je ziet het toch niet!
Onder profile in de zendure app, staat de key onderaan.Amdwarrior schreef op maandag 27 april 2026 @ 17:29:
Ik heb Authorisation Key nodig wat rondvraag op Google gedaan, maar elke keer zeuren over developer options, die nergens te vinden is mijn versie 6.1.0.
Zendure app werkt gewoon prima.
[Afbeelding]
[Afbeelding]
6320wp | Zendure 2400 AC (14.4 kwh) | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | HAOS op DS224+
gielz schreef op maandag 27 april 2026 @ 17:45:
[...]
Onder profile in de zendure app, staat de key onderaan.
:strip_exif()/f/image/2lm9G49Rcw5iLSbOzFnsvWVK.jpg?f=fotoalbum_large)
Sorry gaat om p1 meter.koboy schreef op maandag 27 april 2026 @ 17:34:
[...]
Officieële Zendure/fireson integratie? Kijk eens onder apparaten - je accu - MQTT....
Gewoon stukje restcode toevoegen aan je configuration.yaml. Niets met de chinese cloud te maken vervolgens; https://github.com/Gielz1...0%90-P1-CT-meters-(API's)
6320wp | Zendure 2400 AC (14.4 kwh) | Bambu A1 | 2x Hisense 2AMW-42U4RRA | Daikin RXM/FTXM35R | HAOS op DS224+