Подключение реле Разумный дом

Добрый всем день!

Подключил реле DRM108EM /DRM88ER. прописал им адреса 1,2,3. все работает с профилем DRB88 , который есть по дефолту в wiren ( widgetы создаются, реле щелкают и тд), но до выключения. после выключение Wiren Board 5.8 и этих реле модули нужно сбросить на дефолтные настройки и прописать адреса по новой.
Чтобы это значило? где покопаться? нужны профы

ну что ? никто не поможет? мало исходной инфоомации?

Добрый день!
Пожалуйста, опишите поподробнее проблему, где прописываете адреса, как сбрасываете на дефолтные настройки, и почему это приходится делать.

Собственно подключил через USB свисток к rs485 по одному реле DRM108EM /DRM88ER. С помощью Modbus Poll прописал в 0й регистр три адреса 1, 2, 3. выкключил перепроверил - все работает.

Далее подключил их в линейку витой парой с терминатором на конце к WirenBoard 5. В конфигах подчепил с помощью профиля DRM88 все три реле и создал виджеты. Все щелкает и переключает. после опросов временно Relay1-8 подсвечиваются красным, но это не проблема. Далее отключаю…
Включаю опять всю цепочку 3 реле + контроллер и тишина. Контроллер не видит эти реле. Пытаюсь опросить modbus poll - ничего не выходит… Хорошо есть аппаратная кнопка сброса - и опять настройка реле, новое подключение и тп

Спасибо, понятнее. Попробуйте, пожалуйста, после манипуляций с переключением в web-интерфейсе отключать/включать а) только контроллер; б) только реле.
Если ничем не щелкать, а просто установить адреса, включить всю связку, потом выключить, потом снова включить — каков будет результат?
Если подключать только одно устройство — картина с недоступностью та же, что и с тремя?

а нельзя ли сразу узнать - профиле json drm88 - что то пишется в ячейку 0?

В регистр, dead_Ivanich, в регистр! :smile:
А еще точнее, в регистр хранения с адресом 0. Нет, ничего не пишется, можете убедиться сами:
шаблон хранятся тут: /usr/share/wb-mqtt-serial/templates/config-drb88.json

Опа, кажется, я понял, в чем ваша беда.
Карта регистров для DRM108EM совсем не такая, как для DRB88. Для устройство DRB88 прописана инициализация типа типа входа: в регистр 1 пишется 1. А для DRM108EM этот регистр задает параметры связи. И скорость после включения/выключения меняется с 9600 на 19200. Естественно, что его на 9600 больше никто не увидит!

Создайте новый шаблон на основе старого (скопируйте /usr/share/wb-mqtt-serial/templates/config-drb88.json в какой-нибудь /usr/share/wb-mqtt-serial/templates/config-drm108em.json) и удалите setup-секцию:

"setup": [
		{
		    "title": "Input 0 type",
		    "address": 1,
		    "value": 1 // was: 0
		},
		{
		    "title": "Input 0 module",
		    "address": 3,
		    "value": 3 // was: 11
		}

Ну и в начале файла переименуйте DRB88 в DRM108EM:

{
	"device_type" : "DRB88",
	"device" : {
	    "name": "DRB88",
	    "id": "drb88",

Создайте устройство DRM108EM с вашим адресом и попробуйте. Должно заработать.

о!!! спасибо. я так и подумал что дело в шаблоне! спасибо !! буду пробовать.json нашел - просто не сразу понял!!

Если заработает, выложите пожалуйста тут итоговый шаблон - мы добавим в стандартный образ.

файл не прикрепляется формата Json
только так… просто удалил строки инициализации как и сказали и все заработало =)

// Configuration options
{
	"device_type" : "DRM108EM",
	"device" : {
	    "name": "DRM108EM",
	    "id": "drm108em",
	    "enabled": true,

	    "channels": [
		{
		    "name" : "Relay 1",
		    "reg_type" : "coil",
		    "address" : 0,
		    "type": "switch"
		},
		{
		    "name" : "Relay 2",
		    "reg_type" : "coil",
		    "address" : 1,
		    "type": "switch"
		},
		{
		    "name" : "Relay 3",
		    "reg_type" : "coil",
		    "address" : 2,
		    "type": "switch"
		},
		{
		    "name" : "Relay 4",
		    "reg_type" : "coil",
		    "address" : 3,
		    "type": "switch"
		},
		{
		    "name" : "Relay 5",
		    "reg_type" : "coil",
		    "address" : 4,
		    "type": "switch"
		},
		{
		    "name" : "Relay 6",
		    "reg_type" : "coil",
		    "address" : 5,
		    "type": "switch"
		},
		{
		    "name" : "Relay 7",
		    "reg_type" : "coil",
		    "address" : 6,
		    "type": "switch"
		},
		{
		    "name" : "Relay 8",
		    "reg_type" : "coil",
		    "address" : 7,
		    "type": "switch"
		},
		{
		    "name" : "Input 1",
		    "reg_type" : "input",
		    "address" : 0,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 2",
		    "reg_type" : "input",
		    "address" : 1,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 3",
		    "reg_type" : "input",
		    "address" : 2,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 4",
		    "reg_type" : "input",
		    "address" : 3,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 5",
		    "reg_type" : "input",
		    "address" : 4,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 6",
		    "reg_type" : "input",
		    "address" : 5,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 7",
		    "reg_type" : "input",
		    "address" : 6,
		    "type": "switch",
		    "on_value": 101
		},
		{
		    "name" : "Input 8",
		    "reg_type" : "input",
		    "address" : 7,
		    "type": "switch",
		    "on_value": 101
		}
	    ]
	}
}

только не понятно почему то сохранились в dashboard старые версии реле. Но их нет уже в конфиге я стер. какой еще файл почистить?
Спасибо!

можно просто текстом тут: три обратные кавычки (`) в начале, три - в конце.

Пока так: MQTT в контроллерах Wiren Board — Wiren Board

mqtt-delete-retained ‘/devices/drb88_3/#’
точнее вот так…1,2,3

Добрый вечер!

пытаюсь написать первый скрипт - обнаруживаю, что не читаются дискретные входы. предварительно поставил на них триггерный вход -включать реле по тому же номеру 1,2,3… на триггер срабатывает - реле переключается, а в devices Input 1,2,3 не отображается… ну и соответственно скрипт не отрабатывает. Можно еще помощи, иначе долго я буду копаться с этими регистрами =)) Если убрать триггер - та же самая картина…

dead_Ivanich, а если не ставить предварительно триггерный вход, что происходит с Input-ами? Зачем нужны триггеры в модуле, если вы хотите управлять им контроллером?
Проверьте, что там без триггеров?

да собственно я и сказал, что с триггерами , что без - все одинаково. вайрен не видит изменения состояния. я замыкаю землю на вход -не видно в devices изменений.

а триггер ставлю для быстрого срабатывания. свет хочется без задержек включать

Я скажу честно, устройство, с которым вы сейчас работаете, не очень просто для понимания в плане организации структуры регистров, его работы и т.д. Так что пусть вас не смущает, что что-то не получается с первого (второго, третьего) раза. С ним наскоком трудно разобраться.
Я бы рекомендовал почитать хотя бы нашу статью про Modbus: Протокол Modbus

По проблеме:

В шаблоне описаны Discrete Inputs, к которым вы, как я понимаю, кнопки подключаете. Попробуйте убрать в шаблоне “on_value”: 101 для каждого из Inputs, они не могут быть больше одного бита. Ну, и пересоздать устройство с новым шаблоном.

я до этого дошел. но 101 как раз и означает установка порта в состояние дискретного входа?

я конечно покроплю над теорией, но хотелось бы понять где почитать про описание этих значений on_value и тп

ссылка не работает

Ссылку поправил, спасибо. 101 это, как я понимаю, для внутреннего программирования устройства используется, когда вы сами создаете алгоритм. Снаружи по Modbus все выглядит немного по-другому.
Значения для on_value берутся из документации производителя. Еще надо поправить, извините: это Discrete Inputs, а мы с ними пытаемся общаться как с Input Registers. В шаблоне попробуйте входы описать так:

                "name" : "Input 1",
                "reg_type" : "discrete",
                "address" : 0,
                "type" : "switch"
            },

Должно помочь.

а можно почитать про синтаксис шаблонов