#!/bin/sh ver_old="$2" if [ "$(apk version -t "$ver_old" '2.3.0-r0')" = '<' ]; then confdir="/etc/zigbee2mqtt" datadir="/var/lib/zigbee2mqtt" # We used to install symlinks /var/lib/zigbee2mqtt/{configuration,secret}.yaml # for configuration files in /etc/zigbee2mqtt. If they exist in /etc/zigbee2mqtt, # recreate the symlinks to maintain backward compatibility. for fname in configuration.yaml secret.yaml; do if [ -f "$confdir/$fname" ] && ! [ -e "$datadir/$fname" ]; then ln -s "$confdir/$fname" "$datadir/$fname" fi done # We used to patch zigbee2mqtt to allow include pan_id in configuration.yaml # from the secret.yaml. if grep -Eq "pan_id:\s*.!secret\s+pan_id" "$datadir"/configuration.yaml 2>/dev/null; then if pan_id="$(sed -En 's/^pan_id:\s*(\S+)/\1/p' "$datadir"/secret.yaml 2>/dev/null)"; then cat >&2 <<-EOF * * Including pan_id from secret.yaml is no longer supported. Replacing * "pan_id: !secret pan_id" in $datadir/configuration.yaml with "$pan_id" * from $datadir/secret.yaml... * EOF sed -Ei "s/^(\s+pan_id:\s*).!secret\s+pan_id.*/\1$pan_id" "$datadir"/configuration.yaml else cat >&2 <<-EOF !! !! Including pan_id from secret.yaml is no longer supported. you have to replace !! "pan_id: '!secret pan_id'" in $datadir/configuration.yaml with the pan_id value. !! EOF fi fi fi exit 0