
Zo, ik kan mijn multical uitlezen in domoticz
Met dank aan AUijtdehaag voor het script
@Liander:Ja, ik snap dat jullie een probleem hebben, en nee, dat geeft jullie niet het recht ons op een ongeoorloofde manier geld af proberen te troggelen... Dank voor het crediteren van de onterechte factuur, nu de rest van Nederland nog...
Dat lua scriptje heb ik ook zeker interesse in. Zoals je kunt zien is er een kWh meter aanwezig (via een Youless).
Grafana snapshot
En als plaatje:
14.4kWp, Loria Duo 6010, VWTW, DWTW, full-electric, MY RWD
Hierbij het lua script voor Cop.
Ik heb er ook een formule inzetten (als test eigenlijk), die de cop berekend vanuit de flow en deltaT
Die formule wilde ik testen, maar is volgens mij niet erg betrouwbaar (zal je zelf wel zien)
Berekening Cop is niet meer dan afgegeven wattage (kamstrup) / opgenomen wattage (youless)
Is dat niet simpel mogelijk in grafana?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
| ----------------------------------------------------------------------------------------------------------
-- /home/pi/domoticz/scripts/lua/script_device_calculate_cop.lua
----------------------------------------------------------------------------------------------------------
-- This script collects the values below from a m-bus kamstrup and
-- a youless (or other device that shows consumed energy and power from the WP)
--
-- It then calculates the COP by dividing Produced Energy with Consumed Energy and calculated COP by formula
--
----------------------------------------------------------------------------------------------------------
-- Written by AUijtdehaag 2017
----------------------------------------------------------------------------------------------------------
-- V0.1 Initial versions
----------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------
-- Domoticz IDX and names of the needed devices
----------------------------------------------------------------------------------------------------------
-- System settings
local WPConsumedDeviceName = "WP-kWh" -- Device Name of the Consumed energy from WP (Youless)
local WPProducedDeviceName = "WP-Power" -- Device Name of the Produced energy from WP (Kamstrup)
local WPCopIDX = 146 -- IDX of the dummy device that shows COP
local WPCopDeviceName = "WP-Cop" -- Device Name of the dummy device that shows COP
local WPDeltaTDeviceName = "WP-Tdiff" -- Device Name of the DeltaT temperature from WP (Kamstrup)
local WPFlowDeviceName = "WP-Flow" -- Device Name of the Flow from WP (Kamstrup)
local WPCopBerekendIDX = 147 -- IDX of the dummy device that shows COP_Berekend by formula
local WPCopBerekendDeviceName = "WP-Cop-Berekend" -- Device Name of the dummy device that shows COP_Berekend by formula
----------------------------------------------------------------------------------------------------------
-- Require parameters
----------------------------------------------------------------------------------------------------------
-- None
----------------------------------------------------------------------------------------------------------
-- Script parameters
----------------------------------------------------------------------------------------------------------
WPProduced = 0
WPConsumed = 0
WPPowerConsumption = 0
WPEnergyConsumption = 0
WPFlow = 0
WPDeltaT = 0
WPCop = 0
WPCopBerekend = 0
Debug = "YES" -- Turn debugging on ("YES") or off ("NO")
----------------------------------------------------------------------------------------------------------
-- Lua Functions
----------------------------------------------------------------------------------------------------------
-- Update to domoticz
function update(device, id, value, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. value}
end
----------------------------------------------------------------------------------------------------------
-- CommandArray
----------------------------------------------------------------------------------------------------------
commandArray = {}
if devicechanged[WPProducedDeviceName] then
-- Read values and calculate COP and COP_Berekend from formula COP= L/s * 4.2 * DeltaT
WPProduced = tonumber(otherdevices_svalues[WPProducedDeviceName])
WPPowerConsumption, WPEnergyConsumption = otherdevices_svalues[WPConsumedDeviceName]:match("([^;]+);([^;]+)")
WPConsumed = tonumber(WPEnergyConsumption)
WPCop = WPProduced / WPConsumed
WPFlow = tonumber(otherdevices_svalues[WPFlowDeviceName])
WPDeltaT = tonumber(otherdevices_svalues[WPDeltaTDeviceName])
WPCopBerekend = (WPFlow / 3600) * 4.2 * WPDeltaT
if Debug=="YES" then
print("Lua Calculate WPCop: WPproduced " .. WPProduced .. " Watt")
print("Lua Calculate WPCop: WPConsumed " .. WPConsumed .. " Watt")
print("Lua Calculate WPCop: WPFlow " .. WPFlow .. " L/h")
print("Lua Calculate WPCop: WPDeltaT " .. WPDeltaT .. " C")
print("Lua Calculate WPCop: WPCop " .. WPCop .. " W/W")
print("Lua Calculate WPCop: WPCopBerekend " .. WPCopBerekend .. " W/W")
end
-- Create array with values to update to domoticz
local count = 0
if WPCopIDX ~=0 then
count= count +1
update(WPCopDeviceName, WPCopIDX, WPCop, count)
end
if WPCopBerekendIDX ~=0 then
count= count +1
update(WPCopBerekendDeviceName, WPCopBerekendIDX, WPCopBerekend, count)
end
end
return commandArray |
LUA script draait, je COP-formule klopt ook. Ik zie weinig verschil, alleen soms een iets snellere of tragere reactie dan de data van de Kamstrup. Waarschijnlijk vanwege de middeling in de Kamstrup zelf:
http://products.kamstrup.com/download.php?uid=53843dae77ef8
Wat ik me ook nog afvraag, er wordt vermeld dat het regelmatig uitlezen dmv M-Bus een effect heeft op de levensduur van de batterij (normaal 6 jaar). Iemand al ervaring met lege batterijen?Normal mode
In "normal mode" MULTICAL 302 passes through an integration sequence of 32 sec. During this sequence water flow is measured at 4-second intervals. Inlet and outlet temperatures are measured in the middle of the sequence and at the end of the sequence energy and volume are calculated. All display readings are updated at 32-second intervals.
Mijn ervaring met Grafana zover is dat het uitstekend geschikt is voor het visualiseren van de verschillende data. Afzonderlijke signalen kun je wiskundig manipuleren, maar voor onderlinge signalen heb ik dit nog niet gevonden.
Nog een vreemd iets: de Virtual Devices die vanuit LUA scripts gevoed worden kan ik om de een of andere reden niet doorsturen naar InfluxDB en Grafana? Ontbreekt er iets in de LUA scripts, of een andere virtual device gebruiken?
Daarnaast gebruik ik nu ook een LUA script om de kWh elektriciteit van de Loria uit te splitsen naar SWW (geen flow over CV deel) en CV (wel flow over het CV deel).
14.4kWp, Loria Duo 6010, VWTW, DWTW, full-electric, MY RWD
Mij is het al gelukt om draadloos informatie uit de Kamstrup Multical 302 te halen.
Wat heb je nodig:
- Kamstrup Multical 302
- AES code (aan te schaffen via de partij waar je de warmtemeter hebt gekocht)
- Een iM871A-USB stick
- Een Raspberry Pi
- Software voor het het ontvangen/decode van data: https://github.com/weetmuts/wmbusmeters
In de basis werkt de code van weetmuts direct (ondanks dat deze voor een andere Multical is gemaakt)
Een aantal weetjes:
Standaard is de 302 geconfigureerd in de C1 mode (een soort drive by modus)
Updates komen elke 10-15 seconden voorbij.
Nadeel: de informatie schiet nog te kort.
Wat volgens de specificaties wordt gestuurd:
In de T1 modus vindt je meer details:
Die laatste opties is mijn doel om te bereiken.
Daarvoor moet een instelling in de Multical aangepast worden, daar be ik nu mee bezig.
Update volt later
Vervolg van: Copitano in "Elga warmtepomp bij vorst"
Ehhhhhh, wat bedoel je??? Noob@Copitano
AUijtdehaag in "Kamstrup Multical 302 met Pi uitlezen en domoticz"
of een hulplijntje inzetten (poort opengooien)

Loop hier nu ff helemaal vast na: https://domotiga.nl/projects/domotiga/wiki/M-Bus
Nu eerst maar ff
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
$ sudo apt-get install libtool automake
$ wget https://github.com/rscada/libmbus/archive/master.zip
$ unzip master.zip
$ cd libmbus-master
$ autoheader && aclocal && libtoolize --ltdl --copy --force && automake --add-missing --copy && autoconf
$ ./configure
$ make
$ sudo make install
$ sudo ln -s /usr/local/lib/libmbus.so.0 /usr/lib/libmbus.so.0
Heb nu ook de Bautrate aangepast en voilà:
Hij spuugt dit uit:



Daarna

Dit zijn de onderste drie regels van een hele trits. Dat lijkt goed?
@AUijtdehaag
Gelukt

Volgende stap: Database aanmaken
[ Voor 7% gewijzigd door Copitano op 22-10-2018 20:44 ]
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
Domoticz geïnstalleerd. Krijg deze foutmelding. Heb al in de router gekeken of ik daar iets bijzonders kon zien, maar helemaal niets over de poorten.

iemand enig idee?
Hoe zet ik MySQL op de pi? Kan er niets over vinden tot nu.
Morgen maar weer verder
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
@Fr33z
Met sudo service domoticz status krijg ik dit:

Zie wel de port nummers staan maar geen idee hoe ik de output moet interpreteren en hoe nu verder.
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
Zo de dummy's zijn aangemaakt, al begrijp ik nog niet waarom een balk rood kleurt. Morgen verder met het aanpassen van het script [ Voor 16% gewijzigd door Copitano op 02-11-2018 01:41 ]
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
Even een update:

Er is contact, maar moet nog steeds handmatig data over pompen met:
1
| php /home/pi/domoticz/scripts/kamstrup.php |
Nu dus uitvogelen hoe dat automatisch geüpdate kan.
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
Vandaag, na wat oponthoud aan de Duitse grens, 2 x Kamstrup302 Qn1,5 wired m-bus binnen.

Maar ik ben optimistisch en ga er van uit dat ik de instructies voor dummies niet nodig heb
[ Voor 3% gewijzigd door dunklefaser op 06-11-2018 15:55 . Reden: modbus -> m-bus ]
Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights
Yep, ff voor de gein en het oefenen. Als de meter straks in de leiding zit krijgt hij een lichtnet aansluiting. Da's heel simpel uitwisselbaar bij de 602. Heb het printje al liggen. Dan maakt het voor de batterij niets meer uit.Lees je nou dat ding iedere minuut uit?
Reading intervals down to one hour do not influence the specified battery lifetime, whereas reading intervals down to 5 minutes halves the battery lifetime.
[ Voor 62% gewijzigd door Copitano op 06-11-2018 23:48 ]
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
Ik heb deze https://www.circuits.dk/install-grafana-influxdb-raspberry/ instructies gevolgd. Dat gaat goed tot en met hierVanuit Domoticz is het vervolgens kinderlijk eenvoudig om alle meetgegevens naar de database te sturen via Setup > More Options > Data Push > InfluxDB. Port is standaard 8086 voor InfluxDB.

De config file is aangepast.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| ### [http] ### ### Controls how the HTTP endpoints are configured. These are the primary ### mechanism for getting data into and out of InfluxDB. ### [http] # Determines whether HTTP endpoint is enabled. enabled = true # The bind address used by the HTTP service. bind-address = ":8086" # Determines whether user authentication is enabled over HTTP/HTTPS. auth-enabled = false |
Alleen zoals op die website al is aangegeven heeft mijn versie van InfluxDB niet meer het Admin stukje. Als ik dan vervolgens (ja, na opnieuw starten) probeer in te loggen zou ik dit moeten krijgen

Maar ik krijg dit

Heb ik dat eigenlijk nodig?
Wie heeft een oplossing dit probleem (InfluxDB)?
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
http://docs.grafana.org/installation/debian/
Het beste kan je de methode via de debian package "dpkg" gebruiken, de apt-get werkwijze via de repository levert helaas een niet werkende installatie op.
1
2
| sudo wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.3.2_armhf.deb sudo dpkg -i grafana_5.3.2_armhf.deb |
[ Voor 81% gewijzigd door dunklefaser op 10-11-2018 17:21 ]
Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights

Zie ik iets over het hoofd of mis ik iets?
Ahhhhhh opgelost! andere beeldschermresolutie
[ Voor 24% gewijzigd door Copitano op 09-11-2018 20:37 ]
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
Volgende hobbel, maar denk dat ik er bijna ben

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
| pi@raspberrypi:~ $ influx Connected to http://localhost:8086 version 1.6.4 InfluxDB shell version: 1.6.4 > show databases name: databases name ---- _internal Kamstrup > use Kamstrup Using database Kamstrup > show measurements name: measurements name ---- Percentage Temperature > show series key --- Percentage,idx=103,name=Timestamp Percentage,idx=104,name=Volume Percentage,idx=97,name=VolumeFlow Temperature,idx=100,name=Tdiff Temperature,idx=98,name=Taanvoer Temperature,idx=99,name=Tretour > Select * from Temperature name: Temperature time idx name value ---- --- ---- ----- 1541793844025926135 98 Taanvoer 20.4 1541793844025926135 99 Tretour 20.3 1541793844560294280 100 Tdiff 0.1 1541793903587182261 98 Taanvoer 20.4 1541793903587182261 99 Tretour 20.3 1541793904114166202 100 Tdiff 0.1 etc. en > Select * from Percentage name: Percentage time idx name value ---- --- ---- ----- 1541793965252498160 104 Volume 784.81 1541793965252498160 97 VolumeFlow 0 1541793966267793096 103 Timestamp 2018 > |


Als ik nu op de Save & Test knop druk krijg ik een foutmelding, maar vervolgens wel

Vergeet ik hier iets of doe ik iets niet goed? Als ik vervolgens een gebruiker aanmaak (pi) krijg ik dit
Hoe ga ik hier verder?
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
Geen foutmelding meer. Maar het lijkt als of geen data binnen komt. Krijg ook nog geen grafiek voor elkaar


Staat alles verder goed? Is af en toe een beetje trail and error
Gevondenhttps://www.youtube.com/w...1Ujo3wHw9-z5Vo12YLqXRjzg2

Doet ut
[ Voor 25% gewijzigd door Copitano op 10-11-2018 21:24 ]
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
Misschien dat dit helpt?
14.4kWp, Loria Duo 6010, VWTW, DWTW, full-electric, MY RWD

Kijk ff hier voor onderdelen:
230 V netvoeding: https://www.marktplaats.n...abe740c1b&previousPage=lr
M-bus module: https://www.marktplaats.n...abe740c1b&previousPage=lr
In de 602 zijn die heel makkelijk zelf te verwisselen. Bij mij zat er oorspronkelijk een 24 Volt voeding en een LON communicatiemodule in. Onhandig thuis, dus die heb ik verwisseld voor 230 Volt voeding en M-Bus communicatiemodule. Die van mij is een Heat/Cooling meter die moet in de Retourpijp. Voor zover ik kan zien moet die eerste van jou in de Aanvoer. Let ff op! de tweede waar je naar linkt is een voor 15 mm leiding. Die van mij is voor 22 mm.
Ohhh ja, let op wat je precies koopt. De eerste foto is anders dan de andere foto's. Zij wel beide Kamstrup, maar de ene met eigen logo en de ander foto's met logo van Schneider. Sensoren op de foto zijn volgens mij pocket sensoren. ff kijken of dat in je leiding past. Ik heb short direct sensoren. Die passen hier in: https://zaehleronlineshop...satz-fuer-Waermezaehler_1
[ Voor 18% gewijzigd door Copitano op 15-11-2018 23:21 ]
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

Ik wil die gegevens graag inlezen in Domoticz etc.
Iemand enig idee?
[ Voor 3% gewijzigd door Copitano op 16-11-2018 00:23 ]
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
Dit zijn shortdirect sensoren. Die passen in ieder geval in het messing flowdeel en de kogelkraan. Het gaat vooral om de lengte denk ik. Deze zijn 4 cm tot aan de zeskante moer. Mijn messing flowdeel is 130 mm. Maar dat maakt niets uit denk ik. Je moet alleen voldoende rechte leiding hebben. Bij mij is dat inclusief de kogelkranen en knelkoppelingen 30 cm. bij jou zal dat 36 cm zijn omdat je flowdeel 190 mm is als ik het goed zie op de foto waar je een link van stuurde.

[ Voor 41% gewijzigd door Copitano op 17-11-2018 13:12 ]
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
Misschien heb je hier iets aan:De opstelling vraag ik omdat ik me afvraag hoe de M-bus conact maakt met Domoticz?
Met usb? of wifi? Want anders moet ik toch de m-bus bij domoticz hardware in de buurt zetten? Dus ik zat te denken aan de plaatsen war dit alles moet monteren.
Ik denk te snappen dat ik de kamstrup aan de ene kant van mijn huis kan zetten, dan met 2 draadje naar de M-bus to usb adapter aan kan sluiten, in de buurt van Domoticz pi?

Dit is een Kamstrup 602. Gekocht op Marktplaats. Je moet soms wel ff geduld hebben of er iets bruikbaars te koop komt. Deze moet tussen de M-Bus van de Kamstrup en de Pi. Je moet wel ff de Master.zip downloaden en installeren op de Pi. Zoals @AUijtdehaag al aangeeft twee draadjes. Ik heb voorlopig een stukje Cat5 internetkabel gebruikt. De Pi hangt bij mij met een UTP kabeltje aan het thuisnetwerk. De Pi met de USB M-Bus Master gaat in de meterkast drie verdiepingen lager. Tussen de Kamstrup M-Bus en de USB M-Bus Master komt dan uiteraard een veel langere tweedraads verbinding.
Data van de Kamstrup gaat via de USB Master en een .php script naar de Pi. Hoe dat gaat vindt je hier:
AUijtdehaag schreef op maandag 9 oktober 2017 @ 22:04:
Kijk dat is goed nieuws! en flink goedkopere adapter....
Voor domoticz, maak je zelf dummy devices aan en roep je een php script aan via crontab-e, die de dummys vullen.
code:
1 */1 * * * * php /home/pi/domoticz/scripts/kamstrup.php
Zelf ff aanpassen naar jouw gegevens:
kamstrup.php
code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102#!/usr/bin/php <?php //*********************************** //Kamstrup Multical 302 with ID:61 readout and send to mysql database kamstrup.db //*********************************** $output = shell_exec("sudo /usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB0 61"); //persistant usb drv RPi- "m-busadress 61" $xmloutput=substr($output,strpos($output,'<MBusData>')); $xmloutput = new SimpleXMLElement($xmloutput); $counterID=$xmloutput->SlaveInformation->Id; $heatValue=$xmloutput->DataRecord\[1]->Value; $coolValue=$xmloutput->DataRecord\[2]->Value; $ontimeheatValue=$xmloutput->DataRecord\[6]->Value; $ontimecoolValue=$xmloutput->DataRecord\[7]->Value; $tempoutValue=$xmloutput->DataRecord\[8]->Value; $tempreturnValue=$xmloutput->DataRecord\[9]->Value; $tempdiffValue=$xmloutput->DataRecord\[10]->Value; $powerinstValue=$xmloutput->DataRecord\[11]->Value; $powermaxValue=$xmloutput->DataRecord\[12]->Value; $flowinstValue=$xmloutput->DataRecord\[13]->Value; $flowmaxValue=$xmloutput->DataRecord\[14]->Value; $heatenergymonthValue=$xmloutput->DataRecord\[15]->Value; $coolenergymonthValue=$xmloutput->DataRecord\[16]->Value; $DomoticzIP="http://192.168.0.196:8080/"; $IDXTaanvoer=135; $IDXTretour=136; $IDXTdiff=137; $IDXHeat=444; $IDXCool=445; $IDXFlow=138; $IDXPower=139; //in Domoticz: type counter / energy? $IDXHeatMonth=449; //in Domoticz: $IDXCoolMonth=450; //in Domoticz: //Function to send to Domoticz function ud($idx,$nvalue,$svalue,$name=""){ print " --- UPDATE ".$idx." ".$name." ".$nvalue." ".$svalue." "; file_get_contents("http://192.168.0.196:8080/".'json.htm?type=command¶m=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.0.196:8080/".'json.htm?type=command¶m=udevice&idx='.$idx.'&svalue='.$svalue); usleep(250000); } // Taanvoer (K) to Domoticz (kamstrup Reg 8) ud($IDXTaanvoer,0,$tempoutValue/100,0); // Tretour (K) to Domoticz (kamstrup Reg 9) ud($IDXTretour,0,$tempreturnValue/100,0); // Tdiff (K) to Domoticz (kamstrup Reg 10) ud($IDXTdiff,0,$tempdiffValue/100,0); // Instant Heat (kWh) to Domoticz (kamstrup Reg 1) //ud($IDXHeat,0,$heatValue,0); // Instant Cool (kWh) Domoticz (kamstrup Reg 2) //ud($IDXCool,0,$coolValue,0); // Instant flow (ltr/h) to Domoticz (kamstrup Reg 13) ud($IDXFlow,0,$flowinstValue,0); // Instant Power (watt) to Domoticz (kamstrup Reg 11) ud($IDXPower,0,$powerinstValue*100,0); // Total Heat power last month (kWh) to Domoticz (kamstrup Reg 15) //ud($IDXHeatMonth,0,$heatenergymonthValue,0); // Total Cool power last month (kWh) to Domoticz (kamstrup Reg 16) //ud($IDXCoolMonth,0,$coolenergymonthValue*100,0); //************************************* // mysql //************************************* // working, but not further developed with this script //$mysqlhost="localhost"; //$mysqluser="root"; //$mysqlpwd="raspberry"; //$connection=mysql_connect($mysqlhost,$mysqluser,$mysqlpwd) or die ("verbindings fout"); //$mysqldb="kamstrup"; //mysql_select_db($mysqldb,$connection) or die("Konnte die Datenbank nicht waehlen."); //$sql = "INSERT INTO kamstrup (timevalue,fab_nr,energy_heat_inst,energy_cool_inst,onetimeheat,onetimecool,tempout,tempreturn,tempdiff,powerinst,powermax,flowinst,flowmax) VALUES (CURRENT_TIMESTAMP,$counterID,$heatValue,$coolValue,$ontimeheatValue,$ontimecoolValue,$tempoutValue,$tempreturnValue,$tempdiffValue,$powerinstValue,$powermaxValue,$flowinstValue,$flowmaxValue)"; //$result = mysql_query($sql); //if(!$result) //{ // error_log("Query error ($sql): " . mysql_error()); // echo "<p class='error'>Sorry, er was een database error.</p>"; // echo "</body></html>"; // exit; //} ?>
Niet alle commentaren in het script zijn compleet, en sommige dummys gebruik ik nu niet, maar het werkt.
Mocht je de cop willen berekenen heb ik ook nog wel een lua scriptje voor (heb je wel elektrisch opgenomen Watt gegevens voor nodig via domoticz)
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
De meter zit er hier inmiddels een klein weekje tussen.

Het rekenwerk op de wand op ooghoogte. De Pi er voorlopig bovenop aan de netwerkkabel. Moest wel eerst ff netjes een stopcontactje bij maken in het ketelhuis.

En de eerste echte grafanaresultaten.

Door mijn oogharen kijkend scoor ik een COP van ongeveer 4,2 à 4,5. Exact kan ik het nog niet bepalen omdat ik nog niet weet of ik de metingen van mijn electrametertje ook Domoticz in kan krijgen.
Als dat lukt kan ik aan de slag met de berekening van de COP.
Vraag aan @AUijtdehaag. Ik moet wat aanpassingen doen in het kamstrup.php script. Bijvoorbeeld 0,9 Gigajoule wordt nu weergegeven als 90 J(oule). Da's nogal een beetje verschil. Ik wil dat in het script netjes omrekenen naar kWh zodat ik daar later gewoon mee kan rekenen. Ik moet dan het huidige script vervangen. Ik moet dan denk ik het met crontab-e opgestarte lopende .php script eerst stoppen? Hoe stop ik dat netjes?
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
Voor de precisie pieten (uit de Multical 302 Technical Description - Deutsch, p. 38 (21.09.2018)):

De tool is via Kamstrup verkrijgbaar
Nobody is perfeckt - But who wants to be Nobody? - Vrijwillig Energycoach Fiat LUXus! - Some Insights
Script aanpassen is prima gelukt. Kan nu ook de flow en Mass uitlezen. Voorlopig kan ik met downloaden van de data uit Grafana de gegevens via .csv en LibereOffice kopiëren naar excel waar ik ook mijn electraverbruikgegevens in kan downloaden. Nog wel erg bewerkelijk, maar geeft o.a.met de berekening van @dunklefaser als controle wel mooi inzicht in de invloed van defrosts op de dag COP. Die is in mijn Kamstrup 602 niet direct af te lezen. Moet nog ff op zoek naar een andere electrameter die rechtstreeks op de Kamstrup aangesloten kan worden (die heeft daar een mogelijkheid voor

Op 11 december 11 defrosts totaal ca. 2,5 kWh op 66 kWh warmteproductie. Dat valt mij erg mee. COP die dag na aftrek defrosts 3,91 bij gemiddelde buitentemperatuur van 3.6 graden (KNMI station Berkhout op ca. 5 km van hier). Nu nog eens zo'n analyse maken als het echt koud wordt deze week.
Bij de flow is mooi te zien dat deze terugvalt zodra de CV even bij moet springen.
Volgende stap: Ruimte- en buiten- temperatuur/RV sensoren bijplaatsen en uitlezen. @AUijtdehaag Welke gebruik jij daarvoor? Gaat dat met draadjes of kan dat ook draadloos?
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
Pulse Output
The meter provides two pulse outputs. Both pulse outputs are passive type.
Pulse output 1 is configurable. The pulse output can be set to generate pulses to represent total / import/export
kWh or kVarh.
The pulse constant can be set to generate 1 pulse per: 0.001(default) /0.01/0.1/1kWh/kVarh.
Pulse width: 200/100/60ms
Pulse output 2 is non-configurable. It is fixed up with total kWh. The constant is 1000imp/kWh.
https://www.webshop.cedel.nl/1-Fase-kWh-meter-met-Modbus

Wie kan het bevestigen of een tip geven of dat werkt met Youless
Bedankt alvast
#NoGas #Freubelaar #Loria6008DUO #12xSF170/SMA #6xCSUN355/APS #Domoticz
Is hetzelfde spul als in onze webshops, gezien het een eastron account is onder ali ?sgsdebruijn schreef op woensdag 26 december 2018 @ 22:20:
[...]
Is dat Ali-spul ook ok? Geen zin in afwijkingen of brandgevaar, dan betaal ik liever wat extra.
Ik heb de youless aan s0 en aan p1.
In de webinterface klopt het. Weet alleen niet hoe ik beide zichtbaar krijg in domoticz.
s0 wordt geupload naar pvoutput bij mij.
Enig idee wat hier aan de hand kan zijn (onderste grafiek CoolEnergy)?
Het lijkt alsof Domoticz zo nu en dan geen data meer doorstuurd naar Grafana. Als ik vanuit Domoticz log de data download naar .xls dan zie ik wel data in de log (weliswaar met een ritme van 5 minuten) op de tijd dat Grafana een gab geeft in de data. De behuizing van de Pi heb ik er al afgehaald omdat ik veronderstelde dat de temperatuur misschien te hoog op liep, maar dat heeft dus niet geholpen. Ik gebruik de InfluxDB die draait op de Pi. Er is nog genoeg ruimte(ongeveer 50% in gebruik van het kaartje in de Pi.
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
Hier onder zoals het is ingesteld. Dat staat dus zoals jij aangeeft. Het is ook niet voortdurend dat geen data doorgestuurd wordt. Het lijkt willekeurig. soms een paar minuten geen data, soms een uur zoals in de vorige post. Komt een keer per dag à een keer per twee dagen voor. Misschien heeft @AUijtdehaag wel een punt met het kaartje. Daar wordt een keer per minuut data naar weggeschreven in de influxDB. Dat is in de 7 weken dat het hier nu draait dus ruim 70.000 keer schrijven naar het kaartje. Geen idee of dat veel of weinig is voor zo'n kaartje. Ik ga dat eens uitzoeken. Hier staat ongeveer 100.000 keer schrijven. Of dat echt schrijven is of dat herschrijven wordt bedoeld is niet duidelijk. Zou het schrijven zijn dan zou ik dus nu na 7 weken al op 70% zitten. Kan ik mij eigenlijk niet zo goed voorstellen. Het kaartje 16 GB en is uit het starterpakket van de Pi. Zou toch goed moeten zijn denk ik.
[ Voor 20% gewijzigd door Copitano op 05-01-2019 23:24 ]
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
Je moet dan onder apparaten kijken. Daar kun je de idx'en vinden die je moet overnemen in het script.
Bij mij ziet dat er zo uit:


1
2
3
4
5
6
7
8
9
10
11
12
13
| $DomoticzIP="http://192.168.2.36:8080/"; $IDXEnergy=199; //in Domoticz: type custom sensor J $IDXOn_Time=95; //in Domoticz: type custom sensor Uren $IDXVolume=104; //in Domoticz: type custom sensor M^3 $IDXVolumeFlow=97; //in Domoticz: type waterflow $IDXTaanvoer=98; //in Domoticz: type temperature $IDXTretour=99; //in Domoticz: type temperature $IDXTdiff=100; //in Domoticz: type temperature $IDXPower=101; //in Domoticz: type type custom sensor Watt $IDXTimepoint=102; //in Domoticz: type custom sensor Jaar $IDXTimestamp=103; //in Domoticz: type custom sensor Tijd $IDXMass=198; //in Domoticz: type custom sensor kg $IDXCoolEnergy=200; //in Domoticz: type custom sensor J |
[ Voor 70% gewijzigd door Copitano op 20-01-2019 01:37 ]
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
Uiteraard eigen dummy idx invullen...sgsdebruijn schreef op zondag 20 januari 2019 @ 00:25:
Wat betreft het Kamstrupscript nog de volgende vragen, ik kom niet uit de onderstaande IDX'en, @AUijtdehaag heb jij of @Copitano od @Chris_82 nog tips?!
$IDXHeat=; welke dummy moet ik hiervoor aanmaken?
$IDXCool=; welke dummy moet ik hiervoor aanmaken?
$IDXPower=; //in Domoticz: type counter / energy? klopt die counter?
$IDXHeatMonth=; //in Domoticz: en hoe gaat dit in zijn werk, dummy of anders?
$IDXCoolMonth=; //in Domoticz: en hoe gaat dit in zijn werk, dummy of anders?
Alvast bedankt weer
1
2
3
4
5
6
7
8
| $DomoticzIP="http://127.0.0.1:8080/"; $IDXTaanvoer=20; //in Domoticz: type temperature $IDXTretour=21; //in Domoticz: type temperature $IDXTdiff=22; //in Domoticz: type temperature $IDXHeat=26; //in Domoticz: type custom sensor kWh (ik geef hem in watt weer, is niet helemaal juist) $IDXCool=27; //in Domoticz: type custom sensor kWh (ik geef hem in watt weer, is niet helemaal juist) $IDXFlow=23; //in Domoticz: type waterflow $IDXPower=24; //in Domoticz: type verbruik / elektra (geproduceerde energie van kamstrup) |

AUijtdehaag in "Kamstrup Multical 302 met Pi uitlezen en domoticz"
Daarom ben ik op zoek gegaan naar een oplossing en het is mij gelukt om de Kamstrup via ethernet uit te lezen met behulp van deze MBus -> Modbus TCP gateway.
Deze data lees ik nu uit met NodeRED en Home Assistant, maar dit kan uiteraard ook met elk ander pakket wat Modbus TCP ondersteunt (zou ook met Python en Domoticz kunnen, of NodeRED -> MQTT -> Domoticz).
Het had nog wel wat voeten in de aarde omdat de data niet 1 op 1 uit de Modbus registers zijn te lezen, dit heeft nog enige bewerking nodig.

Grote voordeel hiervan is dat je volledig platformonafhankelijk bent (alles wat Modbus TCP leest kan hiermee werken) en dat je alleen een netwerkkabel en voeding in de buurt van je warmtemeter nodig hebt
Mocht er interesse zijn dan wil ik wel het een en ander in een soort tutorial zetten
14.4kWp, Loria Duo 6010, VWTW, DWTW, full-electric, MY RWD
Wat ik heb:
2x S0 meter
- 1 voor de WP
- 1 voor het element in het boilervat.
- In huis draait een rasp+domoticz
- Ik heb nog een 2e rasp+domoticz icm 2xS0 Pulse Counter Module van http://www.smartmeterdashboard.nl
- 1x Multical 302 met volgens mij alleen maar wireless m-bus.
Ik wil graag mijn monitoring weer gaan instellen, dit had ik bij de panasonic mono prima geregeld, alleen bij mijn Hitachi is dit complexer ivm dat deze ook WW doet, daar wordt het element ook voor gebruikt(daarom 2x S0)
Kan ik hiermee een werkende logging opstarten met bvb domoticz?
Hoe weet de meetunit(domoticz?) wat de WP aan het doen is(CV vs WW), zeg maar waar horen de pulsen bij? Ik kan de hitachi wel 2 verschillende outputs laten geven wanneer hij CV of WW doet.
Aangezien ik de opwek van warmwater niet kan meten met een warmtemeter, ben ik tevreden met monitoring van alleen het elek verbruik voor WW.
Dit zijn in principe mijn hoofdvragen.
Echter staat er volgend voorjaar een grote verbouwing op komst. Aangezien we nog geen ventilatievoorziening hebben ben ik voornemens om Inventum Ecolution
Modul-AIR+WTW-D te installeren, deze zal ook weer warmte toevoegen aan de CV, echter komt deze niet in de buurt te hangen van het buffervat en de hitachi. Ik heb er geen moeite mee om een 2e warmtemeter hiervoor aan te schaffen. Echter ben ik bang dat dit geen valide meting meer gaat opleveren. Klopt mijn vermoeden?

De Modul-Air zal zowieso wel een uitdaging zijn aangezien hij uit de ventilatielucht zowel de invoerlucht van buiten mee verwarmd(klassieke wtw+d) en ook nog eens warmte aan de CV kan afstaan.
[ Voor 11% gewijzigd door Appie Heijn op 10-05-2019 15:26 ]
44x Trina 330WP @ SMA 10.00; Hitachi Yutaki 5,5KW AIO 280L
I just quickly passed through the studio. The Multical type is 302 T20 2Q940219
Here is a picture where one can see a cable hanging and not connected (the cable starts from the device itself).
Via https://flows.nodered.org/node/node-red-contrib-m-bus heb ik het inmiddels werkend.
Waarden van de Kamstrup 302 worden naar influxdb gepushed en naar domoticz via mqtt,
Nog niet helemaal af, maar werkt prima.
Ik kan tegelijk ook Mbus Finder kWh meters uitlezen, echter weet ik die M-bus structuur/indeling nog niet zo goed.
[ Voor 26% gewijzigd door AUijtdehaag op 21-10-2019 21:34 ]
Top, ik moet even kijken of ik iets kan fixen.. Value Countertoday van mijn Zwave wallplug geeft gewoon het totale verbruik aan sinds ik deze in gebruik heb..Chris_82 schreef op maandag 9 maart 2020 @ 21:56:
@Copitano , @Daannn1987
Op aanvraag hier mijn kamstrup.php script.
Voor de warmte en koude gebruik ik een virtuele sensor / dummy type 'Elektra (Actueel + Teller)'.
PHP: kamstrup.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 #!/usr/bin/php <?php //*********************************** //Kamstrup Multical 302 with ID:35 readout and send to domoticz dummy variables //*********************************** $output = shell_exec("sudo /usr/local/bin/mbus-serial-request-data -d -b 2400 /dev/ttyUSB0 35"); //persistant usb drv RPi- "m-busadress 35" $xmloutput=substr($output,strpos($output,'<MBusData>')); $xmloutput = new SimpleXMLElement($xmloutput); $counterID=$xmloutput->SlaveInformation->Id; $heatValue=$xmloutput->DataRecord[1]->Value; $coolValue=$xmloutput->DataRecord[2]->Value; $ontimeheatValue=$xmloutput->DataRecord[6]->Value; $ontimecoolValue=$xmloutput->DataRecord[7]->Value; $tempoutValue=$xmloutput->DataRecord[8]->Value; $tempreturnValue=$xmloutput->DataRecord[9]->Value; $tempdiffValue=$xmloutput->DataRecord[10]->Value; $powerinstValue=$xmloutput->DataRecord[11]->Value; $powermaxValue=$xmloutput->DataRecord[12]->Value; $flowinstValue=$xmloutput->DataRecord[13]->Value; $flowmaxValue=$xmloutput->DataRecord[14]->Value; $heatenergymonthValue=$xmloutput->DataRecord[17]->Value; $coolenergymonthValue=$xmloutput->DataRecord[18]->Value; $DomoticzIP="http://192.168.1.30:8080/"; $IDXTaanvoer=31; $IDXTretour=32; $IDXTdiff=33; $IDXFlow=34; $IDXCOP=56; $IDXDay_COP=57; // import data from Domoticz // Watt from WP_E $json_string = file_get_contents("http://192.168.1.30:8080/json.htm?type=devices&rid=2"); $parsed_json = json_decode($json_string, true); $parsed_json = $parsed_json['result'][0]; $WP_watt_E = $parsed_json['Usage']; // kWh from WP_E Today $json_string = file_get_contents("http://192.168.1.30:8080/json.htm?type=devices&rid=2"); $parsed_json = json_decode($json_string, true); $parsed_json = $parsed_json['result'][0]; $WP_kWh_E = $parsed_json['CounterToday']; // kWh from KamstrupToday $json_string = file_get_contents("http://192.168.1.30:8080/json.htm?type=devices&rid=35"); $parsed_json = json_decode($json_string, true); $parsed_json = $parsed_json['result'][0]; $WP_kWh_H = $parsed_json['CounterToday']; //Function to send to Domoticz function ud($idx,$nvalue,$svalue,$name=""){ print " --- UPDATE ".$idx." ".$name." ".$nvalue." ".$svalue." "; file_get_contents("http://192.168.1.30:8080/".'json.htm?type=command¶m=udevice&idx='.$idx.'&nvalue='.$nvalue.'&svalue='.$svalue); usleep(250000); } // Taanvoer (K) to Domoticz (kamstrup Reg 8) ud($IDXTaanvoer,0,$tempoutValue/100,0); // Tretour (K) to Domoticz (kamstrup Reg 9) ud($IDXTretour,0,$tempreturnValue/100,0); // Tdiff (K) to Domoticz (kamstrup Reg 10) ud($IDXTdiff,0,$tempdiffValue/100,0); // Instant flow (ltr/h) to Domoticz (kamstrup Reg 13) ud($IDXFlow,0,$flowinstValue,0); // Instant Heat and Energy (Watt, kWh) to Domoticz $Watt_heat = $powerinstValue*100; $Wh_heat = $heatValue*1000; file_get_contents("http://192.168.1.30:8080/json.htm?type=command¶m=udevice&idx=35&nvalue=0&svalue={$Watt_heat};{$Wh_heat}"); $Watt_cool = -1*$powerinstValue*100; $Wh_cool = $coolValue*1000; file_get_contents("http://192.168.1.30:8080/json.htm?type=command¶m=udevice&idx=36&nvalue=0&svalue={$Watt_cool};{$Wh_cool}"); // Instant COP (Watt/Watt) to Domoticz ud($IDXCOP,0,$powerinstValue*100/$WP_watt_E,0); // Day_COP (kWh/kWh) to Domoticz ud($IDXDay_COP,0,$WP_kWh_H/$WP_kWh_E,0); ?>
Ik vermoed dat dit bij andere meters het dagverbruik aangeeft?
Iig bedankt!
21xDMEGC 440wp (9240) ||| Pana 9j
Heel bijzonder heb zojuist in de instellingen de waarde van de energie RFXMeter/Meter van 1000 naar 100 en weer terug gezet.Chris_82 schreef op maandag 9 maart 2020 @ 22:35:
[...]
Dat heeft er misschien mee te maken dat niet iedere sensor automatisch dagtotalen in het history log van Domoticz plaatst?
Met Youless en mijn virtuele energie sensoren gaat het wel automatisch![]()
Kun je het type sensor van jouw wallplug wijzigen, of een kopie dummy maken?
Hier staat onder counters wat info, maar helemaal duidelijk is het mij niet: https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s
Lijkt wel of dat iets heeft getriggered in de database maar ik zie nu wel netjes Countertoday
Enige wat ik mij kan bedenken is dat ik lang terug de draaischijf in de meterkast monitorde (met een led diode), daarmee waren ±333 pulsen een kwh dus heb ik wel aan deze meters gezeten. Ondertussen draai ik op hele andere hardware en monitor ik die schijf niet meer maar heb nog wel dezelfde database.. wellicht dat daar iets niet helemaal lekker ging
21xDMEGC 440wp (9240) ||| Pana 9j
Zal ook nog even kijken naar de month cop dat zou wel te doen moeten zijn

[ Voor 24% gewijzigd door Daannn1987 op 13-03-2020 08:01 ]
21xDMEGC 440wp (9240) ||| Pana 9j
Fijn dat het werkt, begrijpen van de wel/geen Countertoday doe ik niet ...Daannn1987 schreef op vrijdag 13 maart 2020 @ 07:56:
@Chris_82 Niet veel tijd gehad maar inmiddels werkt het, de produced heat werdt gelogged naar een Custom sensor waar countertoday niet weergegeven werd. Heb voor de test een Elektra (Actueel + Teller) dummy aangemaakt maar daar lukte het ook niet mee (geen countertoday). Uiteindelijk wel met een RFX Counter.. dus dan daar maar mee
Zal ook nog even kijken naar de month cop dat zou wel te doen moeten zijn
[Afbeelding]
[Afbeelding]
Ik heb 2x dummy 'Custom Sensor' aangemaakt met de eenheden 'W/W' voor COP en 'kWh/kWh' voor dCOP. In Grafana zie ik deze als Percentage verschijnen.Copitano schreef op vrijdag 13 maart 2020 @ 18:44:
[...]
Ook @Daannn1987
Je aanpassingen in het php script kan ik volgen, maar heb je nu extra dummy's aangemaakt voor COP en Day_COP?. En welk type dan in de lijst die je krijgt bij Hardware?
Wil dit weekend ook eens een poging wagen maar in Domoticz komt mijn Elektraverbruik binnen via het type "Youless Meter with LAN interface" en de opwek via de Kamstrup als "Dummy (Does nothing, use for virtual switches only )". Een van de devices die daar onder hangt is "Power" en die moet ik hebben denk ik. Die moet ik dan alleen nog omrekenen van GJ naar kWh (einde dag - begin dag/0,0036).
Suggesties welkom
In php kun je gewoon rekenen met * en /, etc, dus de eenheden kun je gelijk omzetten in hetzelfde script.
Heb net nog even zitten spelen voor een dagoverzicht (Pi crash kortgeleden, geen complete back-up
14.4kWp, Loria Duo 6010, VWTW, DWTW, full-electric, MY RWD
Netjes! Dat wit in Grafana is ook niet verkeerdChris_82 schreef op vrijdag 13 maart 2020 @ 22:23:
[...]
Fijn dat het werkt, begrijpen van de wel/geen Countertoday doe ik niet ...
[...]
Ik heb 2x dummy 'Custom Sensor' aangemaakt met de eenheden 'W/W' voor COP en 'kWh/kWh' voor dCOP. In Grafana zie ik deze als Percentage verschijnen.
In php kun je gewoon rekenen met * en /, etc, dus de eenheden kun je gelijk omzetten in hetzelfde script.
Heb net nog even zitten spelen voor een dagoverzicht (Pi crash kortgeleden, geen complete back-up) :
[Afbeelding]
Ondertussen de scripits overigens gemerged, paar minuten werk
Month cop gaat hem niet worden denk ik.. de Zwave is soms wat instabiel waardoor er soms foutieve waardes worden doorgegooid righting domoticz
Tja backups zitten wel goed hier.. wel van geleerd in de afgelopen jaren.
Hoop geneuzel bij een outage.. Sowieso met een Azure tinkerboard en EMMC opslag is alles een stuk stabieler dan een PI met sd kaartje
Ook even een tbuiten vs cop gemaakt
[ Voor 12% gewijzigd door Daannn1987 op 13-03-2020 22:43 ]
21xDMEGC 440wp (9240) ||| Pana 9j
Dat is inmiddels gelukt.Daannn1987 schreef op zaterdag 14 maart 2020 @ 13:33:
[...]
Nee volgens mij niet gewoon een dummy aanmaken > counter

Dit wil nog niet echt lukken. Ik heb dit:http://192.168.x.xx:80....htm?type=devices&rid=xxxDe link moet je wel naar jouw IP en IDX aanpassen anders werkt hij idd niet
Dat vul ik in op de adresbalk in chromium op de Pi. Ik heb ook al geprobeerd:
http://192.168.x.xx:8080....htm?type=devices&rid=xxx
http://192.168.x.xx:8080..htm?type=devices&rid=xxx
http://192.168.x.xx:8080.htm?type=devices&rid=xxx
De x'jes is aangepast voor mijn situatie de xxx achter rid is de IDX van Power die via het script van de Kamstrup wordt ingelezen. De browser duikt dan het internet op Met DuckDuckGo
Wat doe ik fout?
EDIT: Inmiddels krijg ik er wel wat uit met: http://192.168.x.xx:8080/json.htm?type=devices&rid=xxx
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
| {
"ActTime" : 1584205875,
"AstrTwilightEnd" : "20:38",
"AstrTwilightStart" : "04:60",
"CivTwilightEnd" : "19:17",
"CivTwilightStart" : "06:21",
"DayLength" : "11:48",
"NautTwilightEnd" : "19:57",
"NautTwilightStart" : "05:41",
"ServerTime" : "2020-03-14 18:11:15",
"SunAtSouth" : "12:49",
"Sunrise" : "06:55",
"Sunset" : "18:43",
"app_version" : "4.10717",
"result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"CustomImage" : 0,
"Data" : "6.662e+10 J",
"Description" : "",
"Favorite" : 0,
"HardwareID" : 3,
"HardwareName" : "Kamstrup 602",
"HardwareType" : "Dummy (Does nothing, use for virtual switches only)",
"HardwareTypeVal" : 15,
"HaveTimeout" : false,
"ID" : "00082199",
"Image" : "Custom",
"LastUpdate" : "2020-03-14 18:11:03",
"Name" : "Energy",
"Notifications" : "false",
"PlanID" : "19",
"PlanIDs" : [ 19 ],
"Protected" : false,
"SensorType" : 1,
"SensorUnit" : "J",
"ShowNotifications" : true,
"SignalLevel" : "-",
"SubType" : "Custom Sensor",
"Timers" : "false",
"Type" : "General",
"TypeImg" : "Custom",
"Unit" : 1,
"Used" : 1,
"XOffset" : "783",
"YOffset" : "135",
"idx" : "199"
}
],
"status" : "OK",
"title" : "Devices"
} |
Staat van alles in, maar geen CounterToday. Denk dat ik toch de verkeerde te pakken heb en Energy van de Kamstrup moet hebben.
En de boer, hij ploegde voort
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
| {
"ActTime" : 1584207220,
"AstrTwilightEnd" : "20:38",
"AstrTwilightStart" : "04:60",
"CivTwilightEnd" : "19:17",
"CivTwilightStart" : "06:21",
"DayLength" : "11:48",
"NautTwilightEnd" : "19:57",
"NautTwilightStart" : "05:41",
"ServerTime" : "2020-03-14 18:33:40",
"SunAtSouth" : "12:49",
"Sunrise" : "06:55",
"Sunset" : "18:43",
"app_version" : "4.10717",
"result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 255,
"Counter" : "1498.684",
"CounterToday" : "9.473 kWh",
"CustomImage" : 0,
"Data" : "1498.684 kWh 47 Watt",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 25,
"HardwareName" : "Elektra WP",
"HardwareType" : "YouLess Meter with LAN interface",
"HardwareTypeVal" : 6,
"HaveTimeout" : false,
"ID" : "80",
"LastUpdate" : "2020-03-14 18:33:36",
"Name" : "Elektra WP",
"Notifications" : "false",
"PlanID" : "19",
"PlanIDs" : [ 19 ],
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : "-",
"SubType" : "YouLess counter",
"SwitchTypeVal" : 0,
"Timers" : "false",
"Type" : "YouLess Meter",
"TypeImg" : "counter",
"Unit" : 1,
"Usage" : "47 Watt",
"Used" : 1,
"ValueQuantity" : "",
"ValueUnits" : "",
"XOffset" : "635",
"YOffset" : "135",
"idx" : "305"
}
],
"status" : "OK",
"title" : "Devices"
} |
[ Voor 75% gewijzigd door Copitano op 14-03-2020 18:42 ]
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
Yep, lijkt inderdaad goed te gaan. Was met de Watermeter destijds ook kan ik mij herinneren. Alles staat nu netjes op nul. Zal wel tot een uur of een duren voor de eerste echte waarde verschijnt.Daannn1987 schreef op zondag 15 maart 2020 @ 00:12:
[...]
Yes je hebt vandaag de waarde gevuld met die totaal.. dus dat is de countertoday. Morgen zou het goed moeten gaan
EDIT:
Inmiddels 10 over een en de eerst stand staat op het bord. Alleen nogal grof afgerond op een heel getal.
/f/image/YsN62ufcr159UUkqUxeNGXCu.jpg?f=fotoalbum_large)
/f/image/XTWeZUVUIctF5gz2WHiWKiuC.jpg?f=fotoalbum_large)
0,01GJ = 2,77 kWh. Dat wordt afgerond op 2 kWh en daar wordt ook mee gerekend. Dus een heel vertekende uitkomst. Is er een manier om de uitkomst met twee decimalen op het bord te krijgen?
@AUijtdehaag @Chris_82 Misschien ook een suggestie?
[ Voor 50% gewijzigd door Copitano op 15-03-2020 01:22 ]
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
Nu nog een trucje bedenken om het maandverbruik van de stroom ergens uit te trekken. Ergens in domoticz wordt het wel berekend/bijgehouden: /f/image/8yHlBhAC9CvBerQg2movEYIf.jpg?f=fotoalbum_large)
Uit de Youless gaat denk ik niet. Die geeft alleen een actueel vermogen en het dagverbruik. Dus of vinden waar domoticz het opslaat of in grafana met een juiste query
Als dit allemaal gaat lukken kan ook nog rekening gehouden worden met defrosts (CoolEnergy) bij het berekenen van de netto: Energy-CoolEnergy/Elektra WP COP
Wie denkt even mee hoe ik van Elektra WP ook de beginstand van de maand kan inzetten voor de berekening?
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
Nu nog de elektra. 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
:strip_exif()/f/image/qjMYqRSl2BbbQ0yCnJuW4NPp.jpg?f=fotoalbum_large)
Bijna alles is nu binnen.
Alleen nog wachten op de koppelkraan en dan kan de Kamstrup gemonteerd worden.
Op de foto mss net niet goed te zien: de MBus USB adapter heeft 2 x een M+ en M- aansluiting.
De 2 draadjes die van de Kamstrup af komen zijn blauw en bruin.
Maakt het nog uit of blauw/bruin aan M+/M- wordt aangesloten?
Volgens de handleiding is hij 'polaritätsunabhängig' (en galvanisch gescheiden)
dus zou het niet uit moeten maken.
Anne.
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
:strip_exif()/f/image/GlpwHuCLIT6lbOq400v2zUVL.jpg?f=fotoalbum_large)
Wat enorm geholpen heeft is dit scriptje. En als je het maandtotaal van de Kamstrup weet en het maandtotaal van je kWh-meter heb je met een simpel script ook je mCOP. Jammer alleen dat het niet lukte om de waarde die netjes als 'Data' van de managed counter komt door te sturen naar Influx, althans niet direct. Heb daar een costum sensor voor aan gemaakt waar in de waarde uit de managed censor via een dzVents scriptje in kopieer en die dan maar door stuur. Het kan vast allemaal veel simpeler, maar dit werkt in ieder geval
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
Dat was hem wrs
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
https://zaehleronlineshop...-Bus-and-12-years-Battery
302T202Q9A02BB
Deze staat niet als koude meter (laatste 2= warmtemeter, 3=warmte/koudemeter), maar als je hem uitleest via MBus (= geen modbus), kan je die koude gegevens wel gewoon uitlezen, enkel niet op het display.
[ Voor 42% gewijzigd door AUijtdehaag op 26-07-2020 14:09 ]
:fill(white):strip_exif()/f/image/mwuISB02y62G71XhWxppb7p1.png?f=user_large)
:fill(white):strip_exif()/f/image/Uhv3HUr1WfQm025lvtDPGA7f.png?f=user_large)
De vraag is of dat die 20,= prijs verschil waard is.
Kwa aansluiting kun je de eigenaar van zaehleronlineshop gewoon vragen, op basis van wat voor leidingwerk en aansluitingen je nu al hebt. Hij heeft mij tot nu toe steeds netjes geantwoord (duurt soms wel even) en geholpen.
Overigens zal als alles mee zit morgen, eindelijk na een lange aanloop, de kamstrup ook bij mij worden geïnstalleerd
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
:fill(white):strip_exif()/f/image/PwolnUcJvNFYoNKfFqdUt8Jg.png?f=user_large)
Dit is mijn huidige meten == weten opzet.
Helaas komt de Kamstrup er vandaag toch nog niet bij.
Nog een weekje wachten.
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
Omdat ik toch wat ongeduldig was, en Kamstrup niet reageerde, heb ik toch maar het stukje plastic aan de achterkant weggebroken. Daar achter zaten idd 2 contactjes die ik heb verbondenDaannn1987 schreef op woensdag 16 september 2020 @ 15:34:
[...] Heb het ook geprobeerd omdat IN -> OUT was en visa versa.. uiteindelijk de sensoren omgedraaid omdat ik met geen mogelijkheid de kamstrup kon resetten.
en toen kon ik alsnog in het 3 - Setup menu terecht komen en instellen dat de meter in de aanvoerleiding zit.
:fill(white):strip_exif()/f/image/kX1MwK0g5jd66LauzbXkqb2A.png?f=user_large)
Nu binnenkort nog eens tijd zien te vinden om de MBus aan te sluiten
(teveel projecten, te weinig tijd
Anne.
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
Ik heb deze
https://zaehleronlineshop...ler-Kamstrup-MultiCal-302
Met deze set kranen
https://zaehleronlineshop...satz-fuer-Waermezaehler_1
Ik vond de maatvoering wat verwarrend, maar bij een 2,5Qn versie hoort een 1" kranen set.
De Kamstrup (in de koudwaterleiding)
:strip_exif()/f/image/wSu0Ly5iVMJ92wwsKy0PZKJI.jpg?f=fotoalbum_large)
De dompelkraan met externe sensor (in de warmwaterleiding)
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/M57udzF2jqKry4oidjeKJi8F.jpg?f=user_large)
Anne.
PS Je mag natuurlijk altijd ff komen kijken
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
En inderdaad heb ik achteraf de instelling nog moeten aanpassen.
(Zie verhaal hierboven over wegbreken tabje aan de achterkant van de Kamstrup en het kortsluiten van 2 contacten om weer in het setup menu te kunnen komen)
Op deze foto zie je de temperatuur sensor die in de buis van de Kamstrup zit.
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
Ik vind de uitleg in de handleiding dus enigzins verwarrend.dunklefaser schreef op donderdag 22 oktober 2020 @ 11:10:
[...]
Deze laatste veronderstelling klopt iig niet voor de fabrieksconfiguratie:
code:
1 2 3 4 5 python3.5 kam59.py|egrep -f kam-select_egrep 8 2504 Flow temperature (1e-2 deg C) 9 1905 Return temperature (1e-2 deg C) 10 599 Temperature Difference (1e-2 deg C) 13 0 Volume flow (m m^3/h)
De aanvoertemperatuur Ta (=Flow temperature - aparte sensor in kogelkraan) is hoger dan de retourtemperatuur (Return temperature - temperatuursensor in de meetbuis), zoals bij een "Wärmemengenzähler" gebruikelijk
en het verschil is positief (Ta - Tr).
:fill(white):strip_exif()/f/image/mbufJOSS986KoMCFwOOG2mg2.png?f=user_large)
Mijn 'body' zit in de koudwater leiding naar de zonneboiler
De extra sensor in de waterwater leiding van de zonneboiler
Ik heb hem nu ingesteld zoals in het plaatje 'INlet' wordt genoemd.
Standaard ston hij in 'OUTlet'.
Ik heb de boel intussen aan de praat en krijg deze waardes:
{"counterID":{"0":"67979814"},"heatValue":{"0":"0"},"coolValue":{"0":"290"},"ontimeheatValue":{"0":"8022"},"ontimecoolValue":{"0":"1848"},"tempoutValue":22.68,"tempreturnValue":23.38,"tempdiffValue":-0.7,"powerinstValue":0,"powermaxValue":{"0":"-12"},"flowinstValue":{"0":"0"},"flowmaxValue":{"0":"79"},"heatenergymonthValue":{"0":"0"},"coolenergymonthValue":{"0":"280"}}
tempdiffValue is dus negatief.
Waardoor ik het idee heb dat ik de instelling toch weer terug op 'OUTlet' moet zetten?
Anne.
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
Vanmorgen tijdens het douchen waren dit de waardes
{"counterID":{"0":"67979814"},"heatValue":{"0":"0"},"coolValue":{"0":"291"},"ontimeheatValue":{"0":"8038"},"ontimecoolValue":{"0":"1864"},"tempoutValue":13.92,"tempreturnValue":25.69,"tempdiffValue":-11.77,"powerinstValue":-3200,"powermaxValue":{"0":"-12"},"flowinstValue":{"0":"236"},"flowmaxValue":{"0":"79"},"heatenergymonthValue":{"0":"0"},"coolenergymonthValue":{"0":"280"}}
Lijtk er dus idd op dat ik de instelling weer terug moet zetten naar 'OUTlet'.
Ook zonder de zon en bij 7C buiten temp heeft de zonneboiler trouwens nog rond de 30C aan water voorraad.
/f/image/juDXOpXW0cgoVbKIMWBEu33h.png?f=fotoalbum_large)
Ja de pijl op de 'body' staat idd in de stroomrichting van het water.
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
BIj mij zit de kabel voor de M-bus links (zie rode cirkel), die zie ik op de ebay foto's niet zitten.
Desondanks wel een mooie prijs voor een 302
Anne (m) - Verbruik: 9500->6100->2765kWh/j - 3000->1970->1160m3/j - 210->66lL/j - Aquasol LB 90 2,3m2 3,8GJ - Allmess MK MaXX - 55m2 Groendak - Dak&Vloer isolatie - Elga - 3600Wp - Vrijwillig 'Energiecoach' DH - https://www.youtube.com/watch?v=j__pAGDBdbU
Ik heb inmiddels antwoord gehad van Techem maar er zit een custom RF link in. Het type nummer is ook:AnneTweaks schreef op donderdag 14 januari 2021 @ 11:44:
Waarschijnlijk niet.
BIj mij zit de kabel voor de M-bus links (zie rode cirkel), die zie ik op de ebay foto's niet zitten.
Desondanks wel een mooie prijs voor een 302
[Afbeelding]
T 58 2 Q9 A0 2 TC
Dus 58 hier in het type geeft inderdaad aan dat er geen volwaardige MBUS op zit.
Is node-red-contrib-m-bus geinstalleerd in node-red?
Als je de flow erin hebt staan, dan klik je op de m-bus controller
Daar vul je de client in en klikt op het potloodje
Daar kun je dan de usb poort invullen.
Welke flow gebruik je? Die van mij of van @Wolly ?
De dag cop log ik naar een General Custom sensor (ander type meter dus).Andrehj schreef op zaterdag 6 november 2021 @ 11:47:
[...]
Beste @Daannn1987 , hierboven beschrijf je om een RFXMeter counter aan te maken voor de dagCOP.
Dat had ik ook gedaan, en die net als jij hierboven elke minuut mee laten lopen in mijn kamstrup script. Echter, dan kloppen in de dagoverzichten van de RFX meter counter de dag cop's niet, omdat hij dan een soort gemiddelde of een piekwaarde pakt. En die kloppen beide niet, want de echte dagCOP voor de historie-data kun je pas net voor middernacht (om 23:59) uitrekenen.
Dus ik heb een apart scriptje gemaakt wat alleen om 23:59 draait en dan de dagCOP bepaalt en die in een RFXmeter counter pusht.
Probleem is dat dat ook fout gaat met de historie, omdat een RFX meter alleen op mag lopen. Als ik dus op donderdag een cop van 6 haal, en op vrijdag eentje van 7, wordt dat in de history weergegeven als 1.
Dit werkt dus ook niet.
Hoe heb jij dat opgelost?
Maar eigenlijk kijk ik hier niet (meer) na.
Middels HTTP Push, push ik alle data naar influxdb wat ik weer inzichtelijk heb maak grafana.
In grafana bereken ik de COP middels transforms (opwek/verbruik), dan heb ik een heel mooi tabbelletje
Daar kan ik zelfs de defrosts nog inzichtelijk maken en wat dat doet met de COP.
Alleen daylight savingtime verprutst het een klein beetje maar daar kan ik niet wakker van liggen.
21xDMEGC 440wp (9240) ||| Pana 9j
Zaten er dan twee batterijen bij jou in vanaf fabriek? Indien dat het geval is dan heeft regelmatig pollen toch best wel invloed.AUijtdehaag schreef op vrijdag 4 maart 2022 @ 15:29:
Eindelijk....
Gelukt.....kost even wat moeite maar je moet echt het deksel doordrukken achter de lipjes.
En weinig houvast aan de behuizing, daarom is het zo lastig.
Er zitten 2 van deze in:
https://www.batterijservi...17500-a-size-3-6volt.html
(parallel aan elkaar)
Meteen maar besteld...
Edit: 2 minuten na de bestelling verzonden met brievenbus pakje.. wtf

Bron
[ Voor 13% gewijzigd door Wolly op 04-03-2022 15:37 ]
Yep, heb dat somehow gewoon via hun website gedaan gekregen.FrancD schreef op woensdag 23 maart 2022 @ 12:04:
[...]
@rubdos Heb jij de key gekregen van Kamstrup? En werkt het nu?
Nee deze
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/B12zdR22ApAZI6EhW2VvefAi.jpg?f=user_large)
Heb dit als node-red - configuratie - opties erbij staan
1
2
3
4
5
6
7
| npm_packages: - node-red-contrib-m-bus ssl: false system_packages: - make - g++ - linux-headers |
En dat gaat fout met V13
[ Voor 30% gewijzigd door AUijtdehaag op 16-08-2022 20:18 ]
Mogelijk is 't toch handig e.e.a te verduidelijken in de openingspost daar 't me heel wat hoofdbrekers en tijd heeft gekost. Uiteindelijk is 't natuurlijk niet al te ingewikkeld:
Hardware:
- Kamstrup Multical 303 (303WA02DB) *
- USB to mBUS Master
- Voor de montage van de Multical 303 een MID installation kit 1" with adapter
- Raspberry PI (4B) (was reeds in bezit)
Hardware Installatie (alleen 't mBUS deel):
- de 2 draden van de Multical 303 mBUS interface aansluiten op de USB to mBUS adapter;
- USB to mBUS adapter aansluiten op de Raspberry PI
- Door op de bedienknop op de Multical 303 te drukken zie je data op 't LCD scherm verschijnen. Hij werkt dan
Software:
• Installeer node-red op de Raspberri PI (indien nog niet aanwezig);
• installeer binnen node-red (Settings->Pallette->Install) de module node-red-contrib-m-bus:
[/li]• Importeer de node-red flow van deze post van @AUijtdehaag
• pas in deze flow in node "Read ID 1" 't address aan. Dit moet worden 't 8 cijferige serienummer (staat onder 't LCD scherm) aangevuld met 2D2C4004. Dus iets als 828125132D2C4004 (Waar deze 2D2C4004 vandaankomt: geen idee, ik vond 't in de flow van @AUijtdehaag);
• pas in de node Kamstrup (of M-Bus Controller) de (serial) port aan. Als je op 't vergrootglas klikt krijg je de seriële poorten te zien. Door dit te doen met en zonder de adapter aangesloten zie je welke van de adapter is :
/f/image/ZhNdqnktPqzZegwMQXpA07NC.png?f=fotoalbum_large)
• pas in de kamstrup MQTT output node 't adres van de MQTT server aan naar 't adres van je eigen MQTT server.
* Specificatie 303WA02DB en enkele tips:
- Kamstrup Multical 303 documentatie
- de Kamstrup heeft 3 verschillende loops (USER, TECH en SETUP) die je door de bedienknop een aantal seconden ingedrukt kan houden kan selecteren. Zie hiervoor de documentatie!
- 't SETUP menu is niet meer zonder " een zegel" achterop te verbreken bereikbaar nadat je de meter in bedrijf hebt genomen (er water doorheen is gestroomd). 't handigste is dus eventuele SETUP wijzigingen vooraf te doen.
- De gelinkte webshop levert de meter geconfigureerd voor installatie van de flowsensor in de return naar de warmtepomp (outlet), daarom is ook t2 reeds gemonteerd bij de flowsensor. Je kan de configuratie wijzigen naar aanvoer van de warmtepomp, je moet daarvoor in het SETUP menu parmeter 3-007 wijzigen en dan ook t1 monteren bij de flowsensor.
/f/image/89P8lusOnvg6W7rLxUDsWW8N.png?f=fotoalbum_large)
P.S. Deze informatie is geschreven zonder dat ik de Multical in mijn installatie heb gemonteerd. Mocht ik nieuwe zaken ontdekken of nieuwe ervaringen na installatie dan zal ik deze post aanpassen.
Update 27 december: Inmiddels draait m'n WP ruim 2 weken met de Kamstrup in de installatie. Ik ben geen gekke dingen tegengekomen tijdens het gebruik tot nu toe. Omdat mijn Kamstrup wel ontrokken vermogen meet maar dit niet vastlegt in totaal onttrokken energie heb wel een pleister toegevoegd in de NodeRed function (variabele coolenergy) om ook de onttrokken energie (tijdens Defrosts) te meten uitgaande van 't gegeven dat ik 1 x per minuut de waarden uitlees:
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
| var TotalHeatEnergy = msg.payload.DataRecord[0].Value;
var FlowTemperature = msg.payload.DataRecord[6].Value /100;
var ReturnTemperature = msg.payload.DataRecord[7].Value /100;
var DiffTemperature = msg.payload.DataRecord[8].Value /100;
var PowerValue = msg.payload.DataRecord[9].Value *100;
var PowerMaxValue = msg.payload.DataRecord[10].Value * 100;
var FlowValue = msg.payload.DataRecord[11].Value;
var FlowMaxValue = msg.payload.DataRecord[12].Value;
var FlowValuelm = Number((FlowValue/60).toFixed(2));
var TotalCoolEnergy = msg.payload.DataRecord[14].Value;
var CoolEnergy = 0;
if (msg.payload.DataRecord[9].Value < 0) {
CoolEnergy = Number((msg.payload.DataRecord[9].Value * -100/60).toFixed(2));
}
let _msg = {
payload: []
};
_msg.payload=
{
kamstrup: {
totalheatenergy : TotalHeatEnergy,
totalcoolenergy : TotalCoolEnergy,
flowtemperature : FlowTemperature,
returntemperature : ReturnTemperature,
difftemperature : DiffTemperature,
powervalue : PowerValue,
powermaxvalue : PowerMaxValue,
flowvalue : FlowValue,
flowvaluelm : FlowValuelm,
flowmaxvalue : FlowMaxValue,
coolenergy : CoolEnergy,
},
}
return _msg; |
[ Voor 37% gewijzigd door blb4 op 27-12-2022 19:53 ]
Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+ST GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23
Om nog even duiding te geven voor een ieder die op zoek is naar de AES code van zijn Kamstrup device.rubdos schreef op donderdag 26 mei 2022 @ 23:35:
[...]
Echt geen idee meer, te lang geleden inmiddels. Somehow is het me gelukt met enkel gegevens die op het toestelletje staan, iirc.
De encryption key is opvraagbaar via https://eks.kamstrup.com/Devices, wel even een account aanmaken op hun website.
Vervolgens klik je rechtsboven op 'Register'
:fill(white):strip_exif()/f/image/o3ZVJYI0KPP0wLyoLSpEg2i4.png?f=user_large)
Als device serial geef je dus in: KAM<SERIAL_VAN_JE_KAMSTRUP> de device code maakt niet uit.
Mocht tijdens het toevoegen een foutmelding krijgen als:
Dan is het device mogelijk per abuis elders geregistreerd, bijvoorbeeld door de verkopende partij. In dat geval kan je middels een support ticket bij Kamstrup een bijwijsstuk aanleveren dat jij de rechthebbende bent van het device in kwestie en voeren zij een transfer uit. Dit duurt meestal minder dan 24 uur.
Om nu de AES code te krijgen klik je het device in kwestie aan en klik je rechtsboven op Download. Je moet het bestand in XML formaat downloaden. Wanneer je deze in iets als notepad++ of vscode opent is de code die je nodig hebt te vinden tussen <DEK> XXXXXXXXXXXXXXX </DEK>
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN
instellingen - add-ons - node-red - configuratie - drie puntjes - yaml
[ Voor 21% gewijzigd door AUijtdehaag op 01-12-2022 04:43 ]
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN
Maar bij Zaehleronlineshop kan ik m'n voorkeursmodel NIET bestellen/reserveren, hoewel die eind januari weer beschikbaar zou moeten zijn volgens hun ('k heb nog geen directe mail naar hun verzonden).
Zijn ze nog elders te krijgen? Via Google lijkt de Zaehler groep het enige verkoop kanaal te zijn. Althans als ik via eBay of andere kanalen zoek kom ik ook weer bij Zaehler uit.
Ik zou natuurlijk wel alvast zo'n inbouwset met kogelkranen kunnen monteren, dan kan zo'n Kamstrup er later makkelijk tussengezet worden.
:fill(white):strip_exif()/f/image/y48p061qmTqTkqQZrdyL7bMJ.png?f=user_large)
Is dat verstandig?
Gasloos sinds feb23, WP: Pana Mono 9j, WPB: Auer Air 200l, PV: 14x290 Wp
Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+ST GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23
Ik heb inmiddels ook m'n nooelec dongle binnen, en bezig met aan de praat te krijgen. Super dat je dit hebt opgeschreven!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 voor bovenstaande een scriptje gemaakt voor het gemak:
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:
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:
/f/image/fKC73DBJ05eYd5UfTI0xq0Sn.png?f=fotoalbum_large)
Hij lijkt hem niet te herkennen, en ik heb een idee waar ik de key file van de Kamstrup moet laten.
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?
/f/image/GMCRYW5Vlixn5UXFHSnvh1w5.png?f=fotoalbum_large)
@AUijtdehaag Alles draait op een pi4, iets blokkeert de poorten lijkt het wel
Zo moeilijk kan het toch zijn
[ Voor 3% gewijzigd door Ramon_1984 op 15-01-2023 21:06 ]
Je kan diezelfde regel ook vinden in HA onder hardware
:strip_exif()/f/image/yl7JonopnJCe11QuGnxszwDs.jpg?f=fotoalbum_large)
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
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 ]
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.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?
/f/image/3HU4yuSnaCpohJsWTqZqSKIR.png?f=fotoalbum_large)
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 J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+ST GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23
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)
/f/image/YxarpiSHeOQlq93lffRGpvX8.png?f=fotoalbum_large)
@AUijtdehaag
Adapter in een andere usb poort, pi opnieuw opstarten en er is een verbinding
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!
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:
1
| tail -f /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:
1
| rtlwmbus:868.85M:t1 |
Configureer eerst wmbusmeters verder, zodat je de jusite driver pakt en kunt loggen
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:
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:
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
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: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:
1
| curl "http://localhost:8080/json.htm?type=command¶m=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:
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
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.py1
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¶m=udevice&idx=1&nvalue=0&svalue=" + str(T1)) r = requests.get("http://localhost:8080/json.htm?type=command¶m=udevice&idx=2&nvalue=0&svalue=" + str(T2)) r = requests.get("http://localhost:8080/json.htm?type=command¶m=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¶m=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¶m=udevice&idx=5&nvalue=0&svalue=%.1f" % (POWER)) # Totale opbrengst ENERGY=float(ENERGY)*1000 r = requests.get("http://localhost:8080/json.htm?type=command¶m=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:
1
| chmod a+x /home/pi/scripts/kamstrup_updates.py |
Pas vervolgens de /etc/wmbusmeters.d/kamstrup aan naar:
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:
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:
1
| sudo systemctl restart wmbusmeters |
Resultaat
Als alles goed is gegaan, dan zie je in Domoticz de volgende meters:/f/image/NwzMNTsgGFNyQuxoOmfmhCXk.png?f=fotoalbum_large)
/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
De config die ik nu draai wordt dus: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)
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:- kWh meter toevoegen (S0 pulse teller)
- Op basis van opgenomen vermogen en geleverd vermogen, de live-COP weergeven
- Een relais mee laten schakelen met m'n driewegklep, om CV en SWW vermogen gescheiden te kunnen loggen
- Kijken hoe de rtl_wmbus zuiniger kan, verbruikt nu constant 50% CPU
[ Voor 8% gewijzigd door Zwartoog op 08-02-2023 16:08 ]
Dit is goed te zien in vergelijking met de DS18B20 sensoren die er ook nog aanhangen:
/f/image/zAJ5WgQZPsrjEr2rX78O7pyS.png?f=fotoalbum_large)
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:
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.
Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp
Helaas krijg ik geen verbinding met de kamstrup.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)
Ben er zeker van dat de usb goed is ingesteld.
maar krijg iedere keer de melding:
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.
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.
/f/image/59OTHvcsrfpPP7VK5M0mM5HS.png?f=fotoalbum_large)
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.
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:
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 -
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:
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.
/f/image/2AiKv7btGO02KJsSGTVYsUVW.png?f=fotoalbum_large)
Panasonic WH-MDC09J3E5, Atlantic Explorer V4 270C, 57x PV 23115 Wp
ja nu ook data in MQTTAUijtdehaag 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
en in het juiste format gelijk nu
:fill(white):strip_exif()/f/image/MJPIgzhFliErUXpo5aKEjL08.png?f=user_large)
Dan plaats je dit in configuration.yaml
1
2
| homeassistant: packages: !include_dir_named packages |
en in /config/packages (aanmaken) plaats je kamstrup.yaml
neem aan dan zo toch??
1
2
| homeassistant: packages: /config/packages |
en in bovenstaande lokatie dan deze yaml?
Zijn onderstaande aanpassingen dan correct?
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 -
heb het stappen plan doorlopen, echter krijg ik nog geen waardes in de sensor??
data komt netjes binnen via MQTT
/f/image/oJNkDQ6354np5FOLTvhJFchg.png?f=fotoalbum_large)
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??
:fill(white):strip_exif()/f/image/RyerlIdaKzelNPi1GZJBwbT7.png?f=user_large)
dit is mijn kamstrup yaml file
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:
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 -
DankAUijtdehaag 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 }}"
dat natuurlijk weer net over het hoofd gezien.
:fill(white):strip_exif()/f/image/syJUNfczFRAttUnPkBKJ0dBF.png?f=user_large)
@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 -
gelijk weer ff zitten pielen en heb nu inderdaad ook het overzicht in m3 gas.
:fill(white):strip_exif()/f/image/B6eKmrjyXXYh2T04i8K86umo.png?f=user_large)
maar kan hem niet toevoegen aan het ernergy dashboard.
/f/image/Cpn51T0RHwwnmnhY0px71tPz.png?f=fotoalbum_large)
(zie trouwen ook Gj eenheden worden ondersteunt).
hoe krijg ik deze sensor hierin beschikbaar?
- leeg -
Nou ben een stuk verder met de data juist in het systeem krijgen.
Maar kan ik deze counters ook resetten?
- leeg -
Je zou zeggen dat het verandert is inderdaad.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.
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 | Mitsubishi PUHZ-SW75YAA + ERSD-VM2D | Zonneplan Nexus | Gasloos
Ik heb hem nu weer even omgezet naar 'Inlet' en Node-RED geeft direct weer de foutmelding:Robindd schreef op dinsdag 14 maart 2023 @ 08:03:
[...]
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.
:fill(white):strip_exif()/f/image/4vOO4Ms2lSzEGmNiWeAbuO6z.png?f=user_large)
Dit heb ik zo ingesteld staan conform de hier in dit topic eerder geplaatste JSON:
:fill(white):strip_exif()/f/image/a9G3LG3BvyICuhgkmiUpUp1a.png?f=user_large)
@Robindd of anderen; suggesties zijn meer dan welkom.
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN
:fill(white):strip_exif()/f/image/ILFhvrPQwg7LN7Cjx2p6mOMe.png?f=user_large)
Krijg ik deze fout:
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN
Probeer met dit eens:leandres schreef op woensdag 15 maart 2023 @ 14:42:
Ja. Met deze instelling:
[Afbeelding]
Krijg ik deze fout:
[Afbeelding]
1
| [{"id":"b7a3335b98b2d62a","type":"mbus-controller","z":"35b24b20.e53a34","name":"M-Bus Controller","client":"dfb50251.88088","x":410,"y":120,"wires":[["d207c6770d911d48","b6c1dac193df8caa"]]},{"id":"210204cb66b4c33b","type":"inject","z":"35b24b20.e53a34","name":"Get Devices","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":"","topic":"getDevices","payload":"","payloadType":"str","x":110,"y":300,"wires":[["b7a3335b98b2d62a"]]},{"id":"12817892ec00b8e2","type":"inject","z":"35b24b20.e53a34","name":"setPrimary","props":[{"p":"payload","v":"{\"newAddr\":3,\"oldAddr\":2}","vt":"json"},{"p":"topic","v":"setPrimary","vt":"string"}],"repeat":"","crontab":"","once":false,"topic":"setPrimary","payload":"{\"newAddr\":3,\"oldAddr\":2}","payloadType":"json","x":100,"y":100,"wires":[["b7a3335b98b2d62a"]]},{"id":"9a3af9ca9089a32a","type":"inject","z":"35b24b20.e53a34","name":"Read ID 1","props":[{"p":"payload","v":"{\"address\": 1}","vt":"json"},{"p":"topic","v":"getDevice","vt":"string"}],"repeat":"","crontab":"","once":false,"topic":"getDevice","payload":"{\"address\": 1}","payloadType":"json","x":100,"y":220,"wires":[["b7a3335b98b2d62a"]]},{"id":"5b01651e77b521f6","type":"inject","z":"35b24b20.e53a34","name":"Read ID 2","props":[{"p":"payload","v":"{\"address\": 2}","vt":"json"},{"p":"topic","v":"getDevice","vt":"string"}],"repeat":"","crontab":"","once":false,"topic":"getDevice","payload":"{\"address\": 2}","payloadType":"json","x":101,"y":258,"wires":[["b7a3335b98b2d62a"]]},{"id":"25130f8a4f70ba13","type":"inject","z":"35b24b20.e53a34","name":"scan","props":[{"p":"payload","v":"","vt":"str"},{"p":"topic","v":"scan","vt":"str"}],"repeat":"","crontab":"","once":false,"topic":"scan","payload":"","payloadType":"str","x":90,"y":140,"wires":[["b7a3335b98b2d62a"]]},{"id":"d865ae3d667d4056","type":"inject","z":"35b24b20.e53a34","name":"restart","repeat":"","crontab":"","once":false,"topic":"restart","payload":"","payloadType":"num","x":90,"y":182,"wires":[["b7a3335b98b2d62a"]]},{"id":"08e43d083a37c538","type":"mbus-out","z":"35b24b20.e53a34","name":"","client":"dfb50251.88088","x":350,"y":320,"wires":[["25aea47b5558baca"]]},{"id":"25aea47b5558baca","type":"debug","z":"35b24b20.e53a34","name":"debug 5","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":500,"y":320,"wires":[]},{"id":"b6c1dac193df8caa","type":"debug","z":"35b24b20.e53a34","name":"debug 12","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":520,"y":280,"wires":[]},{"id":"dfb50251.88088","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_AD0K7SLG-if00-port0","serialBaudrate":"2400","reconnectTimeout":"30000","autoScan":false,"storeDevices":true,"disableLogs":false}] |
De debug node moet direct aan je m-bus node, je hebt hem 1 te ver staan en dan krijg je alleen een error (ik denk overigens dat je primary adres " 0" is zo te zien.
Maar met debug direct aan de M-bus node, en dan de inject node "scan" injecteren. Dan krijg je in je debug window primair en secondair terug.
PVOutput Youless - 9600Wp OZO+WNW | 38° | Goodwe GW6K-DT | Mitsubishi PUHZ-SW75YAA + ERSD-VM2D | Zonneplan Nexus | Gasloos
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN
:fill(white):strip_exif()/f/image/3lKtXZCB4ZStmkF004PhusFS.png?f=user_large)
Doe ik een 'scan' met de Kamstrup fysiek ingesteld op 'Outlet' krijg ik dit:
:fill(white):strip_exif()/f/image/d2PUNPjPYHv7JbXfpyVpAuVG.png?f=user_large)
Zet ik de Kamstrup vervolgens op "Inlet" dan krijg ik:
:fill(white):strip_exif()/f/image/4U5oKUsVoUYxaYw66wSSbzIa.png?f=user_large)
Het zal ongetwijfeld ergens iets doms zijn aan mij kant, echter het kwartje is nog niet gevallen. Het onwisselen van de M-Bus draden heb ik ook gedaan. Maakt geen verschil.
[ Voor 4% gewijzigd door leandres op 18-03-2023 12:28 ]
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN
Outlet: 828122132D2C4004
Inlet: 828122132D2C400C
Dit aangepast en nu krijg ik geen foutmeldingen en weer data terwijl de Kamstrup nog op "Inlet" staan zoals het fysiek bij mij is gebouwd.
Nu nog even kijken naar de volgorde van de flow, want daar had jij ergens ook iets over gezegd. Nu heb ik het zo; conform een config die in dit topic is geplaatst:
[ Voor 11% gewijzigd door leandres op 18-03-2023 12:48 ]
1: PVoutput Hoogezand, GN | 2: PVoutput Sappemeer, GN


:strip_exif()/f/image/MpopXEz76QnjF4X7kj6WCz0n.jpg?f=fotoalbum_tile)
:strip_exif()/f/image/Wq65Q5nwtGZ1OuVyqCmGz7eo.jpg?f=fotoalbum_tile)
:strip_exif()/f/image/VGgWHdjulgmRfSndKYe6tgSJ.jpg?f=fotoalbum_large)
:strip_exif()/f/image/Pj7g4Kpw31iZgeKunJTHhMvK.jpg?f=fotoalbum_large)
/f/image/LhnqHMLYY0ibhW5PwrRS5Iw7.png?f=fotoalbum_large)
:strip_exif()/f/image/SVmjjKpjInpL7jMnXxew3Dcd.jpg?f=fotoalbum_large)
/f/image/V4ZfM1YcN1t7MNWSGi738QU8.png?f=fotoalbum_large)
/f/image/nHsqVyplfCaa6QMwZOJNrtKw.png?f=fotoalbum_large)
/f/image/RV4sJvQO69Lw5PMSvO2Mgxxe.png?f=fotoalbum_large)