• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

IoT Manager - сообщаем о багах

Mоnk

Member
После борьбы с телегрАмм перестали "работать" в облаке все устройства. Пора подымать свой MQTT.
Как? Внешний ip имеется и проброс портов в роутере могу.
 

Mоnk

Member
Кратенько - смог.
Но возник вопрос.
Сделал себе "Режим Бога", логин-пароль чтобы все и сразу видеть, ибо не только я на нём регистрюсь. В настройках Суперзверя указал "топик #".
Из города под Суперзверем в MQTT-Spy сабскриб анд ресив топики "/#" и "#" работают, показываются сообщения и мои, и "чужие". "/" не работает.
В Манагере ни одна из комбинаций в ТопиксПрефиксе не работает. Однако если с логином "Суперзверя" подключиться к брокеру, а в ТопиксПрефиксе указать топикпрефикс мой, или "того парня", работает мой, или "того парня".
Где что не допилено?
 

Mainscs

Member
да не, там все предельно просто (уж попроще Arduino JSON это точно)
вот виджет в JSON в профайле
Код:
[{
    "name": "My home",
    "id": 1,
    "pages": [{
        "pageId": 1,
        "pageName": "Kitchen"
    }],
    "widgets": [{
        "descr": "Temp",
        "id": 1,
        "idx": 100,
        "pageId": 1,
        "widget": "anydata",
        "topic": "domoticz/out",
        "class1": "item no-border",
        "style2": "font-size:20px;float:left",
        "style3": "font-size:40px;font-weight:bold;float:right"
    }],
    "active": true
}]
это и есть JSON, а именно такие конфиги вы и собираете в скетчах, только приходится высчитывать кавычки и т.д., т.к. в Arduino это делать неудобно.
А тут редактируем обычный файл в любом текстовом редакторе.
Есть еще такое такое решение легкого конструирования конфигов. Идея была как раз снизить порог вхождения в тему.

Рассказываю про профайлы.
Изначально тоже была идея снизить порог вхождения, чтобы IoT Manager можно было использовать вообще без программирования. Оказалось вполне такое возможно. Есть такая прошивка ESPEasy (позволяет подключить кучу разных сенсоров прямо через свой веб интерфейс - скетчи править не надо)
И хотим отображать данные с устройств, которые шлют в MQTT одно сообщение (например, температуру) и нельзя настроить логику отправки конфига по HELLO. (это не только ESPEasy, а любой сенсор, совместимый с Domoticz)

Берем за основу протокол DomoticzMQTT, смысл которого заключается в отправке сообщений вида [inline]{"idx":100, "svalue": 22}[/inline] в топик [inline]domoticz/in[/inline], IoT Manager подписывается на этот топик и перехватывает сообщения. Теперь нужно эти данные оформить в виджет. Можно конфиг заранее загрузить "со стороны". Вот profiler именно это и делает: отправляет через MQTT в IoT Manager конфиги наших виджетов. IoT Manager их хранит, между ними можно переключаться (активировать один или несколько профилей). Т.е. профиль это набор виджетов, которые мы прорисовываем при старте, а когда прилетят данные, то вставляем их в виджет в соответствии с заданным в конфиге оформлением. Т.е. вы можете отправлять профиль и вручную через любой MQTT клиент, но profiler проверяет валидность конфига и освобождает от ручных операций. У меня есть один пользователь из Испании, который написал для себя в несколько строчек утилиту на python, которая делает почти тоже самое (только не проверяет вроде)
А сами файлы конфигов вы делаете в любом текстовом редакторе (я делаю в Sublime Text 3 - он раскрашивает и выравнивает для красоты и читабельности).

Вот и предлагаю: раз механизм хранения конфигов уже есть в IoT Manager (с включением/выключение групп виджетов, т.е. профилей), то попробуйте его использовать
 

Mainscs

Member
А возможно ли управление (включение) конкретного профиля от конкретного устройства? Например, если их много, но подключены лишь некоторые (зачем отображать виджеты неподключенных приборов). Спасибо.
 

pasha413

New member
Здравствуйте. у меня данные отправляются на cloudMQTT (по GPRS каналу), оттуда я принимаю их в другом приложении, но оно немного не устраивает (хочу виджет и уведомления). Установил IoT manager подключился? но мне пишет: брокер подключен, но данные от устройств отсутствуют. пожалуйста подключите Ваши IoT устройства к брокеру. Подскажите куда лезть, надо еще что-то прописать? В cloudmqtt лог:
Код:
home/    HELLO
home//ids    38941007-443f-41e6-9f28-f469cd45439d
home//device    {"connection":"WiFi","width":393,"height":762,"platform":"android","platformVersion":7.1,"uuid":"36bb1ae35be173cf"}
home//36bb1ae35be173cf/request    {"command":"getPages","param":""}
home//36bb1ae35be173cf/request    {"command":"getPageById","param":0}
У меня топик данных:
home/
 
Последнее редактирование:

Mоnk

Member
у меня данные отправляются на cloudMQTT
Давно не проверял, но после "борьбы с ТЕЛЕГРАММ" у меня cloudMQTT не доступен. Пришлось подымать свой MQTT.
Как в фильме "Ларец Марии Медичи.": "Падре, развейте мои сомнения!..." ТАМ уже "отпустило"?
 

Pizdron

New member
Спасибо создателю за столь хорошее приложение, все сделано по уму, но новичкам дорога закрыта к использованию программы, только очень упертым видимо. Разобрался значит как это все функционирует, настроил как надо. Настало время разбираться с push уведомлениями, можно сказать главная фишка для меня, ради чего я влез в это дело, но тут меня ждало разочарование - не работает отправка push уведомлений на ios. Залил скетч примера с гитхаба, ввел свои данные wifi и свой ids. В итоге в уарте пишет что пуш отправлен, а на деле нет. Есть кто может проверить, возможно это не только у меня так?
ps. Прошу автора указать на сайте программы, что запрос статуса нужно делать в кавычках и что отслеживать состояние переключателя нужно в топике /control, об этом ни слова на сайта.
 
Последнее редактирование:

Cemka

New member
Некоторые(большинство) lonic иконки не работают. Также имеются расхождения в вашем мануале и на сайте. Например у них:"checkmark-circle". У вас:"ion-checkmark-circled". Я так понял это из-за обновления. Обновите, если не сложно или подскажите версию, что используется.

При переключении между страницами остается так называемый "Призрачный" эффект(видно символы со старой страницы). Иногда их очень заметно.
 
Последнее редактирование:

Mоnk

Member
Новый виджет chart
Не получается несколько графиков в одном виджете...
Код:
16 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[0,0,0]}
17 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[3,5,1]}
18 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[6,10,2]}
19 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[9,15,3]}
20 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[12,20,4]}
21 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[15,25,5]}
22 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[18,30,6]}
23 14:50:12 GMT+0400 (MSK) Parsed status: for widget id=204 from /Eagle-owl/Clock-Bt/B_chart/status -> {"status":[21,35,7]}
Судя по "инструкции:
Код:
Особенности
Этот виджет может принимать как обычные статус сообщения, 
например: { "status" : 22 }, так и массивы для построения 
нескольких графиков на одном виджете: { "status": [22, 33, 44] }
код "улетает" правильный.
Или что-то не так в коде:
Код:
for (uint8_t i = 0; i < 8; i ++)
{
   pubStatus(sTopic[204], "{\"status\": [" + String(i * 3) + ", " + String(i * 5) + ", " + String(i) + "]}");
}
Может телефон "глюкавый"?
Хотя одиночный график рисует.
Screenshot_2018-11-29-16-06-56.png
 

джеки

New member
да я тут, просто пытаюсь на жизнь как то заработать, поэтому захожу реже.
Времени заниматься развитием проекта пока нет, но надеюсь что это изменится :)
Уважаемый VICTOR пожалуйста загляните в рубрику -<предложения на заказ> может быть вас это заинтересует....мне нужна ваша помощь на тему ArduinoModbus TCP+ TRUslave по каналу RS485
 

Victor

Administrator
Команда форума
Пришел мне бодренький макбук из штатов, решил освежить релиз приложения, но все сильно изменилось (вышли новые версии всего софта из окружения) поэтому займет некоторое время... Сейчас пока приложение даже не собирается... Но хорошая новость в том, что процесс потихоньку запустился :)
 

джеки

New member
(вышли новые версии всего софта из окружения)
.........это как понимать? т.е. что ли новый софт? Дайте ссылку пожалуйста , чтобы время не тратить, пока по изучаю. ......насчёт моей просьбы об помощи насчёт связки --//ESP8266_ModbusTCP+RTU Arduino через линию RS485// всё в силе жду с нетерпением
 

alampw

New member
Очень надеюсь на поддержку и продолжение проекта. IotManger исчез из AppStore и GooglePlay. О передаче push уведомлений вообще непонятно. Может есть примеры какие для push. Меня интересовали бы примеры под Lua от esp8266 (это для Push). Может на bash есть примеры. Где они?. Я не нашел. Ранее примеры на bash очень помогли
 

Mоnk

Member
Давайте хотя бы последнюю версию Манагера вернём в магазины. Я пацанам уже устал в ручную устанавливать.
 

Mоnk

Member
Может есть примеры какие для push.
Если мне память не изменяет, должно быть это:
Код:
#include <WiFiClientSecure.h>
И где нибудь вот это:
Код:
void push(String push_msg)
{
  WiFiClientSecure push_client;
  if (!push_client.connect("onesignal.com", 443)) return;

    String push_data = "{\"app_id\": \"8871958c-5f52-11e5-8f7a-c36f5770ade9\",\"include_player_ids\":[\"вот-тут-код-из-установленного-на-устройстве-ИОТманагера\"],\"android_group\":\"IoT Manager\",\"contents\": {\"en\": \"" + push_msg + "\"}}";

  push_client.println("POST /api/v1/notifications HTTP/1.1");
  push_client.print("Host:");
  push_client.println("onesignal.com");
  push_client.println("User-Agent: esp8266.Arduino.IoTmanager");
  push_client.print("Content-Length: ");
  push_client.println(push_data.length());
  push_client.println("Content-Type: application/json");
  push_client.println("Connection: close");
  push_client.println();
  push_client.println(push_data);
}
 

Mоnk

Member
Push перестал работать...
Код:
C:\Users\Monk>ping onesignal.com
Обмен пакетами с onesignal.com [104.16.36.63] с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Статистика Ping для 104.16.36.63:
    Пакетов: отправлено = 4, получено = 0, потеряно = 4
    (100% потерь)
Код:
ФЕДЕРАЛЬНАЯ СЛУЖБА ПО НАДЗОРУ В СФЕРЕ СВЯЗИ,
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И МАССОВЫХ КОММУНИКАЦИЙ

УНИВЕРСАЛЬНЫЙ СЕРВИС

проверки ограничения доступа к сайтам и (или) страницам сайтов
сети «Интернет»

РЕЗУЛЬТАТ ПОИСКА

Искомый адрес: 104.16.36.63
Всего найдено записей: 1


Обращаем Ваше внимание, что наличие сайта сети "Интернет" в Реестре вовсе не означает полное ограничение доступа к нему, так как доступ может ограничиваться к отдельной странице сайта в сети "Интернет". Способ блокировки отражается в графе "Ограничение доступа".


Статья основания
внесения в реестр    Реквизиты основания внесения в реестр
(орган принявший решение, номер, дата)    Ограничение доступа
15.1    ФНС
2-6-27/ 2016-03-12-3-АИ
05.04.2016    ограничивается к ip
 

Victor

Administrator
Команда форума
Push перестал работать...
Да, это печально - мой провайдер заблокировал OneSignal в прошлую субботу...
Сейчас работаю над новой версией IoT Manager и решаю какую выбрать альтернативу: если у кого то есть какие-то идеи - вэлкам
 
Сверху Снизу