Китайское реле rs-485

Не, modbus_client же “подерется” за порт с wb-mqtt-serial. В простейшем случае я бы описал каналы в шаблоне китайского устройства для записи и чтения этих регистров. Потом создал бы виртуальное устройство с выключателями, затем в скрипте описал бы правила, отслеживающие изменения контролов виртуального устройства и значений регистров реального, и изменяющих одно в с соответствии с другим.

Если не сложно, ткните туда, как решистры On и off прописать в конфиг. Возможно я их и видел.

Я хотел бы еще раз обратить внимание: в устройстве нет регистров ON и OFF, есть регистры управления реле, а в них записываются команды включения и выключения.

Сделайте для адресов 0x0001 и 0x0002 холдинг-регистров ползунки типа value:

                    "name" : "Relay1",
                    "reg_type" : "holding",
                    "address" : 1,
                    "type" : "value"
                },
                {
                    "name" : "Relay2",
                    "reg_type" : "holding",
                    "address" : 2,
                    "type" : "value"
                                    }

Проверьте, устанавливая ползунок в значения 0x0100 (256) и 0x0200 (512), вы должный включать-выключать реле. Далее в скрипте создаете виртуальный выключатель, в зависимости от положения которого изменяется значение ползунков Relay1 и Relay2. Короче, смело экспериментируйте!

Всех с Новым Годом.
Сделал скрипт управления.
Шаблон устройства (usr/share/wb-mqtt-serial/templates/config-*.json) выглядит так:

{
        "device_type": "rs485_2ch_12v",
        "device":
                {
                    "name": "rs485_2ch_12v",
                    "id": "rs485_2ch_12v",
                    "enabled": true,
                    "slave_id": 1,
                    "channels": [
                        {
                            "name" : "Relay_1",
                            "address" : "1",
                            "reg_type" : "holding",
                            "type" : "value"
                    ]
                }
}

Виртуальное устройство сделал вот так
Read R1 - что бы не бегать смотреть переключение реле.
Значение - 0x0100 - закрыто, только не знаю, кавычки нужны!?
Значение - 0x0300 - переключить состояние реле на обратное.

	// 
defineVirtualDevice("switch_relay", {
    title: "Switch relay",
    cells: {
	enabled: {
	    type: "switch",
	    value: "0x0100"
	},
   }
});
defineRule("someRule", {
	whenChanged: "switch_relay/enabled",
  	then: function(newValue, devName, cellName){
  		dev["Relay_rs485_2ch_12v/Relay_1"] = 0x0300; // 0x0300
    }
});

defineRule("Read R1", {
  	whenChanged: "wb-adc/R1", 
  	then: function (newValue, devName, cellName) 
  	{
      if ( newValue >= 0.01 )	
      	{
        	dev.read_r1["R1"] = 1; 
        }
      else 
      	{
        	dev.read_r1["R1"] = 0; 
      	}
    }
});

Добрый вечер.
От чего могут постоянно сыпаться сообщения в /var/log/message:

wirenboard user.notice serial: 1485116066484: Wait until 1485116066583