对于Nest团队,为什么在恒温器中写入值不能在Nest SDK中正常工作?

时间:2016-04-08 07:24:57

标签: android nest-api

我正在尝试为我的大师们建立一个家庭自动化项目,并使用Nest恒温器作为项目的一部分。我正在尝试编写一个Android应用来改变恒温器的目标温度。我的恒温器已经冷却了。从最初的Nest App,我可以轻松地将温度从50 - 90 F改变。在Nest SDK示例代码之后,我尝试更改目标温度。当我构建我的项目时,改变温度前10次工作正常,然后停止工作。如果我更改了Nest App中的目标值,我的应用程序中的值会立即更新。 我在点击监听器上有两个TextView,如示例代码中所示。这是我的onClick代码 -

@Override
    public void onClick(View v) {
        if (mThermostat == null || mStructure == null) {
            return;
        }

        String thermostatID = mThermostat.getDeviceId();
        //System.out.println("ThermoID " + thermostatID);
        String mode = mThermostat.getHvacMode();
        System.out.println("Mode " + mode);
        String awayState = mStructure.getAway();
        long temp = mThermostat.getTargetTemperatureF();
        //System.out.println("Temp "+temp);

        switch (v.getId()) {
            case R.id.temp_incr:
                ++temp;
                System.out.println("Temp Incr " + temp);
                mTargetTemp.setText(String.format(DEG_F, temp));
                mNest.thermostats.setTargetTemperatureF(mThermostat.getDeviceId(), temp);
                break;
            case R.id.temp_decr:
                --temp;
                System.out.println("Temp Decr " + temp);
                mTargetTemp.setText(String.format(DEG_F, temp));
                mNest.thermostats.setTargetTemperatureF(mThermostat.getDeviceId(), temp);
                break;
        }
    }

从我的Debug语句中,我可以看到温度值正在控制台中更新,但没有写入恒温器。我的产品的权限设置为Thermostat读/写v4。 我的问题是为什么它只能工作几次?还有其他人遇到过类似的问题吗?有没有一致的解决方法?

1 个答案:

答案 0 :(得分:0)

听起来你达到PUT的速率限制,每小时约10 PUT。

速率限制仅适用于真实设备。它们是Nest Home Simulator的大规模扩展,这是测试代码的最佳方式。