获取和更改Nest恒温器上的基本数据

jfu*_*der 7 nest-api

我一直无法获取和更改Nest恒温器提供的一些基本数据.

使用命令行,如何获取或更改恒温器上的各个设置或值?

jfu*_*der 13

这是一些来自几个用户的汇编,解释了如何通过添加我自己的一些经验来检索或更改一些基本信息.无论我在哪里使用<VALUE>,请将其替换为您设置中的适用信息.如果你使用的是Windows,你需要像git-scm这样的东西.

  • 以下是身份验证过程的一部分.您需要在Nest的开发者页面上创建一个客户端,并按照提供的授权URL获取您的身份验证代码.运行此行以获取访问令牌:

    curl --data 'code=<AUTH CODE>&client_id=<CLIENT ID>&client_secret=<CLIENT SECRET>&grant_type=authorization_code' https://api.home.nest.com/oauth2/access_token
    
    Run Code Online (Sandbox Code Playgroud)
  • 获取有关与授权代码关联的恒温器的一些信息:

    curl -v -L https://developer-api.nest.com/devices/thermostats?auth=<AUTH CODE>
    
    Run Code Online (Sandbox Code Playgroud)
  • 获取有关特定恒温器的一些信息:

    curl -v -L https://developer-api.nest.com/devices/thermostats/<THERMOSTAT ID>?auth=<AUTH CODE>
    
    Run Code Online (Sandbox Code Playgroud)
  • 为了获取从指定的恒温器在F中的目标温度.您可以将target_temperature_f替换为Nest的API参考上恒温器下列出的任何其他值:

    curl -v -L https://developer-api.nest.com/devices/thermostats/<THERMOSTAT ID>/target_temperature_f?auth=<AUTH CODE>
    
    Run Code Online (Sandbox Code Playgroud)
  • 更改 target_temperature_f:

    curl -v -L -X PUT "https://developer-api.nest.com/devices/thermostats/<THERMOSTAT ID>/target_temperature_f?auth=<AUTH CODE>" -H "Content-Type: application/json" -d "65"
    
    Run Code Online (Sandbox Code Playgroud)
  • 要将具体结构更改为远离.这里的值是一个字符串,所以一定要包含单引号:

    curl -v -L -X PUT "https://developer-api.nest.com/structures/<STRUCTURE ID>/away?auth=<AUTH_TOKEN>" -H "Content-Type: application/json" -d '"away"'
    
    Run Code Online (Sandbox Code Playgroud)

这主要归功于以下用户: thesimm,mccv,Nagesh SusarlaDavid W. Keith.