ステートの参照
Thing から定期的にアップロードされているステートをアプリから参照することができます。機能概要は こちら をご覧ください。
スキーマ定義 で設計したステートの構成にしたがって、最新のステートを取得できます。たとえば、スキーマ定義のページで提示したエアコンの例では、以下のような JSON を想定しています。
{
"power" : true,
"presetTemperature" : 25,
"fanspeed" : 5,
"currentTemperature" : 28,
"currentHumidity" : 65
}
最新のステートを読み込むには以下のようなコードを実行します。
実行に先立って、初期化コードの実装 に示す方法によって、初期登録済みの ThingIFAPI
インスタンス(api
)を入手しておく必要があります。
getState
メソッドを呼び出すと、Promise によってステートの JSON に対応する Object
を取得できます。上記のサンプルコードでは、初めに示した JSON と同等の文字列がコンソールに出力されます。
ステートを取得後、state.power
などで値にアクセスできます。
なお、TypeScript では、以下のようなデータ型を定義することにより、ステートの型をより明確に扱うことができます。
// AirConditionerState.ts
export class AirConditionerState {
power: boolean;
presetTemperature: number;
fanspeed: number;
currentTemperature: number;
currentHumidity: number;
}
import {AirConditionerState} from './AirConditionerState';
...
// Get the thing state.
api.getState().then((state: AirConditionerState) => {
// Do something.
console.log(state.power);
console.log(state.presetTemperature);
console.log(state.fanspeed);
console.log(state.currentTemperature);
console.log(state.currentHumidity);
}).catch((error: ThingIF.ThingIFError) => {
// Handle the error.
});
Thing-IF SDK for JavaScript ではステート履歴の検索・取得はできません。REST API か 開発者ポータル をご利用ください。