// Copyright (C) 2026 Fredrik Öhrström (gpl-3.0-or-later)
driver {
name = kadenwater
meter_type = WaterMeter
default_fields = name,id,status,total_m3,timestamp
manufacturer = Ecomess
detect {
mvt = KDN,01,07
}
library {
use = total_m3
use = volume_flow_m3h
use = actuality_duration_s
use = meter_datetime
use = fabrication_no
}
fields {
field {
name = status
quantity = Text
info = 'Status and error flags.'
attributes = STATUS,INCLUDE_TPL_STATUS
match {
measurement_type = Instantaneous
vif_range = ErrorFlags
}
lookup {
name = ERROR_FLAGS
map_type = BitToString
mask_bits = 0xffff
default_message = OK
// Help needed. The meaning of the individual error flag bits
// is not documented for the Kaden type 07 water meter.
}
}
field {
name = max_flow
quantity = Flow
info = 'The maximum media volume flow recorded during the measuring period.'
match {
measurement_type = Maximum
vif_range = VolumeFlow
}
}
field {
name = volume_b
quantity = Volume
info = 'Second volume register reported after the total. Purpose is not documented for the Kaden type 07 water meter. Help needed.'
match {
measurement_type = Instantaneous
vif_range = Volume
index_nr = 2
}
}
field {
name = duration_b
quantity = Time
display_unit = s
info = 'Second actuality duration register (04 74 #2). Purpose is not documented for the Kaden type 07 water meter. Help needed.'
match {
measurement_type = Instantaneous
vif_range = ActualityDuration
index_nr = 2
}
}
}
tests {
test {
args = 'MyWater kadenwater 19228217 82B0551191F51D66EFCDAB8967452301'
comment = 'Ecomess/Kaden type 07 water meter (81.0976 m3)'
telegram = 4e448e2c1782221901077ab5004005339341ab7927f9337cd2175b2f0d121d9a56cbf3fcfcbf0d8ca57d0c6741a03a666d99467924a6dbf4de305960917afde729ac19d62a789dce1c66a323cc29cd
json = '{"_":"telegram","media":"water","meter":"kadenwater","name":"MyWater","id":"19228217","actuality_duration_s":0,"duration_b_s":0,"max_flow_m3h":1.715,"total_m3":81.0976,"volume_b_m3":0.0096,"volume_flow_m3h":0,"fabrication_no":"19228217","meter_datetime":"2026-06-13 19:36","status":"OK","timestamp":"1111-11-11T11:11:11Z"}'
fields = 'MyWater;19228217;OK;81.0976;1111-11-11 11:11.11'
}
test {
args = 'MyWater kadenwater 19227961 82B0551191F51D66EFCDAB8967452301'
comment = 'Ecomess/Kaden type 07 water meter (22.761 m3)'
telegram = 4e448e2c6179221901077ab50040054d008a1ad5270d9cf92952500bd3938ea37fcac71a45d4349fb13c89cfa4aaebd6ecf9caaf1c0710c1d6b4d98f23109cef5fa6fec93fd6a148730ea51102dbcc
json = '{"_":"telegram","media":"water","meter":"kadenwater","name":"MyWater","id":"19227961","actuality_duration_s":0,"duration_b_s":0,"max_flow_m3h":1.496,"total_m3":22.761,"volume_b_m3":0.0013,"volume_flow_m3h":0,"fabrication_no":"19227961","meter_datetime":"2026-06-13 19:36","status":"OK","timestamp":"1111-11-11T11:11:11Z"}'
fields = 'MyWater;19227961;OK;22.761;1111-11-11 11:11.11'
}
}
}