Sonoff NSPanel Правила

Все сделал с Использование Sonoff NSPanel с контроллером Wiren Board — Wiren Board

руководствуясь wb-community/scripts/nxpanel2wb at main · wirenboard/wb-community · GitHub скопировал правило и модуль в соответствующие папки
предварительно исправив

idVirtDev = deviceName //"ns-panel"
idTasmota = tasmotaName //"tasmota_C846D4"

и

panel.init(“ns-panel”, “tasmota_C846D4”)

на свое.

редактирую правило и получаю ошибки
Ошибка правила: ReferenceError: identifier ‘ns’ undefined
duk_js_var.c:1232
init nxpanel2wb:23
anon nxpanel2wb:427
F /etc/wb-rules/nxpanel2wb-demo.js:5 preventsyield

где собака зарыта?

и еще тасмота не видит wb

Connect failed to http://wirenboard-alynhady.local:1883, rc -5. Retry in 120 s

ip писал тож самое выдает

Единственное место, где надо что-то исправлять - это строка panel.init в скрипте demo. Модуль надо скопировать без изменений.

Сделайте все аккуратно по инструкции заново.

Здесь мы вряд ли поможем - Тасмота стороннее ПО, ищите ответ в её документации. Вам нужен раздел по подключению к MQTT.

А что за строка “**http://**wirenboard-alynhady.local”? В какой адрес она должна разрешаться?

MQTT брокер читает на WB данные

тасмота пробилась наконец то. Проблема была в логине пароле в MQTT. теперь по умолчанию если все оставить то фокус не получится. необходимо настроить пароль на WB и прописать его в панель

tasmota

▼discovery

▼C049EFD3A74C

config = {“ip”:“192.168.88.25”,“dn”:“Tasmota”,“fn”:[“Tasmota”,“”,null,null,null,null,null,null],“hn”:“tasmota-D3A74C-1868”,“mac”:“C049EFD3A74C”,“md”:“NSPanel”,“ty”:0,“if”:0,“ofln”:“Offline”,“onln”:“Online”,“state”:[“OFF”,“ON”,“TOGGLE”,“HOLD”],“sw”:“12.5.0.3”,“t”:“tasmota_D3A74C”,“ft”:“%prefix%/%topic%/”,“tp”:[“cmnd”,“stat”,“tele”],“rl”:[1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],“swc”…

sensors = {“sn”:{“Time”:“2023-05-24T20:43:01”,“ANALOG”:{“Temperature1”:30.7},“TempUnit”:“C”},“ver”:1}

Но все таки осталась ошибка правила:

Ошибка правила: ReferenceError: identifier ‘ns’ undefined
duk_js_var.c:1232
init nxpanel2wb:23
anon nxpanel2wb:427
F /etc/wb-rules/nxpanel2wb-demo.js:5 preventsyield

Пришлите, пожалуйста, файл модуля, который вы положили в папку /etc/wb-rules-modules и файл скрипта /etc/wb-rules/nxpanel2wb-demo.js.

Я с субботы в отпуске и кроме меня ни у кого этой панели нет, поэтому будет хорошо, если вы в пятницу, 26 мая пришлёте файлы сюда. Потом придётся ждать до середины июня.

Сдаётся мне, что это от того, что вы файл nxpanel2wb.js редактировали, что делать нельзя.

Поэтому надо сделать так, как я просил выше и как написано в инструкции:

  1. Положить файл nxpanel2wb.js без изменений в папку /etc/wb-rules-modules/
  2. Создать скрипт в веб-интерфейсе контроллера, вставить в него демку и изменить единственную строчку:
    panel.init("ns-panel", "tasmota_C846D4") // deviceName, tasmotaName

Когда у вас всё заработает, можете дальше уже писать свою логику в nxpanel2wb-demo.js, а файл модуля nxpanel2wb.js по прежнему изменять нельзя. Точнее можно, но только с понимаем вносимых изменений и готовностью потом отлаживать ошибки.

1 лайк

Спасибо! Сдаётся мне, что это от того, что вы файл nxpanel2wb.js редактировали, что делать нельзя. опишите в настройках. мало ли

Но редактировать модуль - зачем? Это и так очевидно ведь.

вовсе не очевидно. и в модуле и в правилах в примечаниях указано “tasmota_C846D4”. как следствие поменял в двух местах.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.