追記:
- AlexaアプリからTimeZoneに加えて、Locationも日本が設定できるようになっています。
- また、日本語版Amazon Echoが発売になりました。ご興味のある方、下記まとめ記事をご参照ください。
Amazon Echoは米国のみで出荷されているため、それ以外の国の現地時間を設定することができない。これをハックして無理矢理他の国のタイムゾーンにする方法がある。だが、Echo Dotで久しぶりに設定しようとしたら方法を忘れてて手こずった。
そこで、備忘録を兼ねて方法をまとめておくことにする。
Amazon Echoはweb API (https://pitagui.amazon.com/api/) を経由して動作しており、Echoの設定もこのAPI経由で自分のAmazon USアカウントに書き込まれている。Alexa Appやalexa.amazon.comからでは、米国以外のタイムゾーンに設定することはできない。これをRequest Makerというツールを使用して、他国のタイムゾーン設定を無理矢理書き込む。
Request MakerはChromeのプラグインで、インストールすると表示されているタブ内で実行されたAPIコールなどのhttpリクエストの表示と、指定したURIへのGET/POSTを行うことができる。
1. まずはRequest MakerをChrome web storeからインストール。
2. alexa.amazon.com のSettingsから、タイムゾーン設定を変更したい Alexa (Echo、Echo Dot、Echo Tap、Fire TV etc) を選択、Device locationの項目のEditをクリック、デフォルトのSeattleの住所が表示されたらSave Changes。
3. 入力が終わったら、Chromeのタブを変更せずにRequest Makerのアイコンをクリックする。そうすると先ほどEchoのDevice location設定を行った際のhttpリクエストの一覧が表示される。
4. PUT https://pitagui.amazon.com/api/device-preferences/ … をクリックして開くと、先ほど住所の設定をSave Changesした際のAPIコールの内容が表示される。ちなみに、/device-preferences/ に続く文字列はEchoのシリアル番号。
5. Raw data(jsonデータ)から、“timeZoneId”:null の記述を探す。
6. null を “Asia/Tokyo” に変更し(“timeZoneid”:“Asia/Tokyo”,)、Sendボタンを押す。
ボタンの隣に200 OKと返って来れば変更は成功。400 Bad Requestの場合は失敗。
7. Alexaに”Alexa, what time is it?”と聞いてみて、日本時間を返してくれれば成功。
日本以外のタイムゾーンに変更したい場合、下記をクリックして表示される地名から適切なものに同様に変更すればOK。
https://pitangui.amazon.com/api/available-time-zones?
先ほどのjsonデータには、countryCodeや住所に関する項目があるが、これらをいじって米国以外の住所を登録しようとしてもムダ。適切な米国住所かどうかがチェックされているので、矛盾があるとPUTに失敗する。天気予報などで使われるデフォルト位置情報は、このへんから拾ってきているのでザンネンながら他のロケーションには変更できない。”Alexa, what’s today’s weather in Tokyo?” と場所を指定する必要がある。
※本エントリーに関する実験は全て海外で行った。
参考にしたサイト:Amazon Echo Forum | Topic: Using outside the US
@Woggieeeeをフォロー