December 20, 2020
Fixing ZESP32 config location
XDG Base Directory Specification
tl;dr Конфиги надо хранить отдельно от кода чтобы при обновлении они не пропали. Всё на свой страх и риск. Делайте бекапы.
Скрипт создаёт каталог ${HOME}/.config/zesp32/etc/zesp32
, переносит в него следующие файлы (сделайте бекап) и заменяет эти файлы симлинками:
/opt/app/desktop/jsconfig.txt
- settings/opt/app/desktop/devicesjs.txt
- devices/opt/app/desktop/script.js
- scripts/opt/app/desktop/workspace.xml
- blockly
Прикончите zesp
## Если запускаете через ./start.sh killall start.sh killall node ## Если через /etc/init.d/zesp32 /etc/init.d/zesp32
Выполните (на OpenWRT используется ash
).
wget -O /tmp/owrt-zesp-fix-config.sh https://gist.githubusercontent.com/avalak-work/e9b0ea0f607c4528ceaa7f3a23fa360b/raw/9e47c54348a55e41acffce004480feacaff8ed20/owrt-zesp-fix-config.sh ash /tmp/owrt-zesp-fix-config.sh
В результате должно получиться так
root@openlumi:/tmp# ll /opt/app/desktop/devicesjs.txt /opt/app/desktop/workspace.xml /opt/app/desktop/script.js /opt/app/desktop/jsconfig.txt lrwxrwxrwx 1 root root 34 Dec 20 18:11 /opt/app/desktop/devicesjs.txt -> /etc/zesp32/v1/devicesjs.txt lrwxrwxrwx 1 root root 33 Dec 20 18:11 /opt/app/desktop/jsconfig.txt -> /etc/zesp32/v1/jsconfig.txt lrwxrwxrwx 1 root root 30 Dec 20 18:11 /opt/app/desktop/script.js -> /etc/zesp32/v1/script.js lrwxrwxrwx 1 root root 34 Dec 20 18:11 /opt/app/desktop/workspace.xml -> /etc/zesp32/v1/workspace.xml
Теперь zesp можно снова запустить.