Additional Storage Locations for Channels DVR Recordings

You are the man ....

c:\curl>curl.exe -XPATCH --data-binary "{\"ExtraPaths\":\"/volume1/PR4100/ChannelsDVR2\"}" http://10.0.0.176:8089/dvr

true
c:\curl>

"enabled":true,"extra_paths":["/volume1/PR4100/ChannelsDVR2"]

I attempted what i (believe) i understood:
curl.exe -XPATCH --data-binary "{\"ExtraPaths\":"F:\DVR"}" http://10.0.0.76:8089/dvr

error:
curl: (3) [globbing] unmatched close brace/bracket in column 20
false

You need:

curl.exe -XPATCH --data-binary "{\"ExtraPaths\":\"F:\\DVR\"}" http://10.0.0.76:8089/dvr

PS C:\Users\Scott> curl.exe -XPATCH --data-binary "{\"ExtraPaths\":\"F:\\DVR\"}" http://10.0.0.76:8089/dvr

error:
curl: (3) Port number ended with ''
false

What a pain. I guess it's time for me to make a UI setting for this feature. Try this:

curl.exe -XPATCH --data-binary "{\"ExtraPaths\":\"F:\\\\DVR\"}" http://10.0.0.76:8089/dvr

3 Likes

nope, error:
curl: (3) Port number ended with '\'
false

Try the earlier one in command prompt. That worked for Ed. Powershell has more complicated escaping rules.

the command prompt was the winner!
curl.exe -XPATCH --data-binary "{"ExtraPaths":"F:\DVR"}" http://10.0.0.76:8089/dvr

returned: true

and http://127.0.0.1:8089/dvr displays:

extra_paths
0 "F:\DVR"

As always you guys are awesome, thanks!

Silly question
Should the 2nd drive (in this case a 5T) reflect the new almost doubled free space on the Channels DVR screen and or the web settings interface?

Appears it might have

IP:8089/DVR reads
{"activity":{"0-job-1564182000-ch20.1":"Recording ch20.1 for Wheel of Fortune until 7:30PM.","0-job-1564182000-ch6093":"Recording ch6093 for Field of Dreams (1989) until 9:30PM."},"busy":true,"clients":2,"disk":{"free":3865034661888,"total":8001427599360,"used":4136392937472},"enabled":true,"extra_paths":["F:\ChannelsDVR"],"guide":{"num_lineups":2,"num_shows":8625,"num_airings":52548,"disk_size":743300524,"updated_at":1564142400},"keep":{"num":"0","only":""},"last_backup":"2019-07-26T18:48:30.2554314-04:00","padding":{"end":"0","start":"0"},"path":"E:\ChannelsDVR","stats":{"groups":245,"files":1836,"jobs":245,"rules":53},"status":"running"}

But the log for that period of time shows
2019/07/26 17:11:28 [ERR] invalid recorder settings: invalid character '\' looking for beginning of object key string
2019/07/26 17:11:49 [ERR] invalid recorder settings: invalid character '\' looking for beginning of object key string
2019/07/26 17:12:11 [ERR] invalid recorder settings: invalid character '\' looking for beginning of object key string
2019/07/26 17:17:56 [ERR] invalid recorder settings: invalid character '\' looking for beginning of object key string

No, the disk space is only for the primary drive. The secondary drive is where you can move files from the primary drive and still have them work for playback.

All those errors are from your failed curl attempts in powershell.

Gotcha. Thanks for explaining

I do not think so because the secondary storage is just for moving files ... It is not being recorded to so it should not be included with free recordings space ... maybe add it to the web page as secondary storage space.

OOPS I see Tmm1 beat me to it :grinning:

1 Like

This seems to be the only thing I can find that talks about adding additional storage and it's 2 years old.

I tried a few examples and can't get it to work.

I am recording on an Nvidia Shield 128.168.1.227 - my new drive is on another Nvidia Shield - I can see the new drive using \bedroomtv\Elements\NVIDIA_SHIELD\Dvr\ using google chrome on windows.

curl -XPATCH --data-binary "{"ExtraPaths":"\BEDROOMTV\Elements\NVIDIA_SHIELD\Dvr"}" http://192.168.1.228:8089/dvr

Using the windows command prompt the above returns false
and the log shows
[ERR] invalid recorder settings: invalid character 'E' looking for beginning of object key string

Can someone help lead me to the proper syntax?

Thanks

Use single quotes around the json.

What is the json?

Ok, I got it to work using:

curl.exe -XPATCH --data-binary "{"ExtraPaths":"//BEDROOMTV/Elements/NVIDIA_SHIELD/Dvr"}" http://192.168.1.228:8089/dvr

{"activity":{"6-file-1644-192.168.1.252":"Watching recording Dateline NBC S26E33 2018-05-18 The House on Pitch Pine Crescent 2019-08-03-2100.mpg from 192.168.1.252."},"busy":true,"clients":1,"disk":{"free":2987770511360,"total":4000767279104,"used":1012996767744},"enabled":true,"extra_paths":["//BEDROOMTV/Elements/NVIDIA_SHIELD/Dvr"],"guide":{"num_lineups":1,"num_shows":2675,"num_airings":15364,"disk_size":270250679,"updated_at":1566651600},"keep":{"num":"","only":""},"last_backup":"2019-08-24T19:56:56.157653414-04:00","padding":{"end":"","start":""},"path":"/storage/E667-C965/NVIDIA_SHIELD/Dvr","stats":{"groups":112,"files":560,"jobs":55,"rules":57},"status":"running"}

I can set the path now but I can't play a movie from the path.
I guess the address is not specified correctly.

How can I test the path I want to use on windows?

Doesn't the Shield require a password to access it's data via the network ?

I use id and password on windows file explorer but not when I access through chrome. I have no idea how I would specify that in the path.

I have never seen Sharing a path from Shield to Shield ? is that what you are trying to do ?