Узел MQTT приводит к тому, что Node-RED теряет соединение с сервером - PullRequest
0 голосов
/ 11 апреля 2019

Узел КРАСНЫЙ 0,20 останавливается и перезапускается сразу после развертывания после добавления узла MQTT.Я пробовал MQTT на входных и выходных узлах - результат тот же.

Это RaspberryPi с OpenHabianPi 2.4.0.1.Сервер MQTT находится на той же машине.Другие устройства, использующие сервер MQTT, работают нормально, и я могу отправлять, получать и просматривать сообщения MQTT с другими клиентами.У меня также есть узел OpenHAB2 в том же потоке.

Вот (соответствующие) выходные данные консоли Node RED:

11 Apr 13:58:48 - [info] Started flows
11 Apr 13:58:48 - [info] Server now running at http://127.0.0.1:1880/
11 Apr 13:58:48 - [info] [mqtt-broker:LocalMqtt] Connected to broker: mqtt://localhost:1883
11 Apr 13:58:53 - [red] Uncaught Exception:
11 Apr 13:58:53 - TypeError: Converting circular structure to JSON
    at JSON.stringify (<anonymous>)
nodered.service: Main process exited, code=exited, status=1/FAILURE
nodered.service: Unit entered failed state.
nodered.service: Failed with result 'exit-code'.
nodered.service: Service hold-off time over, scheduling restart.
Stopped Node-RED graphical event wiring tool.
Started Node-RED graphical event wiring tool.
11 Apr 13:58:55 - [info]
Welcome to Node-RED
===================
11 Apr 13:58:55 - [info] Node-RED version: v0.20.0
11 Apr 13:58:55 - [info] Node.js  version: v10.15.3
11 Apr 13:58:55 - [info] Linux 4.14.98-v7+ arm LE
11 Apr 13:58:56 - [info] Loading palette nodes
11 Apr 13:59:07 - [info] Settings file  : /home/openhabian/.node-red/settings.js
11 Apr 13:59:07 - [info] Context store  : 'default' [module=memory]
11 Apr 13:59:07 - [info] User directory : /home/openhabian/.node-red
11 Apr 13:59:07 - [warn] Projects disabled : editorTheme.projects.enabled=false
11 Apr 13:59:07 - [info] Flows file     : /home/openhabian/.node-red/flows_elvie.json
11 Apr 13:59:07 - [warn]
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.
If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.
You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------
11 Apr 13:59:07 - [info] Starting flows

После развертывания Node RED входит в постоянный цикл отключенияи переподключение.Я могу решить эту проблему только путем удаления узла MQTT и повторного развертывания.

Я ранее использовал узлы MQTT и OpenHAB2 вместе в одном потоке без этой проблемы.Я не знаю, что изменилось, но это может быть новая версия Node RED 0.20, так как это недавнее изменение (ish).

Спасибо всем, кто может помочь.


Дополнительная информация:

После некоторых проб и ошибок я могу свести проблему к существующей, если одновременно имеются подключения к MQTT и OpenHab2.

MQTT + OpenHab2 = потерянное соединение

Читая вставленный выше вывод, мне интересно, есть ли проблема с использованием пустого имени пользователя или пароля в одном из этихузлы.Я еще поэкспериментирую ...

...