How can i Read in multiple values from SDM630-Modbus into OH3


At First, i’m new here and mostly a Beginner with OH3 and it’s principles. And i did not found a German Area here to ask in my native language so i have to say it as i can in englisch.

I own an SDM630 Modbus Smart Meter which i used before with an old OpenHab 2. and an RS-485 USB Adapter. It worked. But this Virtual Machine died. And now with some new Shelly Devices i want to get this meter read by OpenHab 3 too (actual 3.2.0) with the same Adapter.

But i almost not understand the new Scheme and how to set it up working. And i can’t believe no one else has done this before. So if one has this working i’d like to hear how exactly.
For Testing this out I Set up an OH3 on a Small Nettop on Windows 7 here. Drivers for the RS-485 installed (COM3) and Modbus Serial is installed and online. A regular Poller and a Data Poller are set up too, each one denpend on the other so far i know.

But now’s the Problem: No Other Things, No Items, no i expect where the values may come from i want. None of the above shows channels except one. And that’s Generic things like “Value as a number”. Good, but if i set one it shows plausible readings… for ONE Item. After that “value as a number” is gone, and how can i get the others (Voltage, Current1, 2, 3, Power, Frequency…)?

Maybe a Beginner-question, but, that’s what i am.

Other ways to get this data may be via REST API from mbmd on a Raspberry Pi but same problem. How to reach the Values from /api/last/ and separate them.

And if The Remote OpenHab Binding will accept OH2 too another way may be to reinstall the old setup and let OH3 grab the values from an OH2 instance - or 2. Because there is a second single phase meter i want to set up.

Hope anyone can Help me out with this or maybe has an Example-Setup i can copy a bit.


Have you looked at the Modbus docs? Example setups at the bottom

Examples for similar meter

The bit you seem to have missed.
Serial Bridge thing represents your device (meter)

Poller thing reprsents a block of Modbus registers.
You may have many pollers on one device - e.g. different address ranges, different register types.

Data thing represents how to interpret one or two registers from that block. e.g. a 32-bit integer.
Each poller thing may have, usually does have, many data things.

Maybe, there’s more i missed or don’t understand now.

Must i create one Data Thing for each single Value? Do i need special tranformations or string, args or something i never found to separate the values in one data thing?

I only found textual data thing and item examples for the old OpenHab 2 or later and that don’t work here. N.B. i worked in the Main UI in OH3 now. Really different to the text-file config i know from the past. Maybe i can’t do the twist between these to at the moment. It’s new to me.

Yes. Each data Thing provides one value, derived from one or more Modbus registers. So if your device holds volts at reg 220 and amps at reg 222 and watts at reg 224. that’s three data things.

Yes. What makes you think OH2 configs do not work in OH3? There was a v1 Modbus binding, which could be used in OH2. During the lifetime of OH2, the v2 binding was created. This is the one with Things and channels. v2 is the binding in use in OH3.

Many Modbus users choose to use file based things config even in OH3 because its easy to manage, Modbus can involve a lot of intricate configuration. Or you can use GUI.

No idea. Depends how your devic encodes data. e.g. very often a meter will supply an integer voltage reading like 24133 and you’ll need to use a divide-by-100 transformatio to get 241.33V, but its all device dependent.