Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

sdm120 kwh meter modbus how to add

  • i have a Kwh meter SDM120 i would like to add to Mango.

    also found some code which might be helpfull for someone how needs it.

    the rs485-modbus of the sdm120 is connected via rs485-usb to my Mango server.

    under datasource i can add ( /dev/ttyUSB0 2400 8N1 ) and i can scan nodes and it will find 1 node.

    Then i have to enter some data i cant find. i cant figure out how things are working with Hex, registers, offset etc.
    should be simple protocol. but i need a hint in the right direction ( good tutorial about offsets, bits, Hex and stuff )

    Readup for starters like me,

    it appeared that , the settings that worked for me where taking the register address minus x_0001 : ( so for Total Kwh. 30343 minus 30001 = offset address is 342 )


  • Try this to read a point, like the Voltage from your meter. You can get here from the Data Sources page. See my picture below:

    Oh, your modbus settings have to match the meter, of course, like the bit rate, parity, etc.

    0_1477517327314_read register test.png

    One more thing, you have to turn off the serial data source to do the test, or else i'll throw an error because it's busy.

  • Thanks Mihai!

    @hengst Hello and welcome!

    Many of these things (offset, bits) are described in the help document available through the blue help (?) near the top of edit page for a data source or its points.

    if you're going to be adding a lot of devices and points, you can also experiment with the CSV importer once you get a point working, then export the CSV through the data source's row on the data sources page, and importing it or rows like it on the import/export page.

  • This post is deleted!

  • Well i had some coffee ...

    to get the Kwh total .....


    to get the Volts ...


    and so on..

    so i got it working, but more by gamble than by knowledge.
    it looks like i have to put in the register address from the manual , minus 30001 for every register i want to read.

    maybe someone can explain a little further.

  • Hi hengst,

    I cannot think of a good reason to have an IP posted like that with the implication it has the default password, so I have removed it. Definitely not a secure thing to do.

    The subtraction of 30001 would be a result of two things,

    1. 30000 is the INPUT_REGISTER range in the Modbus spec, and you've selected that as your Register range (bereik?)
    2. Your literature is probably 1 offset, meaning the first address is 1. We use a 0 offset. I was pleased to see Mihai included this consideration in his image!

  • Many thanks for all the Help. i think this topic is SOLVED ( if need to close ). i'am on to the next device i want to add.

  • It's a forum, no need to close things. With regard to the question in the post you've removed about making it more readable, every data point has a text renderer that governs its display. There's a description of the four text renderers for a Numeric data point in the help popup from the blue (?) in the text renderer section of the edit point page. You can also specify the units, or a custom suffix for the value. The units for kWh is kW*h, whereas you can put " kWh" in the suffix.