ElectroBlog

ElectroBlog.jp

Electroblog.jp introduces convenience projects using smart home appliances and Raspberry Pi.

未来生活5:今日の天気をSiriに読み上げてもらう方法(iPhone)

※更新 : 2019/12/1 iOS13のアップデートで動作しなくなったため、修正。

各アクションの設定に微小な変更点があるためエラーが表示されます。

 

近未来の生活体験第5弾。

今回はiPhoneのショートカットappを使って指定した地域の天気をSiriに読んでもらおうと思います。

How to get Siri to read today’s weather.

 

通常、Siriに天気を聞くと天気予報appの画面を見せてくるだけかと思います。

 

朝起きた直後などは天気情報を画面を見るよりも耳で聞いたほうが楽なので作ってみました。

今回は天気、気温、降水確率などの情報を具体的に答えてもらうように設定します。

完成したショートカットappはこんな感じです(動画は無音ですが実際は音声入りです)

 

参考までに完成したショートカットのファイルはこちらからダウンロードできます(iPhoneからクリックしてください)

https://www.icloud.com/shortcuts/e8260b71d80643138057df91730cce76

※更新 2019/12/1

 

まず最初に、ショーカットappをapp storeからダウンロードします。

f:id:ElectroBlog:20190928132932j:image

 

ショートカットappを開いて、新規プロジェクトを作成します。

 

まず、天気情報を取得します。

f:id:ElectroBlog:20191201191633j:image

 

次に知りたい天気情報をテキストに記載します。

今回は、

・日付

・位置情報

・天気概要

・平均気温

・最高気温

・最低気温

・降水確率

・降水量

とします。

この情報を一旦、変数「text」に格納します。

f:id:ElectroBlog:20191201191904j:image
f:id:ElectroBlog:20191201191746p:image

この天気情報(text)をそのままSiriに読み上げさせると、

不要な単位や細かすぎる情報を読んでしまい、ダメダメです。

なので必要な情報だけを抜き出していきます。

 

まず、テキストを改行毎に分離します。

そして、各行ごとに取り出していきます。

最初に2行目の時間情報を変数「time」に格納します。
f:id:ElectroBlog:20191201192024p:image

 

同様に変数「text」の4行目となる場所を変数「place」へ格納します。

必要な情報のみを取り出します。
f:id:ElectroBlog:20191201192039j:image

 

変数「text」の7行目となる天気概要を変数「weather」へ格納します。
f:id:ElectroBlog:20191201192055j:image

 

変数「text」の8行目となる平均気温を変数「weather-normal」へ格納します。

単位「℃」がついたままだとSiriが C の部分まで読んでしまいおかしくなります。

なので数値のみ取り出します。
f:id:ElectroBlog:20191201192128j:image
f:id:ElectroBlog:20191201192124j:image

 

変数「text」の9,10行目となる最高気温、最低気温を変数「weather-max」「weather-min」へ格納します。

これも同様に単位を削除して数値のみを取り出します。
f:id:ElectroBlog:20191201192158j:image

f:id:ElectroBlog:20191201192200j:image

 

 

続いて、降水確率に関してはそのままで問題ないので変数にはしません。

降水量に関しては、少数までSiriが読むとおかしなことになりますので、

少数と単位を排除して、整数の数値のみを変数「rain」として取り出します。
f:id:ElectroBlog:20191202075947j:image
f:id:ElectroBlog:20191202075936j:image

Siriが読む文章を作りながら、それぞれの変数をテキストにいれていきます。

単位も付け足します。

下の画像で単位「℃」が「° 」になっているのは間違いではなく意図的です。

「° 」はSiriが「ど」と読んでくれるためです。

f:id:ElectroBlog:20191202080028j:image
f:id:ElectroBlog:20191202080024j:image

 

結果に応じて、暑いことや傘が必要なことを知らせるように作ってみました。

降水確率 50%以上 = 傘が必要

最高気温 28℃以上 = とても暑い

f:id:ElectroBlog:20191202080109p:image
f:id:ElectroBlog:20191202080114p:image
f:id:ElectroBlog:20191202080118j:image
f:id:ElectroBlog:20191202080106j:image

 

最後にSiriのフレーズを登録します。

右上のf:id:ElectroBlog:20190928224939p:plainを押下します。

iOS13からショートカット名がSiriのキーワードに設定される仕様になってました。

なので、Siriに天気と呼びかければショートカットが起動します。

f:id:ElectroBlog:20191202080339p:image

 

それでは実際に動作させてみます。

Hey Siri

天気

と話しかけてみます。

f:id:ElectroBlog:20190928224103j:image


f:id:ElectroBlog:20190928223845p:image

 

今度はきちんとした日本語で天気予報を読み上げてくれました。