#!/usr/bin/with-contenv bashio

#set -x

bashio::log.info "Adding selected devices"

if bashio::config.has_value 'usbdevices'; then
  #usbdevices=($(bashio::config 'usbdevices'))
  #bashio::log.info "Devices: ${usbdevices}"
  options=$(bashio::api.supervisor GET "/addons/self/options/config")
  bashio::log.info "Options: ${options}"
  usbdevices_json=$(echo $options | jq -c '.usbdevices[]')
  readarray -t usbdevices < <(echo "$usbdevices_json")
  bashio::log.info "Devices: ${usbdevices[@]}"
  mapfile -t 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')
    bashio::log.info "Use: ${use} Device: ${device} Deviceid: ${deviceid}"
    if $use; then
      bashio::log.info "AUTO USE DEVICE,${deviceid}"
      /usr/bin/vhclient -t "AUTO USE DEVICE,${deviceid}"
    else
      bashio::log.info "STOP USING,${deviceid}"
      #/usr/bin/vhclient -t "STOP USING,${deviceid}"
    fi
  done
fi
