// Copyright (C) 2024 Fredrik Öhrström (gpl-3.0-or-later)
driver {
name = aquastream
meter_type = WaterMeter
default_fields = name,id,total_m3,timestamp
detect {
mvt = IMT,01,07
}
library {
use = total_m3,meter_datetime,target_m3,target_date
}
fields {
field {
name = status
quantity = Text
info = status_and_error_flags
attributes = INCLUDE_TPL_STATUS
match {
measurement_type = Instantaneous
vif_range = ErrorFlags
}
lookup {
name = ERROR_FLAGS
map_type = BitToString
mask_bits = 0xffff
default_message = OK
map {
name = LOW_BATTERY
info = 'Low Battery – 18 months before end of life'
value = 0x04
test = Set
}
map {
name = TEMPORARY_ALARM
info = 'Temporary alarm - Manipulation/module removed'
value = 0x10
test = Set
}
map {
name = LEAKAGE
info = Leakage
value = 0x20
test = Set
}
map {
name = BURST
info = Burst
value = 0x30
test = Set
}
}
}
field {
name = total_tariff1
quantity = Volume
match {
measurement_type = Instantaneous
vif_range = Volume
tariff_nr = 1
}
}
field {
name = battery
quantity = Time
display_unit = y
// Divide by 365
force_scale = 0.0027397260273972603
match {
measurement_type = Instantaneous
difvifkey = 02FD74
}
}
}
tests {
test {
args = 'AqWater aquastream 05933237 NOKEY'
telegram = 4644B42557920410050E7237329305B42501075B0030252F2F_04130342000084101300000000046D0D30F62B441349180000426CFF2A02FD17000002FD74DB152F2F2F2F2F2F2F
json = '{"_":"telegram","id": "05933237","media": "water","meter": "aquastream","meter_datetime": "2023-11-22 16:13","name": "AqWater","status": "OK","target_date": "2023-10-31","target_m3": 6.217,"timestamp": "1111-11-11T11:11:11Z","total_m3": 16.899,"total_tariff1_m3": 0,"battery_y": 15.328767}'
fields = 'AqWater;05933237;16.899;1111-11-11 11:11.11'
}
}
}