[Модуль] MQTT (mqtt)

Разработка дополнительных модулей, подключение различных приложений.

Модераторы: Bagir, Ivan, Vit, immortal, PAV

Yoda
Сообщения: 5
Зарегистрирован: Пт ноя 09, 2018 8:43 pm
Благодарил (а): 0
Поблагодарили: 2 раза

Re: [Модуль] MQTT (mqtt)

Сообщение Yoda » Ср дек 05, 2018 6:09 pm

deemjd писал(а):
Вс ноя 25, 2018 2:41 am
В MQTT слетела кодировка. Топики выглядят ужасно.
Как можно это починить?
Сижу только на stable, в код не лезу.. Образ 3.33 от Сергея
Проблема поднималась уже несколькими сообщениями назад. Через некоторое время после запуска (или стирания неиспользуемых тем) начинают вылазить битые темы и сообщения, которые в конечном счете все собой заполняют и полезная информация просто тонет в них.
mqtt.jpg
mqtt.jpg (122.37 КБ) 139 просмотров
Наступает момент, когда MQTT модуль зависает, и МЖД не может сменить состояние устройств (например из сцены), хотя брокер при этом прекрасно работает, с телефона MQTT клиентом можно управлять устройствами.

В "ошибках" пишет:

Код: Выделить всё

cycle_mqtt
Backtrace:
#0 /var/www/cycle.php(366): registerError('cycle_hang', 'cycle_mqtt')
#1 {main}
Но это когда уже совсем плохо, и все зависло.

С cycle_mqtt.php.txt такая простыня.
СпойлерПоказать

Код: Выделить всё

Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...19:27:16 Topics to watch: # (Total: 1)
19:27:16 Path: #
19:27:16 Subscribing to: #  
19:27:21 Topics to watch: # (Total: 1)
19:27:21 Path: #
19:27:21 Subscribing to: #  
Trying to reconnect...19:58:57 Topics to watch: # (Total: 1)
19:58:57 Path: #
19:58:57 Subscribing to: #  
Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...Trying to reconnect...         <html>
          <head>
          <title>Error</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>          
          </head>
          <body>
          <div class="container">
          <h1>Error</h1>
          <h3>Details</h3>
          <div class="alert alert-danger">http://<br/>2006: MySQL server has gone away<br>SELECT * FROM mqtt WHERE PATH LIKE 'tele/Washer_Power/STATE/Time'</div>
          <h3>Backtrace</h3>
          <div><pre>#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('2006: MySQL ser...', 0)
#1 /var/www/lib/mysqli.class.php(185): mysql->Error('SELECT * FROM m...', 0)
#2 /var/www/lib/mysqli.class.php(230): mysql->Exec('SELECT * FROM m...')
#3 /var/www/lib/sqlFunctions.class.php(90): mysql->SelectOne('SELECT * FROM m...')
#4 /var/www/modules/mqtt/mqtt.class.php(290): SQLSelectOne('SELECT * FROM m...')
#5 /var/www/modules/mqtt/mqtt.class.php(285): mqtt->processMessage('tele/Washer_Pow...', '2018-11-30T22:4...')
#6 /var/www/scripts/cycle_mqtt.php(135): mqtt->processMessage('tele/Washer_Pow...', '{"Time":"2018-1...')
#7 /var/www/lib/mqtt/phpMQTT.php(276): procmsg('tele/Washer_Pow...', '{"Time":"2018-1...')
#8 /var/www/lib/mqtt/phpMQTT.php(325): phpMQTT->message('{"Time":"2018-1...')
#9 /var/www/scripts/cycle_mqtt.php(93): phpMQTT->proc()
#10 {main}</pre></div>
          <div>
           <a href="#" class="btn btn-default" onclick="window.history.go(-1);return false;">&lt;&lt;&lt; Back</a>          
           <a href="/diagnostic.php" class="btn btn-success">Submit Diagnostic info</a>
           <a href="#" class="btn btn-default" onclick="window.location.reload();return false;">Reload page</a>
           <a href="/admin.php?md=panel&action=saverestore" class="btn btn-default">Go to Backup section</a>
          </div>
          </div>
          </body>
         </html>         <html>
          <head>
          <title>Error</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>          
          </head>
          <body>
          <div class="container">
          <h1>Error</h1>
          <h3>Details</h3>
          <div class="alert alert-danger">http://<br/>2006: MySQL server has gone away<br>SELECT * FROM mqtt WHERE PATH LIKE 'tele/Washer_Power/STATE/Time'</div>
          <h3>Backtrace</h3>
          <div><pre>#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('2006: MySQL ser...', 0)
#1 /var/www/lib/mysqli.class.php(238): mysql->Error('SELECT * FROM m...')
#2 /var/www/lib/sqlFunctions.class.php(90): mysql->SelectOne('SELECT * FROM m...')
#3 /var/www/modules/mqtt/mqtt.class.php(290): SQLSelectOne('SELECT * FROM m...')
#4 /var/www/modules/mqtt/mqtt.class.php(285): mqtt->processMessage('tele/Washer_Pow...', '2018-11-30T22:4...')
#5 /var/www/scripts/cycle_mqtt.php(135): mqtt->processMessage('tele/Washer_Pow...', '{"Time":"2018-1...')
#6 /var/www/lib/mqtt/phpMQTT.php(276): procmsg('tele/Washer_Pow...', '{"Time":"2018-1...')
#7 /var/www/lib/mqtt/phpMQTT.php(325): phpMQTT->message('{"Time":"2018-1...')
#8 /var/www/scripts/cycle_mqtt.php(93): phpMQTT->proc()
#9 {main}</pre></div>
          <div>
           <a href="#" class="btn btn-default" onclick="window.history.go(-1);return false;">&lt;&lt;&lt; Back</a>          
           <a href="/diagnostic.php" class="btn btn-success">Submit Diagnostic info</a>
           <a href="#" class="btn btn-default" onclick="window.location.reload();return false;">Reload page</a>
           <a href="/admin.php?md=panel&action=saverestore" class="btn btn-default">Go to Backup section</a>
          </div>
          </div>
          </body>
         </html>         <html>
          <head>
          <title>Error</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>          
          </head>
          <body>
          <div class="container">
          <h1>Error</h1>
          <h3>Details</h3>
          <div class="alert alert-danger">http://<br/>2006: MySQL server has gone away<br>SELECT * FROM mqtt WHERE PATH_WRITE LIKE 'tele/Washer_Power/STATE/Time'</div>
          <h3>Backtrace</h3>
          <div><pre>#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('2006: MySQL ser...', 0)
#1 /var/www/lib/mysqli.class.php(185): mysql->Error('SELECT * FROM m...', 0)
#2 /var/www/lib/mysqli.class.php(230): mysql->Exec('SELECT * FROM m...')
#3 /var/www/lib/sqlFunctions.class.php(90): mysql->SelectOne('SELECT * FROM m...')
#4 /var/www/modules/mqtt/mqtt.class.php(294): SQLSelectOne('SELECT * FROM m...')
#5 /var/www/modules/mqtt/mqtt.class.php(285): mqtt->processMessage('tele/Washer_Pow...', '2018-11-30T22:4...')
#6 /var/www/scripts/cycle_mqtt.php(135): mqtt->processMessage('tele/Washer_Pow...', '{"Time":"2018-1...')
#7 /var/www/lib/mqtt/phpMQTT.php(276): procmsg('tele/Washer_Pow...', '{"Time":"2018-1...')
#8 /var/www/lib/mqtt/phpMQTT.php(325): phpMQTT->message('{"Time":"2018-1...')
#9 /var/www/scripts/cycle_mqtt.php(93): phpMQTT->proc()
#10 {main}</pre></div>
          <div>
           <a href="#" class="btn btn-default" onclick="window.history.go(-1);return false;">&lt;&lt;&lt; Back</a>          
           <a href="/diagnostic.php" class="btn btn-success">Submit Diagnostic info</a>
           <a href="#" class="btn btn-default" onclick="window.location.reload();return false;">Reload page</a>
           <a href="/admin.php?md=panel&action=saverestore" class="btn btn-default">Go to Backup section</a>
          </div>
          </div>
          </body>
         </html>         <html>
          <head>
          <title>Error</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>          
          </head>
          <body>
          <div class="container">
          <h1>Error</h1>
          <h3>Details</h3>
          <div class="alert alert-danger">http://<br/>2006: MySQL server has gone away<br>SELECT * FROM mqtt WHERE PATH_WRITE LIKE 'tele/Washer_Power/STATE/Time'</div>
          <h3>Backtrace</h3>
          <div><pre>#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('2006: MySQL ser...', 0)
#1 /var/www/lib/mysqli.class.php(238): mysql->Error('SELECT * FROM m...')
#2 /var/www/lib/sqlFunctions.class.php(90): mysql->SelectOne('SELECT * FROM m...')
#3 /var/www/modules/mqtt/mqtt.class.php(294): SQLSelectOne('SELECT * FROM m...')
#4 /var/www/modules/mqtt/mqtt.class.php(285): mqtt->processMessage('tele/Washer_Pow...', '2018-11-30T22:4...')
#5 /var/www/scripts/cycle_mqtt.php(135): mqtt->processMessage('tele/Washer_Pow...', '{"Time":"2018-1...')
#6 /var/www/lib/mqtt/phpMQTT.php(276): procmsg('tele/Washer_Pow...', '{"Time":"2018-1...')
#7 /var/www/lib/mqtt/phpMQTT.php(325): phpMQTT->message('{"Time":"2018-1...')
#8 /var/www/scripts/cycle_mqtt.php(93): phpMQTT->proc()
#9 {main}</pre></div>
          <div>
           <a href="#" class="btn btn-default" onclick="window.history.go(-1);return false;">&lt;&lt;&lt; Back</a>          
           <a href="/diagnostic.php" class="btn btn-success">Submit Diagnostic info</a>
           <a href="#" class="btn btn-default" onclick="window.location.reload();return false;">Reload page</a>
           <a href="/admin.php?md=panel&action=saverestore" class="btn btn-default">Go to Backup section</a>
          </div>
          </div>
          </body>
         </html>         <html>
          <head>
          <title>Error</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>          
          </head>
          <body>
          <div class="container">
          <h1>Error</h1>
          <h3>Details</h3>
          <div class="alert alert-danger">http://<br/>2006: MySQL server has gone away<br>INSERT INTO `mqtt`(`PATH`, `TITLE`, `VALUE`, `UPDATED`, `ID`) VALUES('tele/Washer_Power/STATE/Time', 'tele/Washer_Power/STATE/Time', '2018-11-30T22:40:46', '2018-11-30 22:40:47', '')</div>
          <h3>Backtrace</h3>
          <div><pre>#0 /var/www/lib/mysqli.class.php(396): custom_error->__construct('2006: MySQL ser...', 0)
#1 /var/www/lib/mysqli.class.php(185): mysql->Error('INSERT INTO `mq...', 0)
#2 /var/www/lib/mysqli.class.php(329): mysql->Exec('INSERT INTO `mq...')
#3 /var/www/lib/sqlFunctions.class.php(111): mysql->Insert('mqtt', Array)
#4 /var/www/modules/mqtt/mqtt.class.php(307): SQLInsert('mqtt', Array)
#5 /var/www/modules/mqtt/mqtt.class.php(285): mqtt->processMessage('tele/Washer_Pow...', '2018-11-30T22:4...')
#6 /var/www/scripts/cycle_mqtt.php(135): mqtt->processMessage('tele/Washer_Pow...', '{"Time":"2018-1...')
#7 /var/www/lib/mqtt/phpMQTT.php(276): procmsg('tele/Washer_Pow...', '{"Time":"2018-1...')
#8 /var/www/lib/mqtt/phpMQTT.php(325): phpMQTT->message('{"Time":"2018-1...')
#9 /var/www/scripts/cycle_mqtt.php(93): phpMQTT->proc()
#10 {main}</pre></div>
Честно говоря, с PHP не сильно дружу, что со всем этим делать, непонятно. Или проблема в чем-то другом? Хотя на компе и на телефоне MQTT клиенты работают, и такого мусора не показывают.

MJD на RasPi 3B (Stretch lite).
За это сообщение автора Yoda поблагодарил:
deemjd (Сб дек 08, 2018 4:58 pm)
Рейтинг: 1.37%
deemjd
Сообщения: 11
Зарегистрирован: Чт сен 13, 2018 10:20 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: [Модуль] MQTT (mqtt)

Сообщение deemjd » Сб дек 08, 2018 5:00 pm

Yoda, у меня MD и MQTT в целом работают, но честно говоря глаза ломаются со всем этим работать.

Может быть кто нибудь все таки подскажет решение?
krepton85
Сообщения: 2
Зарегистрирован: Вс окт 28, 2018 11:04 pm
Благодарил (а): 0
Поблагодарили: 0

Re: [Модуль] MQTT (mqtt)

Сообщение krepton85 » Сб дек 08, 2018 8:57 pm

Помогите перестал работать этот модуль после переустановки всей системы ubuntu затем majordomo, восстановил из бэкапа данные для majordomo а в них был этот модуль mqtt, теперь не запускается цикл mqtt.php , пробовал удалять этот модуль, устанавливать снова, все без результатно. В дебаг сообщениях следующее:

Closing thread: exec php -q ./scripts/cycle_mqtt.php --params "a:0:{}">>/var/www/cms/debmes/log_2018-12-08-cycle_mqtt.php.txt
и лог этот кстати пуст.

Ах да, зверек: Orange Pi Zero.

В общем переустановил всю систему с нуля, теперь установил модуль mqtt с маркета дополнений и все равно не стартует цикл. В чем дело?

Модуль "connect" точно так же не запускается:
Closing thread: exec php -q ./scripts/cycle_connect.php --params "a:0:{}">>/var/www/cms/debmes/log_2018-12-09-cycle_connect.php.txt


А также Skype, хотя он мне и не нужен:
20:59:08 0.79472400 Closing thread: exec php -q ./scripts/cycle_skype.php --params "a:0:{}">>/var/www/cms/debmes/log_2018-12-09-cycle_skype.php.txt
Аватара пользователя
hc2hunter
Сообщения: 59
Зарегистрирован: Сб дек 02, 2017 10:45 am
Благодарил (а): 22 раза
Поблагодарили: 2 раза

Re: [Модуль] MQTT (mqtt)

Сообщение hc2hunter » Вт дек 11, 2018 5:11 pm

Подскажите, периодически падает цикл MQTT со следующими ошибками.
Куда можно глянуть, в чем проблема?
Вложения
mqtt_error.png
mqtt_error.png (12.33 КБ) 39 просмотров
Ответить