Kamstrup Multical 302 met Pi uitlezen en domoticz

Pagina: 1 ... 9 10 Laatste
Acties:

  • Robindd
  • Registratie: December 2012
  • Laatst online: 02:42
Meer dan 1 dag komt alleen niet zo heel vaak voor, want je altijd wel je SWW die dan een keer aan gaat, max elke 2 dagen.

@RichieB , wat is jouw reden om zoveel verschillende intervallen te hanteren?
Je wilt toch of: uitlezen, of: niet uitlezen?
Ik zie nog niet direct een reden om bijv. mijn 10 minuten interval bij flow = 0 te veranderen naar tussenstappen.
Wanneer de flow weg is, is je vermogen weg. Dat is niet geleidelijk oid.

PVOutput Youless - 9600Wp OZO+WNW | 38° | Goodwe GW6K-DT | Mitsubishi PUHZ-SW75YAA + ERSD-VM2D | Zonneplan Nexus | Gasloos


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Robindd Omdat ik het onzin vind om in de zomer elke 10 minuten te pollen. Maar ik wil pas langere tijd slapen als ook echt lang geen flow is gemeten. Ik doe SWW met een aparte WP-boiler. Flow meten is inderdaad genoeg, zonder flow heb je geen warmteproductie.

[ Voor 7% gewijzigd door RichieB op 09-12-2024 21:36 ]

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Sethro
  • Registratie: Maart 2017
  • Laatst online: 10-04-2025
Ik twijfel een beetje tussen een Multical 303 of een 403 met KNX of Modbus module.

De 303 is duidelijk de goedkoopste maar vraagt wat extra hardware om uit te lezen. Als je alles mee hebt geteld is zo’n 403 KNX gek genoeg maar klein beetje duurder. Modbus is verreweg de duurste. Zowel KNX als Modbus heb ik al liggen in huis dus daar kan ik zo op inprikken.

Ik neig nu naar de KNX versie. Krijgt ook meteen voeding via de bus. Zie ik nog iets over het hoofd?

[ Voor 4% gewijzigd door Sethro op 09-12-2024 21:39 ]


  • Robindd
  • Registratie: December 2012
  • Laatst online: 02:42
RichieB schreef op maandag 9 december 2024 @ 21:36:
@Robindd Omdat ik het onzin vind om in de zomer elke 10 minuten te pollen. Maar ik wil pas langere tijd slapen als ook echt lang geen flow is gemeten. Ik doe SWW met een aparte WP-boiler. Flow meten is inderdaad genoeg, zonder flow heb je geen warmteproductie.
Dan snap ik het wat beter inderdaad, als je je SWW niet doet met de WP.
In mijn geval heb ik zo'n beetje minimaal elke 2 dagen een SWW run, dus om daar nu voor te gaan programmeren weer.
Ik heb dacht ik een jaar of 4 gedaan met de batterij toen die nog gedeeltelijk op 10sec stond, en vervolgens op 1 minuut een tijd.

PVOutput Youless - 9600Wp OZO+WNW | 38° | Goodwe GW6K-DT | Mitsubishi PUHZ-SW75YAA + ERSD-VM2D | Zonneplan Nexus | Gasloos


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik kom me hier even melden met wat specifieke vragen. :)

Ik ben op zoek naar een goede kamstrup meter voor mijn warmtepomp installatie. Het is een Daikin altherma 3, dus een lage temperatuur systeem. Sww wordt door de warmtepompboiler gedaan, dus geen behoefte om dat te meten.

Nu zie ik dat de "cooling meter" van 2 graden celcius tot 50 graden Celsius meet. Dat lijkt me eigenlijk prima voldoen, gezien de warmtepomp nooit 50 graden water zou moeten produceren.

Klopt deze gedachtegang? Of heb ik een meter nodig die specifiek ook hitte registreert?

Ik begrijp uit een ander topic dat de meter beslist tussen koude / warmte door de delta T tussen aanvoer en retour.

Maar is deze cooling meter nou echt niet de juiste? Zijn er mensen die er zo een hebben? En zouden die mensen dan misschien hun registers met informatie kunnen posten en/of hun ervaringen kunnen posten? :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
Ik lees mijn Kamstrup MultiCal 303 (303-WA02DB-71920) uit via USB-wired libmbus op een RPi. Dat gaat eigenlijk heel goed, maar af en toe (2x per maand ofzo) crasht er iets in de Kamstrup en geeft de mbus een paar minuten geen antwoord. Daar kan ik goed mee leven, maar nu zie ik dat de Kamstrup op die momenten ook ongeveer een uur aan data kwijt is:

Afbeeldingslocatie: https://tweakers.net/i/kWS38QUSjRNaUVSb2WOfZ_Mstgs=/800x/filters:strip_exif()/f/image/mxPSLBrm9mp1kaESMrA4mRPi.png?f=fotoalbum_large

In dit voorbeeld springt de waarde voor de totale energieproductie terug van 32248 kWh naar 32240 kWh. Dat vind ik wel kwalijk: daardoor krijg ik toch een vertekend beeld van de opbrengst van mijn warmtepomp. :|

Heeft iemand anders ook zoiets gezien in hun data?

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
Tanuki schreef op donderdag 26 december 2024 @ 17:01:
[...]
Nu zie ik dat de "cooling meter" van 2 graden celcius tot 50 graden Celsius meet. Dat lijkt me eigenlijk prima voldoen, gezien de warmtepomp nooit 50 graden water zou moeten produceren.

Klopt deze gedachtegang?
Ja, 2 - 50 °C is een prima range voor een LT warmtepomp.
Of heb ik een meter nodig die specifiek ook hitte registreert?
[...]
Voor een warmtepomp is het handig om een Kamstrup te nemen die zowel warmte (Taanvoer > Tretour) als koeling (Tretour > Taanvoer) bijhoudt. Ook al gebruik je de warmtepomp niet voor koeling, tijdens een defrost wordt even Tretour > Taanvoer en die data mis je als je alleen warmte kan registeren.

Een Kamstrup die alleen koeling registreert is alleen handig voor een airco, niet voor een warmtepomp.

[ Voor 22% gewijzigd door RichieB op 04-01-2025 15:27 ]

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • blb4
  • Registratie: April 2008
  • Laatst online: 01:21
RichieB schreef op zaterdag 4 januari 2025 @ 15:17:
Ik lees mijn Kamstrup MultiCal 303 (303-WA02DB-71920) uit via USB-wired libmbus op een RPi. Dat gaat eigenlijk heel goed, maar af en toe (2x per maand ofzo) crasht er iets in de Kamstrup en geeft de mbus een paar minuten geen antwoord. Daar kan ik goed mee leven, maar nu zie ik dat de Kamstrup op die momenten ook ongeveer een uur aan data kwijt is:

[Afbeelding]

In dit voorbeeld springt de waarde voor de totale energieproductie terug van 32248 kWh naar 32240 kWh. Dat vind ik wel kwalijk: daardoor krijg ik toch een vertekend beeld van de opbrengst van mijn warmtepomp. :|

Heeft iemand anders ook zoiets gezien in hun data?
Ik herken dit niet. Ik heb ook wel eens wat problemen met 't uitlezen van de Kamstrup waardoor ook mijn eigen logica om warmte te splitsen naar Heat en DHW en ook Cool/Defrost te registreren niet goed gaan maar de Heat Energy van de Kamstrup heb ik in dat soort periode's gewoon zien doorlopen.

Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+MT GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
RichieB schreef op zaterdag 4 januari 2025 @ 15:24:
[...]

Ja, 2 - 50 °C is een prima range voor een LT warmtepomp.

[...]

Voor een warmtepomp is het handig om een Kamstrup te nemen die zowel warmte (Taanvoer > Tretour) als koeling (Tretour > Taanvoer) bijhoudt. Ook al gebruik je de warmtepomp niet voor koeling, tijdens een defrost wordt even Tretour > Taanvoer en die data mis je als je alleen warmte kan registeren.

Een Kamstrup die alleen koeling registreert is alleen handig voor een airco, niet voor een warmtepomp.
Dank voor deze waardevolle post!

Ik hoor van verschillende mensen dat er meters zijn die alleen "cooling meter" of "heat meter" erop hebben staan, maar stiekem toch beide meten. Via mbus is dan toch het andere register beschikbaar. Kwestie van dat eens checken dus..

Is het gebruik van een kamstrup meter bij een airco überhaupt een ding? Dat heb ik volgens mij nog nooit gezien.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Tanuki Ik heb een Kamstrup MultiCal 303-WA02DB-71920 waarbij de W staat voor "Warming" (C is Cooling en T voor beiden). Met libmbus zie ik qua energy alleen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <DataRecord id="0">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Energy (kWh)</Unit>
        <Value>32311</Value>
        <Timestamp>2025-01-04T22:14:11Z</Timestamp>
    </DataRecord>
    <DataRecord id="14">
        <Function>Instantaneous value</Function>
        <StorageNumber>1</StorageNumber>
        <Unit>Energy (kWh)</Unit>
        <Value>32102</Value>
        <Timestamp>2025-01-04T22:14:11Z</Timestamp>
    </DataRecord>

Dus ik heb geen backward kWh / consumption kWh zoals bij een heat + cool meter.

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • blb4
  • Registratie: April 2008
  • Laatst online: 01:21
RichieB schreef op zaterdag 4 januari 2025 @ 23:42:
@Tanuki Ik heb een Kamstrup MultiCal 303-WA02DB-71920 waarbij de W staat voor "Warming" (C is Cooling en T voor beiden). Met libmbus zie ik qua energy alleen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    <DataRecord id="0">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Energy (kWh)</Unit>
        <Value>32311</Value>
        <Timestamp>2025-01-04T22:14:11Z</Timestamp>
    </DataRecord>
    <DataRecord id="14">
        <Function>Instantaneous value</Function>
        <StorageNumber>1</StorageNumber>
        <Unit>Energy (kWh)</Unit>
        <Value>32102</Value>
        <Timestamp>2025-01-04T22:14:11Z</Timestamp>
    </DataRecord>

Dus ik heb geen backward kWh / consumption kWh zoals bij een heat + cool meter.
Ik heb zelf in node-red wat geprutst om, bij negatief vermogen (wat wel wordt weergegeven) de hoeveelheid energie uit te rekenen en in node-red op te tellen. Minder nauwkeuring en robuust dan dat de Kamstrum dat doet maar 't geeft een goede indicatie.

Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+MT GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23


  • Robindd
  • Registratie: December 2012
  • Laatst online: 02:42
blb4 schreef op zondag 5 januari 2025 @ 02:55:
[...]

Ik heb zelf in node-red wat geprutst om, bij negatief vermogen (wat wel wordt weergegeven) de hoeveelheid energie uit te rekenen en in node-red op te tellen. Minder nauwkeuring en robuust dan dat de Kamstrum dat doet maar 't geeft een goede indicatie.
Op welk tijds interval bereken je dat dan? Want dat is wel lastig en onnauwkeurig idd..
Als iemand nog iets moet aanschaffen koop je beter gewoon een unit geschikt voor beide.

PVOutput Youless - 9600Wp OZO+WNW | 38° | Goodwe GW6K-DT | Mitsubishi PUHZ-SW75YAA + ERSD-VM2D | Zonneplan Nexus | Gasloos


  • Andrehj
  • Registratie: Juni 2002
  • Niet online
Tanuki schreef op zaterdag 4 januari 2025 @ 23:12:
Ik hoor van verschillende mensen dat er meters zijn die alleen "cooling meter" of "heat meter" erop hebben staan, maar stiekem toch beide meten. Via mbus is dan toch het andere register beschikbaar. Kwestie van dat eens checken dus..
Dat werkte bij een 302, maar schijnt bij een 303 niet meer te kunnen.
Is het gebruik van een kamstrup meter bij een airco überhaupt een ding? Dat heb ik volgens mij nog nooit gezien.
@RichieB was in de war. Bij een airco is er natuurlijk helemaal geen waterleiding om de Kamstrup in te plaatsen. Dat maakt het meten van het afgegeven vermogen (en het berekenen van de echte COP) bij een airco ook zo lastig.
Het enige wat je bij een airco goed kunt meten is het opgenomen (elektrische) vermogen.

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


  • blb4
  • Registratie: April 2008
  • Laatst online: 01:21
Robindd schreef op zondag 5 januari 2025 @ 08:21:
[...]


Op welk tijds interval bereken je dat dan? Want dat is wel lastig en onnauwkeurig idd..
Als iemand nog iets moet aanschaffen koop je beter gewoon een unit geschikt voor beide.
Klopt, beter 1 die beide registreert maar die zijn soms lastig verkrijgbaar & een stuk duurder geloof ik.

Ik gebruik nu wat Logic die de kamstrup vaker uitleest tijdens defrost om zo de nauwkeurigheid wat te verhogen.

Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+MT GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
Andrehj schreef op zondag 5 januari 2025 @ 09:20:
[...]
@RichieB was in de war. Bij een airco is er natuurlijk helemaal geen waterleiding om de Kamstrup in te plaatsen.
[...]
Goed punt! Waar zal zo'n Cooling-only Kamstrup dan voor gebruikt worden? L/W warmtepomp die alleen koeling doet lijkt me ook raar..

[ Voor 8% gewijzigd door RichieB op 05-01-2025 14:27 ]

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Andrehj
  • Registratie: Juni 2002
  • Niet online
RichieB schreef op zondag 5 januari 2025 @ 14:26:
Goed punt! Waar zal zo'n Cooling-only Kamstrup dan voor gebruikt worden? L/W warmtepomp die alleen koeling doet lijkt me ook raar..
Geen idee. Wellicht voor industriële koelinstallaties?

Overigens kun je deze ook wel voor een WP warmtemeting gebruiken: Gewoon via de instellingen de meter vertellen dat ie in de aanvoer zit ipv in de retour, en dan dus de koude-registers gebruiken om de warmteopwekking te zien.
Enige beperking is dan die max 50°C water. De meter mag dan dus niet in het SWW-circuit zitten, maar enkel in het CV-circuit.

[ Voor 5% gewijzigd door Andrehj op 05-01-2025 14:37 ]

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


  • djtje
  • Registratie: September 2010
  • Laatst online: 23-03 07:11
Ik lees nu al een tijdje mijn Kamstrup uit dmv de node-red flow van dit topic, dit werkt allemaal naar behoren.
Hardware matig heb ik een HomeAssistant Yellow en MBUS naar USB master module vanuit China.

Alleen merk ik nu dat ik op willekeurige momenten de volgende error krijg:
error: Failed to init slaves
Het herstarten van node-red of het wijzigen van de serial port op de mbus-client node (kopieren van dezelfde usb-port fixed het al 8)7)

Dit zijn mijn instellingen van de mbus-client node:
Afbeeldingslocatie: https://tweakers.net/i/BjAjcxhexF0LszlMm1ppV9_ZvNk=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/Mh0ynczjlllz8HZPx2fXpBOg.png?f=user_large

Ik verwijs hier al naar het USB apparaat dmv het ID en niet naar ttyUSB, snap even niet hoe en waarom het er op willekeurige momenten uitklapt. Iemand hier ervaring mee?

WP: PUHZ-SW75 YAA & ERST20D-VM2D; PV: 10.8 kWp O/W + SMA STP 8.0; Vent: Zehnder Q450 ERV


  • Djvdb
  • Registratie: December 2022
  • Laatst online: 22:22
dunklefaser schreef op woensdag 21 juni 2023 @ 07:48:
[...]

Voor zover ik weet is de "IR Schreib/Lesekopf USB" volledig compatibel
met dezelfde standaard die ook door Kamstrup wordt gebruikt.
En de naam zegt het al: lezen en schrijven.

Funktion: IR Sendediode (Tx)
IR Phototransistor (Rx)
IC: FTDI FT232R / FT230X
USB-to-UART Serial Converter
Typ: USB 2.0
Baudraten: 300 Baud bis 28800 Baud
Normen: DIN EN 62056-21
IEC-62056-21
Protokolle: SML
ASCII Protokoll nach IEC-62056-21
Kabellänge: 3m
Maße: LxBxH (mm): 32x32x19
Houdt deze de kamstrup wakker? Welke command verstuur je anders om de 302 uit de slaapstand te halen. Ik zit nu in de situatie dat ik de meter wel kan uitlezen maar dat ik eerst op de fysieke knop moet drukken.

e-Golf 2018 | Climarad Sensa V2X | 3200 Wp WZW I WP: ME Ecodan SUZ-SWM60VA2 + ERST20D-VM2E


  • dunklefaser
  • Registratie: Oktober 2012
  • Laatst online: 22:40

dunklefaser

Point Of KnowReturn

Djvdb schreef op vrijdag 31 januari 2025 @ 13:57:
[...]


Houdt deze de kamstrup wakker? Welke command verstuur je anders om de 302 uit de slaapstand te halen. Ik zit nu in de situatie dat ik de meter wel kan uitlezen maar dat ik eerst op de fysieke knop moet drukken.
Ik gebruikte de IR-Lese/Schreibkopf heel even om te kijken welke konfiguratieparameters je additioneel kon lesen & vooral schrijven. Of je de Kamstrups permanent kan laten reageren op de IR-zenddiode weet ik niet.

Voor het "normale" gebruik d.w.z. het routinematige uitlezen gebruik ik de bedrade m-bus met een busmaster adapter. Hiermee lees ik dan ook twee warmte/koudemeters tegelijkertijd uit.
Dit is volgens mij ook de beste en makkelijkste manier.
YMMV

Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights


  • Djvdb
  • Registratie: December 2022
  • Laatst online: 22:22
dunklefaser schreef op vrijdag 31 januari 2025 @ 14:10:
[...]

Ik gebruikte de IR-Lese/Schreibkopf heel even om te kijken welke konfiguratieparameters je additioneel kon lesen & vooral schrijven. Of je de Kamstrups permanent kan laten reageren op de IR-zenddiode weet ik niet.

Voor het "normale" gebruik d.w.z. het routinematige uitlezen gebruik ik de bedrade m-bus met een busmaster adapter. Hiermee lees ik dan ook twee warmte/koudemeters tegelijkertijd uit.
Dit is volgens mij ook de beste en makkelijkste manier.
YMMV
Helaas heeft de mijne geen m-bus :(

e-Golf 2018 | Climarad Sensa V2X | 3200 Wp WZW I WP: ME Ecodan SUZ-SWM60VA2 + ERST20D-VM2E


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ook ik ben in de markt voor een Kamstrup meter. :) Hoeft niet per se de 302 te zijn. En uitlezen komt wel goed. Waar ik mee struggle is welke ik nou precies moet nemen: Ik heb bijvoorbeeld een meter gevonden die een cooling & heating meter is, waar
code:
1
303T10319

op staat.

Over de "Static data written on the front of the meter" zegt de documentatie van Kamstrup dan:
303 = Kamstrup 303
T = heat/cooling meter
10 = 0.6m3
3 = "Heat/cooling meter (MID module B+D & TS27.02+DK268)" 0hc = OFF (Wat betekent dit? Heb ik dit nodig?)
19 = Country code

Maar dan staat er nog "Dynamic data shown in the Display", echter, dat kan ik dan op de product foto's niet zien? Ik zie in ieder geval niet op de foto's waar die dynamic data dan zou staan.
De laatste 2 getallen daarvan zouden dan "20" (Mbus) of "30" (Wireless Mbus) moeten zijn.

Kan ik er dan vanuit gaan dat dit altijd 20 of 30 is? M.a.w., zit er op de 303 altijd een communicatie module?
En weet iemand waar ik die dynamic data op een product foto kan zien, zodat ik kan verifieren dat ik het juiste koop?

Voor mij maakt het overigens niet uit of het nu wireless mbus, mbus of modbus of wat dan ook is. Als ik het maar kan uitlezen op een manier.

[ Voor 6% gewijzigd door Tanuki op 06-05-2025 09:59 ]

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • SebastiaanPs
  • Registratie: Oktober 2022
  • Laatst online: 22:37
Tanuki schreef op dinsdag 6 mei 2025 @ 09:57:
Ook ik ben in de markt voor een Kamstrup meter. :) Hoeft niet per se de 302 te zijn. En uitlezen komt wel goed. Waar ik mee struggle is welke ik nou precies moet nemen: Ik heb bijvoorbeeld een meter gevonden die een cooling & heating meter is, waar
code:
1
303T10319

op staat.

Over de "Static data written on the front of the meter" zegt de documentatie van Kamstrup dan:
303 = Kamstrup 303
T = heat/cooling meter
10 = 0.6m3
3 = "Heat/cooling meter (MID module B+D & TS27.02+DK268)" 0hc = OFF (Wat betekent dit? Heb ik dit nodig?)
19 = Country code

Maar dan staat er nog "Dynamic data shown in the Display", echter, dat kan ik dan op de product foto's niet zien? Ik zie in ieder geval niet op de foto's waar die dynamic data dan zou staan.
De laatste 2 getallen daarvan zouden dan "20" (Mbus) of "30" (Wireless Mbus) moeten zijn.

Kan ik er dan vanuit gaan dat dit altijd 20 of 30 is? M.a.w., zit er op de 303 altijd een communicatie module?
En weet iemand waar ik die dynamic data op een product foto kan zien, zodat ik kan verifieren dat ik het juiste koop?

Voor mij maakt het overigens niet uit of het nu wireless mbus, mbus of modbus of wat dan ook is. Als ik het maar kan uitlezen op een manier.
I.v.m. batterij en ervaring op Tweakers zou ik nu altijd wired mbus kiezen. Niet wireless.
Verder zou ik niet 100% vertrouwen op de foto en de aanbieder contacteren (mail) met jouw wensen, zodat je zeker weet dat je de goede krijgt.

WP: Mitsubishi Electric SUZ-SWM80VA2 + ERSD-VM2D. PV 3330 Wp. Huis 1931, gasloos sinds jan '24.


  • Tanuki
  • Registratie: Januari 2005
  • Niet online
SebastiaanPs schreef op dinsdag 6 mei 2025 @ 10:21:
[...]

I.v.m. batterij en ervaring op Tweakers zou ik nu altijd wired mbus kiezen. Niet wireless.
Verder zou ik niet 100% vertrouwen op de foto en de aanbieder contacteren (mail) met jouw wensen, zodat je zeker weet dat je de goede krijgt.
Ja, dat is prima... Maar ik kan dus op dit moment zelf ook niet aanwijzen waar de teksten / informatie staan waar ik zelf uit kan halen of ik de juiste krijg of niet. Vandaar mijn vraag. :)

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


  • Nickkie55
  • Registratie: Augustus 2005
  • Laatst online: 10-04 08:58
De bedrade Mbus zit nu aangesloten op een Raspberry en wordt middels het "oude" php script binnengehaald.

Nu wil mijn Mbus omzetten naar HA met NodeRed maar krijg in de log van NodeRed de volgende melding:
mbus_serial_connect: failed to open tty.
mbus_serial_connect: failed to open tty.
mbus_serial_connect: failed to open tty.
Zelfs als de node-red flow disabled is.

Ook kan ik met de Serial IN node kan ik seriele poort selecteren.

HA draait op een Synology NAS als virtuele machine en de USB-MBUS converter is aangeloten op:
ttyUSB3
/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AK069ZFT-if00-port0

Het lijkt me een rechten issue maar weet niet wat. 8)7

18.090 Wp | 60Heatpipes | Auer Edel eau 270ltr | Panasonic J 9kW | Mitsubishi HI 5kW | 3 x Fujitsu General 2,5kW


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Nickkie55 Er kunnen verschillende oorzaken zijn waarom dit nu niet werkt:
  1. Maar 1 proces kan de tty open hebben. Je moet dus eerst het "oude php script" stoppen voordat je verder gaat.
  2. Als NodeRed ook in de VM (docker?) draait moet je de tty beschikbaar maken in de VM.
  3. Onder welke user/groep draait NodeRed? Heeft die user/groep leesrechten op de tty?

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Nickkie55
  • Registratie: Augustus 2005
  • Laatst online: 10-04 08:58
RichieB schreef op zaterdag 4 oktober 2025 @ 16:00:
@Nickkie55 Er kunnen verschillende oorzaken zijn waarom dit nu niet werkt:
  1. Maar 1 proces kan de tty open hebben. Je moet dus eerst het "oude php script" stoppen voordat je verder gaat.
  2. Als NodeRed ook in de VM (docker?) draait moet je de tty beschikbaar maken in de VM.
  3. Onder welke user/groep draait NodeRed? Heeft die user/groep leesrechten op de tty?
Thanks voor je reactie!
- oude script loopt op een PI. De USB kabel wordt nu fysiek aangesloten op de synology NAS.
- Ik heb een VM laag met Home Assistant en NodeRed draait in Home Assistant.
- User heb ik werkelijk geen idee. Zou je me kunnen zeggen waar ik dit kan vinden?

Dit zijn mijn instellingen van NodeRed:

theme: default
http_node:
username: ""
password: ""
http_static:
username: ""
password: ""
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
system_packages:
- python3
- musl
- make
- g++
- linux-headers
npm_packages: []
init_commands: []
credential_secret: "geheimwachtwoord"

Edit:
Ik zie de USB wel in Home Assistant. Onde de Hardware instellingen.

18.090 Wp | 60Heatpipes | Auer Edel eau 270ltr | Panasonic J 9kW | Mitsubishi HI 5kW | 3 x Fujitsu General 2,5kW


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Nickkie55
Ik heb dit in nodered
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
theme: default
http_node:
  username: redacted
  password: redacted
http_static:
  username: redacted
  password: redacted
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
system_packages:
  - python3
  - musl
  - make
  - g++
  - linux-headers
npm_packages:
  - node-red-contrib-m-bus
init_commands: []
credential_secret: redacted

neem die npm_packages eens over?

[ Voor 3% gewijzigd door AUijtdehaag op 04-10-2025 18:58 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


  • Nickkie55
  • Registratie: Augustus 2005
  • Laatst online: 10-04 08:58
AUijtdehaag schreef op zaterdag 4 oktober 2025 @ 18:56:
@Nickkie55
Ik heb dit in nodered
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
theme: default
http_node:
  username: redacted
  password: redacted
http_static:
  username: redacted
  password: redacted
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
system_packages:
  - python3
  - musl
  - make
  - g++
  - linux-headers
npm_packages:
  - node-red-contrib-m-bus
init_commands: []
credential_secret: redacted

neem die npm_packages eens over?
Gedaan helaas geen resultaat

18.090 Wp | 60Heatpipes | Auer Edel eau 270ltr | Panasonic J 9kW | Mitsubishi HI 5kW | 3 x Fujitsu General 2,5kW


  • hallorichard
  • Registratie: September 2016
  • Laatst online: 22:16
Ik heb 2x kamstrup 403 hangen om de cv en elga ace warmtepomp te monitoren. Deze zitten nu nog op een d-cell batterij. Ik wil ze graag op 230v zetten om ze zo vaker uit te lezen. Op internet zie ik deze module daarvoor: https://ableinstruments.c...mstrup-230v-power-supply/

Iemand deze ook buiten Engeland besteld (webshop dichtbij )? Of is er een andere oplossing om de kamstrub op 230v te zetten?

  • Andrehj
  • Registratie: Juni 2002
  • Niet online
hallorichard schreef op donderdag 25 december 2025 @ 11:41:
Ik heb 2x kamstrup 403 hangen om de cv en elga ace warmtepomp te monitoren. Deze zitten nu nog op een d-cell batterij. Ik wil ze graag op 230v zetten om ze zo vaker uit te lezen. Op internet zie ik deze module daarvoor: https://ableinstruments.c...mstrup-230v-power-supply/

Iemand deze ook buiten Engeland besteld (webshop dichtbij )? Of is er een andere oplossing om de kamstrub op 230v te zetten?
Ik wist niet dat die modules bestonden. Overigens lees ik mijn Kamstrup al bijna 5 jaar elke minuut uit, en dat gaat tot nu toe goed. Ben benieuwd hoe lang de batterijen dit vol houden.

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


  • blb4
  • Registratie: April 2008
  • Laatst online: 01:21
Andrehj schreef op vrijdag 26 december 2025 @ 10:40:
[...]

Ik wist niet dat die modules bestonden. Overigens lees ik mijn Kamstrup al bijna 5 jaar elke minuut uit, en dat gaat tot nu toe goed. Ben benieuwd hoe lang de batterijen dit vol houden.
Ik wist dat ook niet. Gisteren ff gezocht, is vanaf Multical 403 zo te zien, niet voor de 30x serie. Ik heb een batterij voor 16 jaar, lees 'm tijdens WP bedrijf 1 x per minuut uit, als de WP uit staat eens in de 155 minuten en tijdens defrost elke 15 seconden. Dit omdat mijn Kamstrup wel negatief vermogen registreert maar geen negatief vermogen. Middels Node-Red flow bereken ik het negatief vermogen tijdens Defrost en gewoon Cool bedrijf:

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
// formats output for MQTT (output 1) and for Influxdb (output 2)

var CoolEnergy = global.get('CoolEnergy',"file");
    if (CoolEnergy === undefined) { CoolEnergy = 0 }
var DefrostEnergy = global.get('DefrostEnergy',"file");
    if (DefrostEnergy === undefined) { DefrostEnergy = 0 }
var DHWEnergy = global.get('DHWEnergy',"file");
    if (DHWEnergy === undefined) { DHWEnergy = 0 }
var Defrost = 0;
Defrost = global.get('Defrost',"file");
    if (Defrost === undefined) { Defrost = 0 }
var Threewayvalve = 0;
Threewayvalve = global.get('Threewayvalve',"file");
    if (Threewayvalve === undefined) { Threewayvalve = 0 }
var TimeCurrent = new Date().getTime();
var TimeLast    = global.get('TimeLast',"file");
    if (TimeLast === undefined) {TimeLast = TimeCurrent}
var TimeDelta   = TimeCurrent - TimeLast;
global.set('TimeLast', TimeCurrent, "file");

var TotalHeatEnergy   = msg.payload.DataRecord[0].Value;
// var TotalFlow         = msg.payload.DataRecord[1].Value;
// var TotalHours        = msg.payload.DataRecord[4].Value;
// var TotalErrorHours   = msg.payload.DataRecord[5].Value;
var FlowTemperature   = msg.payload.DataRecord[6].Value /100;
var ReturnTemperature = msg.payload.DataRecord[7].Value /100;
var DiffTemperature   = msg.payload.DataRecord[8].Value /100;
var PowerValue        = msg.payload.DataRecord[9].Value *100;
var PowerMaxValue     = msg.payload.DataRecord[10].Value * 100;
var FlowValue         = msg.payload.DataRecord[11].Value;
var FlowMaxValue      = msg.payload.DataRecord[12].Value;
var FlowValuelm       = Number((FlowValue/60).toFixed(2));

// global.set('CoolEnergy', 15115.11095153208, "file");
// global.set('DefrostEnergy', 47044.29054383436, "file");
// global.set('DHWEnergy', 110037.05540274233, "file");

// calculate CoolEnergy as not delivered by Kamstrup
if (PowerValue < 0 && Defrost == 0) {
    CoolEnergy = CoolEnergy + PowerValue * -TimeDelta/3600000;
    global.set('CoolEnergy',CoolEnergy, "file");
}
CoolEnergy = Number((CoolEnergy / 1000).toFixed(2));

// calculate DefrostEnergy as not delivered by Kamstrup
if (PowerValue < 0 && Defrost == 1 && Threewayvalve == 0) {
    DefrostEnergy = DefrostEnergy + PowerValue * -TimeDelta/3600000;
    global.set('DefrostEnergy',DefrostEnergy, "file");
}
DefrostEnergy = Number((DefrostEnergy / 1000).toFixed(2));

// calculate DHWEnergy as not delivered by Kamstrup. Defrost Energy during DHW will be subtracted
if (Threewayvalve == 1) {
    DHWEnergy = DHWEnergy + PowerValue * TimeDelta/3600000;
    global.set('DHWEnergy', DHWEnergy, "file");
}
DHWEnergy = Number((DHWEnergy / 1000).toFixed(2));

var TotalEnergy = TotalHeatEnergy + CoolEnergy + DefrostEnergy;
var HeatingEnergy = TotalHeatEnergy - DefrostEnergy - DHWEnergy;

// calculate Heat, DHW, Cool & ABS Power values
var HeatPower = 0;
var DHWPower = 0;
var CoolPower = 0;
var AbsPower = Math.abs(PowerValue);
if (PowerValue >= 0) {
    if (Threewayvalve == 0) {
        HeatPower = PowerValue;
    }
    else {
        DHWPower = PowerValue;
    }
}
else {
    CoolPower = -PowerValue;
}

let msg1 = {
    payload: []
};
let msg2 = {
    payload: []
};

msg1.payload=
    {
        kamstrup: {
            totalheatenergy     : TotalHeatEnergy,
            flowtemperature     : FlowTemperature, 
            returntemperature   : ReturnTemperature,
            difftemperature     : DiffTemperature,
            powervalue          : PowerValue,
            powermaxvalue       : PowerMaxValue, 
            flowvalue           : FlowValue, 
            flowvaluelm         : FlowValuelm, 
            flowmaxvalue        : FlowMaxValue, 
            coolenergy          : CoolEnergy,
            totalenergy         : TotalEnergy,
            heatpower           : HeatPower,
            coolpower           : CoolPower,
            dhwpower            : DHWPower,
            abspower            : AbsPower,
            heatingenergy       : HeatingEnergy,
            defrostenergy       : DefrostEnergy,
            dhwEnergy           : DHWEnergy,
            
            },
    }

msg2.payload=
[
    {
            "TotalHeatEnergy"     : TotalHeatEnergy,
            "FlowTemperature"     : FlowTemperature, 
            "ReturnTemperature"   : ReturnTemperature,
            "DiffTemperature"     : DiffTemperature,
            "PowerValue"          : PowerValue,
            "PowerMaxValue"       : PowerMaxValue, 
            "FlowValue"           : FlowValue, 
            "FlowValuelm"         : FlowValuelm, 
            "FlowMaxValuelm"      : FlowMaxValue, 
            "TotalCoolEnergy"     : CoolEnergy,
            "TotalEnergy"         : TotalEnergy,
            "HeatPower"           : HeatPower,
            "CoolPower"           : CoolPower,
            "DHWPower"            : DHWPower,
            "absPower"            : AbsPower,
            "HeatingEnergy"       : HeatingEnergy,
            "DefrostEnergy"       : DefrostEnergy,
            "DHWEnergy"           : DHWEnergy,

},
   {
        "identity1": "Kamstrup"
    }
]
let msg3 = {};
msg3.payload = TimeDelta;

return [msg1, msg2, msg3];

[ Voor 83% gewijzigd door blb4 op 26-12-2025 13:19 . Reden: correctie uitlezen en stukje node-red flow toegevoegd voor berekening energie koelen en Defrost ]

Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+MT GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23


  • Andrehj
  • Registratie: Juni 2002
  • Niet online
blb4 schreef op vrijdag 26 december 2025 @ 11:53:
Ik wist dat ook niet. Gisteren ff gezocht, is vanaf Multical 403 zo te zien, niet voor de 30x serie. Ik heb een batterij voor 16 jaar, lees 'm tijdens WP bedrijf 1 x per minuut uit, als de WP uit staat eens in de 5 minuten.
Dat laatste is wel een goeie, het is veel logischer om deze enkel uit te lezen als de WP ook daadwerkelijk produceert. En daarbuiten misschien elke 10 minuten.
Even rekenen:
Nu lees ik de WP 365 dagen * 24 h/dag * 60 min/h = 525.600 maal per jaar uit.
Een jaar heeft 365*24 = 8760 uur.
De WP draait hier 2000 uur per jaar (volgens zijn urenteller).
Tijdens draaien zou ik die dus 2000*60 = 120.000 maal uitlezen.
Tijdens stilstand (elke 10 minuten) 6760 * 10 = 67.600 maal.
In totaal 187.600 maal per jaar.
Door deze tactiek zou de batterij dus ca 3x zo lang mee gaan. :)
Tijd om dit in het script te verwerken dus!
Dankjewel voor de hint _/-\o_ .

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


  • Trent
  • Registratie: Maart 2011
  • Laatst online: 20:06
dunklefaser schreef op vrijdag 31 januari 2025 @ 14:10:
[...]

Voor het "normale" gebruik d.w.z. het routinematige uitlezen gebruik ik de bedrade m-bus met een busmaster adapter. Hiermee lees ik dan ook twee warmte/koudemeters tegelijkertijd uit.
Dit is volgens mij ook de beste en makkelijkste manier.
YMMV
Welke gebruik je? Eigenlijk jammer dat ze niet via IP kunnen lopen. JSON via MQTT zou wel handig zijn :)

  • dunklefaser
  • Registratie: Oktober 2012
  • Laatst online: 22:40

dunklefaser

Point Of KnowReturn

@Trent Daarvoor zijn ze niet gemaakt i.v.m. het stroomverbruik (batterij of accu)
Sommige kan je via een netadapter van stroom voorzien.
Ik weet niet of je de adapter nog kan krijgen- mijn is uit 2018 nog met de eerste batterij.
De adapter (Ali?) staat trouwens in het begin van dit topic genoemd.
Ik zie net dat hij blijkbaar nog leverbaar is.

[ Voor 15% gewijzigd door dunklefaser op 07-01-2026 16:11 ]

Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights


  • buiter
  • Registratie: December 2001
  • Laatst online: 20:58
Deze topic al heel lang als bookmark staan maar pas onlangs tijd gehad om mbus eens aan de praat te krijgen. Roept iedereen mbus aan met NodeRed?

Dit kwam ik tegen en heb dat geïmplementeerd:
https://the78mole.de/taking-your-m-bus-online-with-mqtt/

Deze komt nu direct zichtbaar in Home Assitant MQTT Explorer:
Afbeeldingslocatie: https://tweakers.net/i/07s024z_5am-V5Hy9MOorCaprFw=/800x/filters:strip_exif()/f/image/bgZILAIjaxhtoZwvHwTXbUDA.png?f=fotoalbum_large

Leek me wel een handige toevoeging voor dit topic.

  • Andrehj
  • Registratie: Juni 2002
  • Niet online
buiter schreef op woensdag 7 januari 2026 @ 17:45:
Deze topic al heel lang als bookmark staan maar pas onlangs tijd gehad om mbus eens aan de praat te krijgen. Roept iedereen mbus aan met NodeRed?
Nee. Met een script wat ergens in het begin van dit topic staat. Ondertussen wel zwaar verbouwd trouwens, maar de basis komt daar vandaan.

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Ik had een adapter op het oog hetzelfde als die in de TS besteld… maar bij een “choice” gemarkeerde “winkel” op Ali…

En die is in de beerput van PostNL blijven steken… dus die gaat morgen in de claim bak van Ali… en dat is dus wel de reden dat ik Choise wel fijn vind.

Het identiek ogende model is nu niet meer te vinden met choise, maar modellen met 2 sets aansluitingen of zelfs 3 sets zonder behuizing (nog veel voordeliger) …

Heeft iemand ervaring met alternatieven? Ik heb de indruk dat het niet veel uit zou moeten maken?

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • apelders
  • Registratie: Maart 2007
  • Laatst online: 04-03 16:29
Mijn Kamstrup 302 communiceert tegenwoordig zonder de NODE-Red tussenstap met mijn Home Assistant.
Ik maak gebruik van deze MBUS naar USB-module die ik aangesloten heb op mijn HP GEN8 Microserver.
Op deze kleine server heb ik PROXMOX geïnstalleerd en Home Assistant draait hierop als een virtuele machine.
Omdat er geen goede HA integratie bij mij bekend is die deze MBUS module ondersteunt heb ik besloten om een alternatief te bedenken.
Nu draait er in een virtuele container (CT) een Linux app die deze MBUS wel correct uitleest en de data doorstuurt naar mijn MQTT broker die weer in een andere container draait. Zo komen iedere minuut mijn flow en delta T binnen die ik weer gebruik om de COP van mijn warmtepomp te berekenen.
Mocht er iemand geïnteresseerd zijn dan kan ik hier meer over vertellen.

[ Voor 3% gewijzigd door apelders op 19-01-2026 22:38 ]


  • blb4
  • Registratie: April 2008
  • Laatst online: 01:21
apelders schreef op maandag 19 januari 2026 @ 22:34:
Mijn Kamstrup 302 communiceert tegenwoordig zonder de NODE-Red tussenstap met mijn Home Assistant.
Ik maak gebruik van deze MBUS naar USB-module die ik aangesloten heb op mijn HP GEN8 Microserver.
Op deze kleine server heb ik PROXMOX geïnstalleerd en Home Assistant draait hierop als een virtuele machine.
Omdat er geen goede HA integratie bij mij bekend is die deze MBUS module ondersteunt heb ik besloten om een alternatief te bedenken.
Nu draait er in een virtuele container (CT) een Linux app die deze MBUS wel correct uitleest en de data doorstuurt naar mijn MQTT broker die weer in een andere container draait. Zo komen iedere minuut mijn flow en delta T binnen die ik weer gebruik om de COP van mijn warmtepomp te berekenen.
Mocht er iemand geïnteresseerd zijn dan kan ik hier meer over vertellen.
Mooi dat je het zo werkend hebt gekregen! Maar waarom niet via node-red add-on binnen HA?

Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+MT GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23


  • apelders
  • Registratie: Maart 2007
  • Laatst online: 04-03 16:29
Goede vraag.
Ik had m eerst aan mijn RPi hangen met daarop Node-RED voor mijn automations.
Daarna ben ik voor al mijn automations overgegaan van Node-RED naar Home Assistant waardoor ik hier niet aan gedacht heb. Ik zal die optie met die add-on ook maar eens gaan proberen.

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Ronald schreef op donderdag 15 januari 2026 @ 20:58:

Heeft iemand ervaring met alternatieven? Ik heb de indruk dat het niet veel uit zou moeten maken?
Ik heb dus deze:
https://a.aliexpress.com/_EHwojQU

Daar heb ik nu de Kamstrup aan hangen, en kan hem uitlezen d:)b

Ik was wel te lui om handmatig de MQTT sensoren aan te maken om wat te zien te krijgen met de Node Red flow van @AUijtdehaag... dus ik heb er een gemaakt die heel braaf config topics naar MQTT stuurt.

Mijn Kamstrup is een oprechte warmte-koude 303, dus heb er ook wat meer waardes uit gepeuterd....

Dit is mijn flow...
code:
1
[{"id":"35b24b20.e53a34","type":"tab","label":"Kamstrup Multical 303","disabled":false,"info":""},{"id":"22f0e97d.331106","type":"debug","z":"35b24b20.e53a34","d":true,"name":"Kamstrup M-Bus node","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":360,"y":120,"wires":[]},{"id":"bde8a2d2.64514","type":"inject","z":"35b24b20.e53a34","d":true,"name":"Get Devices","props":[{"p":"topic","vt":"str"},{"p":"payload"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"getDevices","payload":"","payloadType":"str","x":830,"y":260,"wires":[["d3b3374a.93ade8"]]},{"id":"d3b3374a.93ade8","type":"mbus-controller","z":"35b24b20.e53a34","name":"M-Bus Controller","client":"b8af9f24.8bce","x":1090,"y":340,"wires":[["931945d258af672c","0816a7b2cc686b38"]]},{"id":"f68c9d49408e6522","type":"function","z":"35b24b20.e53a34","name":"Extract & Format","func":"var TimeStamp = new Date(msg.payload.DataRecord[0].Timestamp).toISOString();\n\nvar HeatEnergy = msg.payload.DataRecord[0].Value;\nvar CoolEnergy = msg.payload.DataRecord[1].Value;\nvar Volume = msg.payload.DataRecord[2].Value / 100;\n\nvar OnTime = msg.payload.DataRecord[5].Value;\nvar OnTimeDuringErrorState = msg.payload.DataRecord[6].Value;\n\nvar FlowTemperature = msg.payload.DataRecord[7].Value / 100;\nvar ReturnTemperature = msg.payload.DataRecord[8].Value / 100;\nvar TemperatureDifference = msg.payload.DataRecord[9].Value / 100;\n\nvar Power = msg.payload.DataRecord[10].Value / 100;\nvar MaximumPower = msg.payload.DataRecord[11].Value / 100;\n\nvar VolumeFlow = msg.payload.DataRecord[12].Value / 100;\nvar MaximumVolumeFlow = msg.payload.DataRecord[13].Value / 100;\n\nlet payload =\n{\n    'TimeStamp': TimeStamp,\n    'HeatEnergy': HeatEnergy,\n    'CoolEnergy': CoolEnergy,\n    'Volume': Volume,\n    'OnTime': OnTime,\n    'OnTimeDuringErrorState': OnTimeDuringErrorState,\n    'FlowTemperature': FlowTemperature,\n    'ReturnTemperature': ReturnTemperature,\n    'TemperatureDifference': TemperatureDifference,\n    'Power': Power,\n    'MaximumPower': MaximumPower,\n    'VolumeFlow': VolumeFlow,\n    'MaximumVolumeFlow': MaximumVolumeFlow\n}\n\nreturn { 'payload': payload };\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1530,"y":340,"wires":[["8333b952ce743b62"]]},{"id":"931945d258af672c","type":"debug","z":"35b24b20.e53a34","name":"M-Bus telegram","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1340,"y":400,"wires":[]},{"id":"a969ece1.106bd","type":"mbus-out","z":"35b24b20.e53a34","d":true,"name":"Kamstrup","client":"b8af9f24.8bce","x":120,"y":120,"wires":[["22f0e97d.331106"]]},{"id":"e9f56462c39f4df5","type":"mqtt out","z":"35b24b20.e53a34","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"73d4d5f740a87774","x":2010,"y":120,"wires":[]},{"id":"8333b952ce743b62","type":"function","z":"35b24b20.e53a34","name":"Publish state topic","func":"// Te publiceren device\nconst device = {\n    identifiers: [flow.get(\"device\").identifier],\n    manufacturer: flow.get(\"device\").manufacturer,\n    model: flow.get(\"device\").model,\n    name: flow.get(\"device\").name\n};\n\n// Basisfunctie om config en state te publiceren\nfunction publishSensor(mqtt, id, name, unit, device_class, state_class, entity_category, value) {\n    const unique_id = device.identifiers[0] + \"_\" + id;\n    const stateTopic = `homeassistant/sensor/${unique_id}/state`;\n\n    // Publiceer actuele waarde\n    mqtt.send({ topic: stateTopic, payload: String(value) });\n}\n\n// Haal waarden uit msg.payload\nconst p = msg.payload;\n\nconst sensors = [\n    { id: \"timestamp\", value: p.TimeStamp },\n\n    { id: \"heat_energy\", value: p.HeatEnergy },\n    { id: \"cool_energy\", value: p.CoolEnergy },\n    { id: \"volume\", value: p.Volume },\n\n    { id: \"on_time\", value: p.OnTime },\n    { id: \"on_time_during_error_state\", value: p.OnTimeDuringErrorState },\n\n    { id: \"flow_temperature\", value: p.FlowTemperature },\n    { id: \"return_temperature\", value: p.ReturnTemperature },\n    { id: \"temperature_difference\", value: p.TemperatureDifference },\n\n    { id: \"power\", value: p.Power },\n    { id: \"maximum_power\", value: p.MaximumPower },\n\n    { id: \"volume_flow\", value: p.VolumeFlow },\n    { id: \"maximum_volume_flow\", value: p.MaximumVolumeFlow }\n];\n\n\n// Stuur alles via een MQTT out node\nsensors.forEach(sensor => publishSensor(node, sensor.id, sensor.name, sensor.unit, sensor.device_class, sensor.state_class, sensor.entity_category, sensor.value));\n\nreturn null;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1790,"y":340,"wires":[["e9f56462c39f4df5","18cc0f71d9c17d8c"]]},{"id":"924d2e7706f7bc53","type":"function","z":"35b24b20.e53a34","name":"Publish config topic","func":"// Te publiceren device\nconst device = {\n    identifiers: [flow.get(\"device\").identifier],\n    manufacturer: flow.get(\"device\").manufacturer,\n    model: flow.get(\"device\").model,\n    name: flow.get(\"device\").name\n};\n\n// Te publiceren sensoren\nconst sensors = [\n    { id: \"timestamp\", name: \"Timestamp\", device_class: \"timestamp\", state_class: \"total_increasing\", entity_category: \"diagnostic\"},\n    \n    { id: \"heat_energy\", name: \"Heat energy\", unit: \"kWh\", device_class: \"energy\", state_class: \"total_increasing\" },\n    { id: \"cool_energy\", name: \"Cool energy\", unit: \"kWh\", device_class: \"energy\", state_class: \"total_increasing\" },\n    { id: \"volume\", name: \"Volume\", unit: \"m³\", device_class: \"volume\", state_class: \"total_increasing\" },\n\n    { id: \"on_time\", name: \"On time\", unit: \"h\", device_class: \"duration\", state_class: \"total_increasing\", entity_category: \"diagnostic\" },\n    { id: \"on_time_during_error_state\", name: \"On time during error state\", unit: \"h\", device_class: \"duration\", state_class: \"total_increasing\", entity_category: \"diagnostic\" },\n\n    { id: \"flow_temperature\", name: \"Flow temperature\", unit: \"°C\", device_class: \"temperature\", state_class: \"measurement\" },\n    { id: \"return_temperature\", name: \"Return temperature\", unit: \"°C\", device_class: \"temperature\", state_class: \"measurement\" },\n    { id: \"temperature_difference\", name: \"Temperature difference\", unit: \"°C\", device_class: \"temperature\", state_class: \"measurement\" },\n\n    { id: \"power\", name: \"Power\", unit: \"W\", device_class: \"power\", state_class: \"measurement\" },\n    { id: \"maximum_power\", name: \"Maximum power\", unit: \"W\", device_class: \"power\", state_class: \"measurement\" },\n\n    { id: \"volume_flow\", name: \"Volume flow\", unit: \"m³/h\", device_class: \"volume_flow_rate\", state_class: \"measurement\" },\n    { id: \"maximum_volume_flow\", name: \"Maximum volume flow\", unit: \"m³/h\", device_class: \"volume_flow_rate\", state_class: \"measurement\" },\n];\n\n// Basisfunctie om config en state te publiceren\nfunction publishSensor(mqtt, id, name, unit, device_class, state_class, entity_category) {\n    const unique_id = flow.get(\"device\").identifier + \"_\" + id;\n    const configTopic = `homeassistant/sensor/${unique_id}/config`;\n    const stateTopic = `homeassistant/sensor/${unique_id}/state`;\n\n    const configPayload = {\n        name: name,\n        state_topic: stateTopic,\n        unique_id: unique_id,\n        device: device\n    };\n\n    if (unit) configPayload.unit_of_measurement = unit;\n    if (device_class) configPayload.device_class = device_class;\n    if (state_class) configPayload.state_class = state_class;\n    if (entity_category) configPayload.entity_category = entity_category;\n\n    // Publiceer config (retain zodat HA het onthoudt)\n    mqtt.send({ topic: configTopic, payload: JSON.stringify(configPayload), retain: true });\n    // Publiceer actuele waarde\n}\n\n// Stuur alles via een MQTT out node\nsensors.forEach(sensor => publishSensor(node, sensor.id, sensor.name, sensor.unit, sensor.device_class, sensor.state_class, sensor.entity_category));\n\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":850,"y":120,"wires":[["e9f56462c39f4df5","1c279aef4bcdb40c"]]},{"id":"5f2c508b2afa4be7","type":"debug","z":"35b24b20.e53a34","name":"State","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":810,"y":400,"wires":[]},{"id":"f0db341a434c5e4f","type":"switch","z":"35b24b20.e53a34","name":"","property":"action","propertyType":"msg","rules":[{"t":"eq","v":"config","vt":"str"},{"t":"eq","v":"state","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":630,"y":240,"wires":[["082be168b1e3f380","924d2e7706f7bc53"],["5f2c508b2afa4be7","d18cd8f2f1bccb25"]],"outputLabels":["config","state"]},{"id":"082be168b1e3f380","type":"debug","z":"35b24b20.e53a34","name":"Config","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":810,"y":180,"wires":[]},{"id":"9867a3017939e5c1","type":"debug","z":"35b24b20.e53a34","name":"Device","active":false,"tosidebar":true,"console":true,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1080,"y":400,"wires":[]},{"id":"09da7b6d3e2ddd06","type":"inject","z":"35b24b20.e53a34","name":"Config","props":[{"p":"action","v":"config","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":130,"y":180,"wires":[["c308dda138df5f57"]]},{"id":"198a86d6ef4c9983","type":"inject","z":"35b24b20.e53a34","name":"State","props":[{"p":"action","v":"state","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":"4","topic":"","x":130,"y":240,"wires":[["c308dda138df5f57"]]},{"id":"c308dda138df5f57","type":"function","z":"35b24b20.e53a34","name":"Store device details in flow","func":"flow.set(\"device\", {\n    identifier: \"kamstrup_multical_303\",\n    manufacturer: \"Kamstrup\",\n    model: \"MULTICAL 303\",\n    name: \"Kamstrup MULTICAL 303\",\n    address: \"830333922D2C400D\" // This is the secundary device ID\n});\n\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":380,"y":240,"wires":[["f0db341a434c5e4f"]]},{"id":"0816a7b2cc686b38","type":"switch","z":"35b24b20.e53a34","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"getDevices","vt":"str"},{"t":"eq","v":"getDevice","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":1310,"y":340,"wires":[[],["f68c9d49408e6522"]],"outputLabels":["getDevices","getDevice"]},{"id":"1c279aef4bcdb40c","type":"debug","z":"35b24b20.e53a34","name":"Config topic","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1090,"y":180,"wires":[]},{"id":"18cc0f71d9c17d8c","type":"debug","z":"35b24b20.e53a34","name":"State topic","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2030,"y":340,"wires":[]},{"id":"d18cd8f2f1bccb25","type":"function","z":"35b24b20.e53a34","name":"getDevice","func":"msg.topic = \"getDevice\"\nmsg.payload = { \"address\": flow.get(\"device\").address }\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":820,"y":340,"wires":[["9867a3017939e5c1","d3b3374a.93ade8"]]},{"id":"b8af9f24.8bce","type":"mbus-client","name":"Kamstrup","clienttype":"serial","tcpHost":"127.0.0.1","tcpPort":"10001","tcpTimeout":"4000","serialPort":"/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0","serialBaudrate":"2400","reconnectTimeout":"30000","autoScan":false,"storeDevices":false,"disableLogs":false},{"id":"73d4d5f740a87774","type":"mqtt-broker","name":"Home assistant Mosquitto broker","broker":" core-mosquitto","port":1883,"clientid":"","autoConnect":true,"usetls":false,"protocolVersion":4,"keepalive":60,"cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"024b4e71b067aeb2","type":"global-config","env":[],"modules":{"node-red-contrib-m-bus":"3.2.1"}}]
Resultaat:
Afbeeldingslocatie: https://tweakers.net/i/vpc6p4e6khLw9rTdzxkPP64T3-o=/800x/filters:strip_exif()/f/image/RdiTu8uyh596rZ3c9QPQYGAQ.png?f=fotoalbum_large

Hij is nog niet gemonteerd... dus 0 hoort er wel bij....

[ Voor 99% gewijzigd door Ronald op 25-01-2026 23:08 ]

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op zondag 25 januari 2026 @ 23:03:
[...]


Ik heb dus deze:
https://a.aliexpress.com/_EHwojQU

Daar heb ik nu de Kamstrup aan hangen, en kan hem uitlezen d:)b

Ik was wel te lui om handmatig de MQTT sensoren aan te maken om wat te zien te krijgen met de Node Red flow van @AUijtdehaag... dus ik heb er een gemaakt die heel braaf config topics naar MQTT stuurt.

Mijn Kamstrup is een oprechte warmte-koude 303, dus heb er ook wat meer waardes uit gepeuterd....

Dit is mijn flow...
code:
1
[{"id":"35b24b20.e53a34","type":"tab","label":"Kamstrup Multical 303","disabled":false,"info":""},{"id":"22f0e97d.331106","type":"debug","z":"35b24b20.e53a34","d":true,"name":"Kamstrup M-Bus node","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":360,"y":120,"wires":[]},{"id":"bde8a2d2.64514","type":"inject","z":"35b24b20.e53a34","d":true,"name":"Get Devices","props":[{"p":"topic","vt":"str"},{"p":"payload"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"getDevices","payload":"","payloadType":"str","x":830,"y":260,"wires":[["d3b3374a.93ade8"]]},{"id":"d3b3374a.93ade8","type":"mbus-controller","z":"35b24b20.e53a34","name":"M-Bus Controller","client":"b8af9f24.8bce","x":1090,"y":340,"wires":[["931945d258af672c","0816a7b2cc686b38"]]},{"id":"f68c9d49408e6522","type":"function","z":"35b24b20.e53a34","name":"Extract & Format","func":"var TimeStamp = new Date(msg.payload.DataRecord[0].Timestamp).toISOString();\n\nvar HeatEnergy = msg.payload.DataRecord[0].Value;\nvar CoolEnergy = msg.payload.DataRecord[1].Value;\nvar Volume = msg.payload.DataRecord[2].Value / 100;\n\nvar OnTime = msg.payload.DataRecord[5].Value;\nvar OnTimeDuringErrorState = msg.payload.DataRecord[6].Value;\n\nvar FlowTemperature = msg.payload.DataRecord[7].Value / 100;\nvar ReturnTemperature = msg.payload.DataRecord[8].Value / 100;\nvar TemperatureDifference = msg.payload.DataRecord[9].Value / 100;\n\nvar Power = msg.payload.DataRecord[10].Value / 100;\nvar MaximumPower = msg.payload.DataRecord[11].Value / 100;\n\nvar VolumeFlow = msg.payload.DataRecord[12].Value / 100;\nvar MaximumVolumeFlow = msg.payload.DataRecord[13].Value / 100;\n\nlet payload =\n{\n    'TimeStamp': TimeStamp,\n    'HeatEnergy': HeatEnergy,\n    'CoolEnergy': CoolEnergy,\n    'Volume': Volume,\n    'OnTime': OnTime,\n    'OnTimeDuringErrorState': OnTimeDuringErrorState,\n    'FlowTemperature': FlowTemperature,\n    'ReturnTemperature': ReturnTemperature,\n    'TemperatureDifference': TemperatureDifference,\n    'Power': Power,\n    'MaximumPower': MaximumPower,\n    'VolumeFlow': VolumeFlow,\n    'MaximumVolumeFlow': MaximumVolumeFlow\n}\n\nreturn { 'payload': payload };\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1530,"y":340,"wires":[["8333b952ce743b62"]]},{"id":"931945d258af672c","type":"debug","z":"35b24b20.e53a34","name":"M-Bus telegram","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1340,"y":400,"wires":[]},{"id":"a969ece1.106bd","type":"mbus-out","z":"35b24b20.e53a34","d":true,"name":"Kamstrup","client":"b8af9f24.8bce","x":120,"y":120,"wires":[["22f0e97d.331106"]]},{"id":"e9f56462c39f4df5","type":"mqtt out","z":"35b24b20.e53a34","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"73d4d5f740a87774","x":2010,"y":120,"wires":[]},{"id":"8333b952ce743b62","type":"function","z":"35b24b20.e53a34","name":"Publish state topic","func":"// Te publiceren device\nconst device = {\n    identifiers: [flow.get(\"device\").identifier],\n    manufacturer: flow.get(\"device\").manufacturer,\n    model: flow.get(\"device\").model,\n    name: flow.get(\"device\").name\n};\n\n// Basisfunctie om config en state te publiceren\nfunction publishSensor(mqtt, id, name, unit, device_class, state_class, entity_category, value) {\n    const unique_id = device.identifiers[0] + \"_\" + id;\n    const stateTopic = `homeassistant/sensor/${unique_id}/state`;\n\n    // Publiceer actuele waarde\n    mqtt.send({ topic: stateTopic, payload: String(value) });\n}\n\n// Haal waarden uit msg.payload\nconst p = msg.payload;\n\nconst sensors = [\n    { id: \"timestamp\", value: p.TimeStamp },\n\n    { id: \"heat_energy\", value: p.HeatEnergy },\n    { id: \"cool_energy\", value: p.CoolEnergy },\n    { id: \"volume\", value: p.Volume },\n\n    { id: \"on_time\", value: p.OnTime },\n    { id: \"on_time_during_error_state\", value: p.OnTimeDuringErrorState },\n\n    { id: \"flow_temperature\", value: p.FlowTemperature },\n    { id: \"return_temperature\", value: p.ReturnTemperature },\n    { id: \"temperature_difference\", value: p.TemperatureDifference },\n\n    { id: \"power\", value: p.Power },\n    { id: \"maximum_power\", value: p.MaximumPower },\n\n    { id: \"volume_flow\", value: p.VolumeFlow },\n    { id: \"maximum_volume_flow\", value: p.MaximumVolumeFlow }\n];\n\n\n// Stuur alles via een MQTT out node\nsensors.forEach(sensor => publishSensor(node, sensor.id, sensor.name, sensor.unit, sensor.device_class, sensor.state_class, sensor.entity_category, sensor.value));\n\nreturn null;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1790,"y":340,"wires":[["e9f56462c39f4df5","18cc0f71d9c17d8c"]]},{"id":"924d2e7706f7bc53","type":"function","z":"35b24b20.e53a34","name":"Publish config topic","func":"// Te publiceren device\nconst device = {\n    identifiers: [flow.get(\"device\").identifier],\n    manufacturer: flow.get(\"device\").manufacturer,\n    model: flow.get(\"device\").model,\n    name: flow.get(\"device\").name\n};\n\n// Te publiceren sensoren\nconst sensors = [\n    { id: \"timestamp\", name: \"Timestamp\", device_class: \"timestamp\", state_class: \"total_increasing\", entity_category: \"diagnostic\"},\n    \n    { id: \"heat_energy\", name: \"Heat energy\", unit: \"kWh\", device_class: \"energy\", state_class: \"total_increasing\" },\n    { id: \"cool_energy\", name: \"Cool energy\", unit: \"kWh\", device_class: \"energy\", state_class: \"total_increasing\" },\n    { id: \"volume\", name: \"Volume\", unit: \"m³\", device_class: \"volume\", state_class: \"total_increasing\" },\n\n    { id: \"on_time\", name: \"On time\", unit: \"h\", device_class: \"duration\", state_class: \"total_increasing\", entity_category: \"diagnostic\" },\n    { id: \"on_time_during_error_state\", name: \"On time during error state\", unit: \"h\", device_class: \"duration\", state_class: \"total_increasing\", entity_category: \"diagnostic\" },\n\n    { id: \"flow_temperature\", name: \"Flow temperature\", unit: \"°C\", device_class: \"temperature\", state_class: \"measurement\" },\n    { id: \"return_temperature\", name: \"Return temperature\", unit: \"°C\", device_class: \"temperature\", state_class: \"measurement\" },\n    { id: \"temperature_difference\", name: \"Temperature difference\", unit: \"°C\", device_class: \"temperature\", state_class: \"measurement\" },\n\n    { id: \"power\", name: \"Power\", unit: \"W\", device_class: \"power\", state_class: \"measurement\" },\n    { id: \"maximum_power\", name: \"Maximum power\", unit: \"W\", device_class: \"power\", state_class: \"measurement\" },\n\n    { id: \"volume_flow\", name: \"Volume flow\", unit: \"m³/h\", device_class: \"volume_flow_rate\", state_class: \"measurement\" },\n    { id: \"maximum_volume_flow\", name: \"Maximum volume flow\", unit: \"m³/h\", device_class: \"volume_flow_rate\", state_class: \"measurement\" },\n];\n\n// Basisfunctie om config en state te publiceren\nfunction publishSensor(mqtt, id, name, unit, device_class, state_class, entity_category) {\n    const unique_id = flow.get(\"device\").identifier + \"_\" + id;\n    const configTopic = `homeassistant/sensor/${unique_id}/config`;\n    const stateTopic = `homeassistant/sensor/${unique_id}/state`;\n\n    const configPayload = {\n        name: name,\n        state_topic: stateTopic,\n        unique_id: unique_id,\n        device: device\n    };\n\n    if (unit) configPayload.unit_of_measurement = unit;\n    if (device_class) configPayload.device_class = device_class;\n    if (state_class) configPayload.state_class = state_class;\n    if (entity_category) configPayload.entity_category = entity_category;\n\n    // Publiceer config (retain zodat HA het onthoudt)\n    mqtt.send({ topic: configTopic, payload: JSON.stringify(configPayload), retain: true });\n    // Publiceer actuele waarde\n}\n\n// Stuur alles via een MQTT out node\nsensors.forEach(sensor => publishSensor(node, sensor.id, sensor.name, sensor.unit, sensor.device_class, sensor.state_class, sensor.entity_category));\n\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":850,"y":120,"wires":[["e9f56462c39f4df5","1c279aef4bcdb40c"]]},{"id":"5f2c508b2afa4be7","type":"debug","z":"35b24b20.e53a34","name":"State","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":810,"y":400,"wires":[]},{"id":"f0db341a434c5e4f","type":"switch","z":"35b24b20.e53a34","name":"","property":"action","propertyType":"msg","rules":[{"t":"eq","v":"config","vt":"str"},{"t":"eq","v":"state","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":630,"y":240,"wires":[["082be168b1e3f380","924d2e7706f7bc53"],["5f2c508b2afa4be7","d18cd8f2f1bccb25"]],"outputLabels":["config","state"]},{"id":"082be168b1e3f380","type":"debug","z":"35b24b20.e53a34","name":"Config","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":810,"y":180,"wires":[]},{"id":"9867a3017939e5c1","type":"debug","z":"35b24b20.e53a34","name":"Device","active":false,"tosidebar":true,"console":true,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1080,"y":400,"wires":[]},{"id":"09da7b6d3e2ddd06","type":"inject","z":"35b24b20.e53a34","name":"Config","props":[{"p":"action","v":"config","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":130,"y":180,"wires":[["c308dda138df5f57"]]},{"id":"198a86d6ef4c9983","type":"inject","z":"35b24b20.e53a34","name":"State","props":[{"p":"action","v":"state","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":"4","topic":"","x":130,"y":240,"wires":[["c308dda138df5f57"]]},{"id":"c308dda138df5f57","type":"function","z":"35b24b20.e53a34","name":"Store device details in flow","func":"flow.set(\"device\", {\n    identifier: \"kamstrup_multical_303\",\n    manufacturer: \"Kamstrup\",\n    model: \"MULTICAL 303\",\n    name: \"Kamstrup MULTICAL 303\",\n    address: \"830333922D2C400D\" // This is the secundary device ID\n});\n\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":380,"y":240,"wires":[["f0db341a434c5e4f"]]},{"id":"0816a7b2cc686b38","type":"switch","z":"35b24b20.e53a34","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"getDevices","vt":"str"},{"t":"eq","v":"getDevice","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":1310,"y":340,"wires":[[],["f68c9d49408e6522"]],"outputLabels":["getDevices","getDevice"]},{"id":"1c279aef4bcdb40c","type":"debug","z":"35b24b20.e53a34","name":"Config topic","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1090,"y":180,"wires":[]},{"id":"18cc0f71d9c17d8c","type":"debug","z":"35b24b20.e53a34","name":"State topic","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":2030,"y":340,"wires":[]},{"id":"d18cd8f2f1bccb25","type":"function","z":"35b24b20.e53a34","name":"getDevice","func":"msg.topic = \"getDevice\"\nmsg.payload = { \"address\": flow.get(\"device\").address }\n\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":820,"y":340,"wires":[["9867a3017939e5c1","d3b3374a.93ade8"]]},{"id":"b8af9f24.8bce","type":"mbus-client","name":"Kamstrup","clienttype":"serial","tcpHost":"127.0.0.1","tcpPort":"10001","tcpTimeout":"4000","serialPort":"/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0","serialBaudrate":"2400","reconnectTimeout":"30000","autoScan":false,"storeDevices":false,"disableLogs":false},{"id":"73d4d5f740a87774","type":"mqtt-broker","name":"Home assistant Mosquitto broker","broker":" core-mosquitto","port":1883,"clientid":"","autoConnect":true,"usetls":false,"protocolVersion":4,"keepalive":60,"cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"024b4e71b067aeb2","type":"global-config","env":[],"modules":{"node-red-contrib-m-bus":"3.2.1"}}]
Resultaat:
[Afbeelding]

Hij is nog niet gemonteerd... dus 0 hoort er wel bij....
Ik zou dit ook heel graag in mijn installatie bouwen, liefst op een aantal punten. Op de 40mm buizen zal ik een 5/4” of 1” aansluiting nodig hebben toch?
Ik dacht aan deze: https://ganz24.com/en/pro....0&variant=45272759894280
Verwacht jij dat die ook het verschil tussen aanvoer en retour kan meten?

  • blb4
  • Registratie: April 2008
  • Laatst online: 01:21
Beer070 schreef op maandag 26 januari 2026 @ 07:45:
[...]

Ik zou dit ook heel graag in mijn installatie bouwen, liefst op een aantal punten. Op de 40mm buizen zal ik een 5/4” of 1” aansluiting nodig hebben toch?
Ik dacht aan deze: https://ganz24.com/en/pro....0&variant=45272759894280
Verwacht jij dat die ook het verschil tussen aanvoer en retour kan meten?
Volgens mij is de basis van alle warmte/koude meters een flow sensor en 2 temperatuursensoren. Dat is bij deze Multicals in elk geval zo. Je moet dus de (buis van de) meter zelf in retour plaatsen (daarin zit flowsensor en 1 temperatuursensor) en dan nog een een losse sensor in de aanvoer (aanvoer en retour kan je omdraaien als je dat wil). Voor montage van zo'n warmtemeter kan je 't eenvoudigste een montageset kopen, daar zitten alles bij dat je nodig hebt voor plaatsing.

Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+MT GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Beer070
Alle Kamstrup moeten de temperaturen meten, het is uiteindelijk Flow x deltaT.
De koude meters verschillen in software/configuratie door ook een veld voor de koelenergie mee te geven

De meeste hier hebben alleen warmte, en maken in HA een afgeleide voor de koelenergie uit negatief vermogen ofzo...

Ik heb de Kamstrup van Zahleronlineshop. Deze is zelf 3/4" vlakdichtend of voor de grotere doorlaat 1"
Ik heb 'slechts' een DN15, maar die is dus al bedoeld voor nominaal 1.500 l/u en max 3000 l/u... Dus maak je vooral niet teveel zorgen met een DN20...

De medewerker daar heeft met klem aangeraden om https://zaehleronlineshop...ausatz-fuer-Waermezaehler te gebruiken. De dompelkraan heb je sowieso nodig, daar gaat de aanvoer voeler in. De Kamstrup zelf gaat in retour. Dit is wel afhankelijk van de instellingen vanaf de winkel/Kampstrup, maar lijkt de gebruikelijke.

De inbouwset is 2 kranen met wartels (alleen de wartel zijde vlakdichtend) en een dompelkraan voor de aanvoersensor (niet vlakdichtend): De ijking verloopt commercieel gezien, dus de meter zelf is vervangingswaar... Met de kranen gaat dat makkelijk. (Vandaar dat de batterijen niet als probleem gezien worden).


Je zal draadsokken op de 40mm pex moeten zetten, en die vervolgens verkleinen tot 1" of 3/4" om de kogelkranen er op te kunnen zetten. Dan ben je zeker 8 luxe jumbo koppelingen verder... dus dan maakt een paar 10tjes voor een duale meter ook niet zoveel meer uit :X

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • dunklefaser
  • Registratie: Oktober 2012
  • Laatst online: 22:40

dunklefaser

Point Of KnowReturn

@Ronald Ik heb nog twee van de M302 die ook koelenergie registreren.
En als de batterijen het niet meer doen kan je deze ook vervangen (zegel behuizing verbreken)
bij mijn meters is de ijking na 5 jaar sowieso verlopen.
Ik gebruik op dit moment nog de libmbus implementatie en lees de USB busmaster M-bus adapter (Ali)
via een raspi om de 10 minuten uit (af en toe ook "realtime") - Uitlezen duurt zo'n 2 sec
code:
1
2
3
4
5
6
7
8
9
10
11
pi@hassbian:~ $ date; python3.5 kam58.py|egrep -f kam-select_egrep;date
Mon 26 Jan 09:41:18 CET 2026
 1               120780 Energy (100 Wh) = 12.078 kWh warmte
 2                 2426 Energy (100 Wh) <- koelenergie (defrosts)
 5              4557889 Volume (m m^3)
 8                 2674 Flow temperature (1e-2 deg C)
 9                 2310 Return temperature (1e-2 deg C)
10                  364 Temperature Difference (1e-2  deg C)
11                   44 Power (100 W)
13                 1053 Volume flow (m m^3/h)
Mon 26 Jan 09:41:20 CET 2026
Vroeger waren idd. dompelhulzen toegestaan, sinds enkele jaren zit de voeler rechtstreeks in het cv-water.

Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@dunklefaser de kraan die ik heb heeft de sensor direct in het water, heet het anders dan dompelkraan :-)?

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • dunklefaser
  • Registratie: Oktober 2012
  • Laatst online: 22:40

dunklefaser

Point Of KnowReturn

Ronald schreef op maandag 26 januari 2026 @ 10:45:
@dunklefaser de kraan die ik heb heeft de sensor direct in het water, heet het anders dan dompelkraan :-)?
Ik heb bij mijn Kamstrup's (1918) nog een instructie gekregen hoe je de sensoren in bestaande dompelhulzen kan krijgen. Historisch plaatje beschikbaar. - Toen zat er ook een waarschuwing bij dat dit voor commerciële doeleinden eigenlijk niet meer toegestaan was. Op Duits alleen nog "direkttauchende sensoren".
Bij mij dus ook.

Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op maandag 26 januari 2026 @ 08:17:
@Beer070
Alle Kamstrup moeten de temperaturen meten, het is uiteindelijk Flow x deltaT.
De koude meters verschillen in software/configuratie door ook een veld voor de koelenergie mee te geven

De meeste hier hebben alleen warmte, en maken in HA een afgeleide voor de koelenergie uit negatief vermogen ofzo...

Ik heb de Kamstrup van Zahleronlineshop. Deze is zelf 3/4" vlakdichtend of voor de grotere doorlaat 1"
Ik heb 'slechts' een DN15, maar die is dus al bedoeld voor nominaal 1.500 l/u en max 3000 l/u... Dus maak je vooral niet teveel zorgen met een DN20...

De medewerker daar heeft met klem aangeraden om https://zaehleronlineshop...ausatz-fuer-Waermezaehler te gebruiken. De dompelkraan heb je sowieso nodig, daar gaat de aanvoer voeler in. De Kamstrup zelf gaat in retour. Dit is wel afhankelijk van de instellingen vanaf de winkel/Kampstrup, maar lijkt de gebruikelijke.

De inbouwset is 2 kranen met wartels (alleen de wartel zijde vlakdichtend) en een dompelkraan voor de aanvoersensor (niet vlakdichtend): De ijking verloopt commercieel gezien, dus de meter zelf is vervangingswaar... Met de kranen gaat dat makkelijk. (Vandaar dat de batterijen niet als probleem gezien worden).


Je zal draadsokken op de 40mm pex moeten zetten, en die vervolgens verkleinen tot 1" of 3/4" om de kogelkranen er op te kunnen zetten. Dan ben je zeker 8 luxe jumbo koppelingen verder... dus dan maakt een paar 10tjes voor een duale meter ook niet zoveel meer uit :X
Ik heb al verloop naar 5/4” voor de kleppen, dus dan hoeft er alleen een verloopnippel tussen en nog een extra kraan voor vervanging, en een dompel-ding voor de tweede thermometer.
Ik zag volgens mij een setje met kleppen op de website die jij stuurde voor 99 euro. Dan zou ik voor 239 euro klaar zijn om flow/aanvoer-temp/retour-temp te meten.
Dan nog 2 van dat soort setjes voor afgifte en ik ben klaar 7(8)7

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Beer070 de mid inbouwset van 99, 5/4” is te groot aan de zijde Kamstrup (die is ook in de dn20 maar 1”)

Kun je verloop niet beter aan de andere kant van de midinbouwkraan houden?

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op dinsdag 27 januari 2026 @ 19:57:
@Beer070 de mid inbouwset van 99, 5/4” is te groot aan de zijde Kamstrup (die is ook in de dn20 maar 1”)

Kun je verloop niet beter aan de andere kant van de midinbouwkraan houden?
Ik had gehoopt aan de kant van de kamstrup er verloop stukjes tussen te doen. 5/4 -> 1” en terug. Ik zoek nog een dompel stuk voor de andere thermometer met 5/4 of 1”. Enige die ik daar zie is 3/4.

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ik weet het. Afgelopen jaar een bak met geld uitgegeven aan een 16kw WP, meest onverwachte dure stuk was uiteindelijk alle 5/4” kleppen en koppelingen om 32mm binnenmaat aan te kunnen. Pomp draait nu wel met gemak 55L/min en regelmatig 18kw afgifte (ergens een beetje irritant dat het huis dat schijnbaar nog nodig heeft).
Ik ga denk ik beginnen met 2x303 om afgifte en aanvoer op het buffervat te meten.
Dank voor alle hulp! Het wordt zeer gewaardeerd!

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Beer070 het positieve van zo’n zware machine nodig hebben is dat de besparing op verwarming veel hoger is, en de installatie uiteindelijk relatief beperkt meer kost als een lief klein 5kW’tje… wat ik blijkbaar zelf moet doen van mezelf omdat ik installateurs niet mee krijg met mijn blijkbaar heel bijzondere wensen…

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op woensdag 28 januari 2026 @ 20:19:
@Beer070 het positieve van zo’n zware machine nodig hebben is dat de besparing op verwarming veel hoger is, en de installatie uiteindelijk relatief beperkt meer kost als een lief klein 5kW’tje… wat ik blijkbaar zelf moet doen van mezelf omdat ik installateurs niet mee krijg met mijn blijkbaar heel bijzondere wensen…
Besparing is gigantisch. Beste aanschaf in tijden. Vorige eigenaren zaten op 3500m3 en 6mwh/jaar. Wij nu op 0.5m3/dag en WP 40-60kwh Electra die door de draaischijf van de panelen komt. Ik moet binnenkort wat afgifte anders aansluiten en dat is een mooi moment om de kamstrups ertussen te zetten.

  • SebastiaanPs
  • Registratie: Oktober 2022
  • Laatst online: 22:37
@Beer070 weet niet of het al gezegd was, maar als je de Kamstrup ooit nog in je HomeAssistant of iets dergelijks wil integreren, neem dan wired mbus, niet wireless.
Ik kreeg bij de genoemde Duitse webshop standaard wireless en dat is toch minder makkelijk.

WP: Mitsubishi Electric SUZ-SWM80VA2 + ERSD-VM2D. PV 3330 Wp. Huis 1931, gasloos sinds jan '24.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Wat zijn trouwens de ervaringen hier met de MULTICAL® 303 versus de 302? Of is de 303 eigenlijk de opvolger van de 302?

  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
https://zaehleronlineshop...Qp-15-52-incl-M-Bus-wired
Prima prijs lijkt me in Duitsland

Ik moet denk ik wel dan voor de bedrade M-Bus versie gaan

[ Voor 18% gewijzigd door Marc_Sway op 21-03-2026 15:44 ]


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Marc_Sway ik heb een 303 warmte-koude bedraad aan HA hangen via een Ali Mbus master (iets andere variant dan in link). Nog niet in actief bedrijf, maar de uren teller loopt rustig op 🤣

Ook aangepaste node-red flow die zelf de bus scanned voor devices. Roep maar als je wil testen.

Je wil ook deze er bij: https://zaehleronlineshop...y-measuring-and-adapter_1

Je hebt sowieso de dompelkraan nodig voor de sensor in de aanvoer (de meter gaat in retour volgens de configuratie die de shop levert)

[ Voor 43% gewijzigd door Ronald op 21-03-2026 18:13 ]

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
OK Ronald, veel dank hiervoor, goed om te weten, vooral voor de tip tav de dompelkraan! Ik wil hier als laatste stap ook een warmtemeter in t systeem hebben en integreren met HA (wat hier al tijden draait, o.a. om het CV systeem te monitoren).

Wat ook nog zou kunnen (maar minder elegant en waarschijnlijk minder accuraat), is de gasverbruik waarden van de P1 bij de smartmeter in de meterkast gebruiken en de temp sensoren die ik al op de aan- en retourleidingen van de ketel hebt zitten, en zo de warmteflow terug te rekenen.
Ik weet niet of er mensen hier op t forum zijn die daar ervaring mee hebben

[ Voor 4% gewijzigd door Marc_Sway op 21-03-2026 18:39 ]


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Gasverbruik en verbrandingsrendement bij retour temperatuur komt vast dichtbij ;-)

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
@Ronald Klopt t trouwens dat als je het 'via de software weg' doet, door de P1 uit te lezen (het gasverbruik), je dan een gemiddeld CV vermogen krijgt (= verbruik in kWs) gedurende een periode van 5 min, omdat de P1 dongle maar 1x in de 5 min een nieuwe gasverbruikswaarde afgeeft?

Als dat zo is, en je wilt het Actuele verbruiks-vermogen van je CV (in kWs) bijv per minuut willen weten en in een grafiek plotten, dan zou dat alleen kunnen met een fysieke warmtemeter (zoals een Kamstrup). Is dat juist?

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
kWh kun je vrij netjes uit gasverbruik halen. Ik doe m³*9.3 (retour 30 graden, uit tabel van Pentaclover ergens)
Vermogen is een integraal... maar integraalsensor werkt zo kak dat ik het verbruik afgelopen X tijd met een statistics sensor pak. Dat werkt redelijk, maar niet veel meer dan dat.

Wil je het goed doen dan is een warmtemeter toch echt de oplossing.

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
OK, dank je, goed om te weten. Dan moet hier tzt ook echt fysieke warmtemeter in de leiding.

  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
ik zit net weer een keer te zoeken op een goeie kamstrup, kan de varianten met een wat grotere leiding diameter maar slecht vinden. alleen een shop in Duitsland die de wireless connectie heeft, (zoals afgeraden door Ronald).

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Beer070 nu is de DN15 gewoon aangewezen voor 1500l/u nominaal…
Het is maar een bar kort stukje

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Beer070 Deze heeft DN20 en wired m-bus:
https://zaehleronlineshop...25-52-wire-M-Bus-16-Y-Bat
https://zaehleronlineshop...Qp-25-52-incl-M-Bus-wired

[ Voor 25% gewijzigd door RichieB op 23-03-2026 07:41 ]

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Voor de M-Bus-wired versies, welke adapter(s) naar wired LAN/Ethernet zijn aan te bevelen voor eenvoudige integratie met HA?

  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Afbeeldingslocatie: https://tweakers.net/i/iFmpDkw-8NXEq7ZhUW9WyOHNWvA=/x800/filters:strip_icc():strip_exif()/f/image/AEXdhK5Su3jXcpcDh1as6FiC.jpg?f=fotoalbum_large

AI zegt dit, klopt dat?

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Marc_Sway
https://a.aliexpress.com/_EwyNvOy

De master module.

Gewoon ingeprikt op usb van de pi met HAOS

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Yep. dat is de meest simpele en (waarschijnlijk) goedkoopste optie.
Mijn HA server(tje) zit echter niet in de buurt van de CV, dus ik moet via LAN

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Marc_Sway m-bus is een 2-wire aansluiting die je prima over een ethernet kabel kan aansluiten. Of je trekt een aparte signaaldraad. Alternatief is een RPi bij je CV met daarop een m-bus naar mqtt scriptje.

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
OK, idee is dan om via een UTP kabel 2 wires er dan van te gebruiken (of een shielded 2-core kabel), en dan aan 1 uiteinde de adapter naar USB er aan te connecten en die in mijn HA servertje te pluggen?

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Marc_Sway Ja, dat is inderdaad het idee.

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Cable

A two-wire standard telephone cable (JYStY N20.8 mm) is used as the transmission medium for the M-Bus. The maximum distance between a slave and the repeater is 350 m; this length corresponds to a cable resistance of up to 29 W . This distance applies for the standard configuration having Baud rates between 300 and 9600 Baud, and a maximum of 250 slaves. The maximum distance can be increased by limiting the Baud rate and using fewer slaves, but the bus voltage in the Space state must at no point in a segment fall below 12 V, because of the remote powering of the slaves. In the standard configuration the total cable length should not exceed 1000 m, in order to meet the requirement of a maximum cable capacitance of 180 nF.
https://m-bus.com/documentation-wired/04-physical-layer

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
OK, een twisted pair kabel aan een Kamstrup hangen en aan de andere kant aan dit zou moeten werken ;-)

Afbeeldingslocatie: https://tweakers.net/i/LsNozHNORRLx6s7v_ZyvGmBAFKk=/800x/filters:strip_exif()/f/image/xs4bOggiYSjkZNWeF83xqdlQ.avif?f=fotoalbum_large

  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Ik geloof dat veel Kamstrup's battery powered zijn. Nu er en kabel aan gaat naar een M-Bus adapter, moet de Kamstrup dan ook niet aan een power adapter?

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
De Kamstrup is in de regel batterij gevoed. Die zou bij uitlezen elke minuut jaren mee moeten gaan.
Vervangen lijkt een Tamper alarm te triggeren. Maar dat is voor ons niet erg.

@AUijtdehaag heeft dat gedaan met zijn 302.

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Marc_Sway Er zijn van de Kamstrup 303 twee verschillende versies met batterijen. Bij de duurdere staat "16Y" dus ik denk dat de goedkopere dan maximaal "8Y" is.. verder wat @Ronald hierboven zegt.
Het prijsverschil met een 230V gevoede Kamstrup is aanzienlijk.

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • koksie
  • Registratie: November 2004
  • Laatst online: 23:04
Ronald schreef op maandag 23 maart 2026 @ 06:34:
@Marc_Sway
https://a.aliexpress.com/_EwyNvOy

De master module.

Gewoon ingeprikt op usb van de pi met HAOS
Gebruik je een integratie voor HAOS en zo ja, welke? Ik heb een maandje geleden zitten kijken maar niks gevonden waarmee het mij als relatieve IT leek lukte 'm op mijn Pi met HAOS uit te lezen. Alle integraties die ik kon vonden werden niet meer ondersteund of werkten niet onder HAOS.
Of werk je rechtsreeks via Nodered?

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@koksie Ik heb mij laten inspireren door de Node Red flow ergens uit dit topic... En een nieuwe gemaakt:

Ik draai een iets oudere node-red app (20.2.4) omdat nodered-contrib-mbus niet wil op de recentere release 21.x


Mijn flow:

Scanned de bus voor devices.
Leest elke minuut alle gevonden devices uit.
Parsed het Kamstrup wamte-koude telegram.
Publiceert de waardes naar MQTT incl auto discovery.

Mijn 303 is een wamte-koude model... en ik heb er maar 1, dus meerdere devices is niet getest... en als het telegram anders is bij een gevonden mbus device dan zal het niet (goed) werken tot er een extra parser in zit.

Ik wil hem nog getest hebben door iemand anders ;-)

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Ik las trouwens dat bij bepaalde CV ketels het Actuele Vermogen (kW) vrijwel lineair gerelateerd zou zijn aan het ventilator-toerental (tpm).
In het service menu van de ketel zou dan een waarde te zien moeten zijn die correspondeert met dat toerental. Met dat actuele toerental is dan het Actuele Vermogen te bepalen.
Die waarde is dan wellicht ook beschikbaar via de OT Bus.

Iemand ervaren hiermee, bijv met het uitlezen van het ventilator-toerental via de OT Bus?

Ik lees net dat de modulatiegraad (%) waarde bij bepaalde ketels op de OT Bus beschikbaar zou zijn en ongeveer linear gerelateerd is aan het actuele vermogen van de ketel, waarbij 0% dan betekent dat de ketel op het Min vermogen draait en bij 100% op het Max vermogen (en alles daar tussen in een lineair verband).
Iemand die dit ook uitleest met de OTGW?

[ Voor 27% gewijzigd door Marc_Sway op 24-03-2026 08:38 ]


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 21:50
@Marc_Sway Dat is erg afhankelijk van het merk en type CV-ketel. Daarvoor kan je het best op zoek naar topics over dat specifiek merk en/of model.

Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Marc_Sway je trekt een beetje off topic ;-)

Wellicht dat dat werkt voor opgenomen vermogen (m3/uur).
Maar afgegeven vermogen blijft afhankelijk van condensatie graad, en dat blijft toenemen met steeds lagere retour, dat is het rookgaskoelwater

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Ha Ronald, erg goed punt, had ik niet direct aan gedacht! Er is idd een afhankelijkheid van de condensatie-graad.
Dus bottom-line is de enige manier om echt redelijke nauwkeurige resultaten (voor afgegeven warmte-vermogen) te krijgen, door een fysieke warmtemeter in het systeem te plaatsen. Al het andere (via de 'software route') is meer bij benadering

  • koksie
  • Registratie: November 2004
  • Laatst online: 23:04
Ronald schreef op maandag 23 maart 2026 @ 19:34:
@koksie Ik heb mij laten inspireren door de Node Red flow ergens uit dit topic... En een nieuwe gemaakt:

Ik draai een iets oudere node-red app (20.2.4) omdat nodered-contrib-mbus niet wil op de recentere release 21.x


Mijn flow:

Scanned de bus voor devices.
Leest elke minuut alle gevonden devices uit.
Parsed het Kamstrup wamte-koude telegram.
Publiceert de waardes naar MQTT incl auto discovery.

Mijn 303 is een wamte-koude model... en ik heb er maar 1, dus meerdere devices is niet getest... en als het telegram anders is bij een gevonden mbus device dan zal het niet (goed) werken tot er een extra parser in zit.

Ik wil hem nog getest hebben door iemand anders ;-)
Dank je voor de informatie, ik heb Node Red nog niet aan de praat, daar ga ik binnenkort eens mee spelen :).

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Marc_Sway soms is benaderen goed genoeg. Mijn retour heeft weinig ruimte om veel af te wijken van de 30… de cv staat op maar 35… met wat overshoot als de vloer niet mee draait (pendelpendel… ik zie op verbruik geen rare dingen daardoor, ik heb ook een warmteverlies model draaien gekoppeld aan actuele temperatuur sensoren)

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Klinkt interessant dat warmteverlies model! Aan zo iets heb ik ook wel eens gedacht.
Wat zijn daar de input-parameters als ik mag vragen? Supply en Retour temps van de CV, buiten-temp, warmtemeter waarden, of misschien nog iets anders?

  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op maandag 23 maart 2026 @ 06:34:
@Marc_Sway
https://a.aliexpress.com/_EwyNvOy

De master module.

Gewoon ingeprikt op usb van de pi met HAOS
ik heb er 2 besteld. voor het geval dat er 1 kapot gaat in transport.
Nu nog even de juiste kamstrup erbij nemen.

  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
zitten er bij deze units nou ook een retour thermometer? Ik zie dat tweede stuk buis daarvoor niet in de omschrijving, maar misschien is mijn Duits niet goed genoeg.

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Dompelkraan voor de aanvoersensor en aansluitkranen voor de meter unit zelf zijn niet inclusief. Zie mijn eerdere link.

Deze winkel configureert de Kamstrup voor montage in retour

De aansluit kranen worden door de winkel geadviseerd. En ik ben het met ze eens… de meter is beperkt houdbaar (mid-keuring, danwel domweg de batterij)

Het laat het toe de meter eenvoudig te demonteren en systeem terug in bedrijf te stellen met de pasbuis

[ Voor 40% gewijzigd door Ronald op 24-03-2026 14:42 ]

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Marc_Sway schreef op dinsdag 24 maart 2026 @ 12:15:
Klinkt interessant dat warmteverlies model! Aan zo iets heb ik ook wel eens gedacht.
Wat zijn daar de input-parameters als ik mag vragen? Supply en Retour temps van de CV, buiten-temp, warmtemeter waarden, of misschien nog iets anders?
Warmteverlies coëfficiënten, temperatuur delta’s.

Dit staat los van de energie productie. Ik heb het om te toetsen of een relatief krappe 5kW warmtepomp voldoet.

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op dinsdag 24 maart 2026 @ 14:39:
Dompelkraan voor de aanvoersensor en aansluitkranen voor de meter unit zelf zijn niet inclusief. Zie mijn eerdere link.

Deze winkel configureert de Kamstrup voor montage in retour

De aansluit kranen worden door de winkel geadviseerd. En ik ben het met ze eens… de meter is beperkt houdbaar (mid-keuring, danwel domweg de batterij)

Het laat het toe de meter eenvoudig te demonteren en systeem terug in bedrijf te stellen met de pasbuis
Mijn plan is om een kamstrup in de retour, en een sensor in de aanvoer te zetten van de WP. Dan kan ik het verschil goed meten.
Ik heb momenteel 5/4 draad aan een klep waar ik dit op zou kunnen aansluiten, dan hoeft er in principe nog maar 1 klep bij om het wijzigbaar te maken.
Ik zou ook een kamstrup op mijn afgifte willen zetten met aanvoer en retour, zodat ik de performance van de WP en die van de afgifte separaat kan meten. (er zit een 500L vat tussen wat lekker stabiliseert).
Mijn lijstje is nu dus deze set:
2x https://zaehleronlineshop...t-meter-directly-immersed
2x https://zaehleronlineshop...25-52-wire-M-Bus-16-Y-Bat
en dan nog wat verloop van/naar 1" en 5/4
klopt dat een beetje of mis ik dan nog een stel sensoren?

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Beer070 die Kamstrup is G1, dus pak veel voordeliger G1 aansluitset. https://zaehleronlineshop...t-meter-directly-immersed

Adapter de kranen dan naar G5/4, Dat adapteren moet je toch doen... en G1 voor dat kleine stukje maakt echt niet uit.

[ Voor 18% gewijzigd door Ronald op 24-03-2026 16:13 ]

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op dinsdag 24 maart 2026 @ 15:07:
@Beer070 die Kamstrup is G1, dus pak veel voordeliger G1 aansluitset. https://zaehleronlineshop...t-meter-directly-immersed

Adapter de kranen dan naar G5/4, Dat adapteren moet je toch doen... en G1 voor dat kleine stukje maakt echt niet uit.
Goed idee! Dank je wel!
Dat scheelt al 100 euro op de dompelbuizen.

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
Beer070 schreef op dinsdag 24 maart 2026 @ 18:00:
[...]

Goed idee! Dank je wel!
Dat scheelt al 100 euro op de dompelbuizen.
:9B *O*

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Marc_Sway
  • Registratie: Oktober 2010
  • Laatst online: 05-04 18:09
Korte update van hier: om de 5 min krijg ik het gasverbruik hier binnen van de P1, vervolgens bereken ik hiermee het Actuele CV verbruik (in kW, bij benadering), 5 min vertraagd. Ik hou in dit geval geen rekening met het condensatie-effect (zoals op 24/3 genoemd).
Wat blijkt nu, in de praktijk kan mijn Intergas ketel gewoon veel lager moduleren dan ca 7kW wat de fabrikant aangeeft in hun specs.
Zijn er anderen die dit ook hebben ervaren, wellicht met andere ketels?

[ Voor 11% gewijzigd door Marc_Sway op 27-03-2026 19:40 ]


  • Andrehj
  • Registratie: Juni 2002
  • Niet online
@Marc_Sway Heb je ook een plaatje bij het praatje? En plaats die dan even in Gas besparen door middel van CV tuning deel IV (met hooguit hier een linkje), want in dat topic is die discussie veel beter op zijn plaats.

[ Voor 64% gewijzigd door Andrehj op 27-03-2026 20:07 ]

WP: ME PUHZ-SW75YAA + ERSD-VM2D + EV-WP-TWS-1W 300; AC: ME MXZ-2F42VF + 2x MSZ-LN25VGV; PV: 14.08 kWp O/W + SMA STP 8.0; Vent: Zehnder Q600 ERV + Ubbink AirExcellent.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Net twee keer de kamstrup DN20 met aansluitsets besteld. ( https://zaehleronlineshop...25-52-wire-M-Bus-16-Y-Bat)
ik heb de usb modbus (mbus dus) adapters ook al, dus als alles binnen is kan ik het ergens deze zomer allemaal rustig aansluiten.
mooie controle op de aanvoer en afgifte vanuit het boilervat :)

  • Ronald
  • Registratie: Juli 2000
  • Laatst online: 02:19
@Beer070 Je hebt mbus (meterbus) adapters nodig, modbus is heel iets anders.

mbus mag met lange simpele snoeren werken en tientallen devices op een bus, dus waarom 2?

PV Output - Obdam; SolarEdge SE5K 'Voor korte strings'; 12x350Wp Oost-West 13°; 8x415Wp Zuid 10°; Totaal 7520Wp.


  • Beer070
  • Registratie: Augustus 2021
  • Laatst online: 19:52
Ronald schreef op woensdag 1 april 2026 @ 09:40:
@Beer070 Je hebt mbus (meterbus) adapters nodig, modbus is heel iets anders.

mbus mag met lange simpele snoeren werken en tientallen devices op een bus, dus waarom 2?
ik heb die bij aliexpress gekocht die jij had genoemd eerder. mbus usb adapters. met 2 waren er geen transport kosten, en voor 17 euro was dat de voordelige optie.
Als er een kapot gaat heb ik een reserve :)
Pagina: 1 ... 9 10 Laatste