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.

Possible bug in modbus reading
#3
See the last register, the others are wrong, the same thing happens if I read it via a manual reading test


Code:
{     "manufacturer": "Viessmann",     "description": "Termostato PCUSM - Modbus RTU",     "read_swap": "n",     "mapping": [         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 0,             "units": "V",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Ventilazione - Velocità minima ventilatore mandata"         },         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 1,             "units": "V",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Ventilazione - Velocità massima ventilatore mandata"         },         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 2,             "units": "V",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Ventilazione - Velocità minima ventilatore ripresa"         },         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 3,             "units": "V",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Ventilazione - Velocità massima ventilatore ripresa"         },         {             "bus_datatype": "temperature",             "datatype": "int16",             "address": 15,             "units": "°C",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Regolazione - Setpoint temperatura"         },         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 16,             "units": "K",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Regolazione - Differenziale temperatura"         },         {             "bus_datatype": "temperature",             "datatype": "int16",             "address": 17,             "units": "°C",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Antigelo - Setpoint antigelo"         },         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 18,             "units": "K",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Antigelo - Differenziale antigelo"         },         {             "bus_datatype": "temperature",             "datatype": "int16",             "address": 19,             "units": "°C",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Sbrinamento - Setpoint sbrinamento"         },         {             "bus_datatype": "float16",             "datatype": "uint16",             "address": 20,             "units": "K",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Sbrinamento - Differenziale sbrinamento"         },         {             "bus_datatype": "float16",             "datatype": "int16",             "address": 21,             "units": "K",             "writable": true,             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Regolazione - Banda proporzionale caldo/freddo"         },         {             "value_custom": {                 "0": "Bassa",                 "1": "Media",                 "2": "Alta",                 "3": "Automatico",                 "default": "?"             },             "bus_datatype": "uint8",             "address": 22,             "datatype": "uint16",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Ventilazione - Set velocità ventilatore"         },         {             "datatype": "uint16",             "bus_datatype": "uint16",             "address": 24,             "type": "register",             "name": "Recuperatore 1 - Configurazione - Posizione DIP switch"         },         {             "bus_datatype": "temperature",             "address": 26,             "datatype": "int16",             "units": "°C",             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Temperature - Temperatura esterna"         },         {             "bus_datatype": "temperature",             "address": 27,             "datatype": "int16",             "units": "°C",             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Temperature - Temperatura aria immessa"         },         {             "bus_datatype": "temperature",             "address": 28,             "datatype": "int16",             "units": "°C",             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Temperature - Temperatura aria espulsa"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Filtri sporchi",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 128,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme filtri sporchi"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 1,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda AI1"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 2,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda AI2"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 4,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda AI3"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 8,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda AI4"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 16,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda AI5"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 32,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda P1"         },         {             "datatype": "uint16",             "value_custom": {                 "0": "Normale",                 "1": "Allarme",                 "default": "?"             },             "bus_datatype": "bool",             "address": 29,             "value_bitmask": 64,             "type": "register",             "name": "Recuperatore 1 - Allarmi - Allarme sonda P2"         },         {             "bus_datatype": "temperature",             "address": 30,             "datatype": "int16",             "units": "°C",             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Sonde opzionali - Temperatura P1"         },         {             "bus_datatype": "temperature",             "address": 31,             "datatype": "int16",             "units": "°C",             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Sonde opzionali - Temperatura P2"         },         {             "bus_datatype": "uint16",             "datatype": "uint16",             "address": 34,             "units": "ppm",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Qualità aria - Setpoint CO₂"         },         {             "value_custom": {                 "0": "Off",                 "1": "On",                 "default": "?"             },             "bus_datatype": "bool",             "address": 43,             "datatype": "uint16",             "writable": true,             "type": "register",             "name": "Recuperatore 1 - Comandi - On/Off da Modbus"         },         {             "read_swap": "n",             "bus_datatype": "temperature",             "address": 40056,             "datatype": "uint16",             "units": "°C",             "type": "register",             "value_multiplier": 0.1,             "name": "Recuperatore 1 - Temperature - Temperatura ambiente"         }     ] }

Wait, maybe I found the error, it has to be a holding register not an input register

No sorry, it is a holding
Reply


Messages In This Thread
RE: Possible bug in modbus reading - by Ceros2112 - Yesterday, 13:43

Forum Jump: