Некоторые устройства работающие по mqtt имеют разные топики для получения статуса устройства и управления им, например прошивки Tasmota.
и чтобы в Majordomo можно было получать статус устройства и управлять им, необходимо в модуле MQTT прописать не только топик со статусом, но и топик для управления.
Для этого переходим к настройке нужного топика и в поле Путь: (*) прописываем топик для получения статуса.
А в поле Путь (write): (не обязательно) прописываем топик для управления устройством
Пример:
Обновляем пакеты командой:
opkg update
Устанавливаем пакеты:
opkg install ppp-mod-pptp kmod-nf-nathelper-extra
Добавляем следующий параметр в sysctl:
echo net.netfilter.nf_conntrack_helper=1 >> /etc/sysctl.d/10-default.conf
без него у меня не заработало.
Перезепускаем службу sysctl:
/etc/init.d/sysctl restart
Далее настраиваем через luci
Когда возникла необходимость публиковать несколько разных вебсервисов из локальной сети, искал решение, которое бы позволяло это делать, через простой и удобный интерфейс. В итоге нашел "Nginx Proxy Manager" - web ui для управления хостами в Nginx, а также позволяющий получать/обновлять сертификаты Let's Encrypt.
Ссылка на офсайт: https://nginxproxymanager.com/
Установка может быть произведена несколькими способами:
установка в docker описана неплохо на офсайте, по умолчанию ставится вместе с MYSQL, но можно вместо него использовать Sqlite.
По умолчанию нажатие клавиши "стрелка вверх" в bash выводит последнюю команду вне зависимости от того, что было введено на данный момент. Но более удобно перемещаться по истории команд используя частично набранную команду.
Для этого нужно в файл ~/.inputrc добавить следующие команды
"\e[A": history-search-backward
"\e[B": history-search-forward
или в файл ~/.bashrc
if [[ $- == *i* ]] then bind '"\e[A": history-search-backward' bind '"\e[B": history-search-forward' fi
Для подсветки строки приглашения под пользователем root (например выделить красным цветом пользователя) нужно заменить строку в файле /etc/bash.bashrc
if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
на
if ! [ -n "${SUDO_USER}" -a -n "${SUDO_PS1}" ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\e[0;31m\]\u\[\e[m\]@\h:\w\$ '
fi
Иногда надо вывести содержимое конфигурационного файла, но в них часто много закоментированных строк и/или пустых строк. Чтобы не выводить эти строки можно воспользоваться командой grep
например:
cat sysctl.conf | grep -v ^# | grep -v ^$ | grep -v ^\;
либо короче
cat sysctl.conf | grep -v -e ^# -e ^$ -e ^\;
или
cat sysctl.conf | grep -Ev '^\s*(;|#|$)'
но все равно долго набирать такую конструкцию из скобок и спецсимволов, поэтому можно добавить alias для команды. Делается это следующим способом:
В файл ~/.bashrc добавляется строка:
alias grep-v="grep -Ev '^\s*(;|#|$)'"
после чего необходимо выполнить команду
source ~/.bashrc
либо перезайти в оболчку для применение алиаса.
После этого можно использовать алиас grep-v, например:
grep-v /etc/sysctl.conf
На примере робота пылесоса XIAOMI Robot vacuum clear 1C.
Из маркета дополнений устанавливаем модуль "Xiaomi miIO" настраиваем его. Далее устанавливаем модуль "Простые устройства Xiaomi". После чего в Простых устройствах добавляем ПУ Пылесос, выбираем тип
XiRoborockVacuum и привязываем свойства к значениям пылесоса получаемых от "Xiaomi miIO".