Проекты GitHub SourceForge |
BtMesh /
SWWSEUY3Выключатель механическийСделан на базе выключателя MOES SW-WS-EUY3. Может быть в исполнении с одной, двумя или тремя клавишами. Конструктивно представляет собой две платы:
Печатные платы универсальные для всех трех исполнений и отличаются только наличием (или отсуствием) определенных компонентов, да прошивкой микроконтроллера. В качестве переделки была переработана плата контроллера, где, вместо модуля Tuya WiFi, был поставлен модуль Bluetooth 5 c NFR5281. Ссылки
Список реализованных моделейReceived composition: Feature support: relay: yes proxy: yes friend: yes lpn: no Element 0: location: 0000 SIG defined models: Model ID 0000 "Configuration Server" Model ID 0002 "Health Server" Model ID 1004 "Generic Default Transition Time Server" Model ID 1000 "Generic OnOff Server" Model ID 1006 "Generic Power OnOff Server" Model ID 1007 "Generic Power OnOff Setup Server" Model ID 1203 "Scene Server" Model ID 1204 "Scene Setup Server" Model ID 1001 "Generic OnOff Client" Element 1: location: 0000 SIG defined models: Model ID 1004 "Generic Default Transition Time Server" Model ID 1000 "Generic OnOff Server" Model ID 1006 "Generic Power OnOff Server" Model ID 1007 "Generic Power OnOff Setup Server" Model ID 1203 "Scene Server" Model ID 1204 "Scene Setup Server" Model ID 1001 "Generic OnOff Client" Особенность реализации ревизии 1В рамках одного канала управления (а их может быть до трех - я напомю), реализованы модели Generic On Off сервер и клиент. К клиенту привязана клавиша, а к серверу: реле и светодиод состояния. В случае нажатия на клавишу, клиент:
Таким образом реализуется функция переключения состояния нагрузки при нажатии на клавишу. В обычном случае, публикацию клиента нужно настроить на сервер того же узла, но теоретически возможно управление любым другим сервером, в том числе, физически расположенном на другом устройстве. У данной схемы есть ряд преимуществ:
Однако, данный подход делает очень неудобным реализацию проходных выключателей: светодиод должен показывать соостояние именно удаленной нагрузки, так как к дополнительному выключатель нагрузка вообще подключаться не будет. Можно реализовать отдельный вид выключателя, на котором будет реализован только клиент, а можно просто немного изменить алгоритм управления. Прект реализации ревизии 2Предлагается привязать светодиод статуса нагрузки к клиенту, а не серверу. В случае нажатия клавиши клиент:
Периодически:
Ну и последнее, в случае подписки клиента на получение Generic OnOff Status сообщений:
То есть, нужно основной выключатель и все дополнительные добавить в одну группу и настроить публикации и подписки на эту группу. Тогда, в случае нажатии кнопки на одном из выключетелей, основной - включит или выключит нагрузку, а все клиенты отобразят текущий статус нагрузки на своих светодиодах. Возможен и альтернативный вариант в этой реализации:
В этом случае при нажалии клавиши:
Поскольку, публикация на сервере может быть периодической, то пункт, в котором клиенты периодически должны запрашивать состояние сервера можно исключить. То есть: реальные изменения в прошивке будут выглядет так:
|