I’ve been trying to get my Kampstrup Multical 403 hooked up to my emonPi. I have some success, but I’m not getting all of the data out of it I need.
Physically I have two temperature probes attached to the Kamstrup 403. On the unit itself I can see sensible looking flow and return temps (well, they are labeled “t1” and “t2”, so interpretation depends on which way round they have been connected up).
After some battles, I now have some data coming out into emonCMS (I needed to update the software on the emonPi for it to work).
In the log, I can see messages such as:
2022-12-22 11:30:21,037 DEBUG MBUS Invalid MBUS data received 204 bytes 1026.1 ms
2022-12-22 11:30:21,047 DEBUG MBUS Decoded MBUS data: {"Energy": [29, "kWh"], "Volume": [348.82, "m3"], "Power": [0, "W"], "Power_Max": [-12100, "W"], "FlowRate": [0.0, "m3/h"], "FlowRate_Max": [2.121, "m3/h"], "Record20": [0, ""]}
2022-12-22 11:30:21,049 DEBUG MBUS 24 NEW FRAME :
2022-12-22 11:30:21,049 DEBUG MBUS 24 Timestamp : 1671708620.010800
2022-12-22 11:30:21,050 DEBUG MBUS 24 From Node : MBUS
2022-12-22 11:30:21,051 DEBUG MBUS 24 Values : [29, 348.82, 0, -12100, 0, 2.121, 0]
2022-12-22 11:30:21,051 DEBUG MBUS 24 Sent to channel(start)' : ToEmonCMS
2022-12-22 11:30:21,052 DEBUG MBUS 24 Sent to channel(end)' : ToEmonCMS
It’s receiving some data, but not receiving any flow temperature data.
I’ve been trying to understand the EmonHubMBUSInterfacer.py source code to try and understand why not.
If I change the “type” in the configuration to “standard” rather than “kamstrup403” I seem to get more plausible information:
2022-12-22 11:59:11,038 DEBUG MBUS Invalid MBUS data received 204 bytes 1026.7 ms
2022-12-22 11:59:11,041 DEBUG MBUS Decoded MBUS data: {"Energy": [29, "kWh"], "Record2": [12328, ""], "Record3": [13274, ""], "Volume": [348.82, "m3"], "Volume2": [0.0, "m3"], "Volume3": [0.0, "m3"], "Ontime Hours": [289, "h"], "Ontime Hours_error": [201, "h"], "FlowT": [22.09, "C"], "ReturnT": [23.34, "C"], "DeltaT": [-1.25, "C"], "Power": [0, "W"], "Power_Max": [-12100, "W"], "FlowRate": [0.0, "m3/h"], "FlowRate_Max": [2.121, "m3/h"], "Record16": [0, ""], "DateTime": [752233506, ""], "Energy2": [0, "kWh"], "Record19": [0, ""], "Record20": [0, ""], "Volume4": [0.0, "m3"], "Volume5": [0.0, "m3"], "Volume6": [0.0, "m3"], "Power_Max2": [0, "W"], "FlowRate_Max2": [0.0, "m3/h"], "Record26": [10948, ""], "Record27": [6657, ""], "FabNo": [71271245, ""], "Record29": [2100101, ""], "Record30": [11851201, ""], "heat_calc": [-0.0, "W"]}
2022-12-22 11:59:11,041 DEBUG MBUS 44 NEW FRAME :
2022-12-22 11:59:11,041 DEBUG MBUS 44 Timestamp : 1671710350.011856
2022-12-22 11:59:11,042 DEBUG MBUS 44 From Node : MBUS
2022-12-22 11:59:11,042 DEBUG MBUS 44 Values : [29, 12328, 13274, 348.82, 0, 0, 289, 201, 22.09, 23.34, -1.25, 0, -12100, 0, 2.121, 0, 752233506, 0, 0, 0, 0, 0, 0, 0, 0, 10948, 6657, 71271245, 2100101, 11851201, 0]
2022-12-22 11:59:11,042 DEBUG MBUS 44 Sent to channel(start)' : ToEmonCMS
2022-12-22 11:59:11,043 DEBUG MBUS 44 Sent to channel(end)' : ToEmonCMS
FlowT and ReturnT there look plausible (albeit the wrong way round).
I’m going to run it like this and see whether the values look plausible. Heat pump is not currently on, so flow rate would be expected to be zero. No ideal whether flow rate max is plausible. The PowerMax is negative presumably because the temperature sensors are the wrong way round, so I’ll probably require those the other way round to make the numbers better.
So I suppose my question is why there is a special setting for kamstrup multical 403 which appears to remove some of the data fields, and is using “standard” a sensible thing to do?