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.

KNX to Modbus TCP/IP
#1
Hi

Trying to integrate a Trox X Aircontrol with a LM5 and KNX. Our goal is to use the values on KNX and send them to the Trox unit, from KNX to Modbus TCP/IP. We are going to do it in 10 zones, but starting with zone 1. The three values are actual temperatur, actual setpoint and actual ppm value.

I think we tried all sorts of datatypes, all sorts of types and addresses and writable false or true.

Code:
{
"manufacturer": "Trox",
"description": "Test",

"mapping": [
{ "name": "Ertemp Zone 1", "bus_datatype": "float", "type": "register", "address": 1009, "datatype": "float32", "value_multiplier":0.1, "writable": false  },
{ "name": "CO2", "bus_datatype": "float", "type": "register", "address": 1012, "datatype": "float32", "writable": false  },
{ "name": "Setpoint", "bus_datatype": "float", "type": "register", "address": 1014, "datatype": "float64", "value_multiplier":0.1, "writable": false  }

]
}



Any ideas how it should be?

Attached Files
.pdf   X-AIRCONTROL_Modbus_Protokol_GB.pdf (Size: 1.39 MB / Downloads: 12)
Reply
#2
Start by reading raw register data by using int16 datatype (2 byte signed integer). Keep in mind that you need to delete device entry and create new one after uploading updated profile.

If values are correct (temperature values will be x100) then profile can be modified to add value conversion using float data type. In any case do not change datatype fields, only bus_datatype.

Code:
{
  "manufacturer": "Trox",
  "description": "Test",
  "mapping": [
    {
      "name": "Ertemp Zone 1",
      "bus_datatype": "int16",
      "type": "register",
      "address": 1009,
      "datatype": "int16",
      "writable": false
    },
    {
      "name": "CO2",
      "bus_datatype": "int16",
      "type": "register",
      "address": 1012,
      "datatype": "int16",
      "writable": false
    },
    {
      "name": "Setpoint",
      "bus_datatype": "int16",
      "type": "register",
      "address": 1014,
      "datatype": "int16",
      "writable": true
    }
  ]
}
Reply
#3
Hi!

When studying this case deeper, we saw that the whole idea was wrong. If you see at the attached picture, the Trox unit could only read setpoints for controlling temperature and ppm. (Holding register) The idea to send values from KNX to Trox so the unit could regulate based on measured values, was wrong.

Attached Files Thumbnail(s)
   
Reply


Forum Jump: