This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Modbus mapping help
#1
Hi guys,
I need some guidance here. So basically my LM4 system crashed weeks ago, and I didn't do any backup. Now in the newly built system, I got all of the objects back except 4 floow heating thermal controller, those are Modbus RTU 485 controllers, I guess they need to be mapped to KNX address?

Can someone please guide me how to do that? or any help will be much appreciated.

Attached Files Thumbnail(s)
   
Reply
#2
Check LM manual. You need to configure the serial port correctly and you need a device profile that describes Modbus registers and respective data types. Then these registers are mapped to LM objects.
Reply
#3
(15.12.2025, 07:43)admin Wrote: Check LM manual. You need to configure the serial port correctly and you need a device profile that describes Modbus registers and respective data types. Then these registers are mapped to LM objects.

The problem is that I do not have the manual nor specs for the thermal controller, so I tried different varibles in RTU settings, and then run RTU scan, no luck so far. Can't find nothing there. 

Did I configure the setting right?
The controller looks like this btw.
Reply
#4
Anyone has any idea why RTU scan show no result?
I tried baud rate 9600, parity none 1stop bit, half duplex, scan from 1 all the way to 247, nothing.
This thermostat was a relative cheap chinese made, PCB reads: ETOP-HT-0506-MDV1.1, which was made by company E-TOP, they are known for making OEM products.
And for this model, the common specs are using 9600-8-N-1.
What could be the problem here?
Reply
#5
RTU scan will not show anything unless you have valid profile created for this device.
------------------------------
Ctrl+F5
Reply
#6
(16.12.2025, 15:21)Daniel Wrote: RTU scan will not show anything unless you have valid profile created for this device.

I manually created the two attached profile, but no luck finding the device yet. 
Can you check and see if there is anything wrong in the script? 
It's a relatively simple floor heating Thermostat. The pain point here is it's an OEM and couldn't find the official profile. 
.json   E-TOP generic.json (Size: 788 bytes / Downloads: 4)
.json   etop_ht05.json (Size: 1.55 KB / Downloads: 2)
Reply
#7
Disable RTU1 in Modbus settings, then run this script. It will run for a couple of minutes and will log any found devices.

Code:
require('luamodbus')
mb = luamodbus.rtu()
mb:open('/dev/RS485-1', 9600, 'N', 8, 1, 'H')
mb:connect()

for i = 1, 247 do
  mb:setslave(i)
  res, err = mb:readregisters(0)

  if res ~= nil then
    log('found device', i, res)
  end
end

mb:close()
Reply
#8
To create a profile you need device documentation from the manufacture where you will find registry table definition. Otherwise you are completely blind.
------------------------------
Ctrl+F5
Reply
#9
(Yesterday, 08:10)admin Wrote: Disable RTU1 in Modbus settings, then run this script. It will run for a couple of minutes and will log any found devices.

Code:
require('luamodbus')
mb = luamodbus.rtu()
mb:open('/dev/RS485-1', 9600, 'N', 8, 1, 'H')
mb:connect()

for i = 1, 247 do
  mb:setslave(i)
  res, err = mb:readregisters(0)

  if res ~= nil then
    log('found device', i, res)
  end
end

mb:close()

I ran the script, but come back with nothing.  Cry

(Yesterday, 08:35)Daniel Wrote: To create a profile you need device documentation from the manufacture where you will find registry table definition. Otherwise you are completely blind.

I managed to locate a document from the manufactory (attached) and then generated the profile base on the info. 
Can you check and see if I did it right? Thanks

Attached Files
.docx   HT-06 Modbus Protocal.docx (Size: 16.38 KB / Downloads: 1)
Reply
#10
Do you have device documentation?
------------------------------
Ctrl+F5
Reply
#11
(Yesterday, 13:27)Daniel Wrote: Do you have device documentation?

I found this from their website, will it help? 
.docx   HT-06 Modbus Protocal.docx (Size: 16.38 KB / Downloads: 3)
Reply
#12
IN OFF Mode, press M and + buttons simultaneously for 10 seconds to get the Modbus address.
Did you try this?
------------------------------
Ctrl+F5
Reply
#13
(Yesterday, 13:36)Daniel Wrote: IN OFF Mode, press M and + buttons simultaneously for 10 seconds to get the Modbus address.
Did you try this?

I did and it reads 0B, 0C, 0D, 0E instead of actual numbers on 4 of the thermostats.
Reply
#14
It is probably in hex, slave 11, 12, 13, 14. Disable the script from admin, set the RTU mode as per this document and use Read test under modbus tab
Device address 11, holding register and try different addresses: 2, 3, 40002, 40003.
see what happens.
------------------------------
Ctrl+F5
Reply
#15
(Yesterday, 13:46)Daniel Wrote: It is probably in hex,  slave 11, 12, 13, 14.  Disable the script from admin, set the RTU mode as per this document and use  Read test  under modbus tab
Device address 11, holding register and try different addresses: 2, 3, 40002, 40003. 
see what happens.

Thanks for your prompt response Smile
I tried but no luck. Sad Does that mean the RS485 ports are damaged? 
           
Reply
#16
same for 2,3? try different addresses.
------------------------------
Ctrl+F5
Reply
#17
I have tried 11 - 15, 1-10, address 1-10, 40000 - 40010, all came back with Operation timed out. Sad
Reply
#18
Did you try register address 2, 3?
------------------------------
Ctrl+F5
Reply
#19
(Yesterday, 14:08)Daniel Wrote: Did you try register address 2, 3?

Yes, I did        
Reply
#20
Check if cables are correctly connected. Try swapping A and B
------------------------------
Ctrl+F5
Reply


Forum Jump: