// Copyright (C) 2024 Fredrik Öhrström (gpl-3.0-or-later)
driver {
    name           = iperl
    meter_type     = WaterMeter
    default_fields = name,id,total_m3,max_flow_m3h,timestamp
    manufacturer   = Sensus
    model          = iperl
    detect {
        mvt = SEN,68,06
        mvt = SEN,68,07
        mvt = SEN,7c,07
    }
    fields {
        field {
            name     = total
            quantity = Volume
            info     = 'The total water consumption.'
            match {
                measurement_type = Instantaneous
                vif_range        = Volume
            }
        }
        field {
            name     = max_flow
            quantity = Flow
            info     = 'The maximum water flow recorded during previous period.'
            match {
                measurement_type = Instantaneous
                vif_range        = VolumeFlow
            }
        }
    }
    tests {
        test {
            args     = 'MoreWater iperl 12345699 NOKEY'
            comment  = 'Test iPerl T1 telegram, that after decryption, has 2f2f markers.'
            telegram = 1E44AE4C9956341268077A36001000_2F2F0413181E0000023B00002F2F2F2F
            json     = '{"_":"telegram","media":"water","meter":"iperl","name":"MoreWater","id":"12345699","total_m3":7.704,"max_flow_m3h":0,"timestamp":"1111-11-11T11:11:11Z"}'
            fields   = 'MoreWater;12345699;7.704;0;1111-11-11 11:11.11'
        }
        test {
            args     = 'WaterWater iperl 33225544 NOKEY'
            comment  = 'Test iPerl T1 telegram not encrypted, which has no 2f2f markers.'
            telegram = 1844AE4C4455223368077A55000000_041389E20100023B0000
            json     = '{"_":"telegram","media":"water","meter":"iperl","name":"WaterWater","id":"33225544","total_m3":123.529,"max_flow_m3h":0,"timestamp":"1111-11-11T11:11:11Z"}'
            fields   = 'WaterWater;33225544;123.529;0;1111-11-11 11:11.11'
        }
    }
}