// 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
manufacturer = Elvaco
detect {
mvt = ELV,20,1b
mvt = ELV,1f,1b
}
library {
use = software_version
}
fields {
field {
name = status
quantity = Flags
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","driver":"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'
}
test {
args = 'Tempo2 cma12w 68003902 NOKEY'
telegram = 27449615023900681F1B7AC5000020_2F2F02651E094265210902FD1B30420DFD0F05352E302E330F
json = '{"_": "telegram","average_temperature_1h_c": 23.37,"battery": "BATTERY_4230","current_temperature_c": 23.34,"driver": "cma12w","id": "68003902","media": "room sensor","name": "Tempo2","software_version": "3.0.5","status": "OK","timestamp": "1111-11-11T11:11:11Z"}'
fields = 'Tempo2;68003902;23.34;1111-11-11 11:11.11'
}
}
}