Help Modbus Datatype - Hiller - 11.04.2023
Hi Everybody,
I try to conect my Tecalor / Stiebel Eltron heat pump to my KNX System over Modbus TCP IP. With the Modbus Profile Generator I generated a Profile which works, but I got Problems white the Modbus Datatype and Bus Datatype. When I read the Inputregister its wrong, for Exampel it shows 23C in reality its 6,7C.
I don't Understand which datatype I need to use. The documentation of my Heat Pump:
Code: {
"manufacturer": "Tecalor",
"description": "THZ",
"mapping": [
{
"name": "RAUMISTTEMP",
"address": 1,
"bus_datatype": "float16",
"datatype": "float16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "RAUMSOLLTEMP",
"address": 2,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "AUSSENTEMPERATUR",
"address": 7,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "ISTWERT-HK1",
"address": 8,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "SOLLWERT-HK1",
"address": 9,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "VORLAUFTEMP",
"address": 12,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "RUECKLAUFTEMP",
"address": 13,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "WW -ISTTEMP",
"address": 16,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "WW -SOLLTEMP",
"address": 17,
"bus_datatype": "int16",
"datatype": "int16",
"type": "inputregister",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "RAUMTEMP-TAG",
"address": 1002,
"bus_datatype": "int16",
"datatype": "int16",
"type": "register",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "RAUMTEMP-NACHT",
"address": 1003,
"bus_datatype": "int16",
"datatype": "int16",
"type": "register",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "WW -SOLL-TAG",
"address": 1012,
"bus_datatype": "int16",
"datatype": "int16",
"type": "register",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "WW -SOLL-NACHT",
"address": 1013,
"bus_datatype": "int16",
"datatype": "int16",
"type": "register",
"units": "\u00B0C",
"value_multiplier": 0.1
},
{
"name": "STUFE -TAG",
"address": 1018,
"bus_datatype": "uint16",
"datatype": "uint16",
"type": "register",
"units": "Stufe",
"value_multiplier": 1
},
{
"name": "STUFE -NACHT",
"address": 1019,
"bus_datatype": "uint16",
"datatype": "uint16",
"type": "register",
"units": "Stufe",
"value_multiplier": 1
}
]
}
RE: Help Modbus Datatype - admin - 12.04.2023
For values that have a 0.1 multiplier use these settings:
Code: "bus_datatype": "float16",
"datatype": "int16"
Use read test to verify that the addresses are correct (set the datatype to int16 not float16). Sometimes you have to subtract 1 from the documented addresses.
RE: Help Modbus Datatype - Hiller - 12.04.2023
Hi admin,
thank you for the fast answer.
Its what you said, the register adress is shiftet... when I want to read adress 7 I need to read adress 6.
|