AlexaボイスコマンドCMD

  • AlexaボイスコマンドCMDのTips
    • Alexaのボイス・コマンドでSwitchのオンオフする際にhomebridge-cmdプラグインを使っている・・・/var/log/homebridge.log抜粋
      [18/08/2022, 12:14:12] [照明] Setting power state to on
      [18/08/2022, 12:14:13] [照明] power function succeeded!
      [18/08/2022, 12:14:13] [照明]
      [18/08/2022, 12:14:21] [照明] Setting power state to off
      [18/08/2022, 12:14:22] [照明] power function succeeded!
      [18/08/2022, 12:14:22] [照明]
    • 照明やシーリングライトなどオンオフには学習型赤外線リモコンIRkitを使う
      • アレクサ照明つけて・・・「照明」IRデータは「iot001.local」の仮想ポート8番に登録されコマンドで「iot001.local」がIRkitへ送信する
      • homebridge config.json抜粋
        {
        “accessory”: “CMD”,
        “name”: “照明”,
        “on_cmd”: “sudo /usr/local/bin/pepoalexacmd_on iot001.local remote hand 8 1”,
        “off_cmd”: “sudo /usr/local/bin/pepoalexacmd_off iot001.local remote hand 8 1 5000”
      • アレクサ照明けして・・・オンオフが同一IRデータ、一度目はスモール点灯、二度目に消灯なので5秒後に再送信で消灯
      • pepoalexacmdコマンドを確認
        pepoalexacmd_onとpepoalexacmd_offへSymbolic link
        https://github.com/kujiranodanna/IOT-House/blob/master/raspberrypi/usr/local/bin/pepoalexacmd
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        #!/bin/bash
        .
        # ln -s pepoalexacmd ./pepoalexacmd_on; ln -s pepoalexacmd ./pepoalexacmd_off
        .
        PROG=pepoalexacmd
        CMD=$DIR/$PROG.pepocmd
        ALEXADO=/usr/local/bin/pepoalexado
        .
        cat >$CMD<<END
        #!/bin/bash
        ping -c 3 $1 >/dev/null
        $ALEXADO $1 $2 $3 $4 $5 $6
        END
        ホストネーム解決とWake upの為ping3回行いpepoalexadoをバックグランド処理
        pepoalexadoを直接叩くとホストネーム解決とWake upでAlexa側でタイムアウトになる事も
      • pepoalexadoコマンドを確認・・・リモートホストへ引数をポスト
        https://github.com/kujiranodanna/IOT-House/blob/master/raspberrypi/usr/local/bin/pepoalexado
        1
        2
        3
        4
        5
        #!/bin/bash
        .
        PROG=pepoalexado
        .
        curl -s --connect-timeout $RETRYTIME --retry $RETRY --max-filesize $GETSIZE --user-agent ${USERAGENT} --tlsv1 -k -u ${USER}:${PASSWORD} -X POST -d $data https://$RM_HOST:$PORT/$REMOTE_CGI >${WORK}
        curlのリモート・ホストネーム解決やWake upに時間が掛かりタイムアウトが発生していると思われる

Homebridge-alexaとIRkit音声コマンド・デモ