TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API

TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« en: Enero 24, 2016, 00:20:26 am »
EDITO COMO TUTORIAL PARA CONSEGUIR MÁS DATOS DEL NEST

Inicié este hilo para pedir ayuda en el último paso y lo he arreglado por un error absurdo.

Siguiendo los pasos es posible conseguir la humedad, si Nest ha realizado petición a la caldera, temperatura máxima y mínima, etc...

La idea es crear un sensor HTML por cada valor que interese obtener por medio de la API de Nest.

Pasos:

- Primero hay que crearse una cuenta de desarrollador en la web  "developer.nest.com" y crear un "producto" (siguiendo los pasos de la web de desarrollador de Nest es lo primero que se pide), simplemente para poder pedir la API por http.

- Hay que asegurarse de no poner nada en el espacio de "Redirect URI"

- Una vez que tenemos el producto creado tendremos en el lateral varios datos importantes: Product ID, Product Secret, Authorization URL, Authorization Token.

- Utilizando la Authorization URL y aceptando los permisos llegaremos a una página en la que nos dan un PIN DE AUTORIZACIÓN.

-Desde un Terminal escribimos:

curl -X Ptoken" -d "code=PIN DE AUTORIZACIÓN" -d "client_id=ID DE CLIENTE" -d "client_secret=CODIGO SECRETO" -d "grant_type=authorization_code" "https://api.home.nest.com/oauth2/access_token"


(EL ID de Cliente aparece en la URL donde recibimos el PIN)

- Nos devolverá un código TOKEN con el formato: "c.K89ufe......" (empieza por "c.")

- Con el Token utilizando esta URL "https://developer-api.nest.com/devices?auth=TOKEN" recibiremos todos los datos en formato JSON.

Ejemplo:

{"thermostats":{"xxxxxxxxxxxxxxxxx":{"humidity":40,"locale":"es-US","temperature_scale":"C","is_using_emergency_heat":false,"has_fan":false,"software_version":"5.1.6rc4","has_leaf":false,"where_id":"xxxxxxxxxxxxxxxxxx","device_id":"xxxxxxxxxxxxxxxxxxxxx","name":"Living Room","can_heat":true,"can_cool":false,"hvac_mode":"heat","target_temperature_c":23.0,"target_temperature_f":73,"target_temperature_high_c":24.0,"target_temperature_high_f":75,"target_temperature_low_c":20.0,"target_temperature_low_f":68,"ambient_temperature_c":19.0,"ambient_temperature_f":66,"away_temperature_high_c":24.0,"away_temperature_high_f":76,"away_temperature_low_c":6.0,"away_temperature_low_f":43,"structure_id":"xxxxxxxxxxxxxxxxxxxxx","fan_timer_active":false,"name_long":"Living Room Thermostat","is_online":true,"last_connection":"2016-01-24T09:40:11.981Z","hvac_state":"heating"}}}


- Creamos un dispositivo nuevo en eedomus eligiendo Sensor HTML.

- En la URL de petición copiamos la URL anterior y en la Ruta XPATH ponemos el valor que queremos obtener (ejemplo: //humidity nos daría la humedad).

- Hay que marcar la casilla de conversión de JSON a XML y ya estaría todo.


« Última modificación: Enero 30, 2017, 23:11:45 pm por salcazar »

nix

  • *****
  • 546
    • Ver Perfil
Re:Sensor Http + Nest
« Respuesta #1 en: Enero 24, 2016, 09:42:43 am »
Dime cómo lo haces y lo pruebo yo con el mío. También estoy dado de alta como desarrollador para poder usar el homebridge

Re:Sensor Http + Nest
« Respuesta #2 en: Enero 24, 2016, 10:50:44 am »
He editado el nombre del tema y los mensajes que he ido escribiendo para que esté en el primer post como tutorial para el resto de la gente.

Gracias nix, porque por responderte he arreglado mi error!
« Última modificación: Enero 24, 2016, 11:34:56 am por salcazar »

nix

  • *****
  • 546
    • Ver Perfil
Re:Sensor Http + Nest
« Respuesta #3 en: Febrero 24, 2016, 14:38:44 pm »
He editado el nombre del tema y los mensajes que he ido escribiendo para que esté en el primer post como tutorial para el resto de la gente.

Gracias nix, porque por responderte he arreglado mi error!

Mil gracias a ti... ya tengo el sensor de humedad funcionando :D

iNasi

  • *****
  • 510
    • Ver Perfil
Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #4 en: Septiembre 22, 2016, 19:31:30 pm »
EDITO COMO TUTORIAL PARA CONSEGUIR MÁS DATOS DEL NEST

Inicié este hilo para pedir ayuda en el último paso y lo he arreglado por un error absurdo.

Siguiendo los pasos es posible conseguir la humedad, si Nest ha realizado petición a la caldera, temperatura máxima y mínima, etc...

La idea es crear un sensor HTML por cada valor que interese obtener por medio de la API de Nest.

Pasos:

- Primero hay que crearse una cuenta de desarrollador en la web  "developer.net.com" y crear un "producto" (siguiendo los pasos de la web de desarrollador de Nest es lo primero que se pide), simplemente para poder pedir la API por http.

- Hay que asegurarse de no poner nada en el espacio de "Redirect URI"

- Una vez que tenemos el producto creado tendremos en el lateral varios datos importantes: Product ID, Product Secret, Authorization URL, Authorization Token.

- Utilizando la Authorization URL y aceptando los permisos llegaremos a una página en la que nos dan un PIN DE AUTORIZACIÓN.

-Desde un Terminal escribimos:

curl -X Ptoken" -d "code=PIN DE AUTORIZACIÓN" -d "client_id=ID DE CLIENTE" -d "client_secret=CODIGO SECRETO" -d "grant_type=authorization_code"

- Nos devolverá un código TOKEN con el formato: "c.K89ufe......" (empieza por "c.")

- Con el Token utilizando esta URL "https://developer-api.nest.com/devices?auth=TOKEN" recibiremos todos los datos en formato JSON.

Ejemplo:

{"thermostats":{"xxxxxxxxxxxxxxxxx":{"humidity":40,"locale":"es-US","temperature_scale":"C","is_using_emergency_heat":false,"has_fan":false,"software_version":"5.1.6rc4","has_leaf":false,"where_id":"xxxxxxxxxxxxxxxxxx","device_id":"xxxxxxxxxxxxxxxxxxxxx","name":"Living Room","can_heat":true,"can_cool":false,"hvac_mode":"heat","target_temperature_c":23.0,"target_temperature_f":73,"target_temperature_high_c":24.0,"target_temperature_high_f":75,"target_temperature_low_c":20.0,"target_temperature_low_f":68,"ambient_temperature_c":19.0,"ambient_temperature_f":66,"away_temperature_high_c":24.0,"away_temperature_high_f":76,"away_temperature_low_c":6.0,"away_temperature_low_f":43,"structure_id":"xxxxxxxxxxxxxxxxxxxxx","fan_timer_active":false,"name_long":"Living Room Thermostat","is_online":true,"last_connection":"2016-01-24T09:40:11.981Z","hvac_state":"heating"}}}


- Creamos un dispositivo nuevo en eedomus eligiendo Sensor HTML.

- En la URL de petición copiamos la URL anterior y en la Ruta XPATH ponemos el valor que queremos obtener (ejemplo: //humidity nos daría la humedad).

- Hay que marcar la casilla de conversión de JSON a XML y ya estaría todo.


@Salcazar, quiero poder tener la señal de cuando mi nest da la señal a la caldera y quería seguir los pasos que tu has hecho, pero.... cuando hablas de crear un producto...¿que haces? te lo inventas tanto el nombre como la descripción de lo que va hacer?? no se me parece un poco extraño.
Eedomus+
Fibaro Wall plug x4, Fibaro 2x1,5kw x2, Danalock cilindro z-wave, Fibaro detector puerta x3, Fibaro multifunción, Aeon multifuncion 6, RFXcom, sensor humedad Everspring

Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #5 en: Septiembre 22, 2016, 19:32:49 pm »
Si, es extraño, pero es como si fueras a desarrollar algo para nest...

Enviado desde mi SM-G935F mediante Tapatalk


RicardoEmePe

  • ***
  • 126
  • Un pelín inquieto
    • Ver Perfil
Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #6 en: Noviembre 10, 2016, 12:08:21 pm »
Buenas a todos, resucitando post ;-). Acaba de llegarme un Nest, pijo de narices, y este fin de semana le voy a dedicar tiempo para instalarlo. Una caldera de gas para calefacción y agua sanitaria. Voy a seguir todas las super informaciones que encuentro siempre en DomDom. Alguna sugerencia antes de liarla?. Un saludo y muchas gracias por vuestro tiempo.

molusco

  • *****
  • 1035
    • Ver Perfil
Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #7 en: Noviembre 10, 2016, 13:13:57 pm »
Siempre he sido bastante escéptico ante la posibilidad de comprar uno. Me daba más placer, teniendo ya sondas por todos lados y un qubino controlando termostato y electroválvulas hacer la programación yo mismo desde eedomus, porque al final era mucha pasta para un cacharro que era un on/off (inteligente sí, pero on/off)
Ahora bien, esta generación 3 sí que me convence plenamente. La nueva capacidad de comunicación vía opentherm con la caldera (la mía lo es), la posibilidad de modulación de la llama, el control sobre el agua sanitaria, el funcionamiento "true radiant", la posibilidad de manejo a distancia y de integración en eedomus entre otros, sí que lo hacen un aparato SUPER interesante, por no hablar de la estética que me parece ahora mismo (opinión pesonal) la mejorcita.

Creo que lo primero que tendrías que saber, ya que afecta a la instalación es si tu caldera admite "opentherm" y desde ahí tomar las decisiones.
Gran cacharro, ahora sí!!!


Enviado desde mi iPhone utilizando Tapatalk

RicardoEmePe

  • ***
  • 126
  • Un pelín inquieto
    • Ver Perfil
Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #8 en: Noviembre 20, 2016, 10:45:59 am »
Hola, una semana instalado y muy contento. Mi caldera no es del tipo opentherm y no le puedo sacar el jugo máximo a Nest, seguro. Pero, es bastante más inteligente que mi antiguo termostato con programador semanal y por supuesto que yo!!!. Tengo alguna regla que activa el away, como por ejemplo cuando está previsto que lleguemos del trabajo y también si la regla que detecta que estamos en casa se vuelve activa. Esta última innecesaria por que el Nest ya lo detecta. Además tengo en el movil de mi señora (la que manda de  verdad en casa) el auto away, para que si entra en la zona proxima a casa se active el "Home". Ahora voy a ver si puedo integrar alguna cosa más del termostato y que me mande un aviso si se activa y las persianas están abiertas. La idea siguiente es poner algunos sensores de puerta abierta para que si las ventanas estan abiertas me envie un mensaje y pueda cerrar las persianas. Un saludo.

RicardoEmePe

  • ***
  • 126
  • Un pelín inquieto
    • Ver Perfil
Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #9 en: Noviembre 20, 2016, 10:54:22 am »
Hola de nuevo, al crear el perfil de desarrollador me mide la url de la empresa, y esto es un tema particular. Qué introducís ahí??? . Gracias

nix

  • *****
  • 546
    • Ver Perfil
Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #10 en: Noviembre 20, 2016, 11:16:36 am »
No recuerdo que puse exactamente pero no tengo empresa, así que puse algo fake seguro.


Enviado desde mi iPhone utilizando Tapatalk

Re:TUTORIAL PARA CONSEGUIR TODOS LOS DATOS DE NEST POR API
« Respuesta #11 en: Noviembre 26, 2017, 23:31:04 pm »
Gracias por el tutorial. Me parece muy interesante para poder sacarle todo el jugo a esta pequeña maravilla.

Me gustaría saber si entre los datos que se pueden sacar están los de presencia (los que activan la vista de lejos, vista de cerca, etc...). Sería muy interesante poderlos utilizar para dar al Nest us uso extra como PIR...  ;)

La verdad es que los sensores de presencia son buenos (la vista de lejos funciona a 5 metros de distancia o más), y como lo tengo instalado en el trayecto de entrada y salida de casa, sería genial poderlo utilizar como PIR.

Gracias!