github fildunsky/luci-app-5gmodem v2.4.37

latest releases: v3.2.15, v3.2.14, v3.2.13...
one month ago

2.4.37: кнопка-тумблер чинит сервисы, интервал юстировки заработал

Кнопка гасила сервис и больше не включала

Если кнопка корпуса настроена на переключение сервиса, у которого init-скрипт написан без procd — например passwall2 — она работала в одну сторону: первое нажатие выключало, все следующие выключали снова.

Причина в самом OpenWrt: у такого скрипта команды status не существует, и /etc/rc.common молча подменяет её справкой, выходя с нулём. Наша проверка «запущен ли сервис» смотрела на этот код возврата и всегда получала «работает» — значит тумблер всегда шёл по ветке «остановить».

Теперь status спрашиваем только там, где он настоящий (есть procd либо собственный status в скрипте), а остальным судим по признаку «включён»: тумблер сам держит его в паре со стартом и остановкой.

Тем же болела карточка служб на панели: passwall2 в ней всегда горел работающим.

Если кнопка уже успела снять автозапуск, вернуть его разово:

/etc/init.d/passwall2 enable
/etc/init.d/passwall2 start

Юстировка: поле «Интервал» наконец работает

Поле меняло частоту запросов, но не свежесть данных: допуск кэша был жёстко четыре секунды, а фоновый сборщик обновлял снимок не чаще раза в семь. Поставив 2 секунды, вы получали те же цифры дважды и реальное обновление раз в 6–7 секунд — крутить антенну по такой обратной связи невозможно.

Теперь допуск равен выбранному интервалу. Замер на живом роутере с Quectel EC21, тик раз в две секунды:

было:  4 свежих обновления за 12 секунд (каждый второй тик — те же цифры)
стало: 6 свежих обновлений за 12 секунд

Полный опрос модема стоит около 0.85 секунды, так что это и есть практический потолок: поставите меньше — частота осядет на реальную скорость опроса, а не сломается. За этим следит новая защита от наложения запросов: тик пропускается, пока предыдущий ответ не пришёл. Без неё на коротком интервале запросы копились очередью и рвались по тридцатисекундному таймауту.

Инструкция для сторонних сервисов

Документ о том, как забирать метрики в умный дом, на внешний дисплей или в свой скрипт, сведён в один канон. Добавлены правила для потребителя, которых раньше не было: порог свежести в 90 секунд, запрет кэшировать поверх, «публикатор MQTT должен быть один», частота чтения. И отдельно — что делать, если рядом работает свой агрегатор со своими метриками.

Ссылка на инструкцию вынесена в начало всех трёх ридми, а не спрятана пунктом в списке возможностей.

Don't miss a new luci-app-5gmodem release

NewReleases is sending notifications on new releases.