• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

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

Victor

Administrator
Команда форума
Нашли ошибку - отпишитесь в этой теме и баг будет исправлен
 

grigorygn

New member
После обновления IoTmanager 1.4.8 перестал подключаться к брокеру (m20.cloudmqtt.com).
Удаление и повторная установка не помогла, "Broker not connected".
Поставил IoTmanager на другой смарт - та же ситуация...
 

grigorygn

New member
Спасибо, 1.4.10 соединяется. :)
Заметил только графический артефакт (или так задумано?) на регуляторах ШИМ - слева от ползунка либо нет полоски (раньше была соответствующего цвета), либо она бледно-серая. Бледно-серая на устройстве с Андроид 4.0
 

Вложения

Inkvizitor66

New member
установил 1.4.10 через вайфай подкючаптся все хорошо, через 4g к брокеру не цепляется
Screenshot_2016-02-18-15-11-11.jpg Screenshot_2016-02-18-15-12-01_2.jpg
Upd0
Зашел в метро подцепился к вайфай и сразу подключилось все
Screenshot_2016-02-18-15-36-19.jpg
 
Последнее редактирование:

Victor

Administrator
Команда форума
установил 1.4.10 через вайфай подкючаптся все хорошо, через 4g к брокеру не цепляется
попробовал прямо сейчас от себя через 4G к m20.cloudmqtt.com - все ок.

1. перезапустите брокер (в панели управления cloudmqtt в верхнем правом углу Restart), затем убедитесь что он работает (WebSocketUI и попробуйте опубликовать что-нибудь)
2. попробуйте переключить движок в настройках MQTT<->PAHO
3. попробуйте выйти из IoT Manager и подождать 1 минуту, потом попробовать снова (у CloudMQTT вроде есть drop на iptables, который снимается по таймауту)

Попробую в следующей версии таймауты подключения немного увеличить - это должно помочь на медленных соединениях
 

mas123

New member
Версия 1.4.10

При запуске часто вылетает с:
Код:
Application Error
The connection to the server was unsuccessful. (file:///android_asset/www/index.html)
Если в настройках указано несколько вкладок, то при первом переходе с первой на любую страницу - там нет данных.
Приходится ждать очередной передачи данных на mqtt.

Порой прямо-таки "не хочет" переходить на вкладку.
И цвет надписи вкладки поменяет, а то и цвет фона вкладки поменяет, а затем "передумает" и останется на предыдущей вкладке.
 

mas123

New member
SAMSUNG P2000 V250.
Версия Android 4.2.2
Приложение не перемещалось - расположено в "памяти телефона".

По поводу вылета с ошибкой - интернеты пестрят рекомендацией увеличить "loadUrlTimeoutValue".
 

Victor

Administrator
Команда форума
По поводу вылета с ошибкой - интернеты пестрят рекомендацией увеличить "loadUrlTimeoutValue".
по умолчанию 20 сек - его обычно только уменьшают, так что в вашем случае что-то другое.
в приложение встроен CrossWalk WebView 12.41.296.5, для совместимости и оптимизации скорости работы на стандартных WebView, встроенных в старые версии Android - похоже, что это его ошибка. Осталось найти причину :)
 

Victor

Administrator
Команда форума
The connection to the server was unsuccessful. (file:///android_asset/www/index.html)
JavaScript:
       // Create a timeout timer for loadUrl
        final CordovaWebView me = this;
        final int currentLoadUrlTimeout = me.loadUrlTimeout;
        final int loadUrlTimeoutValue = Integer.parseInt(this.getProperty("LoadUrlTimeoutValue", "20000"));

        // Timeout error method
        final Runnable loadError = new Runnable() {
            public void run() {
                me.stopLoading();
                LOG.e(TAG, "CordovaWebView: TIMEOUT ERROR!");
                if (viewClient != null) {
                    viewClient.onReceivedLoadError(me, -6, "The connection to the server was unsuccessful.", url);
                }
            }
        };

        // Timeout timer method
        final Runnable timeoutCheck = new Runnable() {
            public void run() {
                try {
                    synchronized (this) {
                        wait(loadUrlTimeoutValue);
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }

                // If timeout, then stop loading and handle error
                if (me.loadUrlTimeout == currentLoadUrlTimeout) {
                    me.cordova.getActivity().runOnUiThread(loadError);
                }
            }
        };
Вроде вот - вылетает действительно по таймауту чтения страницы из памяти. Попробуйте какой-нибудь тест памяти сделать, а я подумаю еще что можно сделать
 

mas123

New member
Ошибка при запуске - имхо, не самая проблематичная проблема.
В конце-концов - запущу я приложение с 5...10 раза. :)

А вот отсутствие данных при первом открытии вкладки - это напрягает.
По шагам:
- запущен iotM, все работает.
- перезапускаю esp, она передает конфигурацию (три вкладки) и текущие значения параметров.
- iotM перерисовывает все вкладки и переходит на первую.
А смысл? Почему-бы не остаться на текущей?
- на первой вкладке отображаются данные
- перехожу на вторую вкладку - конфигурация есть, данных нет!
Только при следующей передаче данных они там отобразятся.

А если у меня период обновления большой? Сейчас 25 сек, в "боевой" системе будет в минуту или более.
А если я использую более правильную и логичную спорадическую передачу данных?
 

Victor

Administrator
Команда форума
А если у меня период обновления большой? Сейчас 25 сек, в "боевой" системе будет в минуту или более.
Я не совсем понял в чем баг или что вы предлагаете изменить.
Действительно, приложение разрабатывалось из расчета регулярной (и довольно частой) отправки данных устройствами, но я не считаю, что какое-то решение "более правильное" - просто есть разные задачи.
Что мешает передавать статус почти сразу после конфига (точнее после каждого HELLO), а потом хоть раз в полгода?
В любом случае, мне бы хотелось сделать приложение лучше и расширить круг задач, которые оно позволяет решить, так что сформулируйте ваши пожелания (правда делать это лучше в соответствующей теме)
А я, в свою очередь, потестирую приложение с устройствами, отправляющими данные раз в 30 сек, чтобы подумать над тем, что можно улучшить.
 

mas123

New member
Я не совсем понял в чем баг или что вы предлагаете изменить.
Баг в том, что при первом переходе на любую вкладку - там отсутствуют ранее переданные данные.
Что мешает передавать статус почти сразу после конфига (точнее после каждого HELLO), а потом хоть раз в полгода?
Я именно так сейчас и делаю, а данные вижу только в первой вкладке. :(
Действительно, приложение разрабатывалось из расчета регулярной (и довольно частой) отправки данных устройствами, но я не считаю, что какое-то решение "более правильное" - просто есть разные задачи.
Это не тот раздел, да.
Но мне хотелось бы как-нить потом услышать, что это за задачи, требующие частой передачи статических данных.
А то все стараются уменьшить поток передачи данных... :)
 
Сверху Снизу