これの続き。
まず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はここまで。