Files
home-assistant-addons/vhclient/rootfs/etc/s6-overlay/scripts/vhclient-use-devices
2025-06-06 22:55:23 +02:00

61 lines
2.1 KiB
Plaintext
Executable File

#!/usr/bin/with-contenv bashio
preventconfig=$(bashio::cache.get preventconfig)
if $preventconfig; then
bashio::log.info "Prevent USE device from config"
exit 0
fi
autouse=$(bashio::cache.get autouse)
if $autouse; then
bashio::log.info "AutoShare All enabled, will not use devices from configuration"
exit 0
fi
if bashio::config.has_value 'usbdevices'; then
options=$(bashio::api.supervisor GET "/addons/self/options/config")
usbdevices_json=$(echo $options | jq -c '.usbdevices[]')
readarray -t usbdevices < <(echo "$usbdevices_json")
mapfile -t inuse_devices < <(/usr/bin/vh_list_inuse_devices)
for usbdevice in "${usbdevices[@]}"; do
use=$(echo $usbdevice | jq '. | if .use then true else false end')
device=$(echo $usbdevice | jq '.device | tostring')
deviceid=$(echo $device | sed 's/.*(\(.*\)).*/\1/g')
#server_serial=$(/usr/bin/vh_server_serial_number ${deviceid%.*})
#device2=$(/usr/bin/vh_usb_product_vendor $deviceid)
#deviceid2="${server_serial}.${device2}"
#bashio::log.info "GURKA-${inuse_devices[@]}"
if [[ ${inuse_devices[@]} =~ .*${deviceid}.* ]]; then
if ! $use; then
# bashio::log.info "AUTO USE DEVICE,${deviceid} - already in use"
# else
result=$(/usr/bin/vhclient -t "STOP USING,${deviceid}")
bashio::log.info "STOP USING,${deviceid} - ${result}"
fi
else
if $use; then
result=$(/usr/bin/vhclient -t "AUTO USE DEVICE,${deviceid}")
bashio::log.info "AUTO USE DEVICE,${deviceid} - ${result}"
# else
# bashio::log.info "STOP USING,${deviceid} - not in use"
fi
fi
#if $use; then
#bashio::log.info "AUTO USE DEVICE,${deviceid}"
#/usr/bin/vhclient -t "AUTO USE DEVICE,${deviceid}"
#bashio::log.info "AutoShare ${deviceid2} on"
#/usr/bin/vh_editini AutoShare $deviceid2 1
#else
#if [[ "${inuse_devices[@]}" =~ "$device" ]]; then
#bashio::log.info "STOP USING,${deviceid}"
#/usr/bin/vhclient -t "STOP USING,${deviceid}"
#bashio::log.info "AutoShare ${deviceid2} off"
#/usr/bin/vh_editini AutoShare $deviceid2 0
#fi
#fi
done
fi