31.03.2022, 15:04
(17.01.2018, 21:23)Erwin van der Zwart Wrote: Hi,
2020 is not a register, it's the number you need for the command interface that is build into the iEM devices, with this interface you can do everything on the device over the modbus connection that usually is done on the display of the device. To use the command interface you must disable the COM protection on the device by using the display once (default enabled).
After that you can use this script to reset the counters:
Code:require('luamodbus')
mb = luamodbus.rtu()
mb:open('/dev/RS485', 19200, 'E', 8, 1, 'H')
mb:connect()
mb:setslave(1) -- Enter the correct Modbus slave address of the kWh meter
-- Reset partial counters
mb:writeregisters(5249, 2020, '')
-- Results of Reset partial counters
r1, r2 = mb:readregisters(5374, 2)
log ("Result Command: " .. r1)
log ("Result Code: " .. r2) -- 0 = valid operation, 3000 = invalid Operation, 3001 = Invalid Parameter, 3002 = Invalid number of parameters, 3007 = Operation not perfomed
mb:close()
BR,
Erwin
Hi Erwin,
I have a building with a lot of energy meters from SE via SpaceLynk.
I have configured them via JSON profiles.
I have noticed that the profile that came doesn't have this registers to Reset the Partial Energy.
I'm planing to create a single JSON profile with the single register 5250 and then a script will run every last day of the month and write the value 2020 ?
Will it work ?
I suppose that this script you posted here will interfere with the JSON profiles communication if I use it in parallel, right ?
Thank you