Google Homeにyoutubeのお気に入りplaylistを流す

#はじめに
このご時世ですのでみなさんも家族全員で引きこもり生活をされているのではないかと思います。
引きこもっているのでいろんなツールを作っていますが、その一つをご紹介させていただきます。
今回のツールはぶっちゃけ手元のスマホでもできてしまうのですが、
システムからcronで毎日定刻にながしたい、アラーム代わりにしたいなんて需要に答えるものです。

#環境
ちなみに、私の自宅の環境は[このような](https://qiita.com/freddiefujiwara/items/4f340c32c86312705c94)感じになっています。

![Google Homeに喋らせてみた.png](https://qiita-image-store.s3.amazonaws.com/0/1817/ba4fc8cb-8955-54d1-0ae6-7c7b090e034d.png)

#材料
すべて
- [google-home-audioplay](https://github.com/freddiefujiwara/google-home-audioplay)
- [youtube-list-cli](https://github.com/freddiefujiwara/youtube-list-cli)
- [youtube-dl-cli](https://github.com/freddiefujiwara/youtube-dl-cli)

これらを全部インストールします

```bash
npm i -g google-home-audioplay youtube-list-cli youtube-dl-cli
```
#組み合わせる
このようなshell scriptを用意します

```bash
#!/bin/sh                                                                                                                                                                      
while getopts l:u:h: option                                                                                                                                                    
do                                                                                                                                                                             
  case "${option}"                                                                                                                                                             
    in                                                                                                                                                                         
    l) LIMIT=${OPTARG};;                                                                                                                                                       
    u) URL=${OPTARG};;                                                                                                                                                         
    h) HOST=${OPTARG};;                                                                                                                                                        
  esac                                                                                                                                                                         
done                                                                                                                                                                           
# arg check                                                                                                                                                                    
if test -z $URL || test -z $LIMIT || test -z $HOST;                                                                                                                            
then                                                                                                                                                                           
  echo "Usage $0 -l <limit> -u <url> -h <host>"                                                                                                                                
  exit 1;                                                                                                                                                                      
fi                                                                                                                                                                             
                                                                                                                                                                               
echo $0 -l $LIMIT -u $URL -h $HOST                                                                                                                                             
for i in `youtube-list-cli -l $LIMIT $URL` ; do                                                                                                                                
  google-home-audioplay $HOST `youtube-dl-cli $i` && sleep `youtube-dl-cli -o _duration_raw $i`;                                                                               
done
```

#実行
たとえばann news liveを10件流したい場合は下記です
(* Google HomeのIPアドレスは 192.168.1.103の場合です　適宜変えてください)

```bash
$ youtube-playlist -l 10 -h 192.168.1.103 -u 'https://www.youtube.com/watch?v=nNTZMYfsDlI&list=PLKeSkVQhqoOr89YTeXoAlHzJXBJO_FuxY'
```