• Система автоматизации с открытым исходным кодом на базе 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), а потом хоть раз в полгода?
Я именно так сейчас и делаю, а данные вижу только в первой вкладке. :(
Действительно, приложение разрабатывалось из расчета регулярной (и довольно частой) отправки данных устройствами, но я не считаю, что какое-то решение "более правильное" - просто есть разные задачи.
Это не тот раздел, да.
Но мне хотелось бы как-нить потом услышать, что это за задачи, требующие частой передачи статических данных.
А то все стараются уменьшить поток передачи данных... :)
 
Сверху Снизу