User Tools

Site Tools


sensus_heat_meter

Sensus GmbH heat meters with M-bus

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)