Toon posts:

Kamstrup Multical 302 met Pi uitlezen en domoticz

Pagina: 1 ... 6 7 8 Laatste
Acties:

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Yaldair schreef op vrijdag 28 oktober 2022 @ 13:33:
Even de vraag of ik iets mis. Ik heb van de week mijn multical 303 binnen gekregen met wmbus. Ik heb zo'n nooelec usb gekocht (zelfde als eerder in dit topic vernoemd) om hem mee uit te lezen. Vervolgens in setup RF aangezet (staat default in pauze). Hij is nu nog niet aangesloten, maar met weetmus/wmbusmeters krijg ik geen signaal. Ik weet alleen niet of hij uberhaupt een RF signaal uit stuurt in "transport mode" ookal staat RF wel aan (icoontje wordt ook weergegeven).

Ik probeer dit alles op een raspberry pi:

1) rtl-sdr geinstalleerd m.b.v.: git clone https://gitea.osmocom.org/sdr/rtl-sdr.git
2) rtl-wmbus geinstalleerd m.b.v.: https://github.com/xaelsouth/rtl-wmbus.git
3) wmbusmeters geinstalleerd m.b.v. https://github.com/weetmuts/wmbusmeters.git
4) standaard dvb driver geblacklist

Dus, als ik nu draai: wmbusmeters auto:c1 dan vind hij de USB en gaat hij op zoek naar berichten.

Nu leg ik de multical er naast, maar toch ontvang hij geen signaal. Key heb ik in theorie beschikaar (mailtje gestuurd naar Kamstrup), maar volgens mij moet ik nu toch al een signaal ontvangen.

Dus, 2 opties denk ik: 1) multical stuurt geen signaal uit, of 2) ik ontvang het signaal niet. Iemand een idee wat ik mis?


Update: nu werkend gekregen. Had frequentie 868.85M nodig, i.p.v. 868.65M waar hij standaard mee draait. En t1 i.p.v. c1
Welke wmbus receiver heb je gevonden, als ik vragen mag? :)

Acties:
  • +2Henk 'm!

  • Yaldair
  • Registratie: April 2012
  • Laatst online: 22-03 19:36
@ZwartoogNooelec NESDR Mini 2 USB RTL-SDR-... https://www.amazon.nl/dp/...x_pop_mob_ap_sharewartoog

Is degene die ik gekocht heb.

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Thanks!

Ik heb dus een 303 met wireless mbus. Weet iemand of je die alsnog bedraad kunt aansluiten als je hem open maakt?

  • Yaldair
  • Registratie: April 2012
  • Laatst online: 22-03 19:36
@Zwartoog volgens mij kan dat niet. Lijkt me ook beetje groot risico om te doen prijstechnisch t.o.v. wireless receiver kopen. Reden om niet wireless te gebruiken?

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Yaldair schreef op dinsdag 3 januari 2023 @ 11:03:
@Zwartoog volgens mij kan dat niet. Lijkt me ook beetje groot risico om te doen prijstechnisch t.o.v. wireless receiver kopen. Reden om niet wireless te gebruiken?
Prijs en betrouwbaarheid. Wireless receiver kost 33 euro, wireless key nog eens 25 zoals ik begreep (die QR-pagina van Kamstrup lijkt al een week uit de lucht). Wired mbus adapter is ~20 euro, en zit gewoon "vast" aan die meter.

Stroomverbruik misschien nog iets? Wat is de updatefrequentie van de wmbus?

  • Yaldair
  • Registratie: April 2012
  • Laatst online: 22-03 19:36
@Zwartoog Ik heb niks hoeven betalen voor de key. Heb factuur gemaild van Amazon en toen werd de key aan mijn account toegevoegd. Enige waar ik voor heb moeten betalen was de noelec zelf. Had al een Raspberry daar staan. Update frequentie varieert een beetje (of ik mis soms een package misschien) maaar ligt rond de 15 seconden. Zou dan levensduur moeten hebben van wat jaar.

Heb toen gemaild richting: mykamstrup@kamstrup.com

En mijn account doorgegeven. Zij vroegen toen naar de factuur van de supplier, die doorgegeven en toen kreeg ik de key in mijn account

[Voor 21% gewijzigd door Yaldair op 03-01-2023 11:30]


  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Yaldair schreef op dinsdag 3 januari 2023 @ 11:28:
@Zwartoog Ik heb niks hoeven betalen voor de key. Heb factuur gemaild van Amazon en toen werd de key aan mijn account toegevoegd. Enige waar ik voor heb moeten betalen was de noelec zelf. Had al een Raspberry daar staan. Update frequentie varieert een beetje (of ik mis soms een package misschien) maaar ligt rond de 15 seconden. Zou dan levensduur moeten hebben van wat jaar.

Heb toen gemaild richting: mykamstrup@kamstrup.com

En mijn account doorgegeven. Zij vroegen toen naar de factuur van de supplier, die doorgegeven en toen kreeg ik de key in mijn account
Oh, dat is goed te doen! Ga ik die eens opvragen.

  • dof
  • Registratie: Juli 2010
  • Laatst online: 12:53
dof schreef op donderdag 29 december 2022 @ 15:18:
Ik heb inmiddels ook maar een Kamstrup 303-WA02DB-71120 besteld met toebehoren (1" installatiekit, 2 van die messing buisjes en paar ringen). Wel nadat ik ze even per email gevraagd had wanneer ze beschikbaar zijn en verzonden worden.

Ze wisten niet in welke week van januari ze deze binnenkregen, maar worden uitgeleverd op volgorde van orders.
Ook gevraagd of ze de installatiekit vooruit wilden zenden, maar daar nog geen reactie op gehad en is natuurlijk ook twee keer verzendkosten. Een paar kogelkranen met zo'n buisje ertussen kan ik wel fabriceren, maar zo'n kogelkraan waar zo'n voeler in kan is natuurlijk even teveel geknutsel. :)

Enfin, maar even afwachten en bij installatie van m'n WP (planning: in niet te koude weken van januari :-) en maar zo goed mogelijk op voorbereiden om deze ertussen te plaatsen.

EDIT1: Nee, ze wilden de installatiekit niet vooruit zenden tenzij ik het in twee bestellingen splits :) . Enfin, ik kijk het eerst even aan. Qua levertijd geven ze nu een estimate van laatste week januari.

EDIT2: Kreeg vanmorgen toch aanbod om de installatiekit meteen naar mij te verzenden, voor 12€ verzendkosten. Goed aanbod en aangenomen. Installatiekit is inmiddels onderweg. :)

EDIT3: Inmiddels ontvangen (3 jan '23) :)
'k Had voor de zekerheid de installatiekit vooraf laten sturen aangezien m'n Kamstrup pas eind januari beschikbaar zou zijn. Maar -verrassing- hij is voor het weekend al verzonden en inmiddels in huis.
Achteraf dus onnodig geweest die kit vooraf te laten komen...

Anyway, deze Kamstrups zijn blijkbaar weer voorradig.

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Yaldair schreef op vrijdag 28 oktober 2022 @ 13:33:
Even de vraag of ik iets mis. Ik heb van de week mijn multical 303 binnen gekregen met wmbus. Ik heb zo'n nooelec usb gekocht (zelfde als eerder in dit topic vernoemd) om hem mee uit te lezen. Vervolgens in setup RF aangezet (staat default in pauze). Hij is nu nog niet aangesloten, maar met weetmus/wmbusmeters krijg ik geen signaal. Ik weet alleen niet of hij uberhaupt een RF signaal uit stuurt in "transport mode" ookal staat RF wel aan (icoontje wordt ook weergegeven).

Ik probeer dit alles op een raspberry pi:

1) rtl-sdr geinstalleerd m.b.v.: git clone https://gitea.osmocom.org/sdr/rtl-sdr.git
2) rtl-wmbus geinstalleerd m.b.v.: https://github.com/xaelsouth/rtl-wmbus.git
3) wmbusmeters geinstalleerd m.b.v. https://github.com/weetmuts/wmbusmeters.git
4) standaard dvb driver geblacklist

Dus, als ik nu draai: wmbusmeters auto:c1 dan vind hij de USB en gaat hij op zoek naar berichten.

Nu leg ik de multical er naast, maar toch ontvang hij geen signaal. Key heb ik in theorie beschikaar (mailtje gestuurd naar Kamstrup), maar volgens mij moet ik nu toch al een signaal ontvangen.

Dus, 2 opties denk ik: 1) multical stuurt geen signaal uit, of 2) ik ontvang het signaal niet. Iemand een idee wat ik mis?


Update: nu werkend gekregen. Had frequentie 868.85M nodig, i.p.v. 868.65M waar hij standaard mee draait. En t1 i.p.v. c1
Ik heb inmiddels ook m'n nooelec dongle binnen, en bezig met aan de praat te krijgen. Super dat je dit hebt opgeschreven!

Ik heb voor bovenstaande een scriptje gemaakt voor het gemak:
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
#!/bin/bash

# Prepare build environment
INSTALLDIR=~/wmbus_packages
mkdir $INSTALLDIR

# Get required packages
sudo apt-get install cmake libusb-1.0-0-dev libncurses-dev


# Build and install rtl-sdr
cd $INSTALLDIR
git clone https://gitea.osmocom.org/sdr/rtl-sdr.git
mkdir rtl-sdr/build
cd rtl-sdr/build
cmake ../
make
sudo make install
sudo ldconfig
cmake ../ -DINSTALL_UDEV_RULES=ON
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/

# Build and install rtl-wmbus
cd $INSTALLDIR
git clone https://github.com/xaelsouth/rtl-wmbus.git
cd rtl-wmbus
make release

# Build and install wmbusmeters
cd $INSTALLDIR
git clone https://github.com/weetmuts/wmbusmeters.git
cd wmbusmeters
./configure
make
sudo make install
sudo systemctl enable wmbusmeters
sudo systemctl daemon-reload

# Blacklist dvb module
sudo sh -c 'echo blacklist dvb_usb_rtl28xxu > /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf'


# Ready to go!
echo "Done! Plug in the dongle and press ENTER"
read


PATH=$PATH:$INSTALLDIR/rtl-wmbus/build wmbusmeters auto:t1

echo "Congrats! You have now a working wmbus!"


Ik heb echter nergens de frequentie hoeven aan te passen. Waar deed je dat precies?


Ik heb het script nog niet in een clean install getest, maar ben verder gegaan met node-red volgens deze post:
blb4 in "Kamstrup Multical 302 met Pi uitlezen en domoticz"

Daarnaast heb ik ook de node-red-contrib-wmbus-client geïnstalleerd.

En daar loop ik vast... De output van wmbusmeters was:
code:
1
2
3
4
5
6
7
Received telegram from: 82848073
          manufacturer: (KAM) Kamstrup Energi (0x2c2d)
                  type: Heat volume at inlet meter (0x0c) encrypted
                   ver: 0x40
                device: rtlwmbus[00000001]
                  rssi: 136 dBm
                driver: unknown!

dus ik heb 82848073 gebruikt als adres in Node Red:



Hij lijkt hem niet te herkennen, en ik heb een idee waar ik de key file van de Kamstrup moet laten. :?

  • Yaldair
  • Registratie: April 2012
  • Laatst online: 22-03 19:36
@Zwartoog

Ik heb in mijn wmbusmeters.conf het volgende staan:

code:
1
2
3
4
5
6
7
8
9
loglevel=debug
# Remember to change auto here to the device you are going to use in production.
device=rtlwmbus:868.85M:t1
logtelegrams=false
format=json
#meterfiles=/home/pi/.config/wmbusmeters/meter_readings
#meterfilesaction=overwrite
logfile=/home/pi/.config/wmbusmeters/wmbusmeters.log
shell=/usr/bin/mosquitto_pub -u USEr -P PASSWORD -h MQTT_SERVER -p 1883 -t wmbusmeters/$METER_ID -m "$METER_JSON"


Op deze manier published mijn raspberry meteen de readings naar mqtt.

en je moest dan een wmbusmeters.d je key toevoegen. Zie ook github.com/weetmuts/
code:
1
2
3
4
5
6
Then add a meter file in /etc/wmbusmeters.d/MyTapWater

name=MyTapWater
id=12345678
key=00112233445566778899AABBCCDDEEFF
driver=multical21

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Yaldair schreef op woensdag 11 januari 2023 @ 11:56:
@Zwartoog

Ik heb in mijn wmbusmeters.conf het volgende staan:

code:
1
2
3
4
5
6
7
8
9
loglevel=debug
# Remember to change auto here to the device you are going to use in production.
device=rtlwmbus:868.85M:t1
logtelegrams=false
format=json
#meterfiles=/home/pi/.config/wmbusmeters/meter_readings
#meterfilesaction=overwrite
logfile=/home/pi/.config/wmbusmeters/wmbusmeters.log
shell=/usr/bin/mosquitto_pub -u USEr -P PASSWORD -h MQTT_SERVER -p 1883 -t wmbusmeters/$METER_ID -m "$METER_JSON"


Op deze manier published mijn raspberry meteen de readings naar mqtt.

en je moest dan een wmbusmeters.d je key toevoegen. Zie ook github.com/weetmuts/
code:
1
2
3
4
5
6
Then add a meter file in /etc/wmbusmeters.d/MyTapWater

name=MyTapWater
id=12345678
key=00112233445566778899AABBCCDDEEFF
driver=multical21
Thanks, ga ik dat vanavond proberen. Maar je gebruikt dus geen Node-Red ertussen?

  • Yaldair
  • Registratie: April 2012
  • Laatst online: 22-03 19:36
@Zwartoog in principe niet. Behalve dat ik nog niet uitgevogeld heb om in telegraf/influxdb json berichten uit te lezen en die zo naar de database te schrijven. Dus nu heb ik de extra stap dat ik in nodered het mqtt berichtje uit lees, daar de benodigde data uit haal, en weer via mqtt publish richting telegraf zodat het mooi gelogd is. Denk dat dit ook moet kunnen zonder de nodered stap, maar dat heb ik nog niet uitgevogeld ;)

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Yaldair schreef op woensdag 11 januari 2023 @ 15:29:
@Zwartoog in principe niet. Behalve dat ik nog niet uitgevogeld heb om in telegraf/influxdb json berichten uit te lezen en die zo naar de database te schrijven. Dus nu heb ik de extra stap dat ik in nodered het mqtt berichtje uit lees, daar de benodigde data uit haal, en weer via mqtt publish richting telegraf zodat het mooi gelogd is. Denk dat dit ook moet kunnen zonder de nodered stap, maar dat heb ik nog niet uitgevogeld ;)
Ok, ik kom ergens!

Aantal dingen:
1. rtl-sdr wordt standaard in /usr/local/bin geïnstalleerd, terwijl wmbusmeters alleen in /usr/bin/ zoekt. Dit kun je oplossen door rtl-sdr te configureren met:
code:
1
cmake ../ -DINSTALL_UDEV_RULES=ON -DCMAKE_INSTALL_PREFIX=/usr

dan komt hij gelijk in /usr/bin/ te staan.

2. Key van de Kamstrup kun je alleen krijgen via de XML versie, dan staat hij in de <DEK> tag. Geen idee waarom hij via de CSV niet te vinden is.

3. Mijn Multical werd niet herkend. Ik heb aan de wmbusmeters/src/driver_kamheat.cc mijn tagline toegevoegd:
code:
1
        di.addDetection(MANUFACTURER_KAM, 0x0c,  0x40); // 303

Blijkbaar een nieuwe 303. Zal deze versie binnenkort committen.

4. Mijn wmbusmeter configs nu:
wmbusmeter.conf
code:
1
2
3
4
5
6
7
8
loglevel=normal
# Remember to change auto here to the device you are going to use in production.
device=rtlwmbus:t1
logtelegrams=true
format=json
meterfiles=/var/lib/wmbusmeters/meter_readings
meterfilesaction=overwrite
logfile=/var/log/wmbusmeters/wmbusmeters.log

Ik heb hier geen andere frequentie hoeven te kiezen, ik kreeg op jouw frequentie @Yaldair niets binnen. Welke meter heb je precies?

wmbusmeter.d/kamstrup
code:
1
2
3
4
name=Kamstrup
id=82848073
key=AAABBBCCCDDDEEEFFF00011122233344
driver=kamheat


Dus id is de ID van je meter (staat in je telegram), key is de DEK uit de XML file. Driver is kamheat.

Goed, in m'n /var/log/wmbusmeters/wmbusmeters.log krijg ik nu netjes de decoded telegrams binnen:
code:
1
2
3
4
5
6
7
8
(wmbusmeters) logging started 2023-01-12 21:21:33 using 1.11.0-29-ge7d723f with local changes
[2023-01-12_21:21:33] Started config rtlwmbus[00000001] listening on t1
(wmbusmeters) waiting for telegrams
[2023-01-12_21:21:35] (memory) rss 4247552 peak 4.05 MiB
(wmbusmeters) started meter 1 (Kamstrup 82848073 kamheat)
telegram=|5E442D2C73808482400C7A910050252F2F_04057B1400000413BBF8030004FF077C47010004FF08A939010002592306025D5406023B000002FF220000026CEC2144052F000000441302AD0000426CE1212F2F2F2F2F2F2F2F2F2F2F2F2F2F2F|+8
telegram=|5E442D2C73808482400C7A920050252F2F_04057B1400000413BBF8030004FF077C47010004FF08A939010002592306025D5406023B000002FF220000026CEC2144052F000000441302AD0000426CE1212F2F2F2F2F2F2F2F2F2F2F2F2F2F2F|+24
...


en in /var/lib/wmbusmeters/meter_readings/Kamstrup steeds een nieuwe meterstand:
code:
1
{"media":"heat volume at inlet","meter":"kamheat","name":"Kamstrup","id":"82848073","status":"OK","total_energy_consumption_kwh":524.3,"total_volume_m3":260.283,"volume_flow_m3h":0,"t1_temperature_c":15.2,"t2_temperature_c":15.7,"forward_energy_m3c":83836,"return_energy_m3c":80297,"meter_date":"2023-01-12","target_energy_kwh":4.7,"target_volume_m3":44.29,"target_date":"2023-01-01","timestamp":"2023-01-12T21:34:37Z","device":"rtlwmbus[00000001]","rssi_dbm":119}


Goed, blij voor vandaag :)

Bovenstaande moet toch linksom of rechtsom eenvoudig te parsen zijn naar Domoticz. Meest dirty manier die ik nu kan bedenken is een scriptje die deze data via een http-push registreren, maar kan wellich eleganter :P Morgen verder.

Edit: bovenstaande is niet eens zo gek. Via 'shell' kun je een script uitvoeren, en je krijgt de meterstanden in je environment:
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
declare -x METER_DEVICE="rtlwmbus[00000001]"
declare -x METER_FORWARD_ENERGY_M3C="83836"
declare -x METER_ID="82848073"
declare -x METER_JSON="{\"media\":\"heat volume at inlet\",\"meter\":\"kamheat\",\"name\":\"Kamstrup\",\"id\":\"82848073\",\"status\":\"OK\",\"total_energy_consumption_kwh\":524.3,\"total_volume_m3\":260.283,\"volume_flow_m3h\":0,\"t1_temperature_c\":14.11,\"t2_temperature_c\":14.47,\"forward_energy_m3c\":83836,\"return_energy_m3c\":80297,\"meter_date\":\"2023-01-12\",\"target_energy_kwh\":4.7,\"target_volume_m3\":44.29,\"target_date\":\"2023-01-01\",\"timestamp\":\"2023-01-12T22:24:16Z\",\"device\":\"rtlwmbus[00000001]\",\"rssi_dbm\":133}"
declare -x METER_MAX_FLOW_M3H="null"
declare -x METER_MAX_POWER_KW="null"
declare -x METER_MEDIA="heat volume at inlet"
declare -x METER_METER_DATE="2023-01-12"
declare -x METER_NAME="Kamstrup"
declare -x METER_ON_TIME_Hour="null"
declare -x METER_POWER_KW="null"
declare -x METER_RETURN_ENERGY_M3C="80297"
declare -x METER_RSSI_DBM="133"
declare -x METER_STATUS="OK"
declare -x METER_T1_TEMPERATURE_C="14.11"
declare -x METER_T2_TEMPERATURE_C="14.47"
declare -x METER_TARGET_DATE="2023-01-01"
declare -x METER_TARGET_ENERGY_KWH="4.7"
declare -x METER_TARGET_VOLUME_M3="44.29"
declare -x METER_TIMESTAMP="2023-01-12T22:24:16Z"
declare -x METER_TIMESTAMP_LT="2023-01-12 22:24.16"
declare -x METER_TIMESTAMP_UT="1673562256"
declare -x METER_TIMESTAMP_UTC="2023-01-12T22:24:16Z"
declare -x METER_TOTAL_ENERGY_CONSUMPTION_KWH="524.3"
declare -x METER_TOTAL_VOLUME_M3="260.283"
declare -x METER_TYPE="kamheat"
declare -x METER_VOLUME_FLOW_M3H="0"

Dan is het natuurlijk heel triviaal om via een http-request de boel te pushen naar Domoticz.

[Voor 20% gewijzigd door Zwartoog op 12-01-2023 23:26]


  • Ramon_1984
  • Registratie: November 2016
  • Laatst online: 12:07






HELP, ik krij geen verbinding met de kamstrup :)

Met m-bus sheet onder windows ben ik er achter gekomen dat de usb naar mbus adapter het doet, en dat ik verbinding heb.
ID 06845350 volgens mbus sheet, serie nr op de kamstrup zelf is hetzelfde alleen de 0 onbreekt.
Wie kan mijn een stapje verder helpen

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Ramon_1984
De juiste serial port ingevuld?
Ik gebruik altijd de hardware id ipv de /dev/ttyusb_huppelepup
/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A105W07X-if00-port0
(het nummer kan anders zijn)

Zit je op docker of een virtual machine eventueel waar de poorten niet doorkomen?

[Voor 49% gewijzigd door AUijtdehaag op 15-01-2023 20:53]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • Ramon_1984
  • Registratie: November 2016
  • Laatst online: 12:07
AUijtdehaag schreef op zondag 15 januari 2023 @ 20:48:
@Ramon_1984
De juiste serial port ingevuld?
Ik gebruik altijd de hardware id ipv de /dev/ttyusb_huppelepup
/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A105W07X-if00-port0
(het nummer kan anders zijn)

Zit je op docker of een virtual machine eventueel waar de poorten niet doorkomen?


@AUijtdehaag Alles draait op een pi4, iets blokkeert de poorten lijkt het wel

Zo moeilijk kan het toch zijn :p

[Voor 3% gewijzigd door Ramon_1984 op 15-01-2023 21:06]


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Ramon_1984
Je kan diezelfde regel ook vinden in HA onder hardware


Misschien deploy - restart flows doen en even geduld hebben?

@Ramon_1984 Haal die 0 eens weg voor het kamstrup nummer.
Die is teveel denk ik
dus
code:
1
{"address": "68453502D2C4004"}

Nee toch niet. 8 cijfers en letters voor 2D2C4004 heb ik ook

[Voor 21% gewijzigd door AUijtdehaag op 15-01-2023 21:17]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • Ramon_1984
  • Registratie: November 2016
  • Laatst online: 12:07
AUijtdehaag schreef op zondag 15 januari 2023 @ 21:07:
@Ramon_1984
Je kan diezelfde regel ook vinden in HA onder hardware
[Afbeelding]

Misschien deploy - restart flows doen en even geduld hebben?

@Ramon_1984 Haal die 0 eens weg voor het kamstrup nummer.
Die is teveel denk ik
/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A10M3G8K-if00-port0 staat in de hardware lijst, die heb ik gekopieerd

Zonder 0 wekt de communicatiet nog steeds niet

@AUijtdehaag ik maak trouwens wel gebruik van een kamstrup 601, maakt dat uit?

[Voor 8% gewijzigd door Ramon_1984 op 15-01-2023 21:25]


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Ramon_1984
Bizar.
Indien het nummer verkeerd is krijg je een andere foutmelding dus dat is het niet.
Hij lijkt hem gewoon niet te zien via de usb.....

Ik kan de hele flow nog wel eens posten met alle toeters en bellen eraan?

Kamstrup 601?
Ik weet niet of dat zo 1-2-3 ook werkt.
Maar als MBus sheet wel werkt dan zal het wel.
Komt de baud rate overeen?

[Voor 22% gewijzigd door AUijtdehaag op 15-01-2023 21:28]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
AUijtdehaag schreef op zondag 15 januari 2023 @ 21:26:
@Ramon_1984
Bizar.
Indien het nummer verkeerd is krijg je een andere foutmelding dus dat is het niet.
Hij lijkt hem gewoon niet te zien via de usb.....

Ik kan de hele flow nog wel eens posten met alle toeters en bellen eraan?
Ik vond de juiste serial port door gewoon op 't vraagteken te drukken. Als je dat doet met/zonder adapter zie je welke er bij komt als de adapter is aangesloten en die vul je dan in. Tenminste, zo werkte 't bij mij. ook een Pi4.

En bij mij dus een heel simpel poortnaam, zou zeggen dat 't op een PI4 dan toch ook zoiets moet wezen?

[Voor 5% gewijzigd door blb4 op 15-01-2023 21:29]

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@blb4
Totdat je de pi (volledig) herstart, dan kan het zomaar een andere usb poort zijn.

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
maar om 't nu werkend te krijgen lijkt dit mij 't simpelste voor @Ramon_1984. Hoe vind ik die vast poortnaam? Mij Pi draait inmiddels al weer 41 dagen zie ik :).

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • Ramon_1984
  • Registratie: November 2016
  • Laatst online: 12:07
AUijtdehaag schreef op zondag 15 januari 2023 @ 21:26:
@Ramon_1984
Bizar.
Indien het nummer verkeerd is krijg je een andere foutmelding dus dat is het niet.
Hij lijkt hem gewoon niet te zien via de usb.....

Ik kan de hele flow nog wel eens posten met alle toeters en bellen eraan?

Kamstrup 601?
Ik weet niet of dat zo 1-2-3 ook werkt.
Maar als MBus sheet wel werkt dan zal het wel.
Komt de baud rate overeen?
Daar lijkt het inderdaad wel op 8)7

Post de hele flow nog maar een keertje :)

  • Ramon_1984
  • Registratie: November 2016
  • Laatst online: 12:07
blb4 schreef op zondag 15 januari 2023 @ 21:28:
[...]

Ik vond de juiste serial port door gewoon op 't vraagteken te drukken. Als je dat doet met/zonder adapter zie je welke er bij komt als de adapter is aangesloten en die vul je dan in. Tenminste, zo werkte 't bij mij. ook een Pi4.
[Afbeelding]
En bij mij dus een heel simpel poortnaam, zou zeggen dat 't op een PI4 dan toch ook zoiets moet wezen?
Dat werkt niet , hij is alleen vindbaar door naar instellingen ----> hardware ---> alle hardware te gaan

Groene ledje op de mbus adapter knippert ook, dus het lijkt te werken , maar toch ook weer niet :/

[Voor 6% gewijzigd door Ramon_1984 op 15-01-2023 21:38]


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
Ramon_1984 schreef op zondag 15 januari 2023 @ 21:36:
[...]

Dat werkt niet , hij is alleen vindbaar door naar instellingen ----> hardware ---> alle hardware te gaan
Dat lijkt mij dan al wel een veeg teken. Maar ik heb niet zoveel kennis van PI's en externe hardware/poorten op zo'n ding. Ik was blij dat 't bij mij zo werkte.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@Ramon_1984
Heb er wel in liggen snijden, omdat de flow bij iemand anders draait, incl MBus kWh meters.
Maar die heb ik eruit gehaald.
Eerst maar eens verbinding krijgen met de kamstrup.
Registers zullen ook anders zijn dan de 302 verwacht ik.
code:
1
[{"id":"f865518d9aa4229a","type":"tab","label":"Mbus","disabled":false,"info":""},{"id":"d29d442dc1a2b2c0","type":"mbus-out","z":"f865518d9aa4229a","name":"","client":"ce865fca58584146","x":490,"y":200,"wires":[["64aa4b0caf571a05"]]},{"id":"64aa4b0caf571a05","type":"debug","z":"f865518d9aa4229a","name":"","active":true,"console":false,"complete":"false","x":770,"y":200,"wires":[]},{"id":"25391937be70d8d7","type":"mbus-controller","z":"f865518d9aa4229a","name":"","client":"ce865fca58584146","x":530,"y":300,"wires":[["cf63801613c34166","2e8ae61859d45968","886617b12e8c939c"]]},{"id":"ed8cf31caea1dcfb","type":"inject","z":"f865518d9aa4229a","name":"scan","repeat":"","crontab":"","once":false,"topic":"scan","payload":"","payloadType":"str","x":150,"y":100,"wires":[["25391937be70d8d7"]]},{"id":"2e8ae61859d45968","type":"debug","z":"f865518d9aa4229a","name":"","active":true,"console":false,"complete":"false","x":870,"y":360,"wires":[]},{"id":"e27a8a64b7f4a4ad","type":"inject","z":"f865518d9aa4229a","name":"Read ID 1","repeat":"","crontab":"","once":false,"topic":"getDevice","payload":"{\"address\": 1}","payloadType":"json","x":160,"y":180,"wires":[["25391937be70d8d7"]]},{"id":"380b14852e120384","type":"inject","z":"f865518d9aa4229a","name":"Get Devices","repeat":"60","crontab":"","once":true,"onceDelay":"","topic":"getDevices","payload":"","payloadType":"str","x":180,"y":260,"wires":[["25391937be70d8d7"]]},{"id":"cf63801613c34166","type":"ui_template","z":"f865518d9aa4229a","group":"d27938f9935499c1","name":"mbus-table","order":0,"width":"14","height":"10","format":"<table>\n  <tr>\n    <th>ID</th>\n    <th>Primary ID</th>\n    <th>Info</th>\n    <th>Data</th>\n    <th>Last Update</th>\n    <th>Status</th>\n  </tr>\n  <tr style=\"cursor:pointer;\" ng-click=\"showData(device)\" ng-repeat=\"(id, device) in devices\">\n    <td>{{ device.secondaryID }}</td>\n    <td>{{ device.primaryID }}</td>\n    <td ng-bind-html=\"getInfo(device)\"></td>\n    <td>{{ device.DataRecord.length }}</td>\n    <td>{{ device.lastUpdate }}</td>\n    <td>\n        <div class=\"online\" ng-style=\"{background: !device.error ? '#4CAF50' : '#f44336'}\">\n            <md-tooltip md-direction=\"bottom\">{{ device.error ? device.error : 'OK' }}</md-tooltip>\n        </div>\n    </td>\n  </tr>\n</table>\n\n<style>\ntable {\n    border-collapse: collapse;\n    width: 100%;\n}\n\nth, td{\n    text-align: left;\n    padding: 8px;\n    background-color: #f2f2f2;\n    color: black;\n}\n\nth {\n    background-color: #4CAF50;\n    color: white;\n}\n\n.online {\n\tbackground:#ff3333;\n\twidth:20px;\n\theight:20px;\n\tmargin:0 auto;\n\t-webkit-border-radius:50%;\n\t-moz-border-radius:50%;\n\tborder-radius:50%;\n}\n</style>\n\n<script>\n\n\n(function(scope) {\n    \n    scope.send({topic: 'getDevices'});\n    scope.devices = [];\n    \n    scope.showData = function(device){\n        scope.send({topic: 'deviceData', payload: device});\n    }\n    \n    scope.getInfo = function(device){\n        var text = '';\n        var info = device.SlaveInformation;\n        \n        for(key in info){\n            text += `<p><b>${key}</b>: ${info[key]}</p>`;\n        }\n        \n        return text;\n    }\n\n    scope.$watch('msg', function(data) {\n        if(data && data.topic){\n            switch(data.topic){\n                case \"getDevices\":\n                    if(data.payload && data.payload.devices)\n                        scope.devices = data.payload.devices;\n                break;\n            }\n        }\n    });\n    \n})(scope);\n\n</script>\n","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":730,"y":300,"wires":[["5d439686be0ac4c3"]]},{"id":"54532b5aabe03d97","type":"inject","z":"f865518d9aa4229a","name":"restart","repeat":"","crontab":"","once":false,"topic":"restart","payload":"","payloadType":"num","x":150,"y":140,"wires":[["25391937be70d8d7"]]},{"id":"5d439686be0ac4c3","type":"ui_template","z":"f865518d9aa4229a","group":"076f982652a53bad","name":"data-table","order":0,"width":"14","height":"10","format":"<p><b>Device ID:</b> {{ID}} </p>\n\n<br>\n<br>\n\n<table>\n  <tr>\n    <th>ID</th>\n    <th>Function</th>\n    <th>Unit</th>\n    <th>Value</th>\n    <th>Timestamp</th>\n  </tr>\n  <tr ng-repeat=\"(key, data) in deviceData\">\n    <td>{{ data.id }}</td>\n    <td>{{ data.Function }}</td>\n    <td>{{ data.Unit }}</td>\n    <td>{{ data.Value }}</td>\n    <td>{{ data.Timestamp }}</td>\n  </tr>\n</table>\n\n<style>\ntable {\n    border-collapse: collapse;\n    width: 100%;\n}\n\nth, td{\n    text-align: left;\n    padding: 8px;\n    background-color: #f2f2f2;\n    color: black;\n}\n\nth {\n    background-color: #4CAF50;\n    color: white;\n}\n\n.online {\n\tbackground:#ff3333;\n\twidth:20px;\n\theight:20px;\n\tmargin:0 auto;\n\t-webkit-border-radius:50%;\n\t-moz-border-radius:50%;\n\tborder-radius:50%;\n}\n</style>\n\n<script>\n\n\n(function(scope) {\n    \n    scope.deviceData = [];\n    scope.ID = '';\n\n    scope.$watch('msg', function(data) {\n        if(data && data.topic){\n            switch(data.topic){\n                case \"deviceData\":\n                    if(data.payload){\n                        scope.deviceData = data.payload.DataRecord;\n                        scope.ID = data.payload.SlaveInformation.Id;\n                    }\n                break;\n            }\n        }\n    });\n    \n})(scope);\n\n</script>\n","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":900,"y":300,"wires":[[]]},{"id":"ddd5e60920a23ad5","type":"inject","z":"f865518d9aa4229a","name":"Read ID 2","repeat":"","crontab":"","once":false,"topic":"getDevice","payload":"{\"address\": 2}","payloadType":"json","x":160,"y":220,"wires":[["25391937be70d8d7"]]},{"id":"97fe3cea3dd78893","type":"ui_button","z":"f865518d9aa4229a","name":"Scan","group":"f9c67b3519fdb234","order":3,"width":"2","height":"1","passthru":false,"label":"Scan","color":"","bgcolor":"","icon":"location_searching","payload":"","payloadType":"str","topic":"scan","x":130,"y":340,"wires":[["25391937be70d8d7"]]},{"id":"f4591fad97effe88","type":"ui_button","z":"f865518d9aa4229a","name":"Restart","group":"f9c67b3519fdb234","order":4,"width":"3","height":"1","passthru":false,"label":"Restart","color":"","bgcolor":"","icon":"refresh","payload":"","payloadType":"str","topic":"restart","x":140,"y":380,"wires":[["25391937be70d8d7"]]},{"id":"bf6e8184b1036eae","type":"ui_button","z":"f865518d9aa4229a","name":"GetDevices","group":"f9c67b3519fdb234","order":5,"width":"3","height":"1","passthru":false,"label":"Update Devices","color":"","bgcolor":"","icon":"refresh","payload":"","payloadType":"str","topic":"getDevices","x":150,"y":420,"wires":[["25391937be70d8d7"]]},{"id":"56835618461e0449","type":"ui_button","z":"f865518d9aa4229a","name":"readAddress","group":"f9c67b3519fdb234","order":2,"width":"3","height":"1","passthru":false,"label":"Read Device","color":"","bgcolor":"","icon":"","payload":"deviceID","payloadType":"flow","topic":"getDevice","x":151,"y":457,"wires":[["55994e356bc01d41"]]},{"id":"509e91d18c57d3a9","type":"ui_text_input","z":"f865518d9aa4229a","name":"Device_ID","label":"ID: ","group":"f9c67b3519fdb234","order":1,"width":"3","height":"1","passthru":true,"mode":"text","delay":300,"topic":"","x":149,"y":618,"wires":[["4ff922eb25f7b57b"]]},{"id":"4ff922eb25f7b57b","type":"function","z":"f865518d9aa4229a","name":"storeID","func":"\nflow.set('deviceID', msg.payload);\n\nreturn msg;","outputs":0,"noerr":0,"x":325,"y":618,"wires":[]},{"id":"55994e356bc01d41","type":"function","z":"f865518d9aa4229a","name":"readAddr","func":"var data = {address: msg.payload}\n\nmsg.payload = data;\n\nreturn msg;","outputs":1,"noerr":0,"x":309,"y":457,"wires":[["25391937be70d8d7"]]},{"id":"d8f8f4e78e68774f","type":"status","z":"f865518d9aa4229a","name":"controller_status","scope":["25391937be70d8d7"],"x":420,"y":60,"wires":[["2db5223e4cf95d6c"]]},{"id":"645047f2aaeb7378","type":"status","z":"f865518d9aa4229a","name":"mbus_status","scope":["d29d442dc1a2b2c0"],"x":413,"y":105,"wires":[["dcd216406a52d663"]]},{"id":"2db5223e4cf95d6c","type":"ui_text","z":"f865518d9aa4229a","group":"6c2bd694a5b1c9b1","order":0,"width":0,"height":0,"name":"controller_status","label":"Controller","format":"{{msg.status.text}}","layout":"row-spread","x":632,"y":60,"wires":[]},{"id":"dcd216406a52d663","type":"ui_text","z":"f865518d9aa4229a","group":"6c2bd694a5b1c9b1","order":0,"width":0,"height":0,"name":"mbus_status","label":"M-Bus","format":"{{msg.status.text}}","layout":"row-spread","x":622,"y":105,"wires":[]},{"id":"08b78e2be720569d","type":"inject","z":"f865518d9aa4229a","name":"setPrimary","repeat":"","crontab":"","once":false,"topic":"setPrimary","payload":"{\"newAddr\":3,\"oldAddr\":2}","payloadType":"json","x":160,"y":60,"wires":[["25391937be70d8d7"]]},{"id":"39645a72e0ff3142","type":"ui_text_input","z":"f865518d9aa4229a","name":"Old_ID","label":"Old ID","group":"f9c67b3519fdb234","order":6,"width":"3","height":"1","passthru":true,"mode":"text","delay":300,"topic":"","x":140,"y":660,"wires":[["0f77be8baa6345ce"]]},{"id":"0f77be8baa6345ce","type":"function","z":"f865518d9aa4229a","name":"storeID","func":"\nflow.set('oldID', msg.payload);\n\nreturn msg;","outputs":0,"noerr":0,"x":323,"y":658,"wires":[]},{"id":"d6746a0df0d11197","type":"ui_text_input","z":"f865518d9aa4229a","name":"New_ID","label":"New ID","group":"f9c67b3519fdb234","order":7,"width":"3","height":"1","passthru":true,"mode":"text","delay":300,"topic":"","x":140,"y":700,"wires":[["6f8ec5a64c4a1eda"]]},{"id":"6f8ec5a64c4a1eda","type":"function","z":"f865518d9aa4229a","name":"storeID","func":"\nflow.set('newID', msg.payload);\n\nreturn msg;","outputs":0,"noerr":0,"x":321,"y":698,"wires":[]},{"id":"4aea57191255b73a","type":"ui_button","z":"f865518d9aa4229a","name":"SetPrimary","group":"f9c67b3519fdb234","order":8,"width":"3","height":"1","passthru":false,"label":"Set Primary ID","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"setPrimary","x":150,"y":498,"wires":[["4e0a2109506b7dda"]]},{"id":"4e0a2109506b7dda","type":"function","z":"f865518d9aa4229a","name":"setPrimary","func":"var data = {\n    oldAddr: flow.get('oldID'), \n    newAddr:flow.get('newID')\n    }\n\nmsg.payload = data;\n\nreturn msg;","outputs":1,"noerr":0,"x":319,"y":498,"wires":[["25391937be70d8d7"]]},{"id":"47a2bd0559046e6a","type":"inject","z":"f865518d9aa4229a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"30","crontab":"","once":false,"onceDelay":"","topic":"getDevice","payload":"counter","payloadType":"flow","x":169,"y":558,"wires":[["adb705ccff8afe0e"]]},{"id":"adb705ccff8afe0e","type":"function","z":"f865518d9aa4229a","name":"scanPrimary","func":"\nif(msg.payload == null) msg.payload = 1;\n\nif(msg.payload >= 76) msg.payload = 1;\n\nmsg.payload++;\n\nflow.set(\"counter\",msg.payload);\n\nmsg.payload = {address: msg.payload};\n\nreturn msg;","outputs":1,"noerr":0,"x":349,"y":558,"wires":[[]]},{"id":"d2a6dc6098cf3c6f","type":"inject","z":"f865518d9aa4229a","name":"setDevices","repeat":"","crontab":"","once":false,"topic":"setDevices","payload":"","payloadType":"date","x":159,"y":298,"wires":[["f9ae155449fbc95f"]]},{"id":"f9ae155449fbc95f","type":"function","z":"f865518d9aa4229a","name":"devices","func":"var devices = [\"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\"];\n\nmsg.payload = devices;\n\nreturn msg;","outputs":1,"noerr":0,"x":297,"y":298,"wires":[["25391937be70d8d7"]]},{"id":"886617b12e8c939c","type":"function","z":"f865518d9aa4229a","name":"Extract + Format Kamstrup 302","func":"let TotalHeatEnergy = msg.payload.devices[\"67525649\"].DataRecord[1].Value;   \nlet TotalCoolEnergy = msg.payload.devices[\"67525649\"].DataRecord[2].Value;\nlet FlowTemperature = msg.payload.devices[\"67525649\"].DataRecord[8].Value /100;\nlet ReturnTemperature = msg.payload.devices[\"67525649\"].DataRecord[9].Value /100;\nlet DiffTemperature = msg.payload.devices[\"67525649\"].DataRecord[10].Value /100;\nvar PowerInstValue = Math.round((msg.payload.devices[\"67525649\"].DataRecord[11].Value *100)*1)/1;\nlet FlowInstValue = msg.payload.devices[\"67525649\"].DataRecord[13].Value;\nvar FlowValuelm = Number((FlowInstValue/60).toFixed(2));\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"HeatEnergy\",\n\t\tfields: {\n\t\t\ttotalheatenergy:   TotalHeatEnergy,\t\t\t\n\t\t\ttotalcoolenergy:   TotalCoolEnergy,\t\n\t\t\tflowtemperature:   FlowTemperature,\t\n\t\t    returntemperature: ReturnTemperature,\t\n\t\t    difftemperature:   DiffTemperature,\n\t\t    power:             PowerInstValue,\n\t\t\tflow:              FlowInstValue,\n            flowlm:            FlowValuelm, \n\n\t\t},\n\t\ttags:{\n\t\t    device: \"Kamstrup\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":420,"wires":[["6a76d82250d0560f","f860708d6c26e154","2e8ae61859d45968"]]},{"id":"ea41b023b25e56d5","type":"comment","z":"f865518d9aa4229a","name":"Change the device ID number!","info":"","x":600,"y":380,"wires":[]},{"id":"06d7575b69f88670","type":"comment","z":"f865518d9aa4229a","name":"Change the adapter's serial port","info":"","x":570,"y":160,"wires":[]},{"id":"71dc81853bf538b6","type":"comment","z":"f865518d9aa4229a","name":"Change the adapter's serial port","info":"","x":570,"y":260,"wires":[]},{"id":"1e31e39475d98a78","type":"mqtt out","z":"f865518d9aa4229a","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"f935c11c.41462","x":1170,"y":500,"wires":[]},{"id":"a3a5ba333963288f","type":"mqtt in","z":"f865518d9aa4229a","name":"kamstrup","topic":"kamstrup","qos":"2","datatype":"json","broker":"f935c11c.41462","inputs":0,"x":960,"y":560,"wires":[["908d10050f4b04d2"]]},{"id":"908d10050f4b04d2","type":"debug","z":"f865518d9aa4229a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1130,"y":560,"wires":[]},{"id":"0c53ba8d7284969a","type":"join","z":"f865518d9aa4229a","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"2","count":"8","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1030,"y":500,"wires":[[]]},{"id":"6a76d82250d0560f","type":"change","z":"f865518d9aa4229a","name":"move to msg","rules":[{"t":"move","p":"payload.fields","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"kamstrup","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":890,"y":500,"wires":[["0c53ba8d7284969a"]]},{"id":"e58fc1effc685d53","type":"influxdb batch","z":"f865518d9aa4229a","influxdb":"a934c8eecb729d7d","precision":"","retentionPolicy":"","name":"","database":"","retentionPolicyV18Flux":"","org":"","bucket":"","x":1100,"y":420,"wires":[]},{"id":"f860708d6c26e154","type":"join","z":"f865518d9aa4229a","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"8","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":851,"y":422,"wires":[[]]},{"id":"ce865fca58584146","type":"mbus-client","name":"","clienttype":"serial","tcpHost":"127.0.0.1","tcpPort":"10001","tcpTimeout":"4000","serialPort":"/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A105W07X-if00-port0","serialBaudrate":"2400","reconnectTimeout":"10000","autoScan":true,"storeDevices":true,"disableLogs":true},{"id":"d27938f9935499c1","type":"ui_group","name":"M-Bus Devices","tab":"910d4d4b27dd7881","order":3,"disp":true,"width":"14"},{"id":"076f982652a53bad","type":"ui_group","name":"Data","tab":"910d4d4b27dd7881","order":4,"disp":true,"width":"14"},{"id":"f9c67b3519fdb234","type":"ui_group","name":"Commands","tab":"910d4d4b27dd7881","order":2,"disp":true,"width":"14"},{"id":"6c2bd694a5b1c9b1","type":"ui_group","name":"Status","tab":"910d4d4b27dd7881","order":1,"disp":true,"width":"14"},{"id":"f935c11c.41462","type":"mqtt-broker","name":"MQTT","broker":"core-mosquitto","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a934c8eecb729d7d","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":"","influxdbVersion":"1.x","url":"","rejectUnauthorized":false},{"id":"910d4d4b27dd7881","type":"ui_tab","name":"M-Bus","icon":"plug","order":1}]

en even in debug window kijken (rechter deel vh scherm - BUG symbooltje klikken)

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • Ramon_1984
  • Registratie: November 2016
  • Laatst online: 12:07
AUijtdehaag schreef op zondag 15 januari 2023 @ 21:42:
@Ramon_1984
Heb er wel in liggen snijden, omdat de flow bij iemand anders draait, incl MBus kWh meters.
Maar die heb ik eruit gehaald.
Eerst maar eens verbinding krijgen met de kamstrup.
Registers zullen ook anders zijn dan de 302 verwacht ik.
code:
1
[{"id":"f865518d9aa4229a","type":"tab","label":"Mbus","disabled":false,"info":""},{"id":"d29d442dc1a2b2c0","type":"mbus-out","z":"f865518d9aa4229a","name":"","client":"ce865fca58584146","x":490,"y":200,"wires":[["64aa4b0caf571a05"]]},{"id":"64aa4b0caf571a05","type":"debug","z":"f865518d9aa4229a","name":"","active":true,"console":false,"complete":"false","x":770,"y":200,"wires":[]},{"id":"25391937be70d8d7","type":"mbus-controller","z":"f865518d9aa4229a","name":"","client":"ce865fca58584146","x":530,"y":300,"wires":[["cf63801613c34166","2e8ae61859d45968","886617b12e8c939c"]]},{"id":"ed8cf31caea1dcfb","type":"inject","z":"f865518d9aa4229a","name":"scan","repeat":"","crontab":"","once":false,"topic":"scan","payload":"","payloadType":"str","x":150,"y":100,"wires":[["25391937be70d8d7"]]},{"id":"2e8ae61859d45968","type":"debug","z":"f865518d9aa4229a","name":"","active":true,"console":false,"complete":"false","x":870,"y":360,"wires":[]},{"id":"e27a8a64b7f4a4ad","type":"inject","z":"f865518d9aa4229a","name":"Read ID 1","repeat":"","crontab":"","once":false,"topic":"getDevice","payload":"{\"address\": 1}","payloadType":"json","x":160,"y":180,"wires":[["25391937be70d8d7"]]},{"id":"380b14852e120384","type":"inject","z":"f865518d9aa4229a","name":"Get Devices","repeat":"60","crontab":"","once":true,"onceDelay":"","topic":"getDevices","payload":"","payloadType":"str","x":180,"y":260,"wires":[["25391937be70d8d7"]]},{"id":"cf63801613c34166","type":"ui_template","z":"f865518d9aa4229a","group":"d27938f9935499c1","name":"mbus-table","order":0,"width":"14","height":"10","format":"<table>\n  <tr>\n    <th>ID</th>\n    <th>Primary ID</th>\n    <th>Info</th>\n    <th>Data</th>\n    <th>Last Update</th>\n    <th>Status</th>\n  </tr>\n  <tr style=\"cursor:pointer;\" ng-click=\"showData(device)\" ng-repeat=\"(id, device) in devices\">\n    <td>{{ device.secondaryID }}</td>\n    <td>{{ device.primaryID }}</td>\n    <td ng-bind-html=\"getInfo(device)\"></td>\n    <td>{{ device.DataRecord.length }}</td>\n    <td>{{ device.lastUpdate }}</td>\n    <td>\n        <div class=\"online\" ng-style=\"{background: !device.error ? '#4CAF50' : '#f44336'}\">\n            <md-tooltip md-direction=\"bottom\">{{ device.error ? device.error : 'OK' }}</md-tooltip>\n        </div>\n    </td>\n  </tr>\n</table>\n\n<style>\ntable {\n    border-collapse: collapse;\n    width: 100%;\n}\n\nth, td{\n    text-align: left;\n    padding: 8px;\n    background-color: #f2f2f2;\n    color: black;\n}\n\nth {\n    background-color: #4CAF50;\n    color: white;\n}\n\n.online {\n\tbackground:#ff3333;\n\twidth:20px;\n\theight:20px;\n\tmargin:0 auto;\n\t-webkit-border-radius:50%;\n\t-moz-border-radius:50%;\n\tborder-radius:50%;\n}\n</style>\n\n<script>\n\n\n(function(scope) {\n    \n    scope.send({topic: 'getDevices'});\n    scope.devices = [];\n    \n    scope.showData = function(device){\n        scope.send({topic: 'deviceData', payload: device});\n    }\n    \n    scope.getInfo = function(device){\n        var text = '';\n        var info = device.SlaveInformation;\n        \n        for(key in info){\n            text += `<p><b>${key}</b>: ${info[key]}</p>`;\n        }\n        \n        return text;\n    }\n\n    scope.$watch('msg', function(data) {\n        if(data && data.topic){\n            switch(data.topic){\n                case \"getDevices\":\n                    if(data.payload && data.payload.devices)\n                        scope.devices = data.payload.devices;\n                break;\n            }\n        }\n    });\n    \n})(scope);\n\n</script>\n","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":730,"y":300,"wires":[["5d439686be0ac4c3"]]},{"id":"54532b5aabe03d97","type":"inject","z":"f865518d9aa4229a","name":"restart","repeat":"","crontab":"","once":false,"topic":"restart","payload":"","payloadType":"num","x":150,"y":140,"wires":[["25391937be70d8d7"]]},{"id":"5d439686be0ac4c3","type":"ui_template","z":"f865518d9aa4229a","group":"076f982652a53bad","name":"data-table","order":0,"width":"14","height":"10","format":"<p><b>Device ID:</b> {{ID}} </p>\n\n<br>\n<br>\n\n<table>\n  <tr>\n    <th>ID</th>\n    <th>Function</th>\n    <th>Unit</th>\n    <th>Value</th>\n    <th>Timestamp</th>\n  </tr>\n  <tr ng-repeat=\"(key, data) in deviceData\">\n    <td>{{ data.id }}</td>\n    <td>{{ data.Function }}</td>\n    <td>{{ data.Unit }}</td>\n    <td>{{ data.Value }}</td>\n    <td>{{ data.Timestamp }}</td>\n  </tr>\n</table>\n\n<style>\ntable {\n    border-collapse: collapse;\n    width: 100%;\n}\n\nth, td{\n    text-align: left;\n    padding: 8px;\n    background-color: #f2f2f2;\n    color: black;\n}\n\nth {\n    background-color: #4CAF50;\n    color: white;\n}\n\n.online {\n\tbackground:#ff3333;\n\twidth:20px;\n\theight:20px;\n\tmargin:0 auto;\n\t-webkit-border-radius:50%;\n\t-moz-border-radius:50%;\n\tborder-radius:50%;\n}\n</style>\n\n<script>\n\n\n(function(scope) {\n    \n    scope.deviceData = [];\n    scope.ID = '';\n\n    scope.$watch('msg', function(data) {\n        if(data && data.topic){\n            switch(data.topic){\n                case \"deviceData\":\n                    if(data.payload){\n                        scope.deviceData = data.payload.DataRecord;\n                        scope.ID = data.payload.SlaveInformation.Id;\n                    }\n                break;\n            }\n        }\n    });\n    \n})(scope);\n\n</script>\n","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":900,"y":300,"wires":[[]]},{"id":"ddd5e60920a23ad5","type":"inject","z":"f865518d9aa4229a","name":"Read ID 2","repeat":"","crontab":"","once":false,"topic":"getDevice","payload":"{\"address\": 2}","payloadType":"json","x":160,"y":220,"wires":[["25391937be70d8d7"]]},{"id":"97fe3cea3dd78893","type":"ui_button","z":"f865518d9aa4229a","name":"Scan","group":"f9c67b3519fdb234","order":3,"width":"2","height":"1","passthru":false,"label":"Scan","color":"","bgcolor":"","icon":"location_searching","payload":"","payloadType":"str","topic":"scan","x":130,"y":340,"wires":[["25391937be70d8d7"]]},{"id":"f4591fad97effe88","type":"ui_button","z":"f865518d9aa4229a","name":"Restart","group":"f9c67b3519fdb234","order":4,"width":"3","height":"1","passthru":false,"label":"Restart","color":"","bgcolor":"","icon":"refresh","payload":"","payloadType":"str","topic":"restart","x":140,"y":380,"wires":[["25391937be70d8d7"]]},{"id":"bf6e8184b1036eae","type":"ui_button","z":"f865518d9aa4229a","name":"GetDevices","group":"f9c67b3519fdb234","order":5,"width":"3","height":"1","passthru":false,"label":"Update Devices","color":"","bgcolor":"","icon":"refresh","payload":"","payloadType":"str","topic":"getDevices","x":150,"y":420,"wires":[["25391937be70d8d7"]]},{"id":"56835618461e0449","type":"ui_button","z":"f865518d9aa4229a","name":"readAddress","group":"f9c67b3519fdb234","order":2,"width":"3","height":"1","passthru":false,"label":"Read Device","color":"","bgcolor":"","icon":"","payload":"deviceID","payloadType":"flow","topic":"getDevice","x":151,"y":457,"wires":[["55994e356bc01d41"]]},{"id":"509e91d18c57d3a9","type":"ui_text_input","z":"f865518d9aa4229a","name":"Device_ID","label":"ID: ","group":"f9c67b3519fdb234","order":1,"width":"3","height":"1","passthru":true,"mode":"text","delay":300,"topic":"","x":149,"y":618,"wires":[["4ff922eb25f7b57b"]]},{"id":"4ff922eb25f7b57b","type":"function","z":"f865518d9aa4229a","name":"storeID","func":"\nflow.set('deviceID', msg.payload);\n\nreturn msg;","outputs":0,"noerr":0,"x":325,"y":618,"wires":[]},{"id":"55994e356bc01d41","type":"function","z":"f865518d9aa4229a","name":"readAddr","func":"var data = {address: msg.payload}\n\nmsg.payload = data;\n\nreturn msg;","outputs":1,"noerr":0,"x":309,"y":457,"wires":[["25391937be70d8d7"]]},{"id":"d8f8f4e78e68774f","type":"status","z":"f865518d9aa4229a","name":"controller_status","scope":["25391937be70d8d7"],"x":420,"y":60,"wires":[["2db5223e4cf95d6c"]]},{"id":"645047f2aaeb7378","type":"status","z":"f865518d9aa4229a","name":"mbus_status","scope":["d29d442dc1a2b2c0"],"x":413,"y":105,"wires":[["dcd216406a52d663"]]},{"id":"2db5223e4cf95d6c","type":"ui_text","z":"f865518d9aa4229a","group":"6c2bd694a5b1c9b1","order":0,"width":0,"height":0,"name":"controller_status","label":"Controller","format":"{{msg.status.text}}","layout":"row-spread","x":632,"y":60,"wires":[]},{"id":"dcd216406a52d663","type":"ui_text","z":"f865518d9aa4229a","group":"6c2bd694a5b1c9b1","order":0,"width":0,"height":0,"name":"mbus_status","label":"M-Bus","format":"{{msg.status.text}}","layout":"row-spread","x":622,"y":105,"wires":[]},{"id":"08b78e2be720569d","type":"inject","z":"f865518d9aa4229a","name":"setPrimary","repeat":"","crontab":"","once":false,"topic":"setPrimary","payload":"{\"newAddr\":3,\"oldAddr\":2}","payloadType":"json","x":160,"y":60,"wires":[["25391937be70d8d7"]]},{"id":"39645a72e0ff3142","type":"ui_text_input","z":"f865518d9aa4229a","name":"Old_ID","label":"Old ID","group":"f9c67b3519fdb234","order":6,"width":"3","height":"1","passthru":true,"mode":"text","delay":300,"topic":"","x":140,"y":660,"wires":[["0f77be8baa6345ce"]]},{"id":"0f77be8baa6345ce","type":"function","z":"f865518d9aa4229a","name":"storeID","func":"\nflow.set('oldID', msg.payload);\n\nreturn msg;","outputs":0,"noerr":0,"x":323,"y":658,"wires":[]},{"id":"d6746a0df0d11197","type":"ui_text_input","z":"f865518d9aa4229a","name":"New_ID","label":"New ID","group":"f9c67b3519fdb234","order":7,"width":"3","height":"1","passthru":true,"mode":"text","delay":300,"topic":"","x":140,"y":700,"wires":[["6f8ec5a64c4a1eda"]]},{"id":"6f8ec5a64c4a1eda","type":"function","z":"f865518d9aa4229a","name":"storeID","func":"\nflow.set('newID', msg.payload);\n\nreturn msg;","outputs":0,"noerr":0,"x":321,"y":698,"wires":[]},{"id":"4aea57191255b73a","type":"ui_button","z":"f865518d9aa4229a","name":"SetPrimary","group":"f9c67b3519fdb234","order":8,"width":"3","height":"1","passthru":false,"label":"Set Primary ID","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"setPrimary","x":150,"y":498,"wires":[["4e0a2109506b7dda"]]},{"id":"4e0a2109506b7dda","type":"function","z":"f865518d9aa4229a","name":"setPrimary","func":"var data = {\n    oldAddr: flow.get('oldID'), \n    newAddr:flow.get('newID')\n    }\n\nmsg.payload = data;\n\nreturn msg;","outputs":1,"noerr":0,"x":319,"y":498,"wires":[["25391937be70d8d7"]]},{"id":"47a2bd0559046e6a","type":"inject","z":"f865518d9aa4229a","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"30","crontab":"","once":false,"onceDelay":"","topic":"getDevice","payload":"counter","payloadType":"flow","x":169,"y":558,"wires":[["adb705ccff8afe0e"]]},{"id":"adb705ccff8afe0e","type":"function","z":"f865518d9aa4229a","name":"scanPrimary","func":"\nif(msg.payload == null) msg.payload = 1;\n\nif(msg.payload >= 76) msg.payload = 1;\n\nmsg.payload++;\n\nflow.set(\"counter\",msg.payload);\n\nmsg.payload = {address: msg.payload};\n\nreturn msg;","outputs":1,"noerr":0,"x":349,"y":558,"wires":[[]]},{"id":"d2a6dc6098cf3c6f","type":"inject","z":"f865518d9aa4229a","name":"setDevices","repeat":"","crontab":"","once":false,"topic":"setDevices","payload":"","payloadType":"date","x":159,"y":298,"wires":[["f9ae155449fbc95f"]]},{"id":"f9ae155449fbc95f","type":"function","z":"f865518d9aa4229a","name":"devices","func":"var devices = [\"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\"];\n\nmsg.payload = devices;\n\nreturn msg;","outputs":1,"noerr":0,"x":297,"y":298,"wires":[["25391937be70d8d7"]]},{"id":"886617b12e8c939c","type":"function","z":"f865518d9aa4229a","name":"Extract + Format Kamstrup 302","func":"let TotalHeatEnergy = msg.payload.devices[\"67525649\"].DataRecord[1].Value;   \nlet TotalCoolEnergy = msg.payload.devices[\"67525649\"].DataRecord[2].Value;\nlet FlowTemperature = msg.payload.devices[\"67525649\"].DataRecord[8].Value /100;\nlet ReturnTemperature = msg.payload.devices[\"67525649\"].DataRecord[9].Value /100;\nlet DiffTemperature = msg.payload.devices[\"67525649\"].DataRecord[10].Value /100;\nvar PowerInstValue = Math.round((msg.payload.devices[\"67525649\"].DataRecord[11].Value *100)*1)/1;\nlet FlowInstValue = msg.payload.devices[\"67525649\"].DataRecord[13].Value;\nvar FlowValuelm = Number((FlowInstValue/60).toFixed(2));\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"HeatEnergy\",\n\t\tfields: {\n\t\t\ttotalheatenergy:   TotalHeatEnergy,\t\t\t\n\t\t\ttotalcoolenergy:   TotalCoolEnergy,\t\n\t\t\tflowtemperature:   FlowTemperature,\t\n\t\t    returntemperature: ReturnTemperature,\t\n\t\t    difftemperature:   DiffTemperature,\n\t\t    power:             PowerInstValue,\n\t\t\tflow:              FlowInstValue,\n            flowlm:            FlowValuelm, \n\n\t\t},\n\t\ttags:{\n\t\t    device: \"Kamstrup\",\n\t\t},\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":610,"y":420,"wires":[["6a76d82250d0560f","f860708d6c26e154","2e8ae61859d45968"]]},{"id":"ea41b023b25e56d5","type":"comment","z":"f865518d9aa4229a","name":"Change the device ID number!","info":"","x":600,"y":380,"wires":[]},{"id":"06d7575b69f88670","type":"comment","z":"f865518d9aa4229a","name":"Change the adapter's serial port","info":"","x":570,"y":160,"wires":[]},{"id":"71dc81853bf538b6","type":"comment","z":"f865518d9aa4229a","name":"Change the adapter's serial port","info":"","x":570,"y":260,"wires":[]},{"id":"1e31e39475d98a78","type":"mqtt out","z":"f865518d9aa4229a","name":"","topic":"","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"f935c11c.41462","x":1170,"y":500,"wires":[]},{"id":"a3a5ba333963288f","type":"mqtt in","z":"f865518d9aa4229a","name":"kamstrup","topic":"kamstrup","qos":"2","datatype":"json","broker":"f935c11c.41462","inputs":0,"x":960,"y":560,"wires":[["908d10050f4b04d2"]]},{"id":"908d10050f4b04d2","type":"debug","z":"f865518d9aa4229a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1130,"y":560,"wires":[]},{"id":"0c53ba8d7284969a","type":"join","z":"f865518d9aa4229a","name":"","mode":"custom","build":"merged","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"2","count":"8","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1030,"y":500,"wires":[[]]},{"id":"6a76d82250d0560f","type":"change","z":"f865518d9aa4229a","name":"move to msg","rules":[{"t":"move","p":"payload.fields","pt":"msg","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"kamstrup","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":890,"y":500,"wires":[["0c53ba8d7284969a"]]},{"id":"e58fc1effc685d53","type":"influxdb batch","z":"f865518d9aa4229a","influxdb":"a934c8eecb729d7d","precision":"","retentionPolicy":"","name":"","database":"","retentionPolicyV18Flux":"","org":"","bucket":"","x":1100,"y":420,"wires":[]},{"id":"f860708d6c26e154","type":"join","z":"f865518d9aa4229a","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"8","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":851,"y":422,"wires":[[]]},{"id":"ce865fca58584146","type":"mbus-client","name":"","clienttype":"serial","tcpHost":"127.0.0.1","tcpPort":"10001","tcpTimeout":"4000","serialPort":"/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A105W07X-if00-port0","serialBaudrate":"2400","reconnectTimeout":"10000","autoScan":true,"storeDevices":true,"disableLogs":true},{"id":"d27938f9935499c1","type":"ui_group","name":"M-Bus Devices","tab":"910d4d4b27dd7881","order":3,"disp":true,"width":"14"},{"id":"076f982652a53bad","type":"ui_group","name":"Data","tab":"910d4d4b27dd7881","order":4,"disp":true,"width":"14"},{"id":"f9c67b3519fdb234","type":"ui_group","name":"Commands","tab":"910d4d4b27dd7881","order":2,"disp":true,"width":"14"},{"id":"6c2bd694a5b1c9b1","type":"ui_group","name":"Status","tab":"910d4d4b27dd7881","order":1,"disp":true,"width":"14"},{"id":"f935c11c.41462","type":"mqtt-broker","name":"MQTT","broker":"core-mosquitto","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a934c8eecb729d7d","type":"influxdb","hostname":"127.0.0.1","port":"8086","protocol":"http","database":"energy","name":"","usetls":false,"tls":"","influxdbVersion":"1.x","url":"","rejectUnauthorized":false},{"id":"910d4d4b27dd7881","type":"ui_tab","name":"M-Bus","icon":"plug","order":1}]

en even in debug window kijken (rechter deel vh scherm - BUG symbooltje klikken)


@AUijtdehaag 8)
Adapter in een andere usb poort, pi opnieuw opstarten en er is een verbinding 8)

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Hier een mini-howto hoe je een Wireless Mbus-Kamstrup in Domoticz krijgt. Ik heb ervoor gekozen om een wat gedetailleerdere howto op te schrijven, anders blijft het toch grasduinen in een groeiend topic. En niet alle informatie is voor handen, wat de drempel nog verder verhoogt.

Met dank aan @Yaldair voor het mij op weg helpen met de Wireless settings.

Setting

1. Kamstrup Multical 303 met Wireless Mbus (wmbus)
2. De KEY van je Kamstrup. Makkelijkst is om deze via de XML te downloaden
3. Nooelec draadloze ontvanger, bv: https://www.amazon.de/-/nl/dp/B00P2UOU72
4. Raspberry Pi met Bullseye

Installeren wmbusmeter

Deze packages heb je nodig voor het kunnen ontvangen van de pakketjes van je Kamstrup. Eenvoudigst is om volgend script te draaien, dat de verschillende packages binnenhaalt, compileert en installeert.

Let op: plug op dit moment je dongle nog niet in!

code: wmbus_installer.sh
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
#!/bin/bash

# Prepare build environment
INSTALLDIR=~/wmbus_packages
mkdir $INSTALLDIR

# Get required packages
sudo apt-get install cmake libusb-1.0-0-dev libncurses-dev git

# Blacklist dvb module
sudo sh -c 'echo blacklist  dvb_usb_rtl28xxu > /etc/modprobe.d/blacklist-dvb_usb_rtl28xxu.conf'

# Build and install rtl-sdr
# Note: we add the install prefix to /usr as wmbusmeters looks for rtl-sdr in /usr/bin/ instead of the default /usr/local/bin/
cd $INSTALLDIR
git clone https://gitea.osmocom.org/sdr/rtl-sdr.git
mkdir rtl-sdr/build
cd rtl-sdr/build
cmake ../ -DINSTALL_UDEV_RULES=ON -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
sudo ldconfig
sudo cp ../rtl-sdr.rules /etc/udev/rules.d/

# Build and install rtl-wmbus
cd $INSTALLDIR
git clone https://github.com/xaelsouth/rtl-wmbus.git
cd rtl-wmbus
make release
sudo make install

# Build and install wmbusmeters
cd $INSTALLDIR
git clone https://github.com/weetmuts/wmbusmeters.git
cd wmbusmeters
./configure
make
sudo make install
sudo systemctl enable wmbusmeters
sudo systemctl daemon-reload


# Ready to go!
echo "Done! Plug in the dongle and press ENTER"
read


wmbusmeters auto:t1

echo "Congrats! You have now a working wmbus!"


Vervolgens krijg je pakketjes als deze binnen:
code:
1
tail -f /var/log/wmbusmeters/wmbusmeters.log


code: /var/log/wmbusmeters/wmbusmeters.log
1
2
3
4
5
6
7
Received telegram from: 82848073
          manufacturer: (KAM) Kamstrup Energi (0x2c2d)
                  type: Heat volume at inlet meter (0x0c) encrypted
                   ver: 0x40
                device: rtlwmbus[00000001]
                  rssi: 133 dBm
                driver: kamheat


wat helemaal goed is! Krijg je een driver “unknown!”, dan moet je kijken of je meterconfiguratie in wmbusmeters/src/device_kamheat.cc staat, en anders daar toevoegen en configureren.

Als je geen pakketjes krijgt, dan moet je mogelijk je frequentie aanpassen, bv:
code:
1
rtlwmbus:868.85M:t1


Configureer eerst wmbusmeters verder, zodat je de jusite driver pakt en kunt loggen
code: /etc/wmbusmeters.conf
1
2
3
4
5
6
7
8
loglevel=debug
# Remember to change auto here to the device you are going to use in production.
device=rtlwmbus:t1
logtelegrams=true
format=json
meterfiles=/var/lib/wmbusmeters/meter_readings
meterfilesaction=overwrite
logfile=/var/log/wmbusmeters/wmbusmeters.log


Vervolgens gaan we de meter configueren. Maak een bestand aan als:
code: /etc/wmbusmeters.d/kamstrup
1
2
3
4
name=Kamstrup
id=82848073
key=AAABBBCCCDDDEEEFFF00011122233344
driver=kamheat

met de ID van jouw meter, en de KEY die je uit je XML file hebt gehaald die bij je meter hoort.

Forceer het herladen van de configfiles door:
code:
1
sudo systemctl restart wmbusmeters


Als alles goed is gegaan, krijg je nu in /var/lib/wmbusmeters/meter_readings/Kamstrup een rits gedecodeerde informatie van je meter :)
code:
1
{"media":"heat volume at inlet","meter":"kamheat","name":"Kamstrup","id":"82848073","status":"OK","total_energy_consumption_kwh":565.3,"total_volume_m3":277.363,"volume_flow_m3h":0,"t1_temperature_c":11.51,"t2_temperature_c":11.65,"forward_energy_m3c":89441,"return_energy_m3c":85547,"meter_date":"2023-01-13","target_energy_kwh":4.7,"target_volume_m3":44.29,"target_date":"2023-01-01","timestamp":"2023-01-13T22:35:39Z","device":"rtlwmbus[00000001]","rssi_dbm":134}


Kijk ook in de /var/log/wmbusmeters/wmbusmeters.log voor meer informatie als je niet de verwachte uitkomst krijgt.

Configuratie Domoticz

Tijd om de boel in Domoticz te zetten! Heb je Domoticz nog niet draaien, installeer deze van met:

code:
1
sudo bash -c "$(curl -sSfL https://install.domoticz.com)"


Ga in je browser naar http://raspberrypi.local:8080/ en verifiëer dat Domoticz draait.

Sensors kun je aanmaken door je weg via Domoticz in de rondte te klikken, of via de command line. Ik ben redelijk lui, dus ik doe onderstaande:

Maak eerst een Virtual hardware aan:
code:
1
curl "http://localhost:8080/json.htm?type=command&param=addhardware&htype=15&port=1&name=Virtual&enabled=true"


Kijk vervolgens goed welke hardware idx er wordt teruggegeven. Bij mij is dat 2, gebruik deze in de idx= hieronder.

Creëer de virtuele sensors:
code:
1
2
3
4
5
6
7
curl "http://localhost:8080/json.htm?type=createvirtualsensor&idx=2&sensorname=WP%20Aanvoer&sensortype=80"
curl "http://localhost:8080/json.htm?type=createvirtualsensor&idx=2&sensorname=WP%20Retour&sensortype=80"
curl "http://localhost:8080/json.htm?type=createvirtualsensor&idx=2&sensorname=WP%20Diff&sensortype=80"
curl "http://localhost:8080/json.htm?type=createdevice&idx=2&sensorname=WP%20Flow&devicetype=243&devicesubtype=30"
curl "http://localhost:8080/json.htm?type=createdevice&idx=2&sensorname=WP%20Vermogen&devicetype=243&devicesubtype=31&sensoroptions=1;kW"
curl "http://localhost:8080/json.htm?type=createvirtualsensor&idx=2&sensorname=WP%20Opbrengst&sensortype=113&switchtype=4"
curl "http://localhost:8080/json.htm?type=setused&idx=6&name=WP%20Opbrengst&switchtype=4&used=true"

Let op! op de laatste regel staat idx=6, dit is de idx die aan de WP Opbrengst sensor wordt gegeven.

Als je nu op de pagina van je Domoticz kijkt, dan moeten deze sensors aangemaakt zijn :) Hier kun je ook kijken wat de idx is van elke sensor, die hebben we in het volgende deel nodig.

Sensordata doorsturen naar Domoticz

wmbusmeters heeft de mogelijkheid om bij elke sensor-reading een script aan te roepen, dus dat gaan we doen. Maak in je home-directory een script aan, i.e. /home/pi/scripts/kamstrup_updates.py
Python: /home/pi/scripts/kamstrup_updates.py
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
#!/usr/bin/python

import os
import requests

# Environment variabelen
T1 = float(os.getenv('METER_T1_TEMPERATURE_C'))
T2 = float(os.getenv('METER_T2_TEMPERATURE_C'))
FLOW = float(os.getenv('METER_VOLUME_FLOW_M3H'))
ENERGY = float(os.getenv('METER_TOTAL_ENERGY_CONSUMPTION_KWH'))

r = requests.get("http://localhost:8080/json.htm?type=command&param=udevice&idx=1&nvalue=0&svalue=" + str(T1))
r = requests.get("http://localhost:8080/json.htm?type=command&param=udevice&idx=2&nvalue=0&svalue=" + str(T2))
r = requests.get("http://localhost:8080/json.htm?type=command&param=udevice&idx=3&nvalue=0&svalue=" + str(T1-T2))


# Debiet in l/m instead of m3/h
print(FLOW)
FLOW=float(FLOW)*1000/60
r = requests.get("http://localhost:8080/json.htm?type=command&param=udevice&idx=4&nvalue=0&svalue=%.1f" % (FLOW))

# Huidig vermogen
POWER= (float(T1)-float(T2))*FLOW * 0.07
r = requests.get("http://localhost:8080/json.htm?type=command&param=udevice&idx=5&nvalue=0&svalue=%.1f" % (POWER))

# Totale opbrengst
ENERGY=float(ENERGY)*1000
r = requests.get("http://localhost:8080/json.htm?type=command&param=udevice&idx=6&nvalue=0&svalue=%.1f" % (ENERGY))

Wat gebeurt hier? T1, T2, FLOW en ENERGY worden als environment variabelen meegegeven (en meer, maar die vond ik niet zo nuttig). Die lees je in, en stuurt T1, T2 en T1-T2 direct door naar Domoticz via een HTTP-get-push. Voor het debiet en totale opbrengst moet je een beetje schalen omdat Domotiz andere eenheden verwacht. Het huidig vermogen moet je zelf uitrekenen. Nou ja, met bovenstaande formule gaat het goed, je krijgt hetzelfde als er op de meter af te lezen is. Formule is hier van afgeleid: https://warmtepomp-tips.nl/relevant/formules/, de afleiding laat ik als oefening voor de lezer ;)

Vergeet niet om de juiste idx van de sensors ook in dit script over te nemen!

Maak het script executable:
code:
1
chmod a+x /home/pi/scripts/kamstrup_updates.py


Pas vervolgens de /etc/wmbusmeters.d/kamstrup aan naar:
code: /etc/wmbusmeters.d/kamstrup
1
2
3
4
5
name=Kamstrup
id=82848073
key=AAABBBCCCDDDEEEFFF00011122233344
driver=kamheat
shell=/home/pi/scripts/kamstrup_updates.py

zodat het script via shell= wordt aangeroepen.

Pas vervolgens /etc/wmbusmeters.conf aan om onnodig schrijven te voorkomen:
code: /etc/wmbusmeters.conf
1
2
3
4
5
6
7
8
loglevel=normal
# Remember to change auto here to the device you are going to use in production.
device=rtlwmbus:t1
logtelegrams=false
format=json
#meterfiles=/var/lib/wmbusmeters/meter_readings
#meterfilesaction=overwrite
logfile=/var/log/wmbusmeters/wmbusmeters.log


en herstart de boel:
code:
1
sudo systemctl restart wmbusmeters

Resultaat

Als alles goed is gegaan, dan zie je in Domoticz de volgende meters:
https://tweakers.net/i/ZWzo1_YKqcB_9sbEcKt7glTcFlQ=/800x/filters:strip_exif()/f/image/NwzMNTsgGFNyQuxoOmfmhCXk.png?f=fotoalbum_large

https://tweakers.net/i/9evCxdWBMFQjA1GI3-D2NDFzj1o=/800x/filters:strip_exif()/f/image/ccy5wAE8M1qcquHXTeqqqbCe.png?f=fotoalbum_large

Happy logging :)

Live COP

Live COP script kun je hier in het Domoticz forum vinden:
Zwartoog in "Domoticz - open source domotica systeem - deel 5"

rtl_wmbus zuiniger

Bij mij gebruikt de rtl_wmbus constant zo'n 50% CPU-core op m'n Pi. Dat vond ik nogal wat. Op de weetmuts website staan wat hints:
https://github.com/weetmuts/wmbusmeters
Here is an example command line that reduces the rtl_wmbus CPU usage if you only need T1/C1 telegrams. It disable S1 decoding (-p s) and trades lower cpu usage for reception performance (-a):

rtlwmbus:CMD(rtl_sdr -f 868.95M -s 1600000 - 2>/dev/null | rtl_wmbus -p s -a)
De config die ik nu draai wordt dus:
code: /etc/wmbusmeters.conf
1
2
3
...
device=rtlwmbus:CMD(rtl_sdr -f 868.95M -s 1600000 - 2>/dev/null | rtl_wmbus -p s)
...

zonder de -a. CPU usage is gehalveerd naar een ~20-25% voor rtl_wmbus. Met de -a krijg ik alleen maar corrupte telegrams. Misschien als je een perfect signaal hebt, dan zou de -a de CPU-load nog kunnen halveren.

To do

Heb nog maar 1 ding op het lijstje staan:
  1. kWh meter toevoegen (S0 pulse teller)
  2. Op basis van opgenomen vermogen en geleverd vermogen, de live-COP weergeven
  3. Een relais mee laten schakelen met m'n driewegklep, om CV en SWW vermogen gescheiden te kunnen loggen
  4. Kijken hoe de rtl_wmbus zuiniger kan, verbruikt nu constant 50% CPU :'(

[Voor 8% gewijzigd door Zwartoog op 08-02-2023 16:08]


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

Ik ga mij ook eens aansluiten bij dit topic.

Sinds okt 2022 een huis met een warmtenet in Zoetermeer.
En gisteren is eneco langsgekomen om ons van een "slimme" meter te voorzien, die eigenlijk gewoon dom is.
Want uitlezen kan niet :+

Nu loopt er wel mooi een Mbus van de Kamstrup 402 naar deze slimme module van Eneco.
Kortom die M-bus wil ik zelf ook gaan aftappen.

De vraag: is deze Mbus usb adapter daarvoor geschikt?
https://www.amazon.nl/-/e...+module%2Caps%2C58&sr=8-2

Dan ga ik erna eerst maar eens de verbinding opzetten naar de RPI, en erna naar Domoticz toe.

[Voor 6% gewijzigd door luigi87 op 25-01-2023 09:49]

- leeg -


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
luigi87 schreef op woensdag 25 januari 2023 @ 09:47:
Ik ga mij ook eens aansluiten bij dit topic.

Sinds okt 2022 een huis met een warmtenet in Zoetermeer.
En gisteren is eneco langsgekomen om ons van een "slimme" meter te voorzien, die eigenlijk gewoon dom is.
Want uitlezen kan niet :+

Nu loopt er wel mooi een Mbus van de Kamstrup 402 naar deze slimme module van Eneco.
Kortom die M-bus wil ik zelf ook gaan aftappen.

De vraag: is deze Mbus usb adapter daarvoor geschikt?
https://www.amazon.nl/-/e...+module%2Caps%2C58&sr=8-2
Ik ben meer een gebruiker dan een kenner van mbus maar wat ik weet is dat 't een master / slave bussysteem is. Ik denk dat dit Eneco module de master is en dat je dus, zoals je al schrijft wil meeluisteren op de bus. Of dat met zo'n module kan: geen idee.

Voor de meeste hier gaat 't om 1 Kamstrup en een eigen master module, da's denk ik net wat anders.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

blb4 schreef op woensdag 25 januari 2023 @ 09:52:
[...]

Ik ben meer een gebruiker dan een kenner van mbus maar wat ik weet is dat 't een master / slave bussysteem is. Ik denk dat dit Eneco module de master is en dat je dus, zoals je al schrijft wil meeluisteren op de bus. Of dat met zo'n module kan: geen idee.

Voor de meeste hier gaat 't om 1 Kamstrup en een eigen master module, da's denk ik net wat anders.
Klikt inderdaad logisch, maar als ik de draden onder de eneco module weg schroef en op deze module plaats ben ik er toch ook?
Dan is mijn module de master. En vul ik netjes jaarlijks de meterwaardes bij eneco in.

Die slimme module is mometeel namelijk optioneel. En geeft mij weinig gebruiksgemak.

- leeg -


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
luigi87 schreef op woensdag 25 januari 2023 @ 09:59:
[...]


Klikt inderdaad logisch, maar als ik de draden onder de eneco module weg schroef en op deze module plaats ben ik er toch ook?
Dan is mijn module de master. En vul ik netjes jaarlijks de meterwaardes bij eneco in.

Die slimme module is mometeel namelijk optioneel. En geeft mij weinig gebruiksgemak.
Aha, in dat geval kom je op dezelfde setup uit. Er zijn een hoop verschillende, je moet in elk geval een master module hebben.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

blb4 schreef op woensdag 25 januari 2023 @ 10:03:
[...]

Aha, in dat geval kom je op dezelfde setup uit. Er zijn een hoop verschillende, je moet in elk geval een master module hebben.
Zou je hem niet als slave kunnen zetten dan?
Hij leest immers toch alleen uit? of stuurt die ook Control signalen?

- leeg -


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
luigi87 schreef op woensdag 25 januari 2023 @ 10:09:
[...]


Zou je hem niet als slave kunnen zetten dan?
Hij leest immers toch alleen uit? of stuurt die ook Control signalen?
zoals ik 't begrijp moet iemand de lead nemen op een mbus. Om dus informatie op te vragen van de slave(s). Dat doet de master.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

blb4 schreef op woensdag 25 januari 2023 @ 10:11:
[...]

zoals ik 't begrijp moet iemand de lead nemen op een mbus. Om dus informatie op te vragen van de slave(s). Dat doet de master.
Hmm, tja als die Eneco ,module dat doet is dat waars 1 keer per dag.
Zet ik de Eneco module wel als Slave :+

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Volgens mij levert "de master" ook de voedingspanning voor het MBus circuit.
Als je er een tussen wilt plaatsen om te monitoren zal dat een slave moeten zijn denk ik.
Verder geen ervaring met slaves er tussen dus laat het ons weten of het gelukt is ;)

[Voor 21% gewijzigd door AUijtdehaag op 25-01-2023 10:23]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op woensdag 25 januari 2023 @ 10:20:
Volgens mij levert "de master" ook de voedingspanning voor het MBus circuit.
Als je er een tussen wilt plaatsen om te monitoren zal dat een slave moeten zijn denk ik.
Zou de slave dan ook data kunnen opvragen?


Nieuwe master ertussen werkt dus ook:
nielsteekens in "“Slimme” warmtemodule stadswarmte Eneco"

En lees er ook in het topic dat een data aanvraag per uur gaat.
dus een slave zou nog kunnen.
AUijtdehaag schreef op woensdag 25 januari 2023 @ 10:20:
Verder geen ervaring met slaves er tussen dus laat het ons weten of het gelukt is ;)
Uiteraard als ik nieuwe info heb komt dat hier erbij.

Echter ben ik meer een Hardware guy, dan een software guy. dus weet nog niet hoever ik kom :+

[Voor 33% gewijzigd door luigi87 op 25-01-2023 10:36]

- leeg -


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
Ik heb inmiddels ook mijn Kamstrup 303-WA02DB-71920 met toebehoren (1" installatiekit, messing buisje en paar ringen) binnen. De 1" komt precies overeen met de 28mm buizen van mijn CV dus puntstuk erop en klaar. Maar ik weet niet zeker hoe ik de 1" aansluiting van de Kamstrup op de kogelkranen waterdicht moet maken.

Het lijkt me dat daar die 1" kunststof ringen voor zijn? Werkt dat goed? Ik gebruik overal knelkoppelingen of teflon tape dus heb geen ervaring met dit soort afdichtingen.

  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
RichieB schreef op woensdag 1 februari 2023 @ 13:05:
Ik heb inmiddels ook mijn Kamstrup 303-WA02DB-71920 met toebehoren (1" installatiekit, messing buisje en paar ringen) binnen. De 1" komt precies overeen met de 28mm buizen van mijn CV dus puntstuk erop en klaar. Maar ik weet niet zeker hoe ik de 1" aansluiting van de Kamstrup op de kogelkranen waterdicht moet maken.

Het lijkt me dat daar die 1" kunststof ringen voor zijn? Werkt dat goed? Ik gebruik overal knelkoppelingen of teflon tape dus heb geen ervaring met dit soort afdichtingen.
Dat werkt uitstekend. Met zo'n koppeling kan je de meter er makkelijk tussenuit halen (kranen dicht, 2 wartels losdraaien) mocht dat nodig zijn.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
RichieB schreef op woensdag 1 februari 2023 @ 13:05:
Ik heb inmiddels ook mijn Kamstrup 303-WA02DB-71920 met toebehoren (1" installatiekit, messing buisje en paar ringen) binnen. De 1" komt precies overeen met de 28mm buizen van mijn CV dus puntstuk erop en klaar. Maar ik weet niet zeker hoe ik de 1" aansluiting van de Kamstrup op de kogelkranen waterdicht moet maken.

Het lijkt me dat daar die 1" kunststof ringen voor zijn? Werkt dat goed? Ik gebruik overal knelkoppelingen of teflon tape dus heb geen ervaring met dit soort afdichtingen.
Ik denk dat je die fiberringen bedoelt? Ja, die doe je tussen de Kamstrup en in de wartel van de kogelkraan. Met beleid aandraaien, en als het drupt, nog een tikke verder aandraaien. Die fiberringen zwellen een beetje op, waardoor je een goede afdichting krijgt. Rubber ringen kan ook, hoef je iets minder hard aan te draaien.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
@Zwartoog Die bedoelde ik inderdaad. Ik heb bij de Hornbach gevraagd hoe ik een G1B aansluiting waterdicht moet maken en ze zeiden "teflon tape". Die ringen lijken me handiger.

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@RichieB
Ook al klinkt hornbach duits, hebben ze in de NL vestigingen nog nooit van Überwurfmuttern gehoord, vrees ik
https://www.oeg.net/nl/pe...-32-x-44-x-2-mm-311910794

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
RichieB schreef op donderdag 2 februari 2023 @ 12:48:
@Zwartoog Die bedoelde ik inderdaad. Ik heb bij de Hornbach gevraagd hoe ik een G1B aansluiting waterdicht moet maken en ze zeiden "teflon tape". Die ringen lijken me handiger.
Het is niet of-of, hangt compleet af van de fitting die je hebt. In deze zou een fiberring voldoende moeten zijn.

Wat ik niet begrijp is waarom je deze vraag bij de Hornbach legt? Je hebt een aansluitset van Kamstrup gehad, daar zit alles in wat je nodig hebt om de Kamstrup goed aan te sluiten. Hoe je de andere kant van de kranen op je leidingwerk aansluit, is weer een andere vraag. Een foto van de leiding, kraan en puntstuk dat je nu hebt zou helpen.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
@Zwartoog Er zitten bij de Kamstrup 2 fiberringen maar bij de 1" installatieset zit een kogelkraan voor de temperatuursensor met aan beiden kanten G1B draad, maar geen ringen. Daar heb ik 28mm puntstukken voor gekocht bij de Hornbach.

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@RichieB
Als je die 28 mm puntstukken in een 1" kogelkraan draait, gebruik dan loctite55 in plaats van teflon tape.
Dicht stukken beter af. (gebruik het voor al je schroefdraad verbindingen, behalve natuurlijk niet bij een vlakke pakking)

[Voor 34% gewijzigd door AUijtdehaag op 02-02-2023 21:14]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Wat @AUijtdehaag zegt. Op dat stuk loctitie'55 gebruiken, en geen fiberringen.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
AUijtdehaag schreef op donderdag 2 februari 2023 @ 21:10:
@RichieB
Als je die 28 mm puntstukken in een 1" kogelkraan draait, gebruik dan loctite55 in plaats van teflon tape.
Dicht stukken beter af. (gebruik het voor al je schroefdraad verbindingen, behalve natuurlijk niet bij een vlakke pakking)
"Vlakke pakking" is inderdaad wat ik had gemist: daar kan je een ring tussen doen en zit op de kogelkraan en de Kamstrup. De G1B kant van de kogelkraan is schuin en daar kan je dus geen ring gebruiken maar moet je tape of loctite toepassen.

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
Het is gelukt hoor, ik heb de Kampstrup geheel waterdicht geïnstalleerd. Alleen de sensor in de kogelkraan lekte met alleen het rubbertje. Ik heb daarna ook het metalen ringetje erbij gedaan en opnieuw vastgezet. Daarna druppelde het niet meer.

Ik heb de Kamstrup aangesloten op mijn CV oa om te bepalen welk vermogen warmtepomp ik nodig heb. De eerste resultaten zijn al binnen: op de laagste stand pruttelt mijn CV met 8,4 kW. Als ik die een uur laat lopen verbruik ik 0,98 m3 gas. Mijn Intergas HRE CV ketel haalt dus 8,5 kWh uit een m3 gas.

  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
Inmiddels ook de CPU-load van de rtl_wmbus omlaag gekregen:

Bij mij gebruikt de rtl_wmbus constant zo'n 50% CPU-core op m'n Pi. Dat vond ik nogal wat. Op de weetmuts website staan wat hints:
https://github.com/weetmuts/wmbusmeters
Here is an example command line that reduces the rtl_wmbus CPU usage if you only need T1/C1 telegrams. It disable S1 decoding (-p s) and trades lower cpu usage for reception performance (-a):

rtlwmbus:CMD(rtl_sdr -f 868.95M -s 1600000 - 2>/dev/null | rtl_wmbus -p s -a)
De config die ik nu draai wordt dus:
code: /etc/wmbusmeters.conf
1
2
3
...
device=rtlwmbus:CMD(rtl_sdr -f 868.95M -s 1600000 - 2>/dev/null | rtl_wmbus -p s)
...

zonder de -a. CPU usage is gehalveerd naar een ~20-25% voor rtl_wmbus. Met de -a krijg ik alleen maar corrupte telegrams. Misschien als je een perfect signaal hebt, dan zou de -a de CPU-load nog kunnen halveren.

Toegevoegd aan: Zwartoog in "Kamstrup Multical 302 met Pi uitlezen en domoticz"

  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op woensdag 8 november 2017 @ 19:59:
@Anoniem: 925609
Je moet dummy's maken (1 dummy device aanmaken en daar vanaf meer dummys maken) en het Idx nummer in het php script verwerken, Idx nummer van de dummy staat onder hardware apparaten

[...]


[...]
Mijn Kamstrup 403 op USB ID 160 spuugt inmiddels data uit naar mijn RPI.

de data file die ik binnen krijg is deze:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="ISO-8859-1"?>
<MBusData>

    <SlaveInformation>
        <Id>62063160</Id>
        <Manufacturer>KAM</Manufacturer>
        <Version>11</Version>
        <ProductName></ProductName>
        <Medium>Heat: Outlet</Medium>
        <AccessNumber>1</AccessNumber>
        <Status>00</Status>
        <Signature>0000</Signature>
    </SlaveInformation>

en nog veel meer....


en nu heb ik dankbaar gebruik gemaakt voor de voorzet eerder in het topic:
@Anoniem: 925609
Anoniem: 925609 in "Kamstrup Multical 302 met Pi uitlezen en domoticz"

en ben tot het volgende script gekomen:
Zitten wat aanpassingen in omdat deze niet correct waren.

Onderstaan script draai bij mij inmiddels om 5 minuten om de data binnen te halen _/-\o_

Enkel moet ik nog de Persistent USB fixen (zie mijn volgende post, Helaas krijg ik dit nog niet werkende)

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
#!/usr/bin/php
<?php
//***********************************
//Kamstrup Multical 402 with ID:160 readout 
//***********************************
$output = shell_exec("sudo /usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB1 160"); //persistant usb drv RPi- "m-busadress160" 
$xmloutput=substr($output,strpos($output,'<MBusData>'));
$xmloutput = new SimpleXMLElement($xmloutput);
$CounterID=$xmloutput->SlaveInformation->Id;
$EnergyValue=$xmloutput->DataRecord[1]->Value;                  //  <<-- Overnemen in Domoticz
$TotalVolume=$xmloutput->DataRecord[2]->Value;                  //  <<-- Overnemen in Domoticz
$OnTime=$xmloutput->DataRecord[3]->Value;
$TempFlowValue=$xmloutput->DataRecord[4]->Value;                //  <<-- Overnemen in Domoticz
$TempReturnValue=$xmloutput->DataRecord[5]->Value;              //  <<-- Overnemen in Domoticz  
$TempDiffValue=$xmloutput->DataRecord[6]->Value;                //  <<-- Overnemen in Domoticz
$PowerInstValue=$xmloutput->DataRecord[7]->Value;               
$PowerMaxValue=$xmloutput->DataRecord[8]->Value;
$FlowInstValue=$xmloutput->DataRecord[9]->Value;                
$FlowMaxValue=$xmloutput->DataRecord[10]->Value;
$EnergyTarif1InstValue=$xmloutput->DataRecord[11]->Value;
$EnergyTarif2InstValue=$xmloutput->DataRecord[12]->Value;
$Volume1Value=$xmloutput->DataRecord[13]->Value;
$Volume2Value=$xmloutput->DataRecord[14]->Value;
$EnergyInstValue=$xmloutput->DataRecord[15]->Value;
$TimePoint=$xmloutput->DataRecord[16]->Value;

$DomoticzIP="http://192.168.1.210:4187/";

$IDXTenergytotal=855; //in Domoticz: type Teller (count) en delen door 10
$IDXTotalVolume=856; //in Domoticz: type Teller (water) en delen door 10
$IDXTaanvoer=857; //in Domoticz: type temperature
$IDXTretour=858; //in Domoticz: type temperature
$IDXTdiff=859; //in Domoticz: type temperature



//Function to send to Domoticz
    function ud($idx,$nvalue,$svalue,$name=""){
        print "  --- UPDATE ".$idx." ".$name." ".$nvalue." ".$svalue."
    ";
        file_get_contents("http://192.168.1.210:4187/".'json.htm?type=command&param=udevice&idx='.$idx.'&nvalue='.$nvalue.'&svalue='.$svalue);
        usleep(250000);
    }

//Function counter to send to Domoticz
    function uc($idx,$svalue,$name=""){
        print "  --- UPDATE ".$idx." ".$name." ".$svalue."
    ";
        file_get_contents("http://192.168.1.210:4187/".'json.htm?type=command&param=udevice&idx='.$idx.'&svalue='.$svalue);
        usleep(250000);
    }

// Totaalenergy (C) to Domoticz (kamstrup Reg 1)
ud($IDXTenergytotal,0,$EnergyValue/100,0);

// Totalvol (C) to Domoticz (kamstrup Reg 2)
ud($IDXTotalVolume,0,$TotalVolume/100,0);

// Taanvoer (C) to Domoticz (kamstrup Reg 8)
ud($IDXTaanvoer,0,$TempFlowValue/100,0);

// Tretour (C) to Domoticz (kamstrup Reg 5)
ud($IDXTretour,0,$TempReturnValue/100,0);

// Tdiff (C) to Domoticz (kamstrup Reg 6)
ud($IDXTdiff,0,$TempDiffValue/100,0);

?>

[Voor 69% gewijzigd door luigi87 op 09-02-2023 16:29]

- leeg -


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

extra Probleem helaas krijg ik het persistent usb niet voor elkaar.

Ik heb ook een P1 meter hangen aan het systeem op nu dan USB 1 ipv USB0

dus ik heb dit gevolgd:
https://www.domoticz.com/wiki/PersistentUSBDevices

regeltje aan gemaakt:
code:
1
  SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", ATTRS{serial}=="BABWn114J20", SYMLINK+="m-busadress160"


op basis van deze info:
code:
1
2
3
4
  idVendor           0x067b Prolific Technology, Inc.
  idProduct          0x23a3
  iProduct                2 USB-Serial Controller
  iSerial                 3 BABWn114J20


maar helaas geen resultaat :|
code:
1
2
3
4
5
6
7
8
pi@raspberrypi:~ $ mbus-serial-scan /dev/ttym-busadress160
mbus_serial_connect: failed to open tty.Scan failed: Could not setup connection to M-bus gateway:

pi@raspberrypi:~ $ mbus-serial-scan /dev/tty m-busadress160
usage: mbus-serial-scan [-d] [-b BAUDRATE] [-r RETRIES] device
pi@raspberrypi:~ $ mbus-serial-scan /dev/tty m-busadress160 160
usage: mbus-serial-scan [-d] [-b BAUDRATE] [-r RETRIES] device
pi@raspberrypi:~ $ mbus-serial-request-data /dev/ttyUSB0 160


wel met deze regel
code:
1
pi@raspberrypi:~ $ mbus-serial-request-data /dev/ttyUSB0 160

[Voor 6% gewijzigd door luigi87 op 09-02-2023 13:26]

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
Dit is 5 jaar geleden.
Ik gebruik nu node-red in home assistant, dan heb je dat allemaal niet nodig.

Edit:
Ik had dit staan:
code:
1
2
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="9040", SYMLINK+="ttyUSB-KAMSTRUP"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AR4XHS5G", SYMLINK+="ttyUSB-P1"


Bij mij dus 61 (bij jou 160)
code:
1
2
/usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB-KAMSTRUP 61
/usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB0 61

[Voor 63% gewijzigd door AUijtdehaag op 09-02-2023 17:12]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op donderdag 9 februari 2023 @ 17:00:
@luigi87
Dit is 5 jaar geleden.
Ik gebruik nu node-red in home assistant, dan heb je dat allemaal niet nodig.

Edit:
Ik had dit staan:
code:
1
2
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="9040", SYMLINK+="ttyUSB-KAMSTRUP"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AR4XHS5G", SYMLINK+="ttyUSB-P1"


Bij mij dus 61 (bij jou 160)
code:
1
2
/usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB-KAMSTRUP 61
/usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB0 61
Hoe is dit geregeld in HA?

Ik ben nu denk ik zo een 10 jaar Domoticz gebruiker, en de laatste maanden alles in het nieuwe huis weer even snel opgebouwd in Domoticz.
Maar binnenkort wil ook eens gaan spelen met HA. en dan mogelijk een migratie opzetten naar HA

- leeg -


  • tsjoender
  • Registratie: April 2005
  • Laatst online: 13:06
luigi87 schreef op donderdag 9 februari 2023 @ 13:25:
extra Probleem helaas krijg ik het persistent usb niet voor elkaar.

Ik heb ook een P1 meter hangen aan het systeem op nu dan USB 1 ipv USB0

dus ik heb dit gevolgd:
https://www.domoticz.com/wiki/PersistentUSBDevices

regeltje aan gemaakt:
code:
1
  SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", ATTRS{serial}=="BABWn114J20", SYMLINK+="m-busadress160"


op basis van deze info:
code:
1
2
3
4
  idVendor           0x067b Prolific Technology, Inc.
  idProduct          0x23a3
  iProduct                2 USB-Serial Controller
  iSerial                 3 BABWn114J20


maar helaas geen resultaat :|
code:
1
2
3
4
5
6
7
8
pi@raspberrypi:~ $ mbus-serial-scan /dev/ttym-busadress160
mbus_serial_connect: failed to open tty.Scan failed: Could not setup connection to M-bus gateway:

pi@raspberrypi:~ $ mbus-serial-scan /dev/tty m-busadress160
usage: mbus-serial-scan [-d] [-b BAUDRATE] [-r RETRIES] device
pi@raspberrypi:~ $ mbus-serial-scan /dev/tty m-busadress160 160
usage: mbus-serial-scan [-d] [-b BAUDRATE] [-r RETRIES] device
pi@raspberrypi:~ $ mbus-serial-request-data /dev/ttyUSB0 160


wel met deze regel
code:
1
pi@raspberrypi:~ $ mbus-serial-request-data /dev/ttyUSB0 160
Die persistent USB regel van jou zou een symlink aan moeten maken: /dev/m-busadress160. Je probeert met jouw command line te verbinden met /dev/ttym-busadress160 die bestaat dan idd niet. Check anders maar de output van:
code:
1
ls -l /dev/ttyUSB*

Dan kun je eenvoudig zien of de symlink gemaakt is en wat de naam is.

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
In home assistant (hassio of supervised versie draait nodered als add-on.

Influxdb en grafana kan je ook als addon installeren in HA
Heb je meteen de meetwaarden ook in grafana via nodered en influxdb.

Flow (nodered) heb ik wel ergens staan.
(Zie TS)
En maak meteen automatische backups naar google drive of nas via samba backup (addon)

Misschien is het tijd om van de pi met sd kaart afscheid te nemen en te gaan voor een odroid C4 of N2+ met emmc kaartje. (Emmc writers zijn weer lastiger beschikbaar)

Google ff op home assistant odroid.

[Voor 10% gewijzigd door AUijtdehaag op 10-02-2023 12:50]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

tsjoender schreef op vrijdag 10 februari 2023 @ 12:09:
[...]


Die persistent USB regel van jou zou een symlink aan moeten maken: /dev/m-busadress160. Je probeert met jouw command line te verbinden met /dev/ttym-busadress160 die bestaat dan idd niet. Check anders maar de output van:
code:
1
ls -l /dev/ttyUSB*

Dan kun je eenvoudig zien of de symlink gemaakt is en wat de naam is.
De symlink even beetje aangepast
code:
1
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", ATTRS{serial}=="BABWn114J20", SYMLINK+="ttyUSB-Mbusadress"


Bevestigd inderdaad dat de symlink niet wordt/ is gemaakt

Had eerst er al /dev/Symlink van gemaakt, maar deed ook niets.

Zou het kunnen komen doordat de USB device achter een USB hub zit??

De output is:
code:
1
2
3
pi@raspberrypi:~ $ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Feb 10 13:50 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Feb  9 13:19 /dev/ttyUSB1


Hier heb ik de data vandaan:
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
pi@raspberrypi:~ $ sudo lsusb -v | grep 'idVendor\|idProduct\|iProduct\|iSerial'

  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x1053
  iProduct                3 USB3.0 Device
  iSerial                 1 AC0000000001
can't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  idVendor           0x0451 Texas Instruments, Inc.
  idProduct          0xbef3 CC1352R1 Launchpad
  iProduct                2 XDS110 (03.00.00.16) Embed with CMSIS-DAP
  iSerial                 3 L1100MJX
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6001 FT232 Serial (UART) IC
  iProduct                2 FT232R USB UART
  iSerial                 3 AL00WBIJ
  idVendor           0x1a40 Terminus Technology Inc.
can't get debug descriptor: Resource temporarily unavailable
  idProduct          0x0101 Hub
  iProduct                1 USB 2.0 Hub
  iSerial                 0
  
idVendor           0x067b Prolific Technology, Inc.
  idProduct          0x23a3
  iProduct                2 USB-Serial Controller
  iSerial                 3 BABWn114J20

can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x0658 Sigma Designs, Inc.
  idProduct          0x0200 Aeotec Z-Stick Gen5 (ZW090) - UZB
  iProduct                0
  iSerial                 0
  idVendor           0x1a40 Terminus Technology Inc.
  idProduct          0x0101 Hub
  iProduct                1 USB 2.0 Hub
  iSerial                 0
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x2109 VIA Labs, Inc.
  idProduct          0x3431 Hub
  iProduct                1 USB2.0 Hub
  iSerial                 0
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0

[Voor 65% gewijzigd door luigi87 op 10-02-2023 14:07]

- leeg -


  • tsjoender
  • Registratie: April 2005
  • Laatst online: 13:06
luigi87 schreef op vrijdag 10 februari 2023 @ 13:54:
[...]


De symlink even beetje aangepast
code:
1
SUBSYSTEM=="tty", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="23a3", ATTRS{serial}=="BABWn114J20", SYMLINK+="ttyUSB-Mbusadress"


Bevestigd inderdaad dat de symlink niet wordt/ is gemaakt

Had eerst er al /dev/Symlink van gemaakt, maar deed ook niets.

Zou het kunnen komen doordat de USB device achter een USB hub zit??

De output is:
code:
1
2
3
pi@raspberrypi:~ $ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Feb 10 13:50 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Feb  9 13:19 /dev/ttyUSB1


Hier heb ik de data vandaan:
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
pi@raspberrypi:~ $ sudo lsusb -v | grep 'idVendor\|idProduct\|iProduct\|iSerial'

  idVendor           0x174c ASMedia Technology Inc.
  idProduct          0x1053
  iProduct                3 USB3.0 Device
  iSerial                 1 AC0000000001
can't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
  idVendor           0x0451 Texas Instruments, Inc.
  idProduct          0xbef3 CC1352R1 Launchpad
  iProduct                2 XDS110 (03.00.00.16) Embed with CMSIS-DAP
  iSerial                 3 L1100MJX
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x0403 Future Technology Devices International, Ltd
  idProduct          0x6001 FT232 Serial (UART) IC
  iProduct                2 FT232R USB UART
  iSerial                 3 AL00WBIJ
  idVendor           0x1a40 Terminus Technology Inc.
can't get debug descriptor: Resource temporarily unavailable
  idProduct          0x0101 Hub
  iProduct                1 USB 2.0 Hub
  iSerial                 0
  
idVendor           0x067b Prolific Technology, Inc.
  idProduct          0x23a3
  iProduct                2 USB-Serial Controller
  iSerial                 3 BABWn114J20

can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x0658 Sigma Designs, Inc.
  idProduct          0x0200 Aeotec Z-Stick Gen5 (ZW090) - UZB
  iProduct                0
  iSerial                 0
  idVendor           0x1a40 Terminus Technology Inc.
  idProduct          0x0101 Hub
  iProduct                1 USB 2.0 Hub
  iSerial                 0
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x2109 VIA Labs, Inc.
  idProduct          0x3431 Hub
  iProduct                1 USB2.0 Hub
  iSerial                 0
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0002 2.0 root hub
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:01:00.0
Een USB hub is geen bezwaar (ik heb ze allemaal op een USB hub). Twee dingen om te proberen:

1) Misschien is dat koppelteken in de symlink naam een spelbreker. Probeer eens iets simpels als "mbus".
2) Zo te zien heb je maar een Prolific device. In dat geval kan je de serial matching ook weglaten en kijken of dat misschien een verschil maakt.

  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

tsjoender schreef op vrijdag 10 februari 2023 @ 15:00:
[...]


Een USB hub is geen bezwaar (ik heb ze allemaal op een USB hub). Twee dingen om te proberen:

1) Misschien is dat koppelteken in de symlink naam een spelbreker. Probeer eens iets simpels als "mbus".
2) Zo te zien heb je maar een Prolific device. In dat geval kan je de serial matching ook weglaten en kijken of dat misschien een verschil maakt.
Dankesjeun

serial eruit en nu is het gefixed :)

code:
1
2
3
4
pi@raspberrypi:~ $ ls -l /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Feb 10 15:45 /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 1 Feb  9 13:19 /dev/ttyUSB1
lrwxrwxrwx 1 root root         7 Feb 10 15:42 /dev/ttyUSB-Mbusadress -> ttyUSB0


Nu enkel de code aanpassen in het PHP script.

code:
1
$output = shell_exec("sudo /usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB1 160"); //persistant usb drv RPi- "m-busadress160"


Kan dat zo?

Edit:
Jap dat kan zo :)

code:
1
$output = shell_exec("sudo /usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB-Mbusadress 160");

[Voor 19% gewijzigd door luigi87 op 10-02-2023 16:16]

- leeg -


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op vrijdag 10 februari 2023 @ 12:27:
@luigi87
In home assistant (hassio of supervised versie draait nodered als add-on.

Influxdb en grafana kan je ook als addon installeren in HA
Heb je meteen de meetwaarden ook in grafana via nodered en influxdb.

Flow (nodered) heb ik wel ergens staan.
(Zie TS)
En maak meteen automatische backups naar google drive of nas via samba backup (addon)

Misschien is het tijd om van de pi met sd kaart afscheid te nemen en te gaan voor een odroid C4 of N2+ met emmc kaartje. (Emmc writers zijn weer lastiger beschikbaar)

Google ff op home assistant odroid.
Heb mij even ingelezen op Home Assistant OS e.d.
En de odroid N2+, met Emmc

Maar die laatst genoemde maakt het wel een kostbaar stukje hardware.
Al is een RPI tegenwoordig ook niet meer voor een normale prijs te krijgen.

Met welke hardware draai jij nu dan?

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
Ik draai zelf op een odroid C4 met 64 gb emmc.
Maar prijzen zijn inderdaad gestegen de laatste tijd.

Een N2+ is wellicht iets sneller (heb ook een N2 gehad), maar dat merk je amper omdat C4 ook snel genoeg is.

Tot nog toe (4 jaar ervaring met stuk of 10 bij anderen) bij nog geen enkele C4 een probleem gehad.

Heb ook een intel celerion met ssd (minisforum passief gekoeld) gekocht via amazon, maar die ssd crashte de installatie bij een stroomstoring.

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op vrijdag 10 februari 2023 @ 12:27:
@luigi87
In home assistant (hassio of supervised versie draait nodered als add-on.

Influxdb en grafana kan je ook als addon installeren in HA
Heb je meteen de meetwaarden ook in grafana via nodered en influxdb.

Flow (nodered) heb ik wel ergens staan.
(Zie TS)
En maak meteen automatische backups naar google drive of nas via samba backup (addon)

Misschien is het tijd om van de pi met sd kaart afscheid te nemen en te gaan voor een odroid C4 of N2+ met emmc kaartje. (Emmc writers zijn weer lastiger beschikbaar)

Google ff op home assistant odroid.
Nou ben er nu zeker van dat ik over ga naar HA.
Bied me zo veel mogelijkheden.

Dus ik zit me even lekker in te lezen. Maar wat is nu specifiek
Influxdb? Een losse database met alle data tot in detail? Waarvandan je de data weer kan gebruiken in Grafana?

Vraagt wel wat van je data opslag mogelijkheiden denk ik, niet?


En als ik dat de kamstrup wil uitlezen met de HA OS.
Neem aan dat ik dan weer de stappen moet doorlopen om de m-bus master weer de kamstrup te laten uitlezen.
En dan jou node red flow om de data in HA te krijgen?

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
@SmartHomeJunkie heeft interessante videos over influxdb en grafana

In node-red configuratie (bij de nodered add-on), plaats je deze code
AUijtdehaag in "Kamstrup Multical 302 met Pi uitlezen en domoticz"
(drie puntjes - bewerken in yaml)
(Ook naam en wachtwoorden die vul ik in voor http en https en credential secret-verzin wat code)

Dan wordt er automatisch node-red-contrib-m-bus geinstalleerd als je node-red add-on start (zie log).
En dan een flow importeren en je eigen kamstrup serienummer /ID invoeren.
Kan je die nu uitlezen?
code:
1
2
680524912D2C3004 (wolly met een 302)
827235452D2C4004 (ikke met een 303)

Die data stuur je dan naar mqtt voor HA en influxdb voor grafana (als je zover bent dat je kamstrup data hebt in node-red in de debug window, geef maar een gil)

[Voor 32% gewijzigd door AUijtdehaag op 11-02-2023 17:14]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 11 februari 2023 @ 16:51:
@luigi87
@SmartHomeJunkie heeft interessante videos over influxdb en grafana

In node-red configuratie (bij de nodered add-on), plaats je deze code
AUijtdehaag in "Kamstrup Multical 302 met Pi uitlezen en domoticz"
(drie puntjes - bewerken in yaml)
(Ook naam en wachtwoorden die vul ik in voor http en https en credential secret-verzin wat code)

Dan wordt er automatisch node-red-contrib-m-bus geinstalleerd als je node-red add-on start (zie log).
En dan een flow importeren en je eigen kamstrup serienummer /ID invoeren.
Kan je die nu uitlezen?
code:
1
2
680524912D2C3004 (wolly met een 302)
827235452D2C4004 (ikke met een 303)

Die data stuur je dan naar mqtt voor HA en influxdb voor grafana (als je zover bent dat je kamstrup data hebt in node-red in de debug window, geef maar een gil)
Ik ga dat filmpje eens bekijken

Qua kamstrup uitlezen neem aan dat ik eerst nog deze stappen moet doorlopen zodat de rpi de m bus adapter herkend.
https://web.archive.org/w...jects/domotiga/wiki/M-Bus

En als ik dan de data kan opvragen, bovenstaande ga doen.

Gaat nog wel duren voordat ik zover ben hoor :+

Heb net de laatste dingetjes aan hardware besteld.
Ga voor de Rpi 4b 8gb met 2,5 inch ssd

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
HA draait (ongemerkt) in docker en zo ook de rest van de addons
https://www.home-assistant.io/installation/raspberrypi/ (image erop zetten met balena etcher, al ken ik de methode niet met pi, wel met odroid)
Je hoeft dus geen linux perikelingen meer te doen.
https://flows.nodered.org/node/node-red-contrib-m-bus
Mijn verhaaltje volgen, dan zou het goed moeten komen ;)

[Voor 37% gewijzigd door AUijtdehaag op 11-02-2023 17:37]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 11 februari 2023 @ 17:34:
@luigi87
HA draait (ongemerkt) in docker en zo ook de rest van de addons
https://www.home-assistant.io/installation/raspberrypi/ (image erop zetten met balena etcher, al ken ik de methode niet met pi, wel met odroid)
Je hoeft dus geen linux perikelingen meer te doen.
https://flows.nodered.org/node/node-red-contrib-m-bus
Mijn verhaaltje volgen, dan zou het goed moeten komen ;)
Aaah dat maakt een hoop duidelijk.
Zal ff wennen worden dan zonder de Rasbian eigenaardigheden.
Maar wel een stuk stabieler, leuk nieuw avontuur :)

En mijn id heb ik ook nog:
code:
1
2
3
4
5
6
7
8
9
10
<SlaveInformation>
        <Id>62063160</Id>
        <Manufacturer>KAM</Manufacturer>
        <Version>11</Version>
        <ProductName></ProductName>
        <Medium>Heat: Outlet</Medium>
        <AccessNumber>1</AccessNumber>
        <Status>00</Status>
        <Signature>0000</Signature>
    </SlaveInformation>

[Voor 22% gewijzigd door luigi87 op 11-02-2023 18:53]

- leeg -


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
Ik heb dit weekend een Prometheus exporter gemaakt voor mijn Kamstrup 303. Het script leest op dit moment elke 5 seconde de waardes uit de Kamstrup en Prometheus pollt de exporter elke 15 seconden maar de Kamstrup update de waardes maar elke 30 seconden.

Dit is goed te zien in vergelijking met de DS18B20 sensoren die er ook nog aanhangen:

Ik weet dat het vaak uitlezen de levensduur van de batterij beïnvloed, dus ik ga dat wel weer langer maken.

Ik heb een aantal DataRecords waarvan ik niet weet wat ze zijn:
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
    <SlaveInformation>
        <Id>82857138</Id>
        <Manufacturer>KAM</Manufacturer>
        <Version>64</Version>
        <ProductName></ProductName>
        <Medium>Heat: Outlet</Medium>
        <AccessNumber>3</AccessNumber>
        <Status>00</Status>
        <Signature>0000</Signature>
    </SlaveInformation>

    <DataRecord id="2">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Manufacturer specific</Unit>
        <Value>4185</Value>
        <Timestamp>2023-02-12T08:45:37Z</Timestamp>
    </DataRecord>

    <DataRecord id="3">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Manufacturer specific</Unit>
        <Value>3299</Value>
        <Timestamp>2023-02-12T08:45:37Z</Timestamp>
    </DataRecord>

    <DataRecord id="13">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Manufacturer specific</Unit>
        <Value>0</Value>
        <Timestamp>2023-02-12T08:45:37Z</Timestamp>
    </DataRecord>

Ik heb de SlaveInformation erbij gezet ter info. Heeft iemand hier een idee? Id 2 en 3 zouden temperaturen kunnen zijn, maar die lagen in deze sample op 5013 (Flow) en 4007 (Return). Verder heb ik ook nog een set records met StorageNumber 1. Die staan allemaal op 0. Is dat een soort alternatief register? Zoals hoog/laag tarief bij kWh meters wellicht.

  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
@RichieB mogelijk heb je hier wat aan:

00 "Total Energy (kWh)","Value":0 \n
01 "Volume (1e-2 m^3)","Value":0 \n
02 "Manufacturer specific","Value":0 \n
03 "Manufacturer specific","Value":0 \n
04 "On time (hours)","Value":3115 \n
05 "On time (hours)","Value":0 \n (Error state)
06 "Flow temperature (1e-2 deg C)","Value":2099 \n
07 "Return temperature (1e-2 deg C)","Value":1310 \n
08 "Temperature Difference (1e-2 deg C)","Value":789 \n
09 "Power (100 W)","Value":0 \n
10 "Power Max per Month(100 W)","Value":0 \n (Maximum value)
11 "Volume flow (m m^3/h)","Value":0 \n
12 "Volume flow Max per Month (m m^3/h)","Value":0 \n (Maximum value)
13 "Manufacturer specific","Value":256 \n
14 "Energy last year (kWh)","Value":0 \n
15 "Volume last year (1e-2 m^3)","Value":0 \n
16 "Manufacturer specific","Value":0 \n
17 "Manufacturer specific","Value":0 \n
18 "Max Power last Year (100 W)","Value":0 \n (Maximum value)
19 "Max Volume flow last year (m m^3/h)","Value":0 \n (Maximum value)
20 "Time Point (date)","Value":"2000-00-00"

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
@blb4 Dank! Id's 2, 3 en 13 zijn bij jou ook onbekend dus. 14 t/m 20 zijn StorageNumber 1 (ipv 0). Staan bij jou ook allemaal op value 0. Jij hebt daar "last Year" bij staan (is bij mij niet zo). Dat verklaart die records.

[Voor 23% gewijzigd door RichieB op 13-02-2023 11:25]


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
RichieB schreef op maandag 13 februari 2023 @ 11:22:
@blb4 Dank! Id's 2, 3 en 13 zijn bij jou ook onbekend dus. 14 t/m 20 zijn StorageNumber 1 (ipv 0). Staan bij jou ook allemaal op value 0. Jij hebt daar "last Year" bij staan (is bij mij niet zo). Dat verklaart die records.
10, 12, 14, 15, 18 & 19 zijn dus idd records die gegevens over 't verleden (maand of jaar) vasthouden. Als de de andere records uitleest en in een DB schrijft heb je daar m.i. niet zo veel aan.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
@blb4 Record id's 10, 12, 18 en 19 hebben bij mij als Function "Maximum value". Op basis daarvan heb ik ze al uitgesloten voor collectie:
code:
1
2
3
4
5
6
7
    <DataRecord id="12">
        <Function>Maximum value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Volume flow (m m^3/h)</Unit>
        <Value>1644</Value>
        <Timestamp>2023-02-12T08:45:37Z</Timestamp>
    </DataRecord>

In de handleiding heb ik gezien dat je een "contract datum" kan instellen. Wat er denk ik gebeurt is dat op die datum de tellers van StorageNumber 0 gekopieerd worden naar StorageNumber 1 zodat op basis van StorageNumber 1 de rekening kan worden opgemaakt.

[Voor 23% gewijzigd door RichieB op 13-02-2023 11:59]


  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
RichieB schreef op maandag 13 februari 2023 @ 11:57:

In de handleiding heb ik gezien dat je een "contract datum" kan instellen. Wat er denk ik gebeurt is dat op die datum de tellers van StorageNumber 0 gekopieerd worden naar StorageNumber 1 zodat op basis van StorageNumber 1 de rekening kan worden opgemaakt.
Dat denk ik ook, deze meters zijn bedoeld om mee af te rekenen en dat zijn dit soort periode tellers nuttig.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
De Kamstrup Multical 303 wordt toch gekalibreerd verkocht? Ik heb hem aan mijn Intergas HRE CV hangen en de Kamstrup geeft voor de retour tot 6 graden lager aan. De Intergas HRE heeft geen sensor op de aanvoer, maar die waarde wordt geschat. Ook daar klopt weinig van, de Kamstrup geeft tot 9 graden hoger aan.

Dat is wel relevant voor de overstap naar een warmtepomp: ik heb mijn HRE ingesteld op een Ta van 40, maar het water wordt tot 54 graden verwarmd voordat de CV afslaat (zou 45 moeten zijn). Dat is een groot verschil voor een warmtepomp.

  • blb4
  • Registratie: April 2008
  • Laatst online: 12:24
RichieB schreef op maandag 13 februari 2023 @ 21:09:
De Kamstrup Multical 303 wordt toch gekalibreerd verkocht? Ik heb hem aan mijn Intergas HRE CV hangen en de Kamstrup geeft voor de retour tot 6 graden lager aan. De Intergas HRE heeft geen sensor op de aanvoer, maar die waarde wordt geschat. Ook daar klopt weinig van, de Kamstrup geeft tot 9 graden hoger aan.

Dat is wel relevant voor de overstap naar een warmtepomp: ik heb mijn HRE ingesteld op een Ta van 40, maar het water wordt tot 54 graden verwarmd voordat de CV afslaat (zou 45 moeten zijn). Dat is een groot verschil voor een warmtepomp.
Er is hier groot vertrouwen in de betrouwbaarheid van de Kamstrup warmtemeters. Ze worden ook gebruikt voor afrekening dus 't moet wel enigszins kloppen. Ik zou de Kamstrup waarden als waarheid nemen.

Panasonic WH-MDC07J3E5/PAW-TD20C1E5 met Heishamon/NR, 6022 Wp PV, SOLAX SK-SU3000E 6,5kWh batterijsysteem, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia e-niro MY20


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 11 februari 2023 @ 16:51:
@luigi87
@SmartHomeJunkie heeft interessante videos over influxdb en grafana

In node-red configuratie (bij de nodered add-on), plaats je deze code
AUijtdehaag in "Kamstrup Multical 302 met Pi uitlezen en domoticz"
(drie puntjes - bewerken in yaml)
(Ook naam en wachtwoorden die vul ik in voor http en https en credential secret-verzin wat code)

Dan wordt er automatisch node-red-contrib-m-bus geinstalleerd als je node-red add-on start (zie log).
En dan een flow importeren en je eigen kamstrup serienummer /ID invoeren.
Kan je die nu uitlezen?
code:
1
2
680524912D2C3004 (wolly met een 302)
827235452D2C4004 (ikke met een 303)

Die data stuur je dan naar mqtt voor HA en influxdb voor grafana (als je zover bent dat je kamstrup data hebt in node-red in de debug window, geef maar een gil)
Helaas krijg ik geen verbinding met de kamstrup.

Ben er zeker van dat de usb goed is ingesteld.
maar krijg iedere keer de melding:

code:
1
2
"Error: Error: The selected secondary address does not match any device [620631602D2C4004]."
"Error: Error: The selected secondary address does not match any device [620631602D2C3004]


heb ook beide varianten van de code achter het id toegepast.
code:
1
2
620631602D2C3004
620631602D2C4004


Ook heb ik de usb poort gewisseld en de RPI opnieuw opgestart.

EDIT:

Posten op tweakers lost altijd alles op :+

ik heb verbinding.



Ik heb auto scan aangezet en ben in de debugging gaan kijken.

kwam deze message tegen:
DataRecord: array[28]
secondaryID: "620631602D2C0B04"
lastUpdate: "2023-02-17T14:09:59.872Z"
error: null

waarin dus een compleet ander ID+andere code staat.
Ingevuld bij "read ID 1" en ik krijg updates :)


Nu heb ik wel even de format omgezet naar de 402 die ik heb hangen.

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
var TotalHeatEnergy = msg.payload.DataRecord[1].Value;   
var FlowTemperature = msg.payload.DataRecord[4].Value /100;
var ReturnTemperature = msg.payload.DataRecord[5].Value /100;
var DiffTemperature = Math.abs(msg.payload.DataRecord[6].Value /100);
var FlowValue = msg.payload.DataRecord[2].Value;



let _msg = {
    payload: []
};

_msg.payload=
    {
        measurement: "kamstrup",
        fields: {
            totalheatenergy     : TotalHeatEnergy, 
            flowtemperature     : FlowTemperature, 
            returntemperature   : ReturnTemperature,
            difftemperature     : DiffTemperature,
            flowvalue           : FlowValue, 

            },
        tags:{
            device: "heatmeter",
            },
        timestamp: flow.get('timestamp')
    }

return _msg;


op basis van:

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
pi@raspberrypi:~/libmbus-master $ mbus-serial-request-data /dev/ttyUSB1 160
<?xml version="1.0" encoding="ISO-8859-1"?>
<MBusData>

    <DataRecord id="1">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Energy (MJ)</Unit>
        <Value>194596</Value>
        <Timestamp>2023-02-08T20:48:16Z</Timestamp>
    </DataRecord>

    <DataRecord id="2">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Volume (m m^3)</Unit>
        <Value>1594956</Value>
        <Timestamp>2023-02-08T20:48:16Z</Timestamp>
    </DataRecord>

    <DataRecord id="4">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Flow temperature (1e-2 deg C)</Unit>
        <Value>4505</Value>
        <Timestamp>2023-02-08T20:48:16Z</Timestamp>
    </DataRecord>

    <DataRecord id="5">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Return temperature (1e-2 deg C)</Unit>
        <Value>3949</Value>
        <Timestamp>2023-02-08T20:48:16Z</Timestamp>
    </DataRecord>

    <DataRecord id="6">
        <Function>Instantaneous value</Function>
        <StorageNumber>0</StorageNumber>
        <Unit>Temperature Difference (1e-2  deg C)</Unit>
        <Value>556</Value>
        <Timestamp>2023-02-08T20:48:16Z</Timestamp>
    </DataRecord>

</MBusData>


Klopt dit zo?

@AUijtdehaag volgende stap data in HA en InfuxDB :*)

influxdb draait al en heb ook al een DB aangemaakt waarin nu ook data van HA komt.
Heb bij node red nog niks met de http/https in config gedaan.

maar laat maar even wat er nu aangepast moet worden. om het HA te krijgen :)

[Voor 68% gewijzigd door luigi87 op 17-02-2023 15:33]

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
Volgens mij kan je er zo een influxdb node achter (extract en format) plakken want het staat al in het formaat van influxdb met de fields en dergelijke

En je stuurt mqtt uit nu?
Dan plaats je dit in configuration.yaml
YAML:
1
2
homeassistant:
  packages: !include_dir_named packages


en in /config/packages (aanmaken) plaats je kamstrup.yaml
YAML:
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
# sensor #
##########
mqtt:
  sensor:
    # Pumpflow L/min
    - name: Kamstrup Flow L/min
      state_topic: "kamstrup"
      unit_of_measurement: 'L/min'
      value_template: "{{ value_json.flowlm }}"

    # Pumpflow m3/h
    - name: Kamstrup Flow L/h
      state_topic: "kamstrup"
      unit_of_measurement: 'L/h'
      value_template: "{{ value_json.flow }}"

    # Water flow temp
    - name: Kamstrup Flow Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.flowtemperature }}"

    # Water return temp
    - name: Kamstrup Return Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.returntemperature }}"

    # Water differential temp
    - name: Kamstrup Differential Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.difftemperature }}"

    # Heating power produced
    - name: Kamstrup Power Produced
      state_topic: "kamstrup"
      unit_of_measurement: 'W'
      value_template: "{{ value_json.power }}"

    # Heating Counter
    - name: Kamstrup Heating Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'kWh'
      value_template: "{{ value_json.totalheatenergy }}"

    # Cooling Counter
    - name: Kamstrup Cooling Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'kWh'
      value_template: "{{ value_json.totalcoolenergy }}"


zelf ff kijken naar de flowvalue

[Voor 85% gewijzigd door AUijtdehaag op 17-02-2023 17:01]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
Ik zie in mijn grafiek voor gisteren een bizar hoge waardes voor de dagelijkse kWh aan warmte. Daarvoor gebruik ik in Grafana deze query:
code:
1
increase(kamstrup_energy_kwh_total[$__interval])

Ik heb deze meetwaarde gedefinieerd als "counter" omdat hij altijd oploopt. Echter, gisteren is de Kamstrup gecrasht. De logging zegt:
code:
1
2
3
4
5
6
Feb 16 21:57:12 ullakko prometheus-mbus-exporter.py[15950]: mbus_serial_recv_frame: Timeout
Feb 16 21:57:12 ullakko prometheus-mbus-exporter.py[15950]: Failed to receive M-Bus response frame.
Feb 16 21:57:43 ullakko prometheus-mbus-exporter.py[15958]: Failed to receive M-Bus response frame.
Feb 16 21:58:14 ullakko prometheus-mbus-exporter.py[15967]: Failed to receive M-Bus response frame.
Feb 16 21:58:45 ullakko prometheus-mbus-exporter.py[15977]: Failed to receive M-Bus response frame.
Feb 16 21:59:16 ullakko prometheus-mbus-exporter.py[15985]: Failed to receive M-Bus response frame.

Dat is op zicht niet zo'n ramp, maar ik hij is op dit moment ook de totalen van een heel uur kwijtgeraakt. Hij kwam na 3 minuten weer op met de waardes van exact een uur voor de crash. Dat heeft tot gevolg dat Prometheus denkt dat de counters een rollover hebben gehad en dus een heel hoge getallen rapporteert voor increase(). Eerlijk gezegd valt me dit een beetje tegen van deze meter die hoog staat aangeschreven.

De tijden in de grafieken zijn GMT.

  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op vrijdag 17 februari 2023 @ 16:50:
@luigi87
Volgens mij kan je er zo een influxdb node achter (extract en format) plakken want het staat al in het formaat van influxdb met de fields en dergelijke

En je stuurt mqtt uit nu?
Dan plaats je dit in configuration.yaml
YAML:
1
2
homeassistant:
  packages: !include_dir_named packages


en in /config/packages (aanmaken) plaats je kamstrup.yaml
YAML:
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
# sensor #
##########
mqtt:
  sensor:
    # Pumpflow L/min
    - name: Kamstrup Flow L/min
      state_topic: "kamstrup"
      unit_of_measurement: 'L/min'
      value_template: "{{ value_json.flowlm }}"

    # Pumpflow m3/h
    - name: Kamstrup Flow L/h
      state_topic: "kamstrup"
      unit_of_measurement: 'L/h'
      value_template: "{{ value_json.flow }}"

    # Water flow temp
    - name: Kamstrup Flow Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.flowtemperature }}"

    # Water return temp
    - name: Kamstrup Return Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.returntemperature }}"

    # Water differential temp
    - name: Kamstrup Differential Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.difftemperature }}"

    # Heating power produced
    - name: Kamstrup Power Produced
      state_topic: "kamstrup"
      unit_of_measurement: 'W'
      value_template: "{{ value_json.power }}"

    # Heating Counter
    - name: Kamstrup Heating Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'kWh'
      value_template: "{{ value_json.totalheatenergy }}"

    # Cooling Counter
    - name: Kamstrup Cooling Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'kWh'
      value_template: "{{ value_json.totalcoolenergy }}"


zelf ff kijken naar de flowvalue
ja nu ook data in MQTT
en in het juiste format gelijk nu :)



Dan plaats je dit in configuration.yaml
YAML:
1
2
homeassistant:
  packages: !include_dir_named packages


en in /config/packages (aanmaken) plaats je kamstrup.yaml

neem aan dan zo toch??

YAML:
1
2
homeassistant:
  packages: /config/packages


en in bovenstaande lokatie dan deze yaml?
Zijn onderstaande aanpassingen dan correct?

YAML:
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
# sensor #
##########
mqtt:
  sensor:
    # Pumpflow m3/h
    - name: Kamstrup Flow m3
      state_topic: "kamstrup"
      unit_of_measurement: 'm3/h'
      value_template: "{{ value_json.flow }}"

    # Water flow temp
    - name: Kamstrup Flow Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.flowtemperature }}"

    # Water return temp
    - name: Kamstrup Return Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.returntemperature }}"

    # Water differential temp
    - name: Kamstrup Differential Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.difftemperature }}"

    # Heating Counter
    - name: Kamstrup Heating Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'GJ'
      value_template: "{{ value_json.totalheatenergy }}"

[Voor 22% gewijzigd door luigi87 op 17-02-2023 20:09]

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
code:
1
2
homeassistant:
  packages: /config/packages
Als dat ook werkt:.....
Maar ik kopieer het al uit een werkende situatie

Ik zou geen "flow" gebruiken in je mqtt yaml maar "flowvalue". Dat is de json code die je uitstuurt via nodered
Die kan je dan nog opsplitsen in L/m en L/h (zie nodered code eronder)

YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
mqtt:
  sensor:
  # Pumpflow L/min
    - name: Kamstrup Flow L/min
      state_topic: "kamstrup"
      unit_of_measurement: 'L/min'
      value_template: "{{ value_json.fields.flowvaluelm }}"

  # Pumpflow m3/h
    - name: Kamstrup Flow L/h
      state_topic: "kamstrup"
      unit_of_measurement: 'L/h'
      value_template: "{{ value_json.fields.flowvalue }}"


In node-red
YAML:
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
var TotalHeatEnergy = msg.payload.DataRecord[1].Value;   
var FlowTemperature = msg.payload.DataRecord[4].Value /100;
var ReturnTemperature = msg.payload.DataRecord[5].Value /100;
var DiffTemperature = Math.abs(msg.payload.DataRecord[6].Value /100);
var FlowValue = msg.payload.DataRecord[2].Value;
var FlowValuelm = Number((FlowValue/60).toFixed(2));


let _msg = {
    payload: []
};

_msg.payload=
    {
        measurement: "kamstrup",
    fields: {
            totalheatenergy     : TotalHeatEnergy, 
            flowtemperature     : FlowTemperature, 
            returntemperature   : ReturnTemperature,
            difftemperature     : DiffTemperature,
            flowvalue           : FlowValue, 
            flowvaluelm         : FlowValuelm, 

        },
    tags:{
        device: "heatmeter",
        },
  }

return _msg;


Heb je geen powerinstvalue in de kamstrup 402 zitten?
Die kan eventueel gebruikt worden om de cop te berekenen (powerinstvalue / opgenomen vermogen) indien het een warmtepomp betreft

Edit, zoiets ;) :
YAML:
1
2
var WPpower = Math.abs(Number(parseFloat((FlowValuelm / 60) * 4.2 * DiffTemperature * 1000).toFixed(0)))
// var Cop = Math.abs(Number(parseFloat(WPpower / msg.payload.powers0).toFixed(2)))

[Voor 5% gewijzigd door AUijtdehaag op 18-02-2023 11:01]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

@AUijtdehaag

heb het stappen plan doorlopen, echter krijg ik nog geen waardes in de sensor??

data komt netjes binnen via MQTT


code:
1
{"measurement":"kamstrup","fields":{"totalheatenergy":195.455,"flowtemperature":54.79,"returntemperature":51.77,"difftemperature":3.02,"flowvalue":1601.516},"tags":{"device":"heatmeter"}}


Maar de sensor blijft leeg??



dit is mijn kamstrup yaml file

YAML:
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
# sensor #
##########
mqtt:
  sensor:
    # Pumpflow m3/h
    - name: Kamstrup Flow m3
      state_topic: "kamstrup"
      unit_of_measurement: 'm3/h'
      value_template: "{{ value_json.flowvalue }}"

    # Water flow temp
    - name: Kamstrup Flow Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.flowtemperature }}"

    # Water return temp
    - name: Kamstrup Return Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.returntemperature }}"

    # Water differential temp
    - name: Kamstrup Differential Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.difftemperature }}"

    # Heating Counter
    - name: Kamstrup Heating Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'GJ'
      value_template: "{{ value_json.totalheatenergy }}"


netjes opgeslagen in /config/packages
want daardoor is die zichtbaar.

en ook toevoegd aan de config:

YAML:
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
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

# Text to speech
tts:
  - platform: google_translate

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
  packages: !include_dir_named packages

#influxdb
influxdb:
  host: a0d7b954-influxdb
  port: 8086
  database: homeassistant
  username: xxxx
  password: xxxxx
  max_retries: 3
  default_measurement: state

#SAj
sensor:
  - platform: saj
    host: 192.168.1.171
    type: wifi
    username: xxxx
    password: xxxx

# RPI sensors 
  - platform: systemmonitor
    resources:
      - type: disk_use_percent
        arg: /config
      - type: memory_use_percent
      - type: swap_use_percent
      - type: load_1m
      - type: load_5m
      - type: load_15m
      - type: network_in
        arg: eth0
      - type: network_out
        arg: eth0
      - type: throughput_network_in
        arg: eth0
      - type: throughput_network_out
        arg: eth0
      - type: packets_in
        arg: eth0
      - type: packets_out
        arg: eth0
      - type: ipv4_address
        arg: eth0
      - type: processor_use
      - type: processor_temperature
      - type: last_boot

[Voor 75% gewijzigd door luigi87 op 18-02-2023 13:55]

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
zet er overal nog fields tussen in de kamstrup.yaml?
code:
1
"{{ value_json.fields.flowvaluelm }}"

[Voor 9% gewijzigd door AUijtdehaag op 18-02-2023 13:53]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 18 februari 2023 @ 13:53:
@luigi87
zet er overal nog fields tussen in de kamstrup.yaml?
code:
1
"{{ value_json.fields.flowvaluelm }}"
Dank _/-\o_
dat natuurlijk weer net over het hoofd gezien.



@AUijtdehaag
Ik heb dus geen warmtepomp, dus COP berekenen heeft geen nut.
Dit is mijn warmteset van Eneco wat ik uitlees.

Maar ik koop dit dus ook in.
Dus ik zou het graag ook nog zien in mijn energie dashboard.

heb jij een idee hoe ik dit voor elkaar kan krijgen?
wat ik kan doen is de GJ waarde delen door 31,6, en heb ik de energie waarde van Gas.
maar hoe maak je dus een sensor die je kan toevoegen aan het Energie dashboard?
Want deze sensoren komen daar dus ook niet terug.

vraagje 2, waar kan ik de refresh snelheid van de data opvraag instellen? deze staat nu op 1 keer per minuut geloof ik.

[Voor 43% gewijzigd door luigi87 op 18-02-2023 14:12]

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
YAML:
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
template:
  - sensor:
    - name: Stadsverwarming
      state: "{{ (states('sensor.kamstrup_heating_counter') |float / 31.6) | round(3) }}"
      unit_of_measurement: m3
      icon: mdi:heat-wave
      device_class: gas
      state_class: total_increasing

utility_meter:
  stadsverwarming_dit_kwartier:  
    source: sensor.stadsverwarming
    cycle: quarter-hourly
  stadsverwarming_dit_uur:
    source: sensor.stadsverwarming
    cycle: hourly
  stadsverwarming_vandaag:
    source: sensor.stadsverwarming
    cycle: daily    
  stadsverwarming_deze_week:
    source: sensor.stadsverwarming
    cycle: weekly
  stadsverwarming_deze_maand:
    source: sensor.stadsverwarming
    cycle: monthly
  stadsverwarming_dit_kwartaal:
    source: sensor.stadsverwarming
    cycle: quarterly
  stadsverwarming_dit_jaar:
    source: sensor.stadsverwarming
    cycle: yearly


Interval staat in het eerste blokje van nodered flow, read ID

Vaker opvragen gaat wel iets ten koste van de batterij van de kamstrup (als hij niet gevoed wordt door 230V)

[Voor 5% gewijzigd door AUijtdehaag op 18-02-2023 14:36]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 18 februari 2023 @ 14:35:
@luigi87
YAML:
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
template:
  - sensor:
    - name: Stadsverwarming
      state: "{{ (states('sensor.kamstrup_heating_counter') |float / 31.6) | round(3) }}"
      unit_of_measurement: m3
      icon: mdi:heat-wave
      device_class: gas
      state_class: total_increasing

utility_meter:
  stadsverwarming_dit_kwartier:  
    source: sensor.stadsverwarming
    cycle: quarter-hourly
  stadsverwarming_dit_uur:
    source: sensor.stadsverwarming
    cycle: hourly
  stadsverwarming_vandaag:
    source: sensor.stadsverwarming
    cycle: daily    
  stadsverwarming_deze_week:
    source: sensor.stadsverwarming
    cycle: weekly
  stadsverwarming_deze_maand:
    source: sensor.stadsverwarming
    cycle: monthly
  stadsverwarming_dit_kwartaal:
    source: sensor.stadsverwarming
    cycle: quarterly
  stadsverwarming_dit_jaar:
    source: sensor.stadsverwarming
    cycle: yearly
Hoe voeg ik deze toe?
Zelfde lokatie bij packages?
en de leest dan de al bestaande sensor van de kamstrup af?
Interval staat in het eerste blokje van nodered flow, read ID

Vaker opvragen gaat wel iets ten koste van de batterij van de kamstrup (als hij niet gevoed wordt door 230V)
mogelijk dat ik hem minder vaak wil zetten.
per 5 minuten is ook al heel erg oke.

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
Je kan hem in kamstrup.yaml erachter plakken of een nieuwe yaml aanmaken in packages.
Zo houd je de configuration.yaml schoon

Klopt leest kamstrup sensor uit en maakt er een nieuwe (template) sensor van.

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 18 februari 2023 @ 14:45:
@luigi87
Je kan hem in kamstrup.yaml erachter plakken of een nieuwe yaml aanmaken in packages.
Zo houd je de configuration.yaml schoon

Klopt leest kamstrup sensor uit en maakt er een nieuwe (template) sensor van.
Top.
Maak ik er ff een nieuwe voor.
Geeft inderdaad meer overzicht zo dan alles in de configuration.yaml.

Ah dus dit is zo template sensor.
Die maak je dus ook gewoon in yaml aan.
Weer een stukje wijzer.

HA is wel een stuk beter en groter dan Domoticz. Gebruik je nog wel eens Domoticz of helemaal niet meer?

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
Nee gebruik geen domoticz meer.
Wat mij betreft mag de topictitel gewijzigd worden.

Nu nog in een mooie apexcharts-card zetten (via hacs installeren)

De utility meters kan je ook een nieuwe waarde geven door nutsmeter calibrate onder services

[Voor 23% gewijzigd door AUijtdehaag op 18-02-2023 15:33]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

@AUijtdehaag

gelijk weer ff zitten pielen en heb nu inderdaad ook het overzicht in m3 gas.



maar kan hem niet toevoegen aan het ernergy dashboard.


(zie trouwen ook Gj eenheden worden ondersteunt).
hoe krijg ik deze sensor hierin beschikbaar?
https://tweakers.net/i/onO0wA6kYDQPF619ikEy2ISzRI4=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/aHMCgt9FeM8ZXcqMDg1K4zn1.png?f=user_large

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
Weet het even niet waar het probleem zit. Google helpt mij ook niet.
https://developers.home-a.../docs/core/entity/sensor/

Voor GJ zou je dit kunnen toevoegen aan de mqtt sensor
YAML:
1
2
3
4
5
      unit_of_measurement: 'GJ'
      icon: mdi:fire
      device_class: gas
// als dat niet werkt: device_class: energy
      state_class: total_increasing

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zaterdag 18 februari 2023 @ 16:45:
@luigi87
Weet het even niet waar het probleem zit. Google helpt mij ook niet.
https://developers.home-a.../docs/core/entity/sensor/

Voor GJ zou je dit kunnen toevoegen aan de mqtt sensor
YAML:
1
2
3
4
5
      unit_of_measurement: 'GJ'
      icon: mdi:fire
      device_class: gas
// als dat niet werkt: device_class: energy
      state_class: total_increasing
Top, hij staat er nu zo in.

wel device_class: aangepast naar energy, anders snapt hij de GJ niet

en zichtbaar in het energy dashboard :*)

YAML:
1
2
3
4
5
6
7
8
    # Heating Counter
    - name: Kamstrup Heating Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'GJ'
      icon: mdi:fire
      device_class: energy
      state_class: total_increasing
      value_template: "{{ value_json.fields.totalheatenergy }}"

[Voor 4% gewijzigd door luigi87 op 18-02-2023 19:25]

- leeg -


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

@AUijtdehaag

Nou ben een stuk verder met de data juist in het systeem krijgen.

Maar kan ik deze counters ook resetten?

- leeg -


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
@luigi87
ontwikkelhulpmiddelen - services - service: nutsmeter calibrate - entiteit kiezen - value waarde invullen en service aanroepen

service: nutsmeter reset zet hem direkt op 0

[Voor 14% gewijzigd door AUijtdehaag op 19-02-2023 10:59]

PV Output - Pana Hit Kuro Zuid / SF Noord- Mitsubsidie WP - Procon melcobems mini TK - MHI ESP WiFi TK


  • luigi87
  • Registratie: Juni 2009
  • Laatst online: 22-03 19:59

luigi87

Domotica Fanaticus

AUijtdehaag schreef op zondag 19 februari 2023 @ 10:58:
@luigi87
ontwikkelhulpmiddelen - services - service: nutsmeter calibrate - entiteit kiezen - value waarde invullen en service aanroepen

service: nutsmeter reset zet hem direkt op 0
Dank.
Dit werkt ook weer beter dan Domoticz 8)

- leeg -


  • Copitano
  • Registratie: Februari 2018
  • Laatst online: 00:26

Copitano

Hoorn NH

Foutje 8)7

[Voor 99% gewijzigd door Copitano op 23-02-2023 23:38]

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp


  • Zwartoog
  • Registratie: September 2004
  • Laatst online: 09:39
RichieB schreef op maandag 13 februari 2023 @ 21:09:
De Kamstrup Multical 303 wordt toch gekalibreerd verkocht? Ik heb hem aan mijn Intergas HRE CV hangen en de Kamstrup geeft voor de retour tot 6 graden lager aan. De Intergas HRE heeft geen sensor op de aanvoer, maar die waarde wordt geschat. Ook daar klopt weinig van, de Kamstrup geeft tot 9 graden hoger aan.

Dat is wel relevant voor de overstap naar een warmtepomp: ik heb mijn HRE ingesteld op een Ta van 40, maar het water wordt tot 54 graden verwarmd voordat de CV afslaat (zou 45 moeten zijn). Dat is een groot verschil voor een warmtepomp.
Kan natuurlijk nooit kwaad om even na te kijken. Temperatuurmeter op de leiding plakken, en kijken welke het meest overeen komt. Heb je die niet, pak je de good-old koortsthermometer uit de EHBO-trommel. Binnen het meetbereik (35-42 graden) zijn die dingen behoorlijk nauwkeurig.

Maar het zou me werkelijk verbazen als de Kamstrup fout de fabriek verlaat.

Acties:
  • +1Henk 'm!

  • RichieB
  • Registratie: Mei 2003
  • Laatst online: 11:45
@Zwartoog Ik had al DS18B20 sensoren geplakt op de leidingen.. maar die vertrouw ik het minst van allemaal. Die geven ook lagere waardes aan, maar die zitten ook aan de buitenkant en niet in de buis. Ik heb mijn CV nu op 40 graden Ta staan en nu wijken de Tr waardes maar 1 a 2 graden af tov van de Kamstrup. Voorlopig neem ik de Kamstrup als waarheid aan.

  • Pietjebel10
  • Registratie: Augustus 2010
  • Laatst online: 10:22
RichieB schreef op maandag 6 maart 2023 @ 22:16:
@Zwartoog Ik had al DS18B20 sensoren geplakt op de leidingen.. maar die vertrouw ik het minst van allemaal. Die geven ook lagere waardes aan, maar die zitten ook aan de buitenkant en niet in de buis. Ik heb mijn CV nu op 40 graden Ta staan en nu wijken de Tr waardes maar 1 a 2 graden af tov van de Kamstrup. Voorlopig neem ik de Kamstrup als waarheid aan.
Verschil temperatuur klopt , zie hetzelfde met de metingen.
DS18B20 op de buis en zoals de metingen Kamstrup meer betrouwbaarder. Verschil ca 1,2 graden.
Je kunt dat natuurlijk corrigeren, maar wanneer je het weet is toch prima.
Zit bij mij op alle 3 verdelers DS18B20 getaped op de buizen TA en TR en onder de isolatie. Deze sensoren eerst allemaal gekalibreerd zodat ze ongeveer hetzelfde aangaven. Geeft veel informatie en kun je beter tunen

  • leandres
  • Registratie: Maart 2002
  • Laatst online: 20-03 17:53

leandres

ook nog?

Iemand enig idee waarom ik deze error krijg?

"Error while reading device 828122132D2C4004: Error: The selected secondary address does not match any device [828122132D2C4004]."

Ik krijg deze error nadat ik in de setup van de Kamstrup de flow richting van 'Outlet' naar 'Inlet' heb gezet. De setup had ik nog niet eerder doorlopen omdat afgelopen vrijdag de warmtepomp in bedrijf genomen is.

In de setup dubbel gecheckt of het apparaat ID nog steeds hetzelfde is, dat is het geval.

Edit: zodra ik hem terug zet naar "Outlet" dan zie Nodered hem direct weer. Iemand enig idee hoe dit te wijzigen is zodat deze wel zichtbaar blijft in Nodered? Ik las in de post van blb4 in "Kamstrup Multical 302 met Pi uitlezen en domoticz" dat de Mutical 303 standaard geleverd wordt voor plaatsing in de retour. Ik wist dat niet, dus ik heb hem in de aanvoer geplaatst (note to self: de temp sensoren dus ook nog omwisselen). |:(

[Voor 35% gewijzigd door leandres op 13-03-2023 16:34]

1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN


  • Robindd
  • Registratie: December 2012
  • Laatst online: 09:13
leandres schreef op maandag 13 maart 2023 @ 15:59:
Iemand enig idee waarom ik deze error krijg?

"Error while reading device 828122132D2C4004: Error: The selected secondary address does not match any device [828122132D2C4004]."

Ik krijg deze error nadat ik in de setup van de Kamstrup de flow richting van 'Outlet' naar 'Inlet' heb gezet. De setup had ik nog niet eerder doorlopen omdat afgelopen vrijdag de warmtepomp in bedrijf genomen is.

In de setup dubbel gecheckt of het apparaat ID nog steeds hetzelfde is, dat is het geval.
Je zou zeggen dat het verandert is inderdaad.
Ik had dit laatst ook via NodeRed nadat ik de batterij van de Kamstrup had vervangen.
Toen in nodered "gewoon" het deviceID opgevraagd en dit als waarde gebruikt.
Schijnbaar gebruik je sowieso het secondaryID i.p.v. het primary ID, wat ook kan. Bij mij is dat zo simpel als "1". Kun je ook zelf inschieten overigens via modbus wat het adres moet zijn.

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


  • leandres
  • Registratie: Maart 2002
  • Laatst online: 20-03 17:53

leandres

ook nog?

@Robindd Jouw post kwam tegelijk met mijn 'edit'. Als ik hem dus terug zet van 'Inlet' naar 'Outlet', zoals het origineel was dan werkt het weer.
Ik weet niet of dat iets veranderd aan jouw antwoord?

1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN


  • Robindd
  • Registratie: December 2012
  • Laatst online: 09:13
leandres schreef op maandag 13 maart 2023 @ 16:36:
@Robindd Jouw post kwam tegelijk met mijn 'edit'. Als ik hem dus terug zet van 'Inlet' naar 'Outlet', zoals het origineel was dan werkt het weer.
Ik weet niet of dat iets veranderd aan jouw antwoord?
Dat klinkt vreemd. Maar je zou kunnen proberen om het primary ID te gebruiken, en die op te roepen zodat je hem zeker goed hebt.
Hoe benader je de kamstrup? Via NodeRed dan kan ik je wel helpen, maar andere vormen heb ik geen kaas van gegeten.

Je zal in ieder geval het juiste adres zullen moeten vinden en die moeten benaderen. Dat wellicht het adres verandert met een andere setting veranderen is wel vreemd, maar zou je dus zo kunnen overkomen.

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

Pagina: 1 ... 6 7 8 Laatste


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee