Closed GyverLibs closed 10 months ago
прошлое issue было зафлужено неадекватным троллем и потеряло информативность
@neko-neko-nyan встал вопрос по ОТА с гитхаб. У меня сейчас файлы должны называться firmware.bin
или firmware.bin.gz
. Ты планируешь в питоне обработать ОТА по url? Если да, то может ограничиться одним расширением, например firmware.gz
и так далее?
Пересмотрел инфо, часть полей лишняя. Пока смотрю такой вариант: Version Library //Firmware
Network RSSI MAC SSID Local IP //AP IP //WiFi Mode
Memory RAM Flash
Other //Uptime
И в билдере можно будет добавлять свои поля в группу Other, прямо так
hub.Info("лейбл", "значение");
hub.Info("лейбл", "значение");
Билдер сам разберётся когда их отправлять. Либо сделать отдельный обработчик, это чуть эффективнее чем вызывать целый билдер
ОТА с гитхаб
Это который version в discover? Там по-хорошему бы полные ссылки использовать. Скажем "update_url": "https://githubusercontent.com/.../package.json"
, а в нем "ota_url": "https://.../firmware.bin"
.
отдельный обработчик
Это лучше
У меня стандартизировано, что ota файл лежит на гитхабе по известному пути, чтобы максимально всё упростить. Для есп нужна прямая ссылка на файл, а её на Гите получить просто так нельзя на бинарник
Гите получить просто так нельзя
Почему?
И вдруг я захочу бинарник хранить на в репозитории, а в packages (как оно и задумывалось)?
Потому что бинарник сразу скачивается, а кнопка у них через js сделана, ссылки нет чтобы скопировать. Я хотел юзер френдли сделать максимально, кладешь туда где приложение будет искать и всё
Это относится к автоматическому обновлению с гитхаб если что. Ота ссылкой можно делать напрямую любой
Как компромиссный вариант - можно сделать так - если аппа находит в package ссылку на бинарник - прошивает им, если не находит - то тем который должен лежать по известному пути
https://github.com/neko-neko-nyan/pygyverhubd/blob/master/example.py
-> https://raw.githubusercontent.com/neko-neko-nyan/pygyverhubd/master/example.py
, например.
если аппа находит в package ссылку
Как вариант
@neko-neko-nyan в общем сделал
Выводит просто по переданным "лейбл": "значение" в каждой категории, как ты предлагал. Для памяти передаёт массив занято/всего. Если находит поле Uptime (секунды) - переводит в Д:Ч:М:С + добавляет поле с временем запуска по времени браузера
@neko-neko-nyan для тебя расписал discover/info/fsbr пакеты в wiki в самом низу :3
При подключении по WS файлы теперь качаются в обход
Я правильно понял, что скачивание по http работает только для файлов из папки /fs/
?
Да, именно так. В принципе можно и для всех сделать, надо подумать получится ли так сервер настроить.
Так, я вспомнил) я выделил отдельную папку для доступа в целях безопасности. Всё что в fs - считай торчит наружу. Также можно сделать чтобы путь к этой папке передавался в HTTP пакете конфига доступа к HTTP. Но опять же - через "пакетный" метод доступны для скачивания вообще все файлы. Если уж делать ограничение, то и на них тоже
А, ещё битовая маска инвертированная теперь
Сейчас попробовал увеличить ширину интерфейса, менюшка (где выбор info / file & ota) не расширилась, зато уехала вбок
Пасиб, ченить придумаю. Я думаю оставить ту же ширину, но передвинуть направо надо. Во всю ширь раздвигать ее нет смысла
Здравствуйте, я знаю что надоел Вам еще по portal, но я добрался и до этой библиотеки, такие просьбы:
Все идеи приветствуются. Led имеет два состояния, предлагаешь менять только активное? Можно заменить неактивное на условно темное серое или как то так, но из опыта портала оно выглядит как то не очень, зелёное + красное вот хорошо прям. Отключение планирую добавить да, на слайдер, селект, возможно ещё на что то. Пока всё в активной разработке, пробуется, добавляется
Led может так и оставить два состояния и добавить третье когда передается цвет напрямую а там кому надо сами разберутся...
Тогда проще добавить какой-нибудь rgb_led, где value это color
можно тогда и обозвать его просто ico...
можно тогда и обозвать его просто ico...
Смотри: берешь ButtonIcon и никак не обрабатываешь нажатие
Интересно, led и ButtonIcon реально одинаково выглядят? У меня сейчас проверить не на чем
Неее, led и button максимально разные) плюс лед пассивный компонент
Date, time и datetime не работают. Тут ctrl.value
-> value
.
спасибо 😱
Спорно имхо, учитывая что пример basic.
Он basic не для вебморды, а для обычного использования. По вебморде всё расписано в документации, а также в примере full demo
Uncaught TypeError:
Спасибо, пофиксил
если перемещаться между вкладками версии в инфо начинают удваиваться , хотелось бы иметь виджет вроде такого окна (хотя наверное можно сделать через html).
всё поправил, с обновой выйдет
вроде такого окна
Типа табличку? Табличку планировал добавить, но её можно и хтмл блоком сделать да
вот этот блок "Version" сделан таблицей? что-то подобное хотелось бы, и еще у блока "HTML" хотелось-бы менять подпись...
Нет, version не таблица. У html можно менять подпись
отображается по разному
Читать особености esp версии в документации: вырезаны все иконки, кроме системных. Общий placeholder пока не сделан
не изменяется, пока не обновишь вручную
Для переотправки изменения всем клиентам нужно включить autoGet
или как то так, см доку
не отображается знак "-"
Добавлю, спасибо
Рассылка действий внутри локалки пока не реализована
Нажать значок обновить в правом верхнем углу
серьезно? на ws нажимать кнопку каждый раз???
Миллионный раз повторяю: читай что тебе пишут. Я выше написал, что в локалке пока что не реализовано это. И пожалуйста, веди себя нормально, потому что забанить - три раза мышкой кликнуть, это быстрее чем ты регистрируешь аккаунты. Со своими насмешками и высерами капсом ты тут не нужен, это вроде ясно дали понять.
это таакой кринжовый эпик))))
Окей, до свидания
У тебя биполярка? Такой жести я давно не видел в интернете...
Я вернулся, привел код к новой версии библиотеки, получил единственную ошибку
\libraries\GyverHUB-main\src/sync/mqtt.h: In lambda function:
\libraries\GyverHUB-main\src/sync/mqtt.h:47:33: error: variable-sized object 'buf' may not be initialized
char buf[len + 1] = "";
Привет Серёга. На какой версии и под какую плату компилишь? Странное поведение компилятора. Можно просто убрать = ""
Ну, передать переменную цвета в функцию кнопки
@GyverLibs вчера у себя начал делать mqtt (вроде даже работает), но понять не могу, зачем нужны вот эти 4 топика?
А еще по mqtt ведь бинарные данные передаются. Тогда в какой кодировке посылать json? И почему бы чанки файлов не передавать в бинарном виде?
Эти топики для систем умного дома, они же в инфо подсвечены. Это чтобы вручную их вбить в умном доме и иметь доступ к компоненту.
Кодировка не знаю, я не трогал. Вот как есть так есть. В бинарном чанки получается можно, но только по направлению на устройство. Я не помню почему отказался от этого, как вспомню дополню) возможно что то со строками было, было удобнее что 0 может быть только в конце чанка
1.8.19 ESP8266 2.7.4
= ""
успешно
выполнил первое автоматическое обновление, прошло успешно, только соединение не установилось. но после нажатия назад, заход был успешен
Обнаружил, что если в info добавить поле с очень длинным значением, то ломается разметка, особенно на маленьком экране. Сразу предлагаю двойное исправление: автоматически увелиливать ширину блока, до указанной в настройках (но не больше ширины экрана) и переносить текст в значении если перенести по словам не получается + отделить значение от названия.
.main_col {
display: block;
width: fit-content;
min-width: var(--base_width);
max-width: 100%;
}
@media screen and (max-width: 450px) { /* < --base_width */
.main_col {
min-width: 100%;
}
}
.lbl_info {
margin-left: 10px;
overflow: auto;
text-align: right;
}
Возможно, на название тоже стоит поставить
overflow-wrap: break-word;
overflow: auto;
UPD: и на fs_file тоже можно, если путь длинный. UPD2: ломает основную вкладку, там надо какое-то свое условие.
можно просто добавить в .lbl_info max-width: 50%;
возможно баг. после прошивки по ОТА, не получается повторно прошить, не появляется окно подтверждения. помогает Ctrl+F5
да, я не смог пофиксить, способы из интернета не помогают =(
а если без подтверждения?)
ПЛАНИРУЕТСЯ КРУПНОЕ ОБНОВЛЕНИЕ С СИЛЬНЫМ НАРУШЕНИЕМ СОВМЕСТИМОСТИ. СЛЕДИТЕ ЗА НОВОСТЯМИ! ТУТ ВЕРСИЯ САЙТА v0.51
⚠️⚠️⚠️
Почему бета версия?
Проект в активной разработке и некоторые обновления нарушают совместимость с предыдущими версиями: ваш код может перестать работать на новой версии приложения. Поэтому пока что работаем в режиме "раннего доступа", обо всех критических изменениях я сообщаю здесь. Когда будет уверенность в неизменности особо критических моментов - выйдет релиз.
В репозитории всегда лежит версия библиотеки, полностью совместимая с текущей версией приложения/сайта. Документация и примеры также всегда соответствуют актуальной версии. Документация исчерпывающая, если какие то возможности не описаны - их нет.
Если внезапно перестало работать
TODO