+Style・Gosundなどのスマートプラグでtuya-apiを用いて電力量を抽出

Tuya に製品を登録する準備

  1. tuya.comに登録する
  2. メニューバーの「Cloud」→「Project」から「Create」で新規プロジェクトを作成する
    • Project Name:プロジェクト名を入力(ex. SmartLife)
    • Description:適当に記述
    • Industry:適当に選択(分からなければOther)
  3. 作成されたプロジェクトを開き「Access ID/Client ID」「Access Secret/Client Secret」の情報をメモする
  4. メニューバーの「App」→「App SDK」→「Development」から「Create」で新規Appを作成する
    • App Name:適当に記述(ex. SmartPlug)
    • iOS Bundle ID:適当に記述(ex. smartlife.smartplug)
    • Android Package Name:適当に記述(ex. smartlife.smartplug)
    • Channel ID:あとで使うので記述した内容をメモする(ex. smartlifesmartplug)
  5. メニューバーの「Cloud」→「Device」→「Link Device」→「Link Device by Apps」から「Add Apps」で先程作成したAppをリンクさせる
  6. メニューバーの「Cloud」→「API Group」から「API Management」にある一覧を全て「Apply」して「Close」から「Open」に変える(次ページもあるので、忘れずに全てやること)
  7. APIを開けても実際の反映には時間がかかるので、以下の手順で失敗した場合は数時間待ってみる

Tuyaに製品を登録する

  1. sudo npm i -g @tuyapi/cli」でtuya-apiを入れる(npmが入ってない人は自分で事前に入れておくこと)
  2. PCをスマートプラグを接続するWi-Fiと同じWi-Fiに接続する
  3. スマートプラグをペアリングモードにする(点滅が早いモードにすること)
  4. 先ほどメモした情報とWi-Fi情報をもとに次のコマンドで製品登録する
    tuya-cli link --api-key "Access ID" --api-secret "Access Secret" --schema "Channel ID" --ssid "ネットワークのSSID" --password "ネットワークのパスワード"
  5. 「✔ Device(s) registered!」でidが表示されれば成功、失敗する場合は以下の注意事項を確認
    • PCは有線ではなくWi-Fiに繋ぐ
    • PCはEthernet(有線)などWi-Fi以外のネットワークアダプタはすべて切断する
    • Wi-Fiは2.4GHzのみにする(ハイブリッドの場合は失敗する可能性が高いので、一時的に2.4GHzのみに切り替える)
    • スマートプラグは購入後、1回はSmartLifeなどで製品登録する(端末名は半角英数字の方が良い)
    • SmartLifeなどで登録した後、アプリでデバイスの削除を行う
    • ペアリングの失敗が多いので、何度か3〜4を繰り返す
    • それでもペアリングできない場合はプラグのSmartLifeアプリの登録と解除を繰り返してから、3〜4を何度か行う
  6. 表示された「id」「localKey」をメモする

電力量などの抽出

  • tuya-apiのreadmeを参考にプログラムを作成
  • プログラムの「id」「key」に取得した「id」「localKey」を貼り付けて保存する
  • 作成したプログラムを実行して出力されたDataから情報を取得する(失敗することが多いので、何度か実行してください)
    • 18:電流 [mA]
    • 19:電力 [W]
    • 20:電圧 [V]
  • 情報をデータベースへ投げるプログラムは各自で作成してください