Есть три однотипных скрипта (железка одна - wb-map3ev, отличаются только Device/Control и сообщением в тг):
var sended = false;
defineRule("alarm_event", {
whenChanged: "wb-map3ev_235/Urms L3",
then: function (newValue, devName, cellName) {
if (newValue < 200) {
if (!sended) {
sended = true;
var command = 'curl -s -X "POST" "https://tg1.*******.ru/tg.php" -d "bot=*******&chat_id=*********&text=Нет напряжения на фазе №3"';
runShellCommand(command);
}
} else {
sended = false;
}
}
});
Вольтметр MAP3EV, Device/Control: wb-map3ev_235/Urms L1, wb-map3ev_235/Urms L2, wb-map3ev_235/Urms L3, все видны в MQTT Channels.
После restart wb-rules скрипты отрабатывают нормально (приходят сообщения если напряжение менее 200В), кроме последнего (код выше), от него сообщения нет, причем если в скрипте меняю “wb-map3ev_235/Urms L3” на “wb-map3ev_235/Urms L2” то все мгновенно срабатывает. Что я делаю не так?
MAP3EV до монтажа на объекте подключен по однофазной схеме (N+L1), соот-но Urms L2 и Urms L3 отдают ~0, на что при перезагрузке правил срабатывает скрипт (при выключении Urms L1 тоже все ок), но упорно не видит состояние Urms L3. Такое ощущение что топик Urms L3 не виден в системе, хотя он присутствует:
Вы можете посмотреть историю значений Urms L3 например в веб-интерфейсе контроллера во вкладке «История».
Также попробуйте для проверки подключить на данный канал фазный провод.
Естественно подключал - все ок (кроме параметров, ну это и понятно). Что мне непонятно так это почему без подключения фазы нет данных, пусть 0, но опрос же должен идти. И да, при подключении пустого провода 20см данные идут, даже без подачи напряжения и N, пусть милливольты, но идут. Вот не пойму, баг это или фича)
В таком случае все нормально, и при перезагрузке правил приходит уведомление об отсутствии фаз L2/L3. Посему видимо вопрос закрыт, на объекте все равно провода какие-то подключены будут, на уровне наводок хватит для работы. Просто не понятно почему без проводов (наводок размахом в мВ) нет ответов от wb-map3ev_235/controls/Urms Х.
Со скриптом понятно, но почему mosquitto_sub -t '/devices/wb-map3ev_235/controls/Urms L3' -v без подключения даже пустого провода ничего не отдает. Но в общем да, вопрос решен.