NEWS
Драйвер MQTT
-
Так у меня возникает резонный вопрос кого лечить надо, меня, Максима или драйвер? Извините, злой очень. `
Ошибка в библиотеке MQTT которую Максим использует в своей прошивке. Для обхода этой проблемы Bluefox вставил заплатку в драйвер MQTT на ioBroker-е, заплатка активируется чекбоксом на второй страничке драйвера "Pathch für Chunking" `
Странная ошибка однако…Только драйвер ioBroker ее видит, причем прозрел недавно. Месяц назад другой драйвер ее в упор не видел. -
` > Например пакет connack выглядит следующим образом: 0x20 0x02 0x00 0x00
Если посылать эти байты по отдельности, то ваш клиент не отвечает. Хотя должен, т.к. TCP это поток, а не пакетный протокол.
Вот переписка по этому поводу на гите: https://github.com/mqttjs/mqtt-packet/issues/24 `
Че то я в танке…"Например пакет connack" тут говорим пакет, потом говорим а вот давайте мы этот пакет отправим отдельными байтами :shock: дальше больше, TCP это поток, ну и естественно этот поток точно знает куда в какую то сторону "течь" и где этот брокер сидит. Блин я окончательно туплю...Если делать пинг то теряются (иногда) какие то части "потока" и какого то пня их назвали "пакетами"...Ну кто нибудь человеческими словами объяснит почему перед этим четыре устройства с ioBroker работали на ура а после переустановки оного неделю назад, напрочь отказались работать? Устройства не перепрошивались с декабря прошлого года. Почему устройства работают с москитто на OpenWRT и Windows, также нормально общаются с облачными серверами? Да кстати, библиотека Arduino PubSubClient.h (врядли Максим ее использует ) оказывается тоже кривая :shock: . Есть у меня еще одно устройство на ESP в котором работает мой скетч Arduino с выше названной библиотекой так оно при подключении к драйверу ioBroker вообще теряет WiFi клиента и переходит в AP. Еще вопрос, а почему приложения для Андроид очень часто аварийно закрываются при работе с драйвером, чего раньше тоже не было?
-
Да кстати, библиотека Arduino PubSubClient.h (врядли Максим ее использует ) оказывается тоже кривая :shock: . Есть у меня еще одно устройство на ESP в котором работает мой скетч Arduino с выше названной библиотекой так оно при подключении к драйверу ioBroker вообще теряет WiFi клиента и переходит в AP. Еще вопрос, а почему приложения для Андроид очень часто аварийно закрываются при работе с драйвером, чего раньше тоже не было? ` PubSubClient.h работает на 10 ардуинах и одной есп без проблем и с новой и старой версией драйвера.
-
Да кстати, библиотека Arduino PubSubClient.h (врядли Максим ее использует ) оказывается тоже кривая :shock: . Есть у меня еще одно устройство на ESP в котором работает мой скетч Arduino с выше названной библиотекой так оно при подключении к драйверу ioBroker вообще теряет WiFi клиента и переходит в AP. Еще вопрос, а почему приложения для Андроид очень часто аварийно закрываются при работе с драйвером, чего раньше тоже не было?
PubSubClient.h работает на 10 ардуинах и одной есп без проблем и с новой и старой версией драйвера.
На ардуино не знаю работает или нет. А на ESP в моем скетче без всем известной птички у меня не работает, клиент WiFi библиотеки WiFiManager.h включает Configuration Portal по какой причине я исследование не проводил, но что то мне подсказывает что по таймауту, который происходит в PubSubClient.h (это мое имхо ). Наверное что то подобное происходит и в прошивке Максима, она переходит в Safe mode с периодичностью отсылки на mggt (сколько секунд установлено). Я не профи в кодировании, по большей части я технарь. И у нас технарей есть очень хороший девиз:" Не мешай технике работать…" . Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли? А как быть с приложением Андроид MQTT IoT? До этого работало без особых нареканий, теперь же слетает через раз.Не поленился посмотрел доки по mqtt. Какие такие байты? Это пакетный протокол который работает поверх TCP/IP (в нашем случае) опять же пакетного сетевого протокола.
Я когда случайно встретил инфу о ioBroker и установил то на радоваться не мог. После Majordomo у которого то циклы останавливаются то не запускаются а установка отдельная песня (даже не песня а ода ), чего стоит только это клинопись (PHP) :shock:. А тут все раз и поехало, так на тебе приехало...Теперь у меня очередной трабл java драйвер останавливается.
-
Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли? `
Что тебе мешает использовать старую версию?
! filename="Screenshot at März 19 10-40-30.png" index="0">~~
-
Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли? `
Что тебе мешает использовать старую версию?
! Screenshot at März 19 10-40-30.png `
За картинку спасибо. А то я не совсем разобрался как делать откат. Теперь только бы знать какая версия драйвера была :shock: . Ставил ioBroker где то в первой половине января. -
Просто интересно у программистов есть что то подобное? Зачем было ломать то что работало? Для того что бы потом делать костыли?
Просто два программиста решили пропихнуть идею ускорения коммуникации и стали отсылать байты сразу, а не составив сначала полное сообщение.Это в этом пакете https://www.npmjs.com/package/mqtt-packet, который за последний месяц скачали 125 925 раз.
Я не смог их уговорить вернуть изменение обратно.
Они упёрлись, как два барана: "Мы всё сделали по спецификации и отвали".
Что мне оставалось делать? Пусть Максим и Вьетнамцы правят свою библиотеку. Я буду тогда третьим бараном. :lol:
-
@Alex1808:
Просто два программиста решили пропихнуть идею ускорения коммуникации и стали отсылать байты сразу, а не составив сначала полное сообщение.Это в этом пакете https://www.npmjs.com/package/mqtt-packet, который за последний месяц скачали 125 925 раз.
Я не смог их уговорить вернуть изменение обратно.
Они упёрлись, как два барана: "Мы всё сделали по спецификации и отвали".
Что мне оставалось делать? Пусть Максим и Вьетнамцы правят свою библиотеку. Я буду тогда третьим бараном. :lol: `
Я так и думал. Что проблема в экономии количества TCP/IP пакетов для отправки пакетов mqtt, иными словами они решили что нечего гонять иногда полупустые пакеты, умники их…Скорость и трафик ускорить решили :lol:, при этом угробить простоту использования. А еще им начхать что основное применение это МК, а они как известно не безразмерные. Любое усложнение библиотек, увеличивает естественно объем кода и замедляет их работу. Интересно небось хорошо знают http://docs.oasis-open.org/mqtt/mqtt/v3 ... c398718018.
Во дают , "специфическое" понимание спецификации :shock: :lol: . Чего то кажется что это они придумали пятое колесо в телеге. Подергаются и утихнут быстренько рога то отвалятся сами собой :lol: . Платформ которые работают без их "улучшений" значительно больше. Жаль нервную систему :evil:. Не дай Боже найдутся другие "рационализаторы - ускорители" и возьмутся за TCP/IP...
-
Теперь только бы знать какая версия драйвера была :shock: . Ставил ioBroker где то в первой половине января. `
две странички назад самое верхние сообщение.
> После обновления 1.3.0 драйвер в циклическом ребуте.
-
Связка iobroker (на Raspberry) + Arduino общаются по протоколу MQTT (драйвер версии 1.3.2). На Arduino стоит Ethernet Shield и коммуникации по кабелю. Началась проблема с
mqtt.0 2017-09-17 08:41:51.485 warn Client error [Arduino_00]: Error: read ECONNRESET ````и постоянные дисконнекты. Почитал форум и решил поставить в настройках драйвера "Использовать заплатку для Chunking"=YES. После этого, драйвер падает при первом же обращении:
mqtt.0 2017-09-17 09:14:13.387 error TypeError: Cannot read property 'length' of undefined at Function.Buffer.concat (buffer.js:289:24) at publish (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/mqtt-connection/node_module
mqtt.0 2017-09-17 09:14:13.386 error uncaught exception: Cannot read property 'length' of undefinedСобственно вопрос: а как можно избавиться от первоначальной проблемы?
-
Всем добрый день!
Искал платформу для домашней автоматизации, по описанию ioBroker все понравилось, инсталляция -Блеск!, интерфейс - отлично! ..
Но MQTT - проблема в точности как описано выше sigma:
драйвер версии 1.3.2 ==> Error: read ECONNRESET
"Использовать заплатку для Chunking"=YES, ==> uncaught exception: Cannot read property 'length' of undefined
и читая эту ветку форума создается впечатление, что существует три автора, которые не могут договориться …
Подскажите плиз - может кто-то знает решение указанной проблемы?
и в целом - проект то вообще жив? стоит ли на него ориентироваться?
-
@Lom:Всем добрый день!
Искал платформу для домашней автоматизации, по описанию ioBroker все понравилось, инсталляция -Блеск!, интерфейс - отлично! ..
Но MQTT - проблема в точности как описано выше sigma:
драйвер версии 1.3.2 ==> Error: read ECONNRESET
"Использовать заплатку для Chunking"=YES, ==> uncaught exception: Cannot read property 'length' of undefined
и читая эту ветку форума создается впечатление, что существует три автора, которые не могут договориться …
Подскажите плиз - может кто-то знает решение указанной проблемы?
и в целом - проект то вообще жив? стоит ли на него ориентироваться? `
Проект живее всех живых, и динамично развивается огромными темпами. Выше описанная проблема с mqtt в основном возникает из-за использования прошивки на конечных устройствах, от автора - который не сильно добрасовестно относится к своему проекту. Что касается mqtt драйвера самого Iobroker`а, то тут автор своевременно делает обновление библиотек и исправляет ошибки. Что касается вашей проблемы, вы какую используете прошивку на клиенте, которого подключаете, самописную или что-то из интернета? Еще можно посоветовать на вкладке драйвера, выбрать режим информирования не "info", а "debug" будет больше информации, возможно увидите после чего возникает ошибка.
-
Возникли непонятки, не знаю связана это с новой версией или всегда так было.
Брокер начинает слать топики ещё до subscribe. На subscribe кроме suback другой реакции незамеченно.
-
@X13:Возникли непонятки, не знаю связана это с новой версией или всегда так было.
Брокер начинает слать топики ещё до subscribe. На subscribe кроме suback другой реакции незамеченно. `
Куда он начинает слать если никто не подписан? -
Здравствуйте. Подскажите новичку как всё-таки реализовать подписку и публикацию в разные топики для одного и того же устройства. Например, имеем контроллер wb к которому подключен модуль управления освещением wb-mr6c с 6-ю реле К1-К6. Контроллер публикует состояние, например, реле К1 в топике /devices/wb-mr6c_122/controls/K1. Для управления этими реле необходимо отправить данные в топик /devices/wb-mr6c_122/controls/K1/on. Как это реализовать? Спасибо.
-
Здравствуйте. Подскажите новичку как всё-таки реализовать подписку и публикацию в разные топики для одного и того же устройства. Например, имеем контроллер wb к которому подключен модуль управления освещением wb-mr6c с 6-ю реле К1-К6. Контроллер публикует состояние, например, реле К1 в топике /devices/wb-mr6c_122/controls/K1. Для управления этими реле необходимо отправить данные в топик /devices/wb-mr6c_122/controls/K1/on. Как это реализовать? Спасибо. `
А если создать обьект руками? -
Создавал. Устройство не реагирует. Поэтому и прошу более подробную инструкцию. Что, где прописать, какой тип и т.д?
Спасибо
-
Создавал. Устройство не реагирует. Поэтому и прошу более подробную инструкцию. Что, где прописать, какой тип и т.д?
Спасибо `
Ну значит твой клиент тупо не подписывается на эти топики. ковырять надо код клиента -
Добрый день, подскажите пожалуйста, периодически отваливается подписка на один из топиков KOTELNAYA/TEMP-TARGET (созданных в брокере) из ардуины, ниже скрины двух логов: когда работало и когда перестало:
!
Не пойму почему имя топика KOTELNAYA на верхнем скрине отличается от аналогичных, а на нижнем в место него null, в прошивке ардуино и в топиках брокера, все они названы одинаково, отличается только тип - все что стабильно работают булеан, тот что отваливается float - в брокере уже строка.Подскажите куда копать - после перезагрузки ардуины начинает работать - с другими топиками все ок.
Буду признателен за помощь!
-
Как удалить "кракозябры" из объектов mqtt?