[SOLVED] Modbus Energy Meter - reading float registers

Hi @fohdeesha

I have rs485 energy meter.
I am getting byte streaming in hex as response correct but I want 3rd parameter from starting address and I have following configurations.

openhab.cfg:

modbus:poll=3000
modbus:writemultipleregisters=true
modbus:serial.sdm120.connection=/dev/ttyUSB0:9600:8:none:1:rtu
modbus:serial.sdm120.type=holding
modbus:serial.sdm120.valuetype=float32
modbus:serial.sdm120.length=12
modbus:serial.sdm120.start=2100
modbus:serial.sdm120.id=1

items:
Number METER {modbus=“sdm120:0”}

i am getting very large number in event log.

my logs:

13:23:38.112 [DEBUG] [i.modbus.io.ModbusRTUTransport:77   ] - Sent: 01 03 08 34 00 0c 06 61 

13:23:38.156 [DEBUG] [i.modbus.io.ModbusRTUTransport:141 ] - Response: 01 03 18 00 01 2c ef 00 00 00 00 43 9c 13 9b 00 00 00 00 00 00 00 00 00 00 00 00 62 d7
13:23:38.163 [INFO ] [runtime.busevents :26 ] - METER state updated to 0.00000000000000000000000000000000000000010795463239311958232689320336707184883770009974022489854039278352258561521903601487792911939322948455810546875
13:23:41.161 [DEBUG] [i.modbus.io.ModbusRTUTransport:77 ] - Sent: 01 03 08 34 00 0c 06 61
13:23:41.206 [DEBUG] [i.modbus.io.ModbusRTUTransport:141 ] - Response: 01 03 18 00 01 2c f2 00 00 00 00 43 9c 14 db 00 00 00 00 00 00 00 00 00 00 00 00 54 5c
13:23:41.208 [INFO ] [runtime.busevents :26 ] - METER state updated to 0.0000000000000000000000000000000000000001079588362885125567781059745558217185860939405260505280877080547274372845922840724597335793077945709228515625
13:23:44.209 [DEBUG] [i.modbus.io.ModbusRTUTransport:77 ] - Sent: 01 03 08 34 00 0c 06 61
13:23:44.254 [DEBUG] [i.modbus.io.ModbusRTUTransport:141 ] - Response: 01 03 18 00 01 2c f5 00 00 00 00 43 9c 16 1a 00 00 00 00 00 00 00 00 00 00 00 00 22 a9

Please tell me the correct settings so that i can get correct value on event bus.

Thanks
shrikant

You might have to reveal which one exactly. Given that you are not looking at the same registers as anyone else, I guess it is not an SDM120 really

Hello.

Hope you can read my poor English writeing. :slight_smile:

I have 14 SDM120 in my fusebox, one for each fuce, and read the results in IndigoSCADA.

There was problems in the start, but it was solved. All 14 is on a single Daisy Chain.

I have also bought some RS-WS-NO1-8 temperature and humidity sensors.

I hope to Connect them to IndigoSCADA, but has not been able to change the Modbus-adress so far.

I have seen Your videos, and tried to find the files (485 parameter configuration tool. exe ) you use on the net, with no luck.

Is it posible to download them here?

Echo Sierra

Hi Echo,

It was a long time ago when I used this sensor the last time. I have zipped all the documents I still have on my laptop and put the files on my Google Drive:
https://drive.google.com/file/d/1j2thtUbN0WLiHZOoF8ymi1iWkI-MjZcO/view?usp=sharing

I hope it helps.

Regards,
Csongor

Hello, and Thank You.

I found it on the net side in a letter from You to another interested guy.

It worked, and I have endred the adress.

Hope You still is makeing the nice interesting movies, I like them. Good work.

Thant You again.

Egil.

Hi everyone! i recently bought a couple of SDM120M for testing, im already reading correct values, but im having trouble changing the ID of the meters. Anyone has done this? Im working directly with a Python script using pymodbus.

Regards,

José

You need to press and hold on the button until the word Set appears on the screen, and you can change the modbus address using function 16, address: 20, quantity: 2 and the value should be the new slave address.