Skip to content

【Taskerレシピ】GoogleアシスタントのコマンドをTaskerから実行しよう

こんにちは。今回紹介するTaskerレシピは、任意のGoogleアシスタントのコマンドを実行する方法です。

TaskerからGoogleアシスタントのコマンドを直接実行する方法を調べたところ、AutoVoice(有料プラグイン)や2014年の古い記事しか見つからなかったため、記事にしました。この方法では、少々アナログチックですがプラグインを使わずに実行できます。

※2023/10/7 アシスタントのデフォルト入力をキーボードにした場合にうまく動作しなくなったため、AutoInputのプラグインを使った方法に修正しました。

※2023/10/9 いただいたコメントより、アシスタントを起動した際に、真ん中に「Googleレンズ」「マイク」「キーボード」が統合されたアイコンが出てくる場合の対応方法についてアシスタントの挙動が異なる場合 として追記しました。

※2023/12/04 いただいたコメントより、キーボードを優先にする設定項目が削除された場合の対応レシピを追記しました。

他のTaskerレシピについては以下を参照ください。

はじめに

Taskerから任意のGoogleアシスタントコマンドを実行することで、Googleホームに登録している照明やエアコンなどのスマートデバイスを操作することができます。帰宅時、外出時のルーティンはデフォルトの機能でありますが、Taskerを用いることで更に複雑な条件をトリガーにすることができます。

必要なもの

  • Androidスマートフォン
  • Tasker(有料アプリ)
  • AutoInput(有料プラグイン)

作り方

タスクの作成

以下のタスクを作成します。

de296918 screenshot 20231007 095916
  1. ボイスコマンド(アシスタント)を起動します
  2. AutoInputプラグインを用いて、右下のキーボードボタンを押します
  3. 1秒待ちます(端末の環境に応じて変更してください)
  4. 任意のコマンド(例:電気つけて)をキーボードで打ち込み、エンターを押します

それでは作成の手順です。まずはTaskerを開いて、TASKSタブを選択します。

+ボタンをタップして任意の名前を入力してチェックマークをタップします。(記事では例としてTurnOn としました)

+ボタン > Input > Voice Commandを選択します。

次に、アシスタントが起動した後に右下のキーボードを押すコマンドを作成します。

b6175ad6 screenshot 20231007 095948

+ボタン > Plugin > AutoInput > Actionを選択します。

462b9489 screenshot 20231007 100056

Configurationのボタンを押します。

245f9bd4 screenshot 20231007 100111

Easy Setup を選択します。

6889bfc7 screenshot 20231007 100137

するとホーム画面に戻り、上記の通知が表示されるので、Add を押したあとにアシスタントを起動します。(Pixelのデフォルトは電源ボタン長押しです)

362e4a84 screenshot 20231007 100216

右下のキーボードアイコンをタップします。

2ef57a41 screenshot 20231007 100235

すると、上記の通知が表示されるので、Accept をタップします。

アプリ履歴から、Taskerを再度開きます。

39fe971c screenshot 20231007 100256

フィールド選択画面が表示されるので、Element Id~ をタップします。

0f758cb2 screenshot 20231007 100316

Click をタップします。

5f869f7a screenshot 20231007 100331

AutoInput Actionが上記のような設定になっていればOKです。これでキーボードのアイコンがタップされるようになりました。

+ボタン > Task > Waitを選択して、1 Secondsに設定します。(遅延時間は端末の環境に応じて変更してください)

+ボタン > Input > Keyboardを選択して、Inputの虫眼鏡アイコンから、Enter Text をタップします。続いてダイアログにGoogleアシスタントで実行したいテキストを入力します。(例:電気つけて)

以下に参考動画を貼ります。

再びInputの虫眼鏡アイコンから、Enter をタップします。Key Modifierが出ますが、何も選択せずに、適当な場所をタップして戻ります。Input には、write(コマンド),Enter と入力されていればOKです。

以下に参考動画を貼ります。

概要コード

作成したタスクのコードは以下です。

    Task: TurnOn
    
    A1: Voice Command
    
    A2: AutoInput Action [
         Configuration: Type: Id
         Value: com.google.android.googlequicksearchbox:id/nga_input_plate_right_icon
         Action : Click
         Timeout (Seconds): 5
         Structure Output (JSON, etc): On ]
    
    A3: Wait [
         MS: 0
         Seconds: 1
         Minutes: 0
         Hours: 0
         Days: 0 ]
    
    A4: Keyboard [
         Input: write(電気をつけて),Enter
         Time Between Inputs: 500 ]

活用例

作成したタスクの活用例を紹介します。

NFCタグと組み合わせる

NECタグにスマホをかざすことで、任意のGoogleアシスタントコマンドが実行できます。

0c26a482 screenshot 20230806 164212

プロファイルから、+ボタン > Event > Net > NFC Tagを選択します。

IDの虫眼鏡アイコンからNFCタグをスキャンして設定します。タスクは先程作成したものを設定します。ただし、スマートフォンがロック解除された状態でないとNFCタグが読み込まれないため注意してください。

私は10枚セットで1000円以下のものを購入しました。意外と安いです。

ウィジェットの作成

作成したタスクはホーム画面からウィジェットして呼び出すことができます。

ウィジェットを作成して実行するまでの操作を動画にしました。

まず、ホーム画面上でロングタップして、Taskerのウィジェットを追加します。

タスク1×1を選択します。

ロングタップして、配置する際に以下のエラーが出ることがあります。指示通り、Taskerアプリを開いて戻る を実行してアプリを終了しましょう。

f6ee2b9e screenshot 20230805 071643

ショートカットが配置できたら、タスクの選択画面が出ます。先程作成した、タスクを選択しましょう。ホーム画面にアイコンが追加されたら完了です。

アシスタントの挙動が異なる場合

いただいたコメント(アンドレ日本様)より、アシスタントを起動した際に、真ん中に「Googleレンズ」「マイク」「キーボード」が統合されたアイコンが出てくる場合の対処法を紹介いただきました。

統合されたアイコンをAutoInputのEasySetupで押した際の要素はcom.googleandroid.googlequicksearchbox:id/opa_chat_ui と表示され、キーボードを起動できなかったそうですが、以下のタスクで動作確認したとのことです。

タスク: テスト
A1: アプリ起動 / Launch App [
パッケージ/アプリ名: アシスタント ]
 ※アシスタントを起動することで、音声入力ではなくキーボード入力が
  優先になるのでこちらにしました。
A2: AutoInput Action [
設定: Type: Text
Value: メッセージを入力
Text to Write : リビング照明をつけて
Action : Write
タイムアウト (秒): 23
構造を出力 (JSONなど): オン ]
 ※アシスタントを起動した際に入力エリアに記載されている”メッセージを入力”を
  ターゲットとして選択させ、さらにコマンドをセットさせています。

A3: キーボード / Keyboard [
入力: Enter
入力間の時間: 500 ]
 ※最後に確定させるためにEnterを入力。タスクの2でEnterも同時に設定できれば
  この項目は不要ですがやり方がわかりませんでした・・・。

有益な情報をありがとうございました。

キーボードを優先にする設定項目が削除された場合の対応レシピ

いただいたコメント(こと様)より、アシスタント起動した時、キーボードを優先にするという設定項目が削除されて表示されない場合の対応レシピについて紹介いただきました。TaskerプラグインのTouchTaskを使い、画面の座標を指定してキーボード入力を実行しています。(他のTasker記事で使っているAutoInputでも代用可能です)

1. Launch App
Package/App Name アシスタント

2. Wait
1 Second

3. Actions
Configuration Action: Tap Method: Point (x,y)…

4. Keyboard
Input write(電気つけて), wait (1000),Enter,Back

座標値「Point(x, y)」は画面の表示サイズや、端末の解像度に依存することにご注意ください。

有益な情報をありがとうございました。

おわりに

Googleアシスタントに任意のコマンドを実行することで、スマートデバイスを間接的にTaskerから簡単に操作することができます。スマートフォンの操作だけではなく、家電の操作ができるようになるため、かなりできることが広がったと思います。ぜひ活用してみてください。

カテゴリスマートフォンTasker

9 Comments

  1. アンドレ日本 アンドレ日本

    google検索から来ました。
    ずっとNFCで家電を操作したくて試行錯誤してましたが漸く同じ志の記事を見つけて
    設定してみましたが、VoiceCommandが起動すると音声入力となってしまいコマンドが
    実行できず。
    アシスタントの優先入力はキーボードにしていますが、VoiceCommandで呼び出した際のデフォルトの仕様が変更となってしまったんですかね。
    何か対策・回避策あればご教授していただけませんでしょうか・・・。

    • kuimal kuimal

      アンドレ日本様

      コメントいただきありがとうございます。
      当方でもキーボードで入力できなくなったことを確認しました。
      AutoInputプラグインを使った方法にはなってしまいますが、アシスタントを起動した後に右下のキーボードアイコンを押すように記事を修正いたしました。
      よろしくお願いいたします。

  2. アンドレ日本 アンドレ日本

    回答ありがとうございます!
    自分の場合はアシスタントを起動した際、
    右下ではなく真ん中に「Googleレンズ」「マイク」「キーボード」が統合された
    アイコンが出てきてしまい、AutoInputのEasySetUpの際Element IDには別のもの
    (com.googleandroid.googlequicksearchbox:id/opa_chat_ui)が表示されるので
    うまくキーボードを起動できませんでした。機種は機種はPxcel7aです。
    代わりに入力エリアを選択するよう、以下のように組んでみたところ
    無事動作したのでご報告です。

    <タスク設定内容>
    タスク: テスト
    A1: アプリ起動 / Launch App [
    パッケージ/アプリ名: アシスタント ]
     ※アシスタントを起動することで、音声入力ではなくキーボード入力が
      優先になるのでこちらにしました。
    A2: AutoInput Action [
    設定: Type: Text
    Value: メッセージを入力
    Text to Write : リビング照明をつけて
    Action : Write
    タイムアウト (秒): 23
    構造を出力 (JSONなど): オン ]
     ※アシスタントを起動した際に入力エリアに記載されている”メッセージを入力”を
      ターゲットとして選択させ、さらにコマンドをセットさせています。

    A3: キーボード / Keyboard [
    入力: Enter
    入力間の時間: 500 ]
     ※最後に確定させるためにEnterを入力。タスクの2でEnterも同時に設定できれば
      この項目は不要ですがやり方がわかりませんでした・・・。

    • kuimal kuimal

      アンドレ日本様

      ご丁寧にタスク内容をご教授いただきありがとうございます。
      タスク内容を記事に追記いたしました。

      ちなみに、私もPixel7aでタスクを動作させており、Androidのバージョンが原因かと推測して14にアップデートしましたが、アシスタント上に統合されたアイコンは表示されませんでした…
      無事に動作したようで何よりです。

  3. こと こと

    はじめまして。
    NFCで操作してくて色々検索してたどりつきました。
    さっそくtaskerをインストールして試してみましたがAndroid13Xperia5IVなんですが、どうやっても無理そうな感じです。
    まずkuimalさんのレシピをやってみましたが統合されたアイコンで不可能でした。
    それでアンドレ日本さんのやり方をやろうとしましたがアシスタント起動した時、キーボードを優先にするという設定項目が削除されてるみたいで再現不可能でした。

  4. こと こと

    tasker入れてから3日くらいで今日始めてTASKSをいじりました。
    taskerのこと調べていたらTouchTaskの存在を知ってそれを使ってみました。
    それでアンドレ日本さんのを参考にして、こんなふうに組んでみました、一応動くんですけどもうちょっと軽量化出来そうな気がするんですけど、なにせTASKSをいじったのは今日始めてなので私にはこれが限界です、軽量化出来るようでしたら、お願いします。

    1. Launch App
    Package/App Name アシスタント

    2. Wait
    1 Second

    3. Actions
    Configuration Action: Tap Method: Point (x,y)…

    4. Wait
    1 Second

    5. Keyboard
    Input write(電気つけて), Enter Time Between I…

    6. Wait
    1 Second

    7. Back Button

  5. こと こと

    ちょっと自分でいじってみました。
    4と6番目のWaitなくても動くのがわかったので削除

    それで4番目の命令文の後に1秒置いてからエンター押すようにしました。
    命令した後すぐエンター押すと偶に決定されないことがあるので入れました。
    7番目のBack Buttonでアシスタント終了させていたのを削除して、4番目のキーボード命令の最後にBackを入れてアシスタント終了させるようにしました
    機種の処理速度によってアシスタントの起動時間とか変わると思うのでWaitは自分の機種に合わせないと駄目な気がします。

    1. Launch App
    Package/App Name アシスタント

    2. Wait
    1 Second

    3. Actions
    Configuration Action: Tap Method: Point (x,y)…

    4. Keyboard
    Input write(電気つけて), wait (1000),Enter,Back

    • kuimal kuimal

      こと様

      コメントいただきありがとうございます。

      キーボードを優先にする設定項目も削除されていたのですね。
      それに対するレシピを載せてくださり感謝します。
      入力ボタンのUI名ではなく、TouchTaskプラグインで画面の座標を指定してキーボード入力する方法ですね。記事の内容を更新しました。
      ご存知だとは思いますが、座標値は画面の表示サイズや、端末の解像度に依存することにご注意ください。
      また、遅延時間についてですがおっしゃるとおり、waitの時間は端末のスペックやメモリの使用状況によっても変わるので、適宜調整する必要があります。想定よりも長めに遅延時間を設定すると失敗するパターンが減ると思います。

  6. こと こと

    キーボード優先のやり方調べると、その項目がなくなってるって感じでした。
    最初Wait0.5秒でやってみたんだけど、結構動いてたんですけど、偶に失敗するので1秒に落ち着きました。
    AutoInputまだ使い方よくわからないんですよね、とにかくキーボードを選択する方法を調べていたらTouchTaskで画面をタップできるのがわかり使ってみました。
    出来上がったせいかAutoInputの使い方を調べる気力が現在なくなってますw

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

CAPTCHA