#!/command/with-contenv bashio set -x #test=($(bashio::config 'test')) #test+=('one', 'two') #bashio::config::update 'test' "${test[@]}" #bashio::addon.option 'test' $test[@] #TEST #bashio::addon.option 'usbdevices' { 'name': 'one', 'use': false} #my_array=($(bashio::config 'my_array')) #my_array+=('one') # Add a new item to the array #my_array+=({ 'name': 'one', 'use': false}) # Add a new item to the array #bashio::config::update 'my_array' "${my_array[@]}" #list1=$(/usr/bin/vhclient -t LIST) #list2=$(eval 'grep "--" <<< "$list1"') #bashio::log.info "${list1}" #bashio::log.info "${list2}" options=$(bashio::addon.options) #mapfile -t devices < <(/usr/bin/vhclient -t LIST) mapfile -t devices < <(/usr/bin/vh_list_devices) for device in "${devices[@]}"; do if [[ ! " ${options[*]} " =~ [[:space:]]${device}[[:space:]] ]]; then bashio::log.info "Adding to config: ${device}" new_options=$(echo $options | jq -r '.usbdevices |= . + [{ device: ($device), use: false }]') bashio::log.info "New options: ${new_options}" payload=$(bashio::var.json options "^${new_options}") bashio::api.supervisor POST "/addons/self/options" "${payload}" fi done #options=$(bashio::addon.options) #new_options=$(echo $options | jq .usbdevices += [{ device: 'ONE', use: false }]) #payload=$(bashio::var.json options "^${new_options}") #bashio::api.supervisor POST "/addons/self/options" "${payload}" curl -sH "Authorization: Bearer $SUPERVISOR_TOKEN" http://supervisor/addons/self/info | jq .data.options