8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Oftewel: ik mag hopen dat je in die vakantiemodus zet hoe lang je op vakantie gaat, zodat je toch weer in een (redelijk) warm huis thuis komt?
Dacht zelf dus ook aan temperatuur instellen op 10 graden. En dan 24 uur voor terug keer via eplucon website temperatuur weer op 20 zetten.
Ik heb een gelijkaardig register voor de brine-pump (adres 184).
Kent iemand er het adres van?
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Zoals ik eerder had bericht in deze groep, was ik op zoek naar manieren om de Ecoforest warmtepomp via Home Assistant te bedienen. Het uitlezen van de gegevens was al gelukt, maar het aanpassen nog niet. Ik wilde dat graag doen zonder extra hardware aan de warmtepomp zelf toe te voegen – dat komt wel later, na de garantie of als de servicemonteur langskomt.
Het was een beetje een zoektocht en heeft wat moeite gekost, maar het is gelukt! Ik hoef nu de th-Touch niet meer aan te raken en kan alles via de app van en met Home Assistant regelen. Via de thermostaatkaart stel ik de temperatuur in, net zoals voor andere ruimtes in huis, en kan ik automatisch de temperatuur verhogen of verlagen, bijvoorbeeld als ik op vakantie ben. Ik heb nu meer controle over wanneer de warmtepomp wel of niet aanstaat. De APX-mode van Eplucon zelf is so basic dat ik denk het met Home Assistant slimmer toen, ik kan in ieder geval de actuele kosten combineren met de overschot aan enerrgie en of de pomp binnen afzienbare tijd toch aan zou slaan.
Wil je meer weten en het ook proberen. Kijk dan op https://github.com/pdevick/EpluControl
[ Voor 28% gewijzigd door pat242 op 12-01-2025 14:44 ]
Hah, dit had ik ook gedaan een jaar of 2 terug toen we een maand weg waren. Huis terug naar 12 graden. Ik 48 uur van te voren proberen de temperatuur weer omhoog te zetten. Deed het aanpassen van de temperatuur in de e-plucon app het niet... Goed om vooraf te checkenKoen Hendriks schreef op dinsdag 7 januari 2025 @ 14:36:
Bedankt voor de reacties, bevestigd een beetje mijn idee.
Dacht zelf dus ook aan temperatuur instellen op 10 graden. En dan 24 uur voor terug keer via eplucon website temperatuur weer op 20 zetten.
Delta-T verwarming is 154,bjp schreef op dinsdag 7 januari 2025 @ 16:01:
ik zoek een EcoForest modbus register, de deltaT van de productie-pump (dus het verschil tussen Heating Out/Heating In waartoe hij regelt).
Ik heb een gelijkaardig register voor de brine-pump (adres 184).
Kent iemand er het adres van?
Delta-T koeling is 156
Hier is alles goed gegaan gelukkig haha. De app is niks meer dan gewoon een kale browser naar hun website geloof ik, ik heb gewoon de website gebruikt.HectorMalot schreef op zaterdag 25 januari 2025 @ 12:57:
[...]
Hah, dit had ik ook gedaan een jaar of 2 terug toen we een maand weg waren. Huis terug naar 12 graden. Ik 48 uur van te voren proberen de temperatuur weer omhoog te zetten. Deed het aanpassen van de temperatuur in de e-plucon app het niet... Goed om vooraf te checken
ik had deze als "hysteresis" voor Heating/Cooling... bizaar.Gwaihir schreef op zaterdag 25 januari 2025 @ 17:00:
[...]
Delta-T verwarming is 154,
Delta-T koeling is 156
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
"Actueel verbruik":1.843,
"Totaal import energie":10.529,
"Totaal geproduceerde energie":6.171,
Enig idee wat dit is?
Hopelijk is dit energie verbruik in kWh maar ik herken de cijfers dan niet helemaal....
Screenshot:.
/f/image/EveExqVWzHpGzfbvsAZCgKoT.png?f=fotoalbum_large)
PS link naar Homey integratie: https://community.homey.a...-th-touch-heatpump/107082
[ Voor 25% gewijzigd door wdool op 03-02-2025 13:36 . Reden: van EN naar NL ]
Volgens mij zaten deze er al een tijdje in. Heb ze al een poos in mijn home assistant integratie staan. Ik heb zelf ook altijd de waarde 0 hier.wdool schreef op maandag 3 februari 2025 @ 13:33:
Ik zag zojuist dat er nieuwe waarden zijn in de interface en API van Eplucon:
"Actueel verbruik":1.843,
"Totaal import energie":10.529,
"Totaal geproduceerde energie":6.171,
Enig idee wat dit is?
Hopelijk is dit energie verbruik in kWh maar ik herken de cijfers dan niet helemaal....
Screenshot:.
[Afbeelding]
PS link naar Homey integratie: https://community.homey.a...-th-touch-heatpump/107082
Rare blijft dat hij via modbus (reg 5082) wel een actuele waarde geeft, deze is echter niet het volledige verbruik, maar enkel dat van de compressor.
Idle liggen die iets van 30W uit elkaar, in bedrijf iets meer (de 230V pompjes draaien dan).
Dit is van zojuist (in bedrijf; de 230V pompjes zitten op L1):
Ik kom helaas niet uit de directe BMS modbus connectie.
Heb een Waveshare RS485 TO ETH gekocht.
BMS kaart gekocht en in het binnendeel geplaatst.
HA vind wel de waveshare maar ik krijg geen sensoren uitgelezen.
2025-03-18 19:12:31.131 INFO (MainThread) [homeassistant.components.modbus.modbus] modbus Ecoforest communication open
In Waveshare de volgende selectie gedaan
:strip_exif()/f/image/TIX1xtv6UJ1Vjwxfs0WLeDqC.jpg?f=fotoalbum_large)
Configuration.yaml de onderstaande code
1
2
3
4
5
6
7
8
9
10
11
12
13
| - name: "Ecoforest"
type: rtuovertcp
host: 192.168.1.200
port: 502
delay: 5
sensors:
- name: "Heatpump Outside Temperature"
unit_of_measurement: °C
scale: 0.1
precision: 1
slave: 17
address: 11
data_type: int16 |
Iemand die een suggestie heeft wat ik nog zou kunnen checken?
Heb een firmware update gedaan van de waveshare en "work mode" aangepast naar server.
[ Voor 4% gewijzigd door PMuizen op 19-03-2025 13:36 ]
Ik wil ook nog kijken naar de modbus... fijn dat het gelukt is. Was de installatie complex?PMuizen schreef op dinsdag 18 maart 2025 @ 23:16:
Inmiddels een paar uur verder maar het is gelukt!!
Heb een firmware update gedaan van de waveshare en "work mode" aangepast naar cliënt.
In je screenshot stond je work mode overigns al op (TCP) client.
Nee, het is allemaal makkelijker dan gedacht. Vooral de settings waren even puzzelen en het firmware updaten. Had helaas geen PoE dus moest even een oude adapter ervoor opofferen.Koen Hendriks schreef op woensdag 19 maart 2025 @ 11:22:
[...]
Ik wil ook nog kijken naar de modbus... fijn dat het gelukt is. Was de installatie complex?
In je screenshot stond je work mode overigns al op (TCP) client.
Bedoelde TCP server. Heb het aangepast
Nu alleen er nog achter komen hoe je uberhaupt met HA een modbus write commando geeft
[ Voor 8% gewijzigd door PMuizen op 19-03-2025 13:36 ]
Lekker bezig! Uiteindelijk heb ik het DC verdeelblok gebruikt voor de voeding, dus de waveshare zit in de WP en wordt ook vanuit daar gevoed. Alleen het ethernet kabeltje gaat naar buiten.PMuizen schreef op woensdag 19 maart 2025 @ 13:35:
Nee, het is allemaal makkelijker dan gedacht. Vooral de settings waren even puzzelen en het firmware updaten. Had helaas geen PoE dus moest even een oude adapter ervoor opofferen.
Ik heb van DHW een climate gemaakt, dat is meteen ook de enige instelling die ik wel eens vanuit HA aanpas:
1
2
3
4
5
6
7
8
9
10
11
| climates:
- name: "Heatpump DHW"
slave: 17
address: 8
precision: 1
scale: 0.1
max_temp: 65
min_temp: 40
target_temp_register: 17
temp_step: 1
temperature_unit: °C |
Het DC blok heb ik wel naar gekeken maar zat erg vol en wist ook niet exact waar in te prikken. Maar staat nog wel op de lijst om te doen.
Ik zou wel nog middels een script iets extra's willen instelling qua voorwaarden.
Bijvoorbeeld als zonnepanelen X kW levert dat deze dan de Delta T van DHW even verlaagd naar 1 of dat ik de setpoint van target_temp_register: 17 aanpas naar een hogere setpoint.
Iemand hier almee gewerkt?
[ Voor 16% gewijzigd door PMuizen op 19-03-2025 17:47 ]
Mijn plan is overigens om alleen het DHW setpoint naar 58 te zetten en dan weer terug wanneer de temp boven de 52 komt of de boolean's afvallen (standaard is SP 53 met delta van 5.8 uit m’n hoofd).
Voor nu heb ik een boolean template sensor (eigenlijk 3) die mij vertellen of er energie over is. Volgende stap komt ergens komende weken.
Ik heb de Entsoe integratie voor de dynamische tarieven en de modbus solaredge integratie voor PV en accu.
Mocht je het niet 1:1 kunnen gebruiken, dan wellicht ter inspiratie:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| template:
- trigger:
- trigger: time_pattern
minutes: "/1"
binary_sensor:
- name: "Free energy from net"
unique_id: "free_energy_from_net"
state: >
{% set nowHour = now().replace(minute=0, second=0, microsecond=0).isoformat(' ') %}
{{ (state_attr('sensor.average_electricity_price_today', 'prices') | selectattr('price', '<', 0.0) | selectattr('time', '==', nowHour) | list | length) > 0 }}
- name: "Free energy from sun"
unique_id: "free_energy_from_sun"
state: >
{% set battFull = ( states('sensor.solaredge_b1_state_of_energy') | int ) > 90 %}
{% set panelToGrid = ( states('sensor.solar_panel_to_grid_w') | int ) > 2000 %}
{% set feeFromSun = ( battFull and panelToGrid ) %}
{{ feeFromSun }}
- name: "Now is cheapest"
unique_id: "now_is_cheapest"
state: >
{% set nowHour = now().replace(minute=0, second=0, microsecond=0).isoformat(' ') %}
{{ as_timestamp((state_attr('sensor.average_electricity_price_today','prices_today') | sort(attribute='price') | first).time) == as_timestamp(nowHour) }} |
[ Voor 5% gewijzigd door 845 op 20-03-2025 11:10 ]
ik begin dingen aan te zetten boven de 90%, boven de 95% en zo verder. Dat heb je ook 'wat marge' als er effe een wolk 2 minuten later voorbij passeert. Het geeft ook een 'rustigere' aansturing dan instantane overschot, dan zit je niet zomaar continu dingen aan en uit te zetten.
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Nu ik aan het monitoren ben zie ik na het douche een grote dip in de DHW sensor. Dat er een dip komt is logisch maar geen 10K. De fysieke sensor zit ook helemaal onderin het vat.
Ga ook kijken dat als er een % daling is binnen x tijd de DT DHW tijdelijk verhoogd wordt zodat het aan signaal uitblijft. Na het bijvullen van de boiler wil ik de correcte waarde krijgen dus dan even wachten tot het geheel weer "gemengd" is en de actuele temperatuur bereikt is.
Bij ons is dat vooral wanneer de DHW productie begint, het staat hier los van het gebruik. De sensor zit bij ons overigens midden in het vat (wij hebben een 300L), ik weet eigenlijk niet wat daar logisch is.PMuizen schreef op vrijdag 21 maart 2025 @ 14:09:
...
Nu ik aan het monitoren ben zie ik na het douche een grote dip in de DHW sensor. Dat er een dip komt is logisch maar geen 10K. De fysieke sensor zit ook helemaal onderin het vat.
...
Ter indicatie een screenshot van het Eplucon portal. Ik heb hier overigens niets aan gedaan, misschien is wel de enige oplossing de sensor verplaatsen, maar dat zou dan ook het opstart moment weer kunnen veranderen.
Wij hebben ook een 300 liter en de sensor zit trouwens op 1/3 onderin. Dus niet helemaal onderin.
In theorie is hoe lager de sensor hoe meer warm tapwater je hebt omdat alles erboven in ieder geval op die temperatuur is maar dus ook hoe sneller die geactiveerd wordt bij instroom van koud water.
De spiraal daarentegen loopt door heel de boiler en warmt daarom al het water geleidelijk op, om die reden gaat de opwarming dan ook langzaam en geleidelijk in de grafiek.
Ik kocht net zo'n Waveshare voor wat anders. Maar ik kocht de PoE versie. Hoeft ook alleen het ethernet kabeltje naar elders845 schreef op woensdag 19 maart 2025 @ 16:32:
Uiteindelijk heb ik het DC verdeelblok gebruikt voor de voeding, dus de waveshare zit in de WP en wordt ook vanuit daar gevoed. Alleen het ethernet kabeltje gaat naar buiten.
Dat dus, voor wie later volgt. De EcoForest is client op deze verbinding, geen server. Dus je converter is server.PMuizen schreef op dinsdag 18 maart 2025 @ 23:16:
en "work mode" aangepast naar server.
Heb ik nu ook gedaan, was even puzzelen maar gelukt.845 schreef op woensdag 19 maart 2025 @ 16:32:
[...]
Lekker bezig! Uiteindelijk heb ik het DC verdeelblok gebruikt voor de voeding, dus de waveshare zit in de WP en wordt ook vanuit daar gevoed. Alleen het ethernet kabeltje gaat naar buiten.
Verder heb ik inmiddels de aansturing van tapwater anders gedaan dan standaard.
Ik merkte gewoon dat bij even douchen de warmtepomp aansloeg (delta T van 15 soms) omdat er koud water bij kwam .
Heb nu een extra thermostaat boven in de boiler gedaan en als die lager is dan setpoint gaat de warmtepomp aan als de sensor onderin het setpoint heeft bereikt gaat de DHW weer uit.
Zie hieronder het verloopt van tapwater bij/na het douchen. Waarbij blauw sensor onderin is en geel bovenin.
Stappenplan in het kort als ik toch bezig ben.
1. Hoofdkraan dicht
2. Warme kraan aan en douche open gezet
3. Dompelbuis geplaatst net zoals onder het vat, uiteindelijk "moer" eruit en dompelbuis erin geplaatst terwijl het vat vol zat. Stroomde beetje water uit.
4. Thermometer erin gezet.
5. Thermometer ook aangesloten op vrije uitgang op din relais (Heathpump buffer tank)
5a. Beide sensoren nog even een verschillende offset gegeven. Aangeven temperatuur klopte niet, met andere losse thermometers gecheckt.
6. Automation gemaakt
7. Hoofdkraan open
8. Warme kraan en douche dicht
[ Voor 3% gewijzigd door PMuizen op 24-04-2025 22:28 ]
Bij mij zit de sensor ergens in het midden (dus niet helemaal onder). Ik zie wel een dip, maar niet zo extreem als bij jou en alleen bij aanslaan van de WP om DHW te gaan maken.PMuizen schreef op donderdag 24 april 2025 @ 21:50:
[...]
Heb ik nu ook gedaan, was even puzzelen maar gelukt.
Verder heb ik inmiddels de aansturing van tapwater anders gedaan dan standaard.
Ik merkte gewoon dat bij even douchen de warmtepomp aansloeg (delta T van 15 soms) omdat er koud water bij kwam .
Heb nu een extra thermostaat boven in de boiler gedaan en als die lager is dan setpoint gaat de warmtepomp aan als de sensor onderin het setpoint heeft bereikt gaat de DHW weer uit.
Zie hieronder het verloopt van tapwater bij/na het douchen. Waarbij blauw sensor onderin is en geel bovenin.
[Afbeelding]
Op basis van de huidige ervaring denk ik dat ik het bij preventief verwarmen op "gratis" energie ga houden en niet een extra sensor toevoeg.
Begrijp ik het goed dat je de sensor op de PLC van de WP aangesloten hebt?
Maar klopt ik heb een nieuwe sensor hardware matig gekoppeld aan de plc.
(dus totaal geen WIFI signaal meer vind; bij menu-optie: selecteer/vind -zoiets dus- WIFI)
Ik ben recent overgegaan op Ziggo (voorheen KPN); maar ZIGGO Wifi staat uit op het Ziggo modem/router omdat ik overal in huis een ASUS iMesh WIFi systeem/signaal heb. Dit IMesh Wifi signaal is overal 'uitstekend' (dus ook nabij de TH-Tough). Eerder werkte het met iMesh en KPN prima.
Al gebruik ik nu wel een nieuwere ASUS Tri-band (hoofd) Router als eerder.
Ik heb dit iMesh WIFI signaal al gesplitst in een apart 2.4 en 5 Ghz signaal (was een tip ergens).
Want zover ik weer ondersteund de TH-Tough alleen 2.4 Ghz. Nog steeds wordt WIFI niet gevonden.
Ook al een oude (alleen 2.4) Ghz router getest (iMesh daarbij uitgezet).
Ook dat signaal is in de buurt van de TH-Tough prima te ontvangen (getest op een android telefoon).
Maar ook nu ziet de Th-Tough geen WIFI signaal/netwerk.
Ook al op de TH-Tough DHCP uitgezet vooraf het signaal zoeken (niet gevonden) en weer aan gezet (en opnieuw gezocht: nada; niets). Dat verschillende keren geprobeerd.
TH-Tough WIFI module uit en aan gezet (verschillende keren); doet ook niets (vond dus nog steeds niets).
Wel nog niet poort 2000 op de Ziggo Router/modem gecontroleerd (maar doet dat uberhaupt iets als de Th-Tough totaal geen WIFI signaal ziet).
Iemand nog suggesties ?
Ik hoop dat ik goed mijn vraag plaats (al lang niet meer gepost op Tweakers).
Succes,
J.
Even in het kort het probleem: Bij het koelen zien we in ons systeem (een renovatievloer met weinig warmtecapaciteit) een enorme zaagtand. Om dat te verklaren ben ik -met de kennis uit dit forum- de brine en productiepomp gaan monitoren. Het blijkt dat tijdens het koelen de dT te groot wordt, waardoor de brine-pomp terug gaat schakelen. Als deze zijn minimum bereikt heeft (50%) dan schakelt de brine pomp uit. Gevolg: temperatuur in de vloer loopt weer op tot boven de 20oC, waarna de brine-pomp weer aanslaat. Dan herhaalt deze cyclus zich weer.
Ik heb al geprobeerd de setpoint aan te passen. Dan blijft ie bij 50% brine-pomp net binnen zijn waarden, maar zakt de vloertemperatuur richting 16 graden. Lekker koel, maar ook gelijk condensvorming. Dus om een vloertemp (Tuit) te hebben van ca 18 graden moet mijn setpoint omhoog en zou de brinepomp langzamer moeten draaien om de dT niet te groot te maken.
Mijn vraag: kan ik de minimale snelheid van de brine-pomp zelf lager dan 50% zetten, en, is er een reden waarom 50% het minimum is? Wat kan er fout gaan bij een lagere snelheid?
[ Voor 8% gewijzigd door ChrisK op 13-06-2025 21:05 ]
Wat ik kan vinden (in de handleiding) is dat je het minimum in zou moeten kunnen stellen bij de "Protection configuration". Of het kwaad kan, vind ik lastig te zeggen, wellicht dat iemand anders weet waarom dat minimum standaard op 50% staat, ik kan een hele hoop redenen bedenken (drukopbouw, opstart weerstand, flow, pomp karakeristiek, ...), maar weet niet waarom dat dan tot specifiek 50% leidt....
Mijn vraag: kan ik de minimale snelheid van de brine-pomp zelf lager dan 50% zetten, en, is er een reden waarom 50% het minimum is? Wat kan er fout gaan bij een lagere snelheid?
[Afbeelding]
Je zou ook Eplucon een mailtje kunnen sturen met de vraag of het kwaad zou kunnen.
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
/f/image/NWy0SZYyuEFRokwcXizqIpoo.png?f=fotoalbum_large)
ik merkte op dat de brine-pump wel op delta-T gestuurd wordt, maar dat de productie-pomp sowieso naar 100% gaat. Hierdoor koelt het buffer-vat snel af, en zit het ding te pendelen.
Ik heb toen via home-assistant proberen een eigen regellus te vinden, door de productie-pomp "maximum" wat in te regelen.
Het is "beter" maar nog niet heilig:
/f/image/LGm5OzRe5WiYxQ8LoNNxge9W.png?f=fotoalbum_large)
Hebben jullie tips? of hoe regelen jullie deze?
Ik heb niet echt een productiepomp delta-T gevonden voor koeling dat ook werkt, ik had dit gevonden, maar de waarde lijkt niet zoveel uit te maken:
1
2
3
4
5
6
7
8
9
| - <<: *analog_mult10_number_anchor name: "Delta-T Start Cooling" address: 156 min_value: 0 max_value: 20 device_class: temperature unit_of_measurement: "°C" #skip_updates: 100 # undocumented register - range is guessed |
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Maar is het pendelen zo'n groot probleem? Want het is geen compressor en bij een waterpomp is het niet heel erg.
Daarnaast vind ik je dg1 setpoint vrij hoog staan. Is dit op basis van luchtvochtigheid? want die was niet zo hoog afgelopen tijd, ik kon met 15 graden koelen.
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Even geen plaatje, want portaal lijkt er uit te liggen…
Goed om te horen, ik heb een draaicooler op het dak staan maar die koude pieken blijf ik krijgen.ChrisK schreef op vrijdag 27 juni 2025 @ 19:59:
Installateur heeft minimum van brinepomp verlaagd naar 30%. Draaide nu stabiel koelend met Tout 18oC, Tin 19oC, brinepomp 35%, productie 100%. Geen pendelen meer (niet een probleem vanwege het pendelen op zich, maar vanwege de koude-pieken en gekoppelde condensvorming).
Even geen plaatje, want portaal lijkt er uit te liggen…
Heb inmiddels de brine en productie pomp op 35% en 50% gezet.
Koelvermogen ingesteld op max 18% (1,5kW), alle waterzijdige groepen open gezet.
Enige wat ik me kan indenken waarom die pieken er zijn is dat de minimale compressor stap hoger is dan want ik benodigd heb.
Als ik bij mijn unit (ecoGEO+ B/C 3-12 & AU12 ) kijk, qua algemene documentatie dan staat er.bjp schreef op zondag 15 juni 2025 @ 19:07:
bij mij staat deze op 20% minimum
Modulating thermal power control within a wide range (12,5-100%) and modulating
flow rate control of both brine and production circuits (20-100%)
Dus die 20% ga ik ook gebruiken.
Heb je daar onderbouwing voor (specs)?bjp schreef op zondag 15 juni 2025 @ 19:07:
bij mij staat deze op 20% minimum
Voor circulatiepompen is 30% voor zover ik weet het minimum, bijkans een industriestandaard. Ik zou niet lager durven gaan zonder specsheet van de specifieke pomp voor mijn neus.
I'll be damned! Inderdaad, dat staat tegenwoordig glashelder in de spec sheets. Ik zie het al terug in de 2020 spec sheet die ik hier 'had liggen'.PMuizen schreef op zondag 29 juni 2025 @ 13:51:
and modulating flow rate control of both brine and production circuits (20-100%)
Maar nog niet in de 2019, productiejaar van mijn WP. Dus mocht ik 't nodig hebben, moet ik nog wel checken of het er simpelweg bijgeschreven is, of dat die pompen vernieuwd zijn ergens gaandeweg.
[ Voor 43% gewijzigd door Gwaihir op 01-07-2025 09:28 ]
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
'hoge brine temperatuur'.
Nu is het ook 32 graden buiten dus een hogere temperatuur lijkt met niet zo gek. Moet ik hier iets voor doen? Koelt dit vanzelf weer af?
Ik had het ook, bij beveiliging stond de max brine temperatuur op 50 graden. Zag in de specs van mijn unit dat 60 graden ook zou mogen maar heb hem op 55 graden gezet.Koen Hendriks schreef op dinsdag 1 juli 2025 @ 18:40:
Ik had zojuist een alarm in beeld.
'hoge brine temperatuur'.
Nu is het ook 32 graden buiten dus een hogere temperatuur lijkt met niet zo gek. Moet ik hier iets voor doen? Koelt dit vanzelf weer af?
Erna geen issues gehad, maar weet niet uit welk jaar jou wp is.
Desondanks blijft de warmtepomp veelvuldig draaien op tijdstippen waarop de stroomprijs hoog is (bv tussen 7-9 sochtends of tussen 9-11 savonds). Zie ook bijgevoegde grafiek:
:strip_exif()/f/image/oTlSz3yuw9WteT8uWxjajgHc.jpg?f=fotoalbum_large)
De groen/blauwe lijn is heating out/in.
De paarselijn is de WW temperatuur.
Daarbij heb ik de volgende instellingen gehanteerd:
:strip_exif()/f/image/r091LBXNhTTKY7ZjFlINB9K6.jpg?f=fotoalbum_large)
Als ik het goed zie gaat de warmtepomp verwarmen op het moment dat het water onder de 45/44 graden zakt. Dus op zich beweegt de warmtepomp netjes binnen de grenswaarden. Ik zou er echter de voorkeur aan geven dat de warmtepomp het water juist verwarmt op het moment dat de stroom goedkoop is, ook al heeft het warm water in het boilervat nog niet de ondergrenstemperatuur bereikt. Daarnaast verbaast het mij dat de de temperatuur van het water in het boilervat zo snel afkoelt op bepaalde momenten. Is dit gebruikelijk?
Hebben jullie tips hoe ik de instellingen zodanig kan aanpassen dat het warm water meer verwarmt gaat worden op basis van mijn dynamische tarieven?
Alvast dank,
met vriendelijke groet,
Jan
Ik neem misschien iets te veel risico op legionella, maar ik heb de laagste temperatuur helemaal teruggedraaid naar 6 graden. Ik heb nog geen last gehad van koud water (alleen bij begin van opwarmen). Het opwarmen duurt wel langer, maar hij draait vrijwel nooit meer dan 1x per dag
Ik heb mijn instellingen zo staan dat mijn boiler 22 uur per dag setpoint laag aanhoudt. In de praktijk draait dan hier de warm water run 1x per dag en alleen in de goedkoopste (2 resterende) uren. Dit komt omdat hier de 40 graden nooit gehaald wordt (300 L boilervat en we douchen niet lang). Eén keer per week een SWW run, die heb ik op zondag 13:00 staan. Dat is *meestal* het laagste prijspunt. Op deze manier is het zo dat de normale warm water run bijna altijd samenvalt met mijn piek opbrengst van de zonnepanelen die dag.Jantjeduim12 schreef op maandag 15 september 2025 @ 14:11:
Ik heb ook een vraag over de instellingen van de Ecoforest bodemthermische warmtepomp. Wij hebben de pomp momenteel op passieve koeling staan. Tegelijkertijd hebben we natuurlijk wel warm water nodig. We zitten op een dynamisch contract en ik heb via de cloudomgeving van Ecoforest ook aangegeven dat ik wil dat de warmtepomp naar de dynamische tarieven kijkt, zodat we de stroomkosten kunnen beperken.
Desondanks blijft de warmtepomp veelvuldig draaien op tijdstippen waarop de stroomprijs hoog is (bv tussen 7-9 sochtends of tussen 9-11 savonds). Zie ook bijgevoegde grafiek:
[Afbeelding]
De groen/blauwe lijn is heating out/in.
De paarselijn is de WW temperatuur.
Daarbij heb ik de volgende instellingen gehanteerd:
[Afbeelding]
Als ik het goed zie gaat de warmtepomp verwarmen op het moment dat het water onder de 45/44 graden zakt. Dus op zich beweegt de warmtepomp netjes binnen de grenswaarden. Ik zou er echter de voorkeur aan geven dat de warmtepomp het water juist verwarmt op het moment dat de stroom goedkoop is, ook al heeft het warm water in het boilervat nog niet de ondergrenstemperatuur bereikt. Daarnaast verbaast het mij dat de de temperatuur van het water in het boilervat zo snel afkoelt op bepaalde momenten. Is dit gebruikelijk?
Hebben jullie tips hoe ik de instellingen zodanig kan aanpassen dat het warm water meer verwarmt gaat worden op basis van mijn dynamische tarieven?
Alvast dank,
met vriendelijke groet,
Jan
![]() | ![]() | ![]() |
Je kan dus even checken wanneer je in een groen blok zit, wat dan de ingestelde setpoint laag is.
[ Voor 6% gewijzigd door Sportmind op 17-09-2025 11:46 ]
Gasloze vrijstaande woning (A++++), Ecoforest EcoGeo Basic WP, Bodembron, BV 300 L, Duco Energy Premium WTW (2 zones, CO2 gestuurd), 13000 Wp zonnepanelen (4860 Wp ONO, 8140 Wp WZW), Nissan Leaf 2.0, Zappi V2.1, Tibber
Interessant! Hoe heb je de Ecoforest wamtempomp in HA geintegreerd?JuutieZ schreef op maandag 15 september 2025 @ 15:07:
Het is goed om te melden dat ik wel een script (HA) heb die de temperatuur in de gaten houdt. Als de temperatuur onder de 20 graden komt, gaat hij wel verwarmen (dan zit er nog voldoende warmwater boven in de tank), maar dit wordt na 21:00 uitgesteld tot 's ochtends vroeg, omdat ik dan toch niet veel water meer nodig heb.
Gasloze vrijstaande woning (A++++), Ecoforest EcoGeo Basic WP, Bodembron, BV 300 L, Duco Energy Premium WTW (2 zones, CO2 gestuurd), 13000 Wp zonnepanelen (4860 Wp ONO, 8140 Wp WZW), Nissan Leaf 2.0, Zappi V2.1, Tibber
Je kunt via de cloud API dingen uitlezen met de Eplucon integratie.Sportmind schreef op maandag 15 september 2025 @ 15:48:
[...]
Interessant! Hoe heb je de Ecoforest wamtempomp in HA geintegreerd?
Zit nog wel een bug in dat je hem zelf moet reloaden na een HA herstart.
Voor ultiem controle kan je de modbus gebruiken maar dit is wel een stuk technischer en heeft een eigen installatie nodig voor je dit kan gebruiken..
Momenteel lees ik het uit via een rs485->usb adapter die met de modbusintegratie van HA werkt, maar om het instellen van de warmtepomp makkelijker te maken wil ik het ooit nog via een esp32 gaan doen. Die heeft een betere modbusfunctieSportmind schreef op maandag 15 september 2025 @ 15:48:
[...]
Interessant! Hoe heb je de Ecoforest wamtempomp in HA geintegreerd?
Mijn basis ESPHome code ook op github, als je interesse hebt.
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
https://github.com/bp-ouhaha/EcoForest-modbus-registers/JuutieZ schreef op maandag 15 september 2025 @ 19:24:
Daar zeg ik geen nee tegen
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Een paar concrete vragen, hopelijk kunnen verschillende andere gebruikers hier hun licht op laten schijnen:
- Die th-Touch is dus qua hardware van het Poolse Tech Sterowniki, een ST-350. Het valt me op dat 'ie na het opstarten inderdaad verbinding maakt met een service van dat bedrijf op poort 2000; het protocol is me nog niet duidelijk, zou best een custom iets kunnen zijn. Uit het gedrag icm een packet capture zie ik wel dat hij over die poort instructie krijgt om een MQTT verbinding te maken (incl credentials), en dat doet hij daarna ook (unencrypted). Beide services daarvoor draaien in Azure, aan de IP's te zien. Over die MQTT gaan geen (voor mij) nuttige stats. Heeft iemand al wat reverse engineering gedaan mbt wat er verder op poort 2000 wordt uitgewisseld? Het lijkt erop dat daar alle "echte" statistieken en stuurcommando's overheen gaan.
- Ik heb nog geen onderhoudscontract afgesloten. Ik vermoed dat het een voorwaarde voor een onderhoudscontract bij mijn installateur is, dat ik de th-Touch hou en dat ze de installatie op afstand willen kunnen monitoren. Ik wil eigenlijk liever helemaal geen Internet koppeling vanaf de installatie. Weet iemand ook toevallig een partij die (indien nodig) onderhoud/reparaties kan doen aan Ecoforest warmtepompen zonder remote monitoring als voorwaarde te stellen? Ik zou overigens wel bereid zijn om alle relevante monitor-data met een installateur te delen, maar dan bij voorkeur readonly via een Grafana dashboard en/of Home Assistant.
- Stel dat we de th-Touch de deur uit zouden gooien en de aansturing zo veel mogelijk via Modbus zouden doen: wat zouden we dan het beste kunnen aansluiten als binnentemperatuurvoeler? Ik neem aan dat de warmtepomp zelf wel het grootste deel van de PID lus kan afwerken, maar hoe we dat dan moeten aanpakken is me nog niet 100% duidelijk.
OK, en dan de th-Touch afkoppelen van Internet en puur als veredelde temperatuurvoeler gebruiken?JuutieZ schreef op donderdag 30 oktober 2025 @ 19:15:
1, 2 en 3: De communicatie van de Th-tough uitlezen kost te veel moeite, daarnaast kun je ook niet alles makkelijk aansturen. Koop daarom de uitbreidingskaart (PCOS004850) zodat je naast de th-tough alles zelf kan uitlezen en aansturen.
Ik heb trouwens geen onderhoudscontract.
[ Voor 6% gewijzigd door bjp op 30-10-2025 20:42 ]
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Ik laat hem alleen zitten zodat ik een backup hebben als mijn eigen systeem niet werkt en zodat de installateur nog toezicht heeft
Eerstvolgende stap is dan dus om die insteekkaart voor BMS1 te fixen (of evt de Ethernet-module)
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Sorry dat ik reageer op een 2 jaar oud bericht, maar ik ben erg benieuwd: je schrijft "een soort van pCOWEB". Heb je een "echte" pCOWEB kaart in de controller zitten, of een Easynet module van EcoForest, of iets anders?xavier_82 schreef op vrijdag 22 december 2023 @ 21:56:
[...]
Heb een soort van pCOWEB en heb deze reverse-engineer en zo heb ik bijna alle adressen en logica opgezocht die ik nodig had heb hier geen lijst van gemaakt.
Ik heb net een "echte" pCOWEB kaart via Marktplaats gekocht en in mijn warmtepomp geplaatst; hij heeft inmiddels verbinding met mijn netwerk, maar lijkt intern nog niet te communiceren met de Carel pCO serie controller. Ik denk dat ik nog een instelling in de pCO mis. Als ik dit werkend krijg, dan is het misschien een iets duurdere oplossing dan een RS485 BMS card in de pCO controller (en iets als een WaveShare RS485 voor de Ethernet connectie), maar het heeft dan ook wel wat dat ik een minicomputer met Linux extra in mijn warmtepomp heb zitten - op de pCOWEB heb je nl root access en kan je evt ook zelf plugins maken, zag ik.
Klinkt gaaf! In mijn herinnering moet je ergens iets van BMS remote control aanzetten voor RS485, wellicht dat dat ook voor de pCOWEB moet omdat deze ook op al BMS gezien wordt. Wat ik zo snel in de handleiding kan vinden is dit:jeroenvi schreef op woensdag 5 november 2025 @ 12:47:
[...]
Sorry dat ik reageer op een 2 jaar oud bericht, maar ik ben erg benieuwd: je schrijft "een soort van pCOWEB". Heb je een "echte" pCOWEB kaart in de controller zitten, of een Easynet module van EcoForest, of iets anders?
Ik heb net een "echte" pCOWEB kaart via Marktplaats gekocht en in mijn warmtepomp geplaatst; hij heeft inmiddels verbinding met mijn netwerk, maar lijkt intern nog niet te communiceren met de Carel pCO serie controller. Ik denk dat ik nog een instelling in de pCO mis. Als ik dit werkend krijg, dan is het misschien een iets duurdere oplossing dan een RS485 BMS card in de pCO controller (en iets als een WaveShare RS485 voor de Ethernet connectie), maar het heeft dan ook wel wat dat ik een minicomputer met Linux extra in mijn warmtepomp heb zitten - op de pCOWEB heb je nl root access en kan je evt ook zelf plugins maken, zag ik.
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Ik zie nu een gigantische lading aan registers in pCOWEB en ik kan ze met Home Assistant via Modbus uitlezen. Er zijn ook ongedocumenteerde registers, zelfs registers met waardes die nog niet in de [GitHub repo van bp-ouhaha]https://github.com/bp-ouhaha/EcoForest-modbus-registers/blob/main/heatpump-ecogeo.csv[/url] staan. Als ik er daar nog een paar van kan herleiden, dan zal ik ze daar ook wel toevoegen.
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
Juist n.a.v. het succes van mijn verbeteringen eind vorige winter, kriebelt 't toch weer om de WP nog nauwkeuriger te regelen. En daarbij blijft mijn regelen op toerental wat indirect.
Maar hoewel ik prima kan lezen en schrijven via modbus, kan ik met mijn systeem niet de bus scannen, noch heb ik een thermostaat of app om de communicatie van af te luisteren.
Ik ben met name op zoek naar de compressor capaciteit heating en compressor capaciteit consumption. Bij mijn 1-9 staan beide af fabriek op 11.0kW (en ik vraag me af wat die tweede is, bovenin het submenu. Een over all grens wellicht?).
Daarnaast kan ik me niet aan de indruk onttrekken dat 't ding ook ergens de production flow beschikbaar moet hebben. Hoe stelt hij anders de warmteopbrengst vast?
Mijn eerste stap om dat verder te checken was om de repo te forken en een simpel Python script toe te voegen, dat alle registers in de CSV opvraagt (hardcoded op IP van mijn pCOWEB kaart in de WP). Output met formatting.
Even in een aparte branch ook de huidige output van dat script toegevoegd: https://github.com/Jeroen...ree/example-script-output
Mijn geplande vervolgstappen:
- Output beter checken / annoteren
- CSV file aanvullen mbt waar de informatie vandaan komt: in welke versie van de EcoForest Modbus Guide het staat, cq of het undocumented is
- Ook registers uitlezen die niet in de CSV staan, en nonzero waardes signaleren in de output
De officiële handleiding helpt ook al een eindjeroenvi schreef op donderdag 13 november 2025 @ 21:52:
Ik heb nog een andere repo op github gevonden, met nog erg veel ongedocumenteerde registers erin: https://github.com/jrmno/Ecoforest_Heatpump_Modbus. De vraag is natuurlijk of die allemaal correct zijn, of misschien afhankelijk van model en/of softwareversie.
Held! Dat is nog eens een mooi documentK_VL schreef op vrijdag 14 november 2025 @ 09:53:
[...]
De officiële handleiding helpt ook al een eind: https://drive.proton.me/urls/DJD0TY0XEG#tVHGCsNGxwEG
Ik durf het bijna niet te vragen, maar: hoe kom je aan deze PDF? En heb je toevallig ook toegang tot service software en/of updates?
Gewoon eens gevraagd aan de leverancierjeroenvi schreef op vrijdag 14 november 2025 @ 11:22:
[...]
Held! Dat is nog eens een mooi documentEn mooi actueel: "API BUS Client manual 03E (Rev1)/2025"
Ik durf het bijna niet te vragen, maar: hoe kom je aan deze PDF? En heb je toevallig ook toegang tot service software en/of updates?
Mijn WP wordt op dit moment geplaatst, ik vraag het eens aan de installateur i.v.m. updates.
Ik zou ze willen aansturen via Qbus (Luqas module), we zien nog wel hoe ver ik ermee kom.
[ Voor 8% gewijzigd door K_VL op 14-11-2025 11:34 ]
Nice. Mijn leverancier (LTA Energy) heeft echt wel meegedacht, maar ze zijn niet gewend om af te wijken van "het Eplucon concept" - en Eplucon zelf wilde me niet helpen. Ecoforest heeft best wat info publiek toegankelijk (en je kan je zelfs aanmelden voor hun Ecoforest Academy training sessies), maar als eindklant heb ik geen toegang gekregen tot de downloads. De Modbus registerlijst die ik had gekregen was verouderd en matcht dus op meerdere punten niet met de API doc die jij hebt gehad.K_VL schreef op vrijdag 14 november 2025 @ 11:29:
[...]
Gewoon eens gevraagd aan de leverancier![]()
Mijn WP wordt op dit moment geplaatst, ik vraag het eens aan de installateur i.v.m. updates.
Ik zou ze willen aansturen via Qbus (Luqas module), we zien nog wel hoe ver ik ermee kom.
Uiteindelijk wil ik graag minstens het zelfde toegangs- en kennisniveau over de warmtepomp hebben als de installateur, en wil ik de th-Touch afkoppelen van Internet.
Easynet module van Ecoforest, opzich is hetzelfde alleen zonder root access en niet door Carel gemaakt, heeft wel een extra BMS, mini usb, fieldbus en volgens mij een diagnostiek poort (er zijn wel verschillende modellen blijkbaar en ik heb er 2 niet meer in gebruik).jeroenvi schreef op woensdag 5 november 2025 @ 12:47:
[...]
Sorry dat ik reageer op een 2 jaar oud bericht, maar ik ben erg benieuwd: je schrijft "een soort van pCOWEB". Heb je een "echte" pCOWEB kaart in de controller zitten, of een Easynet module van EcoForest, of iets anders?
Ik heb net een "echte" pCOWEB kaart via Marktplaats gekocht en in mijn warmtepomp geplaatst; hij heeft inmiddels verbinding met mijn netwerk, maar lijkt intern nog niet te communiceren met de Carel pCO serie controller. Ik denk dat ik nog een instelling in de pCO mis. Als ik dit werkend krijg, dan is het misschien een iets duurdere oplossing dan een RS485 BMS card in de pCO controller (en iets als een WaveShare RS485 voor de Ethernet connectie), maar het heeft dan ook wel wat dat ik een minicomputer met Linux extra in mijn warmtepomp heb zitten - op de pCOWEB heb je nl root access en kan je evt ook zelf plugins maken, zag ik.
Lijst komt van mijn hand. In principe gedaan wat jij nu aan het doen bent gecombineerd met het aflezen van de al geconfigureerde Easynet module, WP tot versie BC15_HP_V04B49_E uit 2021 werken de registers nog prima, ik weet dat met deze update nieuwe registers bij zijn gekomen maar heb de tijd en zin niet om deze te gaan uitzoeken.jeroenvi schreef op donderdag 13 november 2025 @ 21:52:
Ik heb nog een andere repo op github gevonden, met nog erg veel ongedocumenteerde registers erin: https://github.com/jrmno/Ecoforest_Heatpump_Modbus. De vraag is natuurlijk of die allemaal correct zijn, of misschien afhankelijk van model en/of softwareversie.
Onze th touch heeft een keer een firmware update gehad. Maar dit heeft de installateur gedaan via usb. Heb niet het idee dat deze bestanden publiekelijk beschikbaar zijn ergens.PMuizen schreef op vrijdag 14 november 2025 @ 20:26:
Heeft iemand ooit een firmware update gedaan? En hoe kom je dan aan die bestanden?
Daar heb ik nog een tijdje over nagedacht. Als je die opbrengsten een beetje nauwkeurig wil vaststellen, dan zou je inderdaad de combinatie van flow en delta T moeten weten. Voor zover ik kan nagaan zitten er echter geen flow meters in de warmtepomp. Ik denk dat er dus geen flow meting wordt gedaan, maar gebruik wordt gemaakt van een benadering op basis van het PWM signaal van de pomp-aansturing.Gwaihir schreef op zondag 9 november 2025 @ 12:54:
Daarnaast kan ik me niet aan de indruk onttrekken dat 't ding ook ergens de production flow beschikbaar moet hebben. Hoe stelt hij anders de warmteopbrengst vast?
Kleine tegenvaller: op de Modbus-adressen uit die API doc krijg ik geen waardes, eigenlijk alleen 0. En vooralsnog lijkt het niet iets met een offset te zijn.K_VL schreef op vrijdag 14 november 2025 @ 11:29:
[...]
Gewoon eens gevraagd aan de leverancier![]()
Mijn WP wordt op dit moment geplaatst, ik vraag het eens aan de installateur i.v.m. updates.
Ik zou ze willen aansturen via Qbus (Luqas module), we zien nog wel hoe ver ik ermee kom.
Ik ben benieuwd hoe het bij jou verder gaat na plaatsing.
Da's minder, mogelijks iets ivm firmware & API versie? Het chapeprogramma draait nu, ik blijf er nog een 2 weken wijselijk afjeroenvi schreef op zondag 16 november 2025 @ 21:23:
[...]
Kleine tegenvaller: op de Modbus-adressen uit die API doc krijg ik geen waardes, eigenlijk alleen 0. En vooralsnog lijkt het niet iets met een offset te zijn.
Ik ben benieuwd hoe het bij jou verder gaat na plaatsing.
Ik maak er mij geen zorgen over.
[ Voor 5% gewijzigd door bjp op 21-11-2025 12:38 ]
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
{{url}}/api/v2/econtrol/modules/{{moduleId}}/heatpump_energy_statistics?year=2025&month=2
De reponse in mijn geval is dan (test data)
{
"auth": true,
"data": [
{
"datefield": "2025-02-01",
"consumed_energy": 39,
"delivered_heat": 136,
"delivered_cooling": 0
}
],
"error_code": 200
}
Nu zie ik in https://drive.proton.me/urls/DJD0TY0XEG#tVHGCsNGxwEG dat er veel meer data zou moeten zijn. Enig idee hoe ik die kan uitlezen?
4.1.7. Power meter
The API HP Client allows both showing the powers produced by the heat pump for each service, differentiating active and passive cooling, and the total power consumed, and the power consumed in surplus conditions. All these measures are sent in the same units, which can be consulted at a specific address available on the communications BUS.
4.1.8. Energy meters
In the API HP client is available information regarding the energy consumed and produced in the installation:
• It is shown the accumulated energy for the current day and month, for each of the last 12 months (excluding the current month) and the accumulated energy for the last 12 complete months.
• For each period are shown separately the energy produced by the heat pump and the electrical auxiliary equipment for each of the services.
• For each period are shown the energy consumed and the energy consumed in surplus conditions by the heat pump.
• Different units are defined for heat pump and auxiliary units, and for each of the periods considered.
NOTE
▪ Current day energy meters update every 60 seconds and reset at the end of the day.
▪ Current month energy meters update at the end of the day and reset at the end of the month.
▪ Monthly historical energy meters are updated each time a month ends, replacing with the month just
ended the same month of the previous year.
API HP Client manual
▪ Yearly energy meter is updated each time a month ends, including the month just ended in calculus
of yearly energy instead of the same month of the previous year.
Klopt, heeft te maken met de oliecirculatie, zoals @bjp aangeeft. Hoe verder je van 50% af draait, hoe vaker hij dat gaat doen.PMuizen schreef op vrijdag 21 november 2025 @ 12:27:
Enig verklaring die ik heb is misschien dat ie drukken of iets met oliecirculatie.
Ik heb geen idee hoe je buitendeel precies presteert bij verschillend gebruik. Maar puur op basis van die grafieken zou ik overwegen het minimum toerental te verhogen. Hij zal daardoor vaker af slaan, maar een betere (S)COP draaien, mogelijk een fors betere.
Registers 42 en 43 staan elk 2x in de lijst. (?)xavier_82 schreef op vrijdag 14 november 2025 @ 17:20:
Lijst komt van mijn hand. In principe gedaan wat jij nu aan het doen bent gecombineerd met het aflezen van de al geconfigureerde Easynet module, WP tot versie BC15_HP_V04B49_E uit 2021 werken de registers nog prima, ik weet dat met deze update nieuwe registers bij zijn gekomen maar heb de tijd en zin niet om deze te gaan uitzoeken.
Dat klopt, ik dacht standaard zijn ze voor de fase 5 & 6 van de vloer droog programma, maar ze kunnen ook gebruikt worden voor de recirculatie temperatuur afhankelijk hoe de recirculatie pomp is aangesloten en welke als eerst is gebruikt.Gwaihir schreef op zondag 4 januari 2026 @ 16:06:
[...]
Registers 42 en 43 staan elk 2x in de lijst. (?)
[Ik ben nog altijd op jacht naar die max-output waarde die ik zo goed kan gebruiken (en moet 't nog altijd register voor register proberen met een grote omweg). Vandaag weer enkele 'gaten' in de lijst uitgesloten.]
Klopt. De warmtepomp heeft die informatie wel, maar of je het via MODBUS kan uitlezen is afhankelijk van welke API versie in de warmtepomp is geconfigureerd.wdool schreef op maandag 22 december 2025 @ 21:07:
Ik ben een Homey app aan het bouwen en via de Eplucon API haal ik diverse data punten op, een daarvan is Consumed energy. Echter dat is slechts per maand: https://homey.app/en-nl/a...y/Eplucon-Heat-Pump/test/
Nu zie ik in https://drive.proton.me/urls/DJD0TY0XEG#tVHGCsNGxwEG dat er veel meer data zou moeten zijn. Enig idee hoe ik die kan uitlezen?
4.1.7. Power meter
The API HP Client allows both showing the powers produced by the heat pump for each service, differentiating active and passive cooling, and the total power consumed, and the power consumed in surplus conditions. All these measures are sent in the same units, which can be consulted at a specific address available on the communications BUS.
4.1.8. Energy meters
In the API HP client is available information regarding the energy consumed and produced in the installation:
• It is shown the accumulated energy for the current day and month, for each of the last 12 months (excluding the current month) and the accumulated energy for the last 12 complete months.
• For each period are shown separately the energy produced by the heat pump and the electrical auxiliary equipment for each of the services.
• For each period are shown the energy consumed and the energy consumed in surplus conditions by the heat pump.
• Different units are defined for heat pump and auxiliary units, and for each of the periods considered.
NOTE
▪ Current day energy meters update every 60 seconds and reset at the end of the day.
▪ Current month energy meters update at the end of the day and reset at the end of the month.
▪ Monthly historical energy meters are updated each time a month ends, replacing with the month just
ended the same month of the previous year.
API HP Client manual
▪ Yearly energy meter is updated each time a month ends, including the month just ended in calculus
of yearly energy instead of the same month of the previous year.
Dit is allemaal niet heel duidelijk vindbaar, maar wat ik bij elkaar heb gepuzzeld:
- Vanaf een bepaalde firmware kan je op de warmtepomp kiezen tussen API versie 23 of 24
- Deze versies zijn absoluut niet compatible met elkaar, bij API versie 24 wordt een compleet andere MODBUS adresstructuur gebruikt
- Voor "BUS" aansturing (dus aansturing via MOBDUS registers, zoals de th-Touch doet) moet de aansturing dus de juiste API versie implementeren
- De meest recente firmware die ik voor de th-Touch heb gekregen, gebruikt nog steeds API versie 23. Mijn installateur kon me niet vertellen wanneer er evt nieuwe firmware voor komt cq hoe een migratiepad eruit ziet.
Ik wil als testje binnenkort tijdelijk de thermostaat afkoppelen en dan even de API versie naar 24 zetten om een registerdump te maken - maar ik wacht nog even tot het buiten minder koud is. Toen ik medio december een firmware update op de warmtepomp deed was hij ook alle config kwijt, en heeft het me behoorlijk wat uurtjes gekost om alle settings weer goed te krijgen.
Welke max-output zoek je? De EcoGeo heeft aparte max output per bedrijfsmodus toch? Gaat het om hoeveel procent van het vermogen de WP max mag gebruiken voor verwarming bij vraag van DG1? Of max voor tapwater, of voor zwembad? Die zijn afaik allemaal apart in te stellen.Gwaihir schreef op zondag 4 januari 2026 @ 18:16:
@xavier_82 Ok.
[Ik ben nog altijd op jacht naar die max-output waarde die ik zo goed kan gebruiken (en moet 't nog altijd register voor register proberen met een grote omweg). Vandaag weer enkele 'gaten' in de lijst uitgesloten.]
[ Voor 17% gewijzigd door jeroenvi op 08-01-2026 09:23 . Reden: Uitbreiden van de vraag ]
Ik wil de maximale output voor CV-verwarming graag in kunnen stellen. Op de WP zit die in een beveiligingsmenu en staat hij (af fabriek, bij de 1-9) op 11kW. Het register waar dat in staat, heb ik nog niet gevonden.jeroenvi schreef op donderdag 8 januari 2026 @ 09:21:
Welke max-output zoek je? De EcoGeo heeft aparte max output per bedrijfsmodus toch? Gaat het om hoeveel procent van het vermogen de WP max mag gebruiken voor verwarming bij vraag van DG1? Of max voor tapwater, of voor zwembad? Die zijn afaik allemaal apart in te stellen.
Er is inderdaad een losse voor tapwater en ik denk ook voor zwembad. Wel 1x voor 'verwarming', dacht ik, niet voor DG1 los van DG2, etc. (Mocht dat wel zo zijn, dan zoek ik DG1.)
Ik wil nl. een hoeveelheid warmte van de WP. Momenteel stel ik dat in via het maximale toerental (dat percentage wat je noemt) maar dat is onhandig omdat de relatie tussen toerental en opbrengst erg ingewikkeld is. (COP is afhankelijk van de temperaturen.)
8.3kW Oost-West PV en 7.7kWh thuisbatterij | WP EcoForest 1-6 PRO en dWTW | Stromer ST1 & ST3
De app en webportaal zijn wel actueel. Aan de hand van de WW temp kan ik terugvinden dat alle waarden matchen op ca 4 uur geleden (edit 13/1: vandaag 2-3 uur oud). Het lijkt mij dat de app dezelfde API aanspreekt.
Iemand enig idee hoe dit zou kunnen?
[ Voor 3% gewijzigd door ChrisK op 13-01-2026 17:00 ]
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
| /**
* Ecoforest / EPLucon – Scriptable widget (configurable)
*
* Data model:
* - statistics endpoint geeft een "rows table": veel meetregels met created_at + veel velden.
* - Wij nemen de LAATSTE row als "actueel".
*
* Aanpasbaar:
* - Zet velden aan/uit in TOGGLES (true/false).
* - Voeg eventueel eigen velden toe in FIELDS (label + mogelijke key-namen + unit + decimals).
*
*/
// =======================
// ✅ INSTELLINGEN
// =======================
const BASE = "https://portaal.eplucon.nl/api/v2";
const API_TOKEN = "";
const MODULE_ID = 1000640;
// Wanneer je in de Scriptable app runt, wil je een preview:
const PREVIEW_FAMILY = "medium"; // "small" | "medium" | "large"
// Velden aan/uit (standaard: DG1 temp + toerental aan)
const TOGGLES = {
dg1_temp: false,
compressor_rpm: true,
outside_temp: false,
indoor_temp: true,
ww_temp: true,
ww_mode: false,
cv_pressure: false,
power_now: false,
total_import_energy: false,
total_produced_energy: false,
brine_in: false,
brine_out: false,
brine_pressure: false,
heating_in: true,
heating_out: true,
condensation_temp: false,
evaporation_temp: false,
suction_gas_temp: false,
discharge_gas_temp: false,
superheat: false,
compressor_suction_pressure: false,
compressor_discharge_pressure: false,
valve_pos_sg2: false,
valve_pos_sg3: false,
valve_pos_sg4: false,
expansion_valve_pos: false,
fan_rpm: false,
setpoint_heating_dg1: false,
setpoint_cooling_dg1: false,
setpoint_heating_sg2: false,
setpoint_cooling_sg2: false,
setpoint_heating_sg3: false,
setpoint_cooling_sg3: false,
setpoint_heating_sg4: false,
setpoint_cooling_sg4: false,
overheat: false,
inverter_temp: false,
};
// =======================
// 📌 VELDDEFINITIES
// =======================
/**
* FIELDS definieert alle velden die je kunt tonen.
*
* id: moet overeenkomen met TOGGLES key
* label: wat je in de widget ziet
* keys: mogelijke veldnamen zoals ze in jouw row-object voorkomen
* unit: suffix (°C, bar, W, rpm, etc.)
* decimals: afronding
*
* Je kunt hier makkelijk velden bijmaken/aanpassen.
*/
const FIELDS = [
{ id: "dg1_temp", label: "Actuele temp DG1", keys: ["Actuele temp. DG1"], unit: "°C", decimals: 1 },
{ id: "compressor_rpm", label: "Compressor", keys: ["Compressor toerental"], unit: "rpm", decimals: 0 },
{ id: "outside_temp", label: "Buiten", keys: ["Buitentemp."], unit: "°C", decimals: 1 },
{ id: "indoor_temp", label: "Binnen", keys: ["Binnentemperatuur"], unit: "°C", decimals: 1 },
{ id: "ww_temp", label: "WW", keys: ["WW temperatuur"], unit: "°C", decimals: 1 },
{ id: "cv_pressure", label: "CV druk", keys: ["Cv druk", "CV druk"], unit: "bar", decimals: 1 },
{ id: "power_now", label: "Actueel verbruik", keys: ["Actueel verbruik"], unit: "W", decimals: 0 },
{ id: "total_import_energy", label: "Import energie", keys: ["Totaal import energie"], unit: "kWh", decimals: 1 },
{ id: "total_produced_energy", label: "Geproduceerd", keys: ["Totaal geproduceerde energie"], unit: "kWh", decimals: 1 },
{ id: "brine_in", label: "Brine in", keys: ["Brine in temperatuur"], unit: "°C", decimals: 1 },
{ id: "brine_out", label: "Brine uit", keys: ["Brine out temperatuur"], unit: "°C", decimals: 1 },
{ id: "brine_pressure", label: "Brine druk", keys: ["Brine druk"], unit: "bar", decimals: 1 },
{ id: "heating_in", label: "Heating in", keys: ["Heating in temperatuur"], unit: "°C", decimals: 1 },
{ id: "heating_out", label: "Heating out", keys: ["Heating out temperatuur"], unit: "°C", decimals: 1 },
{ id: "condensation_temp", label: "Condensatie", keys: ["Condensatie temp."], unit: "°C", decimals: 1 },
{ id: "evaporation_temp", label: "Verdamping", keys: ["Verdamping temp."], unit: "°C", decimals: 1 },
{ id: "suction_gas_temp", label: "Zuig gas", keys: ["Zuig gas temperatuur"], unit: "°C", decimals: 1 },
{ id: "discharge_gas_temp", label: "Pers gas", keys: ["Pers gas temperatuur"], unit: "°C", decimals: 1 },
{ id: "superheat", label: "Oververhitting", keys: ["Oververhitting"], unit: "K", decimals: 1 },
{ id: "compressor_suction_pressure", label: "Zuigdruk", keys: ["Compressorzuigdruk"], unit: "bar", decimals: 1 },
{ id: "compressor_discharge_pressure", label: "Afvoerdruk", keys: ["Compressorafvoerdruk"], unit: "bar", decimals: 1 },
{ id: "valve_pos_sg2", label: "Ventiel SG2", keys: ["Positie ventiel SG2"], unit: "%", decimals: 0 },
{ id: "valve_pos_sg3", label: "Ventiel SG3", keys: ["Positie ventiel SG3"], unit: "%", decimals: 0 },
{ id: "valve_pos_sg4", label: "Ventiel SG4", keys: ["Positie ventiel SG4"], unit: "%", decimals: 0 },
{ id: "expansion_valve_pos", label: "Exp. ventiel", keys: ["Positie expansie ventiel"], unit: "%", decimals: 0 },
{ id: "fan_rpm", label: "Ventilator", keys: ["Act. vent. toerental"], unit: "rpm", decimals: 0 },
{ id: "setpoint_heating_dg1", label: "SP verw DG1", keys: ["Setpoint verwarming DG1"], unit: "°C", decimals: 1 },
{ id: "setpoint_cooling_dg1", label: "SP koel DG1", keys: ["Setpoint koeling DG1"], unit: "°C", decimals: 1 },
{ id: "setpoint_heating_sg2", label: "SP verw SG2", keys: ["Setpoint verwarming SG2"], unit: "°C", decimals: 1 },
{ id: "setpoint_cooling_sg2", label: "SP koel SG2", keys: ["Setpoint koeling SG2"], unit: "°C", decimals: 1 },
{ id: "setpoint_heating_sg3", label: "SP verw SG3", keys: ["Setpoint verwarming SG3"], unit: "°C", decimals: 1 },
{ id: "setpoint_cooling_sg3", label: "SP koel SG3", keys: ["Setpoint koeling SG3"], unit: "°C", decimals: 1 },
{ id: "setpoint_heating_sg4", label: "SP verw SG4", keys: ["Setpoint verwarming SG4"], unit: "°C", decimals: 1 },
{ id: "setpoint_cooling_sg4", label: "SP koel SG4", keys: ["Setpoint koeling SG4"], unit: "°C", decimals: 1 },
{ id: "overheat", label: "Oververhitting", keys: ["Oververhitting"], unit: "K", decimals: 1 },
{ id: "inverter_temp", label: "Inverter temp", keys: ["Inverter temperatuur"], unit: "°C", decimals: 1 },
{ id: "ww_mode", label: "WW", keys: ["WW"], unit: "", decimals: 0 },
];
// =======================
// 🔧 HELPERS
// =======================
async function showInAppOrWidget(widget, family = "medium") {
if (config.runsInWidget) {
Script.setWidget(widget);
} else {
if (family === "small") await widget.presentSmall();
else if (family === "large") await widget.presentLarge();
else await widget.presentMedium();
}
Script.complete();
}
// EPLucon lijkt invalid values te gebruiken zoals -9999.
function cleanValue(v) {
if (v === null || v === undefined) return null;
const num = Number(v);
if (!Number.isNaN(num) && (num === -9999 || num === 9999)) return null;
return v;
}
function fmtValue(v, unit, decimals) {
v = cleanValue(v);
if (v === null || v === undefined) return "—";
const num = Number(v);
if (Number.isNaN(num)) return String(v) + (unit ? ` ${unit}` : "");
return num.toFixed(decimals) + (unit ? ` ${unit}` : "");
}
async function apiGetJSON(path) {
const req = new Request(`${BASE}${path}`);
req.method = "GET";
req.headers = { "Authorization": `Bearer ${API_TOKEN}`, "Accept": "application/json" };
req.timeoutInterval = 6;
return await req.loadJSON();
}
/**
* - stats.data is niet de rows-array maar bevat zelf weer .data
* Daarom unwrapen totdat we een array vinden.
*/
function extractRows(stats) {
if (Array.isArray(stats)) return stats;
const candidates = [
stats?.data,
stats?.data?.data,
stats?.result?.data,
stats?.items,
stats?.items?.data,
];
for (const c of candidates) if (Array.isArray(c)) return c;
// follow .data chain (max 5)
let cur = stats;
for (let i = 0; i < 5; i++) {
if (Array.isArray(cur)) return cur;
if (cur && typeof cur === "object" && cur.data !== undefined) cur = cur.data;
else break;
}
return null;
}
async function fetchRowsToday(moduleId) {
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const path = `/econtrol/modules/${moduleId}/statistics`
const stats = await apiGetJSON(path);
const rows = extractRows(stats);
console.log(rows[rows.length-1])
if (!Array.isArray(rows)) {
const topKeys = stats && typeof stats === "object" ? Object.keys(stats).join(",") : String(typeof stats);
throw new Error("Kan rows-array niet vinden. Top-level keys: " + topKeys);
}
if (rows.length === 0) throw new Error("Geen rows vandaag (array leeg).");
return rows;
}
function getLatestRow(rows) {
return rows[rows.length - 1];
}
function getField(row, keys) {
for (const k of keys) {
if (row[k] !== undefined) return row[k];
}
return null;
}
// =======================
// 🖼️ WIDGET UI
// =======================
function buildWidgetFromRow(row) {
const w = new ListWidget();
w.setPadding(20, 20, 20, 20);
const title = w.addText("Ecoforest live");
title.font = Font.boldSystemFont(16);
w.addSpacer(8);
// 1) Bepaal welke FIELDS aan staan
const active = FIELDS.filter(f => TOGGLES[f.id]);
// 2) Render ze
for (const f of active) {
const raw = getField(row, f.keys);
const text = fmtValue(raw, f.unit, f.decimals);
const t = w.addText(`${f.label}: ${text}`);
t.font = Font.systemFont(18);
t.minimumScaleFactor = 0.7;
}
w.addSpacer(8);
const ts = row["created_at"] ? new Date(row["created_at"]) : new Date();
const footer = w.addText(
`Laatste meting: ${ts.toLocaleTimeString("nl-NL", { hour: "2-digit", minute: "2-digit" })}`
);
footer.font = Font.systemFont(10);
footer.textOpacity = 0.6;
return w;
}
// =======================
// ▶️ MAIN
// =======================
try {
const moduleId = MODULE_ID;
const rows = await fetchRowsToday(moduleId);
const latest = getLatestRow(rows);
const widget = buildWidgetFromRow(latest);
await showInAppOrWidget(widget, PREVIEW_FAMILY);
} catch (e) {
const w = new ListWidget();
w.setPadding(12, 12, 12, 12);
w.addText("Ecoforest live").font = Font.boldSystemFont(16);
w.addSpacer(8);
w.addText("Fout bij ophalen").font = Font.boldSystemFont(14);
w.addSpacer(4);
w.addText(String(e)).font = Font.systemFont(11);
await showInAppOrWidget(w, PREVIEW_FAMILY);
} |
Gisteren en vandaag krijg ik weer actuele waarden; lijkt een tijdelijk probleem geweest met de feed van de API. Blijft vreemd; maar werkt iig weer!ChrisK schreef op maandag 12 januari 2026 @ 22:27:…, maar vandaag krijg ik waarden van 4 uur geleden met de timestamp (created_at) van nu.
:strip_exif()/f/image/2NxMc7DwCrZRVS6yWfgQ7Mrn.gif?f=fotoalbum_large)
:strip_exif()/f/image/cDDw1OuJvfhBS3CEx0LRQItr.jpg?f=fotoalbum_tile)
:strip_exif()/f/image/xifUvqC1bwUpMJ6440Zg25CD.jpg?f=fotoalbum_tile)
:strip_exif()/f/image/5FzNH85Vy2tqHzhT48vvBZMa.jpg?f=fotoalbum_tile)
/f/image/YTcEOkLZke85N2wJ8IEABJ3a.png?f=fotoalbum_large)