homeAssistantにGoogleAssistantを組み込みたくて作業してたんだけど、ずっとGoogleでの認証に失敗していた。
手順自体はこちらに書いてある。
けど英語なので機械翻訳で読むしかなく、微妙なニュアンスなんかが読み取れない。加えて知識が浅いので内容を読み込めない。
仕方ないのでchatGPTに聞きながらやってたんだけど、クライアントIDとクライアントシークレットを取得、手順通りにやってるはずなのにリダイレクトURIが違うと言われてブロックされる。
アクセスをブロック: このアプリのリクエストは無効です
xxxxxxx@gmail.com このアプリが無効なリクエストを送信したため、ログインできません。しばらくしてからもう一度お試しいただくか、この問題についてデベロッパーにお問い合わせください。
このエラーの詳細 このアプリのデベロッパーの場合は、エラーの詳細をご確認ください。
エラー 400: redirect_uri_mismatch
何度やってもクリアできず、でも正確に入力してるし、どうしてなんだよおおおおって唸ってた。
そんこんなのうちに深夜になってしまったので、諦めてベッドへ。
で、寝る前に似た事案のトラブルシューティングはないかと検索をかけていたところ、「homeAssistantのURLにした?」って回答してる人がいた。
はい?
そう言えば統合でGoogleAssistantSDKを選択すると出る入力窓の上方に、何やら英語で説明が書かれていた。
URLはこれを書いてねとhomeAssistantのURLみたいのがフォントを変えて表示されていた。
この説明はhomeAssistantcloudを利用している人向けに書かれているものだと思い込んでいたが、もしかして、これを入れるのか…?
もう一度GoogleCloudでクライアントIDを作成。リダイレクトURIにそこに書かれていたURL
https://my.home-assistant.io/redirect/oauth
を入力し、homeAssistant側で作業を進めたら……。
通ったあああああああ!
何だーこれかよー注意書き読めよーばかあああああ!
というわけで無事GoogleAssistantSDKが使えるようになった。
ただ、私、勘違いしてたんだよね。
これを使えばGoogleAssistantが使えるようになるんだと思ってたんだけど、そうじゃなかった。
確かにhomeAssistantにGoogleアシスタントを取り込んだ形にはなるんだけど、これで出来るのは、「テキストをGoogleAssistantに喋らせ、選択したスマートスピーカーで出力できる」ということだった。
マイク機能のあるスマートスピーカーから「入力」してhomeAssistantで作業することはは出来ないのだった。
がーん。
結局のところ、今アレクサやGoogleAssistantがやってる「音声で入力、スマート機器を操作」という工程については、Nabu Casaを使う以外に手はないということだった。
厳密に言うとマイクを自作してhomeAssistantに登録、それを入力媒体として運用するという事自体は可能。
ただそうなると当然電子工作のスキルが必要になるし、そもそも日本語対応にすること自体が難しい。
私みたいなふわふわライト勢には敷居が高すぎる。
今後の方針をchatGPTに相談してたんだけど、その時、なんでhomeAssistantの構築なんかやり始めたのか思い出した。
今後GoogleAssistantは廃止になってGeminiに置き換わる予定で今移行中らしい。任意で切り替えは出来る。
で、現行のGeminiはGooglehomeのルーティンを扱えないんだよね。なので私は切り替えをしていない。
完全移行後は使えるのかもしれないが、仕様自体がガラッと変わる可能性もある。
幸いうちでは発生してないが、現在、移行に伴う何らかのサービス終了でスマート機器がネストハブから上手く操作できなくなったという話もあるみたい。
そんな先の見えない不安定な状態なら、もうルーティン周りは別のシステムでやるしかないんでは、という事で始めたんだよね。
そう、目的は「音声操作をする」ことではなく「ルーティン作業の確保」だったのでした。
だったら音声操作にしがみつく必要はない。
音声操作がどうしてもやりたいものはGoogleAssistantかアレクサにやらせて、音声操作が不要な時限式のオートメーション作業はhomeAssistantにやらせればいい。
という事で、今後はそのへんを整理していく予定。
あ、ちなみに前回やってた「matter非対応スマート機器の仮想matter化」は結局のところ「面白技術の実験とその結果」でしかなかった。
homeAssistant経由で仮想matter機器としてグーグルホームやアレクサに登録しなくても、natureRemoやswitchbotハブ経由で機器登録できるんだからやる必要はどこにもないんだよね。
実際やってみて、これ何の意味があるんだろうとは思っていたんだ。
ハハハ。
