|
|
@ -1,50 +1,51 @@
|
|
|
|
#!/bin/bash
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Guide: https://www.zigbee2mqtt.io/guide/installation/07_python_virtual_environment.html
|
|
|
|
|
|
|
|
|
|
|
|
set -ueo pipefail
|
|
|
|
set -ueo pipefail
|
|
|
|
export PATH="/lib/rc/bin:$PATH"
|
|
|
|
export PATH="/lib/rc/bin:$PATH"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
test -e ~/zigbee2mqtt-live && exit
|
|
|
|
|
|
|
|
|
|
|
|
SCRIPT=$(readlink -f $0)
|
|
|
|
SCRIPT=$(readlink -f $0)
|
|
|
|
[[ $UID == 0 ]] && exec su - zigbee2mqtt -c "$SCRIPT"
|
|
|
|
[[ $UID == 0 ]] && exec su - zigbee2mqtt -c "$SCRIPT"
|
|
|
|
|
|
|
|
|
|
|
|
. /var/db/repos/container/scripts/functions.sh
|
|
|
|
. /var/db/repos/container/scripts/functions.sh
|
|
|
|
. /var/db/repos/calculate/scripts/ini.sh
|
|
|
|
. /var/db/repos/calculate/scripts/ini.sh
|
|
|
|
|
|
|
|
|
|
|
|
if [[ ! -e ~/zigbee2mqtt-live ]]; then
|
|
|
|
cd
|
|
|
|
cd
|
|
|
|
ver=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Zigbee2MQTT version is ${ver}"
|
|
|
|
einfo 'Clone Zigbee2MQTT repository'
|
|
|
|
wget -q https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${ver}.zip -O zigbee2mqtt-${ver}.zip
|
|
|
|
ver=$(curl -s https://api.github.com/repos/Koenkk/zigbee2mqtt/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Zigbee2MQTT version is ${ver}"
|
|
|
|
einfo 'Extract the archive'
|
|
|
|
wget -q https://github.com/Koenkk/zigbee2mqtt/archive/refs/tags/${ver}.zip -O zigbee2mqtt-${ver}.zip
|
|
|
|
unzip -q -d versions zigbee2mqtt-${ver}.zip
|
|
|
|
einfo 'Extract the archive'
|
|
|
|
rm zigbee2mqtt-${ver}.zip
|
|
|
|
unzip -q -d versions zigbee2mqtt-${ver}.zip
|
|
|
|
ln -sf versions/zigbee2mqtt-${ver} zigbee2mqtt-live
|
|
|
|
rm zigbee2mqtt-${ver}.zip
|
|
|
|
|
|
|
|
ln -sf versions/zigbee2mqtt-${ver} zigbee2mqtt-live
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Install python env'
|
|
|
|
einfo 'Install python env'
|
|
|
|
python -m venv zigbee2mqtt-live/.venv
|
|
|
|
python -m venv zigbee2mqtt-live/.venv
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Activate environment'
|
|
|
|
einfo 'Activate environment'
|
|
|
|
. zigbee2mqtt-live/.venv/bin/activate
|
|
|
|
. zigbee2mqtt-live/.venv/bin/activate
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Upgrade pip, wheel and setuptools'
|
|
|
|
einfo 'Upgrade pip, wheel and setuptools'
|
|
|
|
pip install --upgrade pip wheel setuptools
|
|
|
|
pip install --upgrade pip wheel setuptools
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Install node environment'
|
|
|
|
einfo 'Install node environment'
|
|
|
|
pip install nodeenv
|
|
|
|
pip install nodeenv
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Init node environment'
|
|
|
|
einfo 'Init node environment'
|
|
|
|
nodeenv -p -n ${ini[zigbee2mqtt.nodeenv]}
|
|
|
|
nodeenv -p -n ${ini[zigbee2mqtt.nodeenv]}
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Install dependencies'
|
|
|
|
einfo 'Install dependencies'
|
|
|
|
cd zigbee2mqtt-live
|
|
|
|
cd zigbee2mqtt-live
|
|
|
|
npm ci
|
|
|
|
npm ci
|
|
|
|
cd
|
|
|
|
cd
|
|
|
|
|
|
|
|
|
|
|
|
echo '. ~/zigbee2mqtt-live/.venv/bin/activate' >> .bashrc
|
|
|
|
echo '. ~/zigbee2mqtt-live/.venv/bin/activate' >> .bashrc
|
|
|
|
echo '. ~/zigbee2mqtt-live/.venv/bin/activate' >> .bash_profile
|
|
|
|
echo '. ~/zigbee2mqtt-live/.venv/bin/activate' >> .bash_profile
|
|
|
|
|
|
|
|
|
|
|
|
einfo 'Setup zigbee2mqtt'
|
|
|
|
ebegin 'Setup zigbee2mqtt'
|
|
|
|
mv zigbee2mqtt-live/data/configuration.yaml zigbee2mqtt-live/data/configuration.yaml.old
|
|
|
|
mv zigbee2mqtt-live/data/configuration.yaml zigbee2mqtt-live/data/configuration.yaml.old
|
|
|
|
cat > zigbee2mqtt-live/data/configuration.yaml << EOF
|
|
|
|
cat > zigbee2mqtt-live/data/configuration.yaml << EOF
|
|
|
|
# Home Assistant integration (MQTT discovery)
|
|
|
|
# Home Assistant integration (MQTT discovery)
|
|
|
|
homeassistant: false
|
|
|
|
homeassistant: false
|
|
|
|
|
|
|
|
|
|
|
@ -58,12 +59,13 @@ mqtt:
|
|
|
|
# MQTT server URL
|
|
|
|
# MQTT server URL
|
|
|
|
server: 'mqtt://localhost'
|
|
|
|
server: 'mqtt://localhost'
|
|
|
|
# MQTT server authentication, uncomment if required:
|
|
|
|
# MQTT server authentication, uncomment if required:
|
|
|
|
# # user: my_user
|
|
|
|
# user: my_user
|
|
|
|
# password: my_password
|
|
|
|
# password: my_password
|
|
|
|
|
|
|
|
|
|
|
|
# Serial settings
|
|
|
|
# Serial settings
|
|
|
|
serial:
|
|
|
|
serial:
|
|
|
|
# Location of USB sniffer
|
|
|
|
# Location of USB sniffer
|
|
|
|
port: ${ini[zigbee2mqtt.dev]}
|
|
|
|
port: ${ini[zigbee2mqtt.dev]}
|
|
|
|
|
|
|
|
frontend: true
|
|
|
|
EOF
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
eend
|
|
|
|