For anyone looking to do something similar, you can create an action like this to randomize the video that gets played from an array of YouTube video IDs.
service: media_player.play_media
data:
media_content_type: cast
media_content_id: '
{
"app_name": "youtube",
"media_id": "{{ ["_eA_yGCXeOc","HwCxsgO9yuc","sAbft0V_kuc","gK4gkQT5LCc","9xgQK0INfzs","R951vrtD26Q","6gvtwZPjFzA","02ML4zlcRpk","Mm3JEThKlb0","HaAlW2V3BFg","j6UpMQ2zQYc","jiBW2FOgqk4","J4bQVMo-rV0","DJ8TeIg54aA","8On65uuidM8","r0XNQKvXQ1M","R1b7xQl78oQ","Q4_HXU67C_Y","sz2yap7PlJQ","A9sPEMFUiq4","uu1YpRtrLNA","ZPVje0hBXyw","9ZUeOOcJcJ0","S9hDCskzWSM","ZEBKaApFzKU","pINr59Lx-Ow","UoMQ3gO6UJs","AZtPl6AWiY4","bzDspQiDIRg","28hxSU4mxbw","kwbBRLLOFrw","NKhiSENqxsQ","lG79-4KbEgA","aVMBBWWr8n0","bjTqrtGPdKY","NFLpFvY19tE","NeoXLil0peQ","vPs7h4ub03k","zACwfxltq3o","hwVLv4swDrA","81tFBK5-_fM","QWA22t3yAk4","zTzTdndj_IY","9tkAj82rNGM","zlg6AUUAfsA","of7ezf2vWdw","rrQGHSaIoZ8","SAIiZRGfKfo","c0tY3Xho0fE","YS3xsJsuiEI","H24Epu-1k6c","wQlpBgYRw4Y","AicXkHxlOFM","4JiDd1mn0nM","sHbdSDkceI4","gsC8yPZ3K10","oNhnkPP11Js","Dix58mO0Pbc","q6gR3ayHKeo","BvQqevix-C8","2rzPWUGqQSs","Ee7vVI5R7PM","vFVkwVJzsrI","BJ0RCLG-Kr8","K3_PG7LBw-M","jYBk-BVOnC4","dDXrN-yPOFo","jS-N2rw_GoU","B-FR23hswfQ","3qDTEFD88h0","fbykY7EX6Ss","_iNQ7wELS2k","CTPomE_7xdI","ZLUrdZ9iKgI","7ZPrbrzllVc","pUvQ1KmkqZI","_qbml6Ib4OQ","_itxpL_jXW4","JJgbaxzRF0g","yQZXrg2d37g","fDEgO2A-34g","hHTZT4RnKo0","CUfGX90c39c","HA2WwumRIT8","Z0cixBmgLcA","AY3m0NpkSY4","GpgZriJI-Ho","OzohNi3NHWI","AUFarbDfUl4","UKL2DxolEDQ","6zwfRQaiRU4","DTPIzMB0MmI","Vr2OkMB2Wr0","8fpfdAKcBfU","56359TnQGww","yO4B3gYZ_Wo","wSGXziyeHlE","qsOUbq0Aj1k","gSxXqjYTAJ0","hr3NAx2AnFw","XnmgbZdcRl4","b_xKQ20jnQA","rhYSurIb1-8","J1d1LvTzyGU","GxUo52lmnXc","Fy_dFSHBL0k","esBaoCGUPw0","A1VaNx3gjQE","NyC7pxHJYC4","RKeakEiw3ug","mRqjclXwUmg","W7cgMJJXTKE","YUekOmRg3Dg","obThoQvPSd4","eBNDRH1T6cU","Gzn5BStC5xo","0mgulZinj7U","gqGfwPXUsfo","bwfPdDP6GUM","QIL8c-8p-yU","PJ4xdmZccqw","I8Wtq7Q0IiM","CD3YNLUgW8s","wcrMTyTmoXA","3YcnVpYKcHc","t4FoUGcxEvQ","at4-7P3EBPU","lIKbOFdlujM","wZPbsiJ4Cj8","OmDTkmyoLk0","LXVPEL9OvQ0","dH3KGIaQXlQ","jA275UZJViw","4IiEsBaMrDA"] | random }}"
}'
target:
entity_id: media_player.office_tv
To extract all the video IDs from a YouTube playlist. Open the playlist page (like this https://www.youtube.com/playlist?list=PLVsZgWtfYk4igOAAaP56JvuFuabPD29-d), scroll down to the bottom, click load more, repeat until the end, then open Google Developer Tools, Console and paste this code.
var els = document.getElementsByClassName('yt-simple-endpoint style-scope ytd-playlist-video-renderer');
var show="";
for(i = 0;i<els.length;i++){
var el = els[i];
show += (el.href.split('?v=')[1].split('&list')[0] + "\n");
}
console.log(show);
Output is a list of video IDs from the page which I dropped into Google Sheets to add quotes around each value and comma separate with a JOIN formula.