このブログの初投稿記事だったりするスマートホーム化の記事ですが、最近は全然使っていません。
というのも、IFTTTとTypeTalkのAPI連携がなかなかうまくいかないんですよね。
Hubot調整編でも書きましたが、WebSocketへの接続が定期的に切断されて、20~30秒後に再接続されるのですが、切断されている間に指示したコマンドは実行されません。
もうだったら音声コマンドは一旦あきらめて、Teratermマクロを使用してファイル実行だけで完結できるようにしようと思います。
Teratermマクロの作成
基本的にQiitaの記事参考で、自分用にカスタマイズしています。
自分がよく使うTeratermマクロによる自動ログインのやり方をまとめてみたよ - Qiita
まえがき自分はよくサーバーに自動ログインさせるのによくTeratermマクロを使います。とはいえコマンドを覚えるほどではなくて、毎回ググってる次第(´・ω・`)たいがいメンドくなったので、自分…
サンプルです。
これは対象サーバに鍵認証でssh接続して「/home/xx/shell/aircon_off.sh」というシェルを実行して、teratermを終了するマクロです。
username = 'xxxxx' hostname = '192.168.xx.xx' passwdfile = 'N:\path\to\passwd.dat' keyfile = 'N:\path\to\id_rsa' msg = 'Enter password for user ' strconcat msg username passwdkey = username strconcat passwdkey '@' strconcat passwdkey hostname getpassword passwdfile passwdkey password msg = hostname strconcat msg ':22 /ssh /auth=publickey /user=' strconcat msg username strconcat msg ' /passwd=' strconcat msg password strconcat msg ' /keyfile=' strconcat msg keyfile connect msg logfile = 'N:\path\to\' strconcat logfile username strconcat logfile '@' strconcat logfile hostname getdate datetime '-%Y%m%d-%H%M%S' strconcat logfile datetime strconcat logfile '.log' logopen logfile 0 1 wait '$' sendln '/home/xx/shell/aircon_off.sh' sendln 'exit' end
単純にコマンドを実行させてクローズするマクロですね。変更箇所はいかになります。
username = 'xxxxx' →サーバにログインするユーザ名 hostname = '192.168.xx.xx' →サーバのIPアドレス passwdfile = 'N:\path\to\passwd.dat' →鍵にパスフレーズを設定している場合、パスフレーズをキャッシュしておくためのファイル。初回接続時に聞かれて、2回目以降は保存されているので聞かれません。 保存先のフォルダだけ作っておけば『passwd.dat』は勝手に作られます。 keyfile = 'N:\path\to\id_rsa' →秘密鍵ファイルの保存先 logfile = 'N:\path\to\' →ログファイルを保存する場合に設定ます。 sendln '/home/xx/shell/aircon_off.sh' →サーバ側での実行コマンド
シェルの名前からわかる通り、エアコンを消すためのシェルです。最近はエアコン必要ないですけど、コマンド部分だけ書き換えて、照明のON・OFF用のマクロもあります。ぶっちゃけそのくらいしか使っていないんですよね。
スポンサーリンク
コメント