====== Sensus GmbH heat meters with M-bus ====== {{ network:for_wiki_.png?200|}} Sensus support M-bus specs. of EN 13757-3. The models tested are: * Pollutherm X DE-07-MI004-PTB018 The meter can be read with custom protocol feature. Turn to your dealer for more details. function getCRC(a,pos,len) -- GetCRC local sum = 0 local mask = 0xFF for i = pos, pos + len - 1 do sum = sum + a[i] sum = bit.band(sum, mask) end DEBUG("CRC sum in the end of function = "..tostring(sum)) return sum end function createDevices () addDevice({name = "E", shift = 0, base = 16, xtraFields = {}}) addDevice({name = "V", shift = 0, base = 16, xtraFields = {}}) addDevice({name = "Q", shift = 0, base = 16, xtraFields = {}}) addDevice({name = "P", shift = 0, base = 16, xtraFields = {}}) addDevice({name = "FWT", shift = 0, base = 16, xtraFields = {}}) addDevice({name = "RET", shift = 0, base = 16, xtraFields = {}}) addDevice({name = "DT", shift = 0, base = 16, xtraFields = {}}) end function onScanStart () end function readRegister (reg, device, unitId) app_reset[6] = unitId REQ_UD2[3] = unitId SND_NKE[3] = unitId app_reset[9] = getCRC(app_reset, 5, 4) REQ_UD2[4] = getCRC(REQ_UD2, 2, 2) SND_NKE[4] = getCRC(SND_NKE, 2, 2) {{network:data_read.png|}}