1

私はプログラマーではありませんが、何かをいじるのが好きです。私は何年もの間 @ifttt と @nest を使用しており、最近 @smartthings を使用して家でクールなことをし始めました。

家を出るときに、照明や給湯器などのデバイスの電源を切りたいと思っていました。これを電話やキーフーブなどの 1 つのデバイスに依存させるのではなく、ネストされた "auto-away" 機能を使用したいと考えました。

自動退席は、@ifttt または @smartthings に公開されていないようです。@nestsupport に問い合わせたところ、ここに来るように言われました :-o。

ネスト開発チームの誰かが、開発者や他の製品がいつネスト デバイスからこれを消費できるようになるかを知っていますか? 数年経った今でも公開されていないのは本当に残念です。それだけでなく、家のアイテムを統合してオン/オフにすることは、追加のセールスポイントになる可能性があります.

感謝

4

3 に答える 3

0

これを行う方法はいくつかありますが、SmartApp を自分で使用するためだけに作成している場合は、SmartThings の Nest 用の既存のデバイス タイプの 1 つを利用することをお勧めします。簡単な例として、私が使用しているものを使用します。

https://github.com/bmmiller/device-type.nest/blob/master/nest.devicetype.groovy

96 行目以降は、次のように記述した SmartApp にステータスを公開します

attribute "temperatureUnit", "string"
attribute "humiditySetpoint", "number"
attribute "autoAwayStatus", "number"     // New Line

ここで、現在 459 行目から始まる既存の poll() メソッドでデータを取得する必要があります。

480行目以降、属性を更新する

sendEvent(name: 'humidity', value: humidity)
sendEvent(name: 'humiditySetpoint', value: humiditySetpoint, unit: Humidity)
sendEvent(name: 'thermostatFanMode', value: fanMode)
sendEvent(name: 'thermostatMode', value: temperatureType)
sendEvent(name: 'autoAwayStatus', value: data.shared.auto_away)     // New Line

これにより、auto_away ステータスの数値が公開されます。

  • -1 = 自動退席が無効
  • 0 = 自動離席オフ
  • 1 = 自動離席中

次に、SmartApp で次のようにタイプ サーモスタットの入力を含めます。

section("Choose thermostat... ") {
    input "thermostat", "capability.thermostat"
}

を参照して、自動退席ステータスにアクセスできます。

thermostat.autoAwayStatus 

コードのどこからでも、次のようなことができます

if (thermostat.autoAwayStatus == 1) {
     // Turn off everything
}
于 2015-09-01T16:53:34.797 に答える