PCからスマートプラグを操る その2

 これの続き。

doroyamada.hatenablog.jp

 まずIDが違うかも疑惑。スマートフォン側にアプリを入れてみてみる。Playストアにないので、野良apkをインストール。
apkpure.com
 やってみたらどうやら違っていた。keyは見当たらない。新しいidをテストスクリプトにセットしてみたら1個がなんとか動いた。そのスクリプトはこちらのAsynchronousのやつ。
github.com

 いくつかコメントアウトして、なんとか動くように。

#!/usr/bin/env node
const TuyaDevice = require('tuyapi');

const device = new TuyaDevice({
  id: 'himistu',
  key: 'secret',
  ip: '192.168.1.128',
  persistentConnection: true,
});

device.on('connected',() => {
  console.log('Connected to device.');
});

device.on('disconnected',() => {
  console.log('Disconnected from device.');
});

device.on('data', data => {
  console.log('Data from device:', data);
/*
  console.log('Current status:', status);

  device.set({set: !status}).then(result => {
    console.log('Result of setting status:', result);
  });
*/
});


device.on('error',(err) => {
  console.log('Error: ' + err);
});

device.connect();

// Disconnect after 10 seconds
setTimeout(() => { device.disconnect(); }, 10000);

 ただ、なんか変。

 わかるのは「 dps: { '1': true, '2': true, '7': 5276, '8': 4944, '9': 956 } }
」のところ。
 1 ,2はコンセント1、2の状態だとすぐ想像ができる。コンセント2に繋がっているテレビの電源を落とすと7、8の数値が2桁になって9は変わらないことから、これが電力消費量を示しているというのはわかった。このあたりを加工すれば、テレビの電源が入っているかどうかも判別できるかも。

 その2はここまで。