Циклически пропадает связь web ui


#1

Здравствуйте!
Как мне кажется, ничего не делал серьезного, разбирался с шаблонами настроек для устройств. И в какой-то момент Web UI стал отваливаться. 3 сек дисконнект - потом мигает коннект и так по кругу. И по WiFi и по LAN.
Перегружал комп, вкл/выкл WB - ничего не помогло. Просто так, через часа 2 работы возникла проблема(
Что делать?


#2

Здравствуйте, polygon!
Такого не наблюдал никогда. Попробуйте из другого браузера посмотреть. Посмотрите, что пишет в логи (/var/log/messages, /var/log/mosquitto/mosquitto.log, /var/log/nginx/*.log) контроллер, какие сообщения в консоли браузера (F12 в FireFox).


#3

пробовал другой. работаю в мозилле:

TypeError: messages is undefined[Подробнее] mqttws31.js:1151:19
reconnect timer fired mqttService.js:62:9
Connected to 192.168.1.222:18883 as ‘contactless-rmgQseQyVB’ mqttService.js:103:7
SUBSCRIBE: /wbrules/log/+ mqttService.js:139:7
SUBSCRIBE: /devices/wbrules/controls/Rule debugging mqttService.js:139:7
SUBSCRIBE: /rpc/v1/confed/Editor/+/contactless-rmgQseQyVB/reply mqttService.js:139:7
Server connection lost:
Object { errorCode: 5, errorMessage: “AMQJS0005E Internal error. Error Message: AMQJS0009E Malformed UTF data:e0 6b -50., Stack trace: parseUTF8@http://192.168.1.222/lib/mqttws31.js:646:13\ndecodeMessage@http://192.168.1.222/lib/mqttws31.js:485:21\nClientImpl.prototype._deframeMessages@http://192.168.1.222/lib/mqttws31.js:1169:24\nClientImpl.prototype._on_socket_message@http://192.168.1.222/lib/mqttws31.js:1150:18\nscope/<@http://192.168.1.222/lib/mqttws31.js:157:11\n” }

так, а лог в WB:
Jan 22 14:48:57 wirenboard-AZY4TD65 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 discrete(s) @ 7 of device modbus:53: Serial protocol error: illegal data value
Jan 22 14:48:57 wirenboard-AZY4TD65 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 39 of device modbus:53: Serial protocol error: illegal data value
Jan 22 14:48:57 wirenboard-AZY4TD65 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 discrete(s) @ 7 of device modbus:53: Serial protocol error: illegal data value
Jan 22 14:48:57 wirenboard-AZY4TD65 user.notice serial: ModbusRTU::ReadRegisterRange(): failed to read 1 input(s) @ 39 of device modbus:53: Serial protocol error: illegal data value

Я пробовал K1 заменить на K1 канал. Потом вернул обратно, но пляска продолжается


#4

Удалите устройство с адресом 53 из конфигурации контроллера. Я так понимаю, что именно шаблон этого устройства вы редактировали. Восстановите шаблон (скачать можно отсюда https://github.com/contactless/wb-mqtt-serial/tree/master/wb-mqtt-serial-templates). Добавьте устройство заново.


#5

А как удалить, если морда недоступна?


#6

А, да, web же не работает! Отредактируйте /etc/wb-mqtt-serial.conf, удалите фрагмент, где описывается устройствою Пример:
%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
Выполните команду service wb-mqtt-serial restart


#7

извините за тупой вопрос… а как выполнить команду? Я открыл WinSCP и там есть возможность выполнить команду. Но надо быть в какой-то директории, как я понимаю. В какой?


#8

логи с mosquito:
1548170944: New connection from 127.0.0.1 on port 1883.
1548170944: New client connected from 127.0.0.1 as mosqpub|6336-wirenboard (c1, k60).
1548170944: Client mosqsub|6335-wirenboard disconnected.
1548170944: Client mosqpub|6336-wirenboard disconnected.
1548170945: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).
1548170945: Socket error on client contactless-g71hqwdmgt, disconnecting.
1548170947: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).
1548170948: Socket error on client contactless-g71hqwdmgt, disconnecting.
1548170950: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).
1548170951: Socket error on client contactless-g71hqwdmgt, disconnecting.
1548170953: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).
1548170953: Socket error on client contactless-g71hqwdmgt, disconnecting.
1548170956: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).
1548170956: Socket error on client contactless-g71hqwdmgt, disconnecting.
1548170958: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).
1548170959: Socket error on client contactless-g71hqwdmgt, disconnecting.
1548170961: New client connected from 192.168.1.102 as contactless-g71hqwdmgt (c1, k60).


#9

файл поменял, удалил, теперь он такой:

{
“debug”: false,
“ports”: [
{
“path”: “/dev/ttyAPP1”,
“devices”: [],
“port_type”: “serial”,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 2,
“poll_interval”: 10,
“enabled”: true,
“baud_rate”: 9600
},
{
“path”: “/dev/ttyAPP4”,
“devices”: [],
“baud_rate”: 9600,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 2,
“poll_interval”: 10,
“enabled”: true
},
{
“path”: “/dev/ttyAPP2”,
“devices”: [],
“baud_rate”: 9600,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 2,
“poll_interval”: 10,
“enabled”: false
},
{
“path”: “/dev/ttyAPP3”,
“devices”: [],
“baud_rate”: 9600,
“parity”: “N”,
“data_bits”: 8,
“stop_bits”: 2,
“poll_interval”: 10,
“enabled”: false
}
]
}

через putty выполнил команду, она вроде выполнилась. - ничего не изменилось.
потом ребутнул контроллер через команду - ничего. Наверное, еще раз логи надо прислать?


#10

извините, что заваливаю сообщениями, но я не могу теперь логи прочитать из messages. Файл 20 Мб, копируется и открывается только часть - 2983кБ ((


#11

Его, лог-файл, можно удалить и перезагрузиться.


#12

И покажите, что в консоли мозиллы сейчас, пожалуйста.


#13

Удалил, но последних логов все-равно не вижу. ребутнул.

вот что сейчас в мозилле:
mqttService.js:162:7
TypeError: messages is undefined[Подробнее] mqttws31.js:1151:19
reconnect timer fired mqttService.js:62:9
Connected to 192.168.1.221:18883 as ‘contactless-dilu08WzLS’ mqttService.js:103:7
SUBSCRIBE: /wbrules/log/+ mqttService.js:139:7
SUBSCRIBE: /devices/wbrules/controls/Rule debugging mqttService.js:139:7
SUBSCRIBE: /rpc/v1/confed/Editor/+/contactless-dilu08WzLS/reply mqttService.js:139:7
SUBSCRIBE: /firmware/status mqttService.js:139:7
SUBSCRIBE: /firmware/log mqttService.js:139:7
SUBSCRIBE: /firmware/progress mqttService.js:139:7
Server connection lost:
Object { errorCode: 5, errorMessage: “AMQJS0005E Internal error. Error Message: AMQJS0009E Malformed UTF data:e0 6b -50., Stack trace: parseUTF8@http://192.168.1.221/lib/mqttws31.js:646:13\ndecodeMessage@http://192.168.1.221/lib/mqttws31.js:485:21\nClientImpl.prototype._deframeMessages@http://192.168.1.221/lib/mqttws31.js:1169:24\nClientImpl.prototype._on_socket_message@http://192.168.1.221/lib/mqttws31.js:1150:18\nscope/<@http://192.168.1.221/lib/mqttws31.js:157:11\n” }
mqttService.js:162:7


#14

если я через putty и микроюсб подключен, вэб морда ведь должна работать?


#15

Веб-морду через microUSB не увидеть.


#16

да понятно, я имею ввиду что если она в браузере открыта через сеть, то подключение по сер порту не мешает?


#17

а это консоль хрома показывает:
mqttws31.js:1151 Uncaught TypeError: Cannot read property ‘length’ of undefined
at ClientImpl.Paho.MQTT.ClientImpl._on_socket_message (mqttws31.js:1151)
at WebSocket. (mqttws31.js:157)
Paho.MQTT.ClientImpl._on_socket_message @ mqttws31.js:1151
(anonymous) @ mqttws31.js:157
mqttService.js:62 reconnect timer fired
mqttService.js:103 Connected to 192.168.1.222:18883 as ‘contactless-fJYBg2tJ0g’
mqttService.js:139 SUBSCRIBE: /wbrules/log/+
mqttService.js:139 SUBSCRIBE: /devices/wbrules/controls/Rule debugging
mqttService.js:139 SUBSCRIBE: /rpc/v1/confed/Editor/+/contactless-fJYBg2tJ0g/reply
mqttService.js:162 Server connection lost: {errorCode: 5, errorMessage: “AMQJS0005E Internal error. Error Message: AMQJS000…us> (http://192.168.1.222/lib/mqttws31.js:157:13)”}


#18

с IP 221 - это вайфай, 222 - лан


#19

я зашел в сеттинги WB и вот что там:


#20

Нет, USB-консоль не мешает.
Так, подозреваю, что у вас в очереди сообщений что-то плохое осталось.
Выполните, пожалуйста, в putty команду mqtt-delete-retained "/devices/#"
Скажите, а вы устройство снова подключили и редактированный шаблон заменили?