// Copyright (C) 2026 Tomas (gpl-3.0-or-later)
driver {
    name           = nzr_dhz_5_63
    meter_type     = ElectricityMeter
    default_fields = name,id,total_kwh,timestamp
    detect {
        mvt = NZR,01,02
    }
    library {
        use = total_kwh
        use = fabrication_no
    }
    fields {
        field {
            name     = resettable
            quantity = Energy
            info     = 'Accumulated energy since the counter was last reset.'
            match {
                // This meter uses 0x7f which ought to be followed by a second combinable byte, or?
                // Either the meter is wrong or wmbusmeters, for now we need to hardcode the difvif to
                // match this entry. They should have used a storage_nr instead.....
                difvifkey = 04837F
            }
        }
        field {
            name     = power
            quantity = Power
            info     = 'Power consumption (now).'
            match {
                measurement_type = Instantaneous
                vif_range        = AnyPowerVIF
            }
        }
        field {
            name     = voltage
            quantity = Voltage
            info     = 'Voltage (now).'
            match {
                measurement_type = Instantaneous
                vif_range        = Voltage
            }
        }
        field {
            name     = amperage
            quantity = Amperage
            info     = 'Amperage (now).'
            match {
                measurement_type = Instantaneous
                vif_range        = Amperage
            }
        }
    }
    tests {
        test {
            args     = 'NZR1 nzr_dhz_5_63 30101959 NOKEY'
            telegram = 68323268083B7259191030523B0102E70000000403A9487D0104837F5438690102FD484D0902FD5B0E00022B1F010C78591910300FDFC616
            json     = '{"_": "telegram","media": "electricity","driver": "nzr_dhz_5_63","name": "NZR1","id": "30101959","amperage_a": 1.4,"power_kw": 0.287,"resettable_kwh": 23672.916,"total_kwh": 24987.817,"voltage_v": 238.1,"fabrication_no": "30101959","timestamp": "1111-11-11T11:11:11Z"}'
            fields   = 'NZR1;30101959;24987.817;1111-11-11 11:11.11'
            comment  = 'Telegram captured from an NZR DHZ-5/63 single phase electricity meter.'
        }
    }
}