// Copyright (C) 2020-2022 Fredrik Öhrström (gpl-3.0-or-later)
driver {
    name           = cma12w
    meter_type     = TempHygroMeter
    default_fields = name,id,current_temperature_c,timestamp
    detect {
        mvt = ELV,20,1b
    }
    library {
        use = software_version
    }
    fields {
        field {
            name       = status
            quantity   = Text
            info       = 'Meter status from tpl status field.'
            attributes = STATUS,INCLUDE_TPL_STATUS
        }
        field {
            name     = current_temperature
            quantity = Temperature
            info     = 'The current temperature.'
            match {
                measurement_type = Instantaneous
                vif_range        = ExternalTemperature
            }
        }
        field {
            name     = average_temperature_1h
            quantity = Temperature
            info     = 'The average temperature over the last hour.'
            match {
                measurement_type = Instantaneous
                vif_range        = ExternalTemperature
                storage_nr       = 1
            }
        }
        field {
            name     = battery
            quantity = Text
            info     = 'Battery status.'
            match {
                measurement_type = Instantaneous
                vif_range        = DigitalInput
            }
            lookup {
                name      = BATTERY
                map_type  = BitToString
                mask_bits = 0xffff
            }
        }
    }
    tests {
        test {
            args     = 'Tempo cma12w 66666666 NOKEY'
            telegram = 2744961566666666201B7AF9000020_2F2F02651E094265180902FD1B30030DFD0F05302E302E340F
            json     = '{"_":"telegram","media":"room sensor","meter":"cma12w","name":"Tempo","id":"66666666","software_version":"4.0.0","status":"OK","current_temperature_c":23.34,"average_temperature_1h_c":23.28,"battery":"BATTERY_330","timestamp":"1111-11-11T11:11:11Z"}'
            fields   = 'Tempo;66666666;23.34;1111-11-11 11:11.11'
        }
    }
}