Терморегулятор BAC-1000

Нашел решение проблемы, установив “Дополнительная задержка перед записью в порт (мкс)” равной 500
Все варнинги про таймаут ушли, значения так же больше не становились рандомными.
Конфиг оставлю тут, вдруг кому то еще пригодится BAC-1000 (220v valve, 0-10v fan, modbus)

Конфиг порта и самого устройства BAC-1000
    {
      "baud_rate" : 9600,
      "data_bits" : 8,
      "devices" : 
      [
        {
          "channels" : 
          [
            {
              "address" : "4",
              "format" : "s16",
              "name" : "Lock buttons",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "switch"
            },
            {
              "address" : "8",
              "format" : "s16",
              "name" : "Room temperature",
              "offset" : 0,
              "readonly" : true,
              "reg_type" : "holding",
              "scale" : 0.1,
              "type" : "temperature"
            },
            {
              "address" : "3",
              "format" : "u16",
              "name" : "Setting temperature",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 0.1,
              "type" : "temperature"
            },
            {
              "address" : "9",
              "format" : "s16",
              "name" : "Valve status",
              "offset" : 0,
              "readonly" : true,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "switch"
            },
            {
              "address" : "1",
              "format" : "u16",
              "max" : "3",
              "name" : "Fan Speed",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "range"
            },
            {
              "address" : "2",
              "format" : "u16",
              "max" : "2",
              "name" : "Mode",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "range"
            },
            {
              "address" : "6",
              "format" : "s16",
              "name" : "Hours",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "value"
            },
            {
              "address" : "5",
              "format" : "s16",
              "name" : "Minutes",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "value"
            },
            {
              "address" : "7",
              "format" : "s16",
              "max" : "7",
              "name" : "Week",
              "offset" : 0,
              "reg_type" : "holding",
              "scale" : 1,
              "type" : "value"
            }
          ],
          "guard_interval_us" : 500,
          "protocol" : "modbus",
          "slave_id" : "1"
        }
      ],
      "enabled" : true,
      "parity" : "N",
      "path" : "/dev/ttyRS485-2",
      "poll_interval" : 10,
      "port_type" : "serial",
      "stop_bits" : 1
    }
1 лайк