# Inicio

![Smartnest](https://www.smartnest.cz/img/Logo-vector-login.png)

## Bienvenido/a a la documentación de Smartnest!

Esperamos que encuentres toda la información que buscas. Estas son algunas de las preguntas más frecuentes:

### ¿Qué es Smartnest?

Smartnest es un servicio web que permite a entusiastas de la automatización del hogar con conocimiento en electrónica conectar sus propios dispositivos con asistentes de voz como Google Assistant, Amazon Alexa, Siri, IFTTT y más. El servicio puede ser utilizado con diferentes tarjetas de Arduino y también con otros dispositivos con los microcontroladores STM32. la comunicación se realiza por medio del protocolo MQTT, por lo que solo necesitas una Librería MQTT y tendrás acceso a todos los servicios.

### ¿Por qué usar Smartnest?

Digamos que acabas de construir un ingenioso sistema que abre y cierra tus cortinas, sería interesante controlarlo usando tu voz, o desde su teléfono, o desde un navegador web, o simplemente usando cualquier dispositivo a tu alcance de la manera que sea más conveniente para ti en cualquier momento, pero esto requeriría que programes tu dispositivo para conectarse a cada servicio, configures tu propio servidor web, configúrarlo de manera segura, administrar solicitudes web, etc., o simplemente puedes registrarte y usar Smartnest gratis, puedes iniciar y en menos de 10 minutos tendrás tu dispositivo conectado a cientos de servicios web.

### ¿Por qué se llama Smartnest?

Un nido es una combinación de ramitas y hojas, es el lugar donde los pájaros duermen y se sienten protegidos, pero lo más importante es que estos están hechos completamente por ellos mismos, ellos van todos los días buscando las mejores ramitas y cualquier cosa que pueda mejorarlo. Todos están hablando hoy sobre Smart Homes o casas inteligentes, pero nos gusta pensar en ellos como Smart nests o nidos inteligentes ya que eres tú, quien se toma el tiempo para salir y obtener componente por componente para construir algo propio y configurarlo para ti y tu familia o amigos.&#x20;

### ¿Cuál es el precio de Smartnest?

Todos pueden crear una cuenta y comenzar de forma gratuita con un plan Básico. El cual es suficiente para la mayoría de usuarios y tiene acceso a todos los servicios. Si tienes mayores requerimientos, puedes elegir entre diferentes planes, puedes visitar la página de precios aquí: [Precios](https://www.smartnest.cz/pricing?lang=ES)

### ¿Qué integraciones hay disponibles?

Smartnest está ahora en fase Beta y estamos trabajando muy duro para que cuente con todos los servicios lo antes posible.&#x20;

Aquí hay una lista de los métodos disponibles para controlar tus dispositivos y su estado:

* Desde tu computadora: Usando la aplicación web [Visitar Web App](https://www.smartnest.cz/mynestV2)
* Desde tu teléfono: Puedes utilizar la aplicación para [iOS](https://apps.apple.com/cz/app/smartnest/id1509508554) y [Android](https://play.google.com/store/apps/details?id=cz.smartnest.smartnestcz), o si prefieres puedes agregar el ícono de la aplicación web a tu pantalla de inicio para iOS, Android y Windows phone. [Visitar Web App](https://www.smartnest.cz/mynestV2)
* Desde tu tableta: Usando la aplicación para [iOS](https://apps.apple.com/cz/app/smartnest/id1509508554) y [Android](https://play.google.com/store/apps/details?id=cz.smartnest.smartnestcz), o la aplicación web que se adaptarán a cualquier tamaño de pantalla. [Visitar Web Ap](https://www.smartnest.cz/mynestV2)
* Skill de Alexa: la skill está disponible en la tienda de skills de Amazon. [Visita la Skill](https://www.amazon.com/dp/B07VH46TDC/)
* Siri: descarga el [atajo de Siri. ](/integracion-con-siri)
* Google Home: Activa la acción de Google Home.  Sigue la [guía de integración con Google ](/integracion-con-google)
* IFTTT: Activa el servicio de Smartnest en tu aplicación de [IFTTT](/integracion-con-ifttt)
* API: se dará acceso completo a la API a los desarrolladores de aplicaciones (Es necesario contar con un plan tipo business)

Desarrollos futuros:

* Controlador para cortinas
* Controlador para luces de colores

La conexión se realiza utilizando MQTT, hay muchas librerías MQTT en la web, así que no dudes en elegir la que mejor se adapte a tu proyecto y a tu tarjeta. También puedes descargar uno de nuestros ejemplos, utilizamos la librería pubsubclient de knolleary que admite los siguientes dispositivos:

* Arduino Ethernet
* Arduino Ethernet Shield
* Arduino YUN&#x20;
* Arduino WiFi Shield
* Sparkfun WiFly Shield
* TI CC3000 WiFi
* Intel Galileo/Edison
* ESP8266
* ESP32

Descárgala e instálala desde <https://github.com/knolleary/pubsubclient>

O usando el administrador de librerías de la IDE de Arduino.


# 1 Primeros pasos

Bienvenido al futuro de la automatización del hogar, estos son los pasos para que puedas comenzar rápidamente:

Antes de comenzar necesitarás:

* Algún dispositivo programable con acceso a internet (Arduino, RaspBerry, ESP)
* Una [librería MQTT](https://github.com/knolleary/pubsubclient) que puedas utilizar con tu dispositivo.

Pasos:

1. Crea tu cuenta en  [el sitio web de Smartnest](https://www.smartnest.cz/login).
2. Haz clic en Agregar dispositivo y dale un nombre
3. Haz clic en el botón con los tres puntos  y copia el ID del dispositivo
4. Configura tu cliente MQTT con las siguientes opciones:
   1. Dirección del Broker: 3.122.209.170
   2. Puerto del Broker: 1883.
   3. ID del Cliente: (ID del dispositivo copiado en el paso 3)
   4. Nombre de usuario: (Tu usuario de Smartnest)
   5. Contraseña: (Tu contraseña de Smartnest)
5. Haz clic en el widget del dispositivo en la aplicación web y revisa si has recibido la instrucción en tu dispositivo.
6. Agrega Integraciones, sigue los pasos de las siguientes guías para conectar tu cuenta de Smartnest con Amazon Alexa, el Asistente de Google, Siri y más.

si tienes un dispositivo ESP8266 puedes descargar el [ejemplo LED](https://github.com/aososam/Smartnest/tree/master/Tutorials/Blink) para completar esta guía.


# 2 Ejemplos

Aquí podrás encontrar códigos de ejemplo para algunos proyectos y tutoriales utilizando Smartnest

1. [Blink Tutorial](https://github.com/aososam/Smartnest/tree/master/Tutorials/Blink): Aprende cómo conectar su dispositivo a Smartnest.
2. [Doorbell Tutorial](https://github.com/aososam/Smartnest/tree/master/Tutorials/Doorbell): Conecta tu timbre a Alexa.
3. [Smart Watering Tutorial](https://github.com/aososam/Smartnest/tree/master/Tutorials/Plant-Watering): Construye tu propio sistema de riego inteligente.
4. [Smart Fan tutorial](https://github.com/aososam/Smartnest/tree/master/Tutorials/Tower-Fan): Convierte cualquier ventilador de torre en un ventilador inteligente.
5. [Multiple Relay module](https://github.com/aososam/Smartnest/tree/master/Tutorials/Relay-Module): Controla varios dispositivos con un solo mcu.
6. [Smart Button Tutorial](https://github.com/aososam/Smartnest/tree/master/Tutorials/Smart-Button): Inicia cualquier rutina con un botón inteligente.
7. [Raspberry Blink Tutorial](https://github.com/aososam/Smartnest/tree/master/Tutorials/Raspberry-Blink): Conecta tu Raspberry a Smartnest


# 3 Uso de la aplicación


# Manual de la aplicación web

La aplicación web Smartnest es la parte principal del sistema, es donde te registras, administras tu cuenta, creas y administras grupos y dispositivos y más. Aquí está la información que necesitarás saber sobre cómo usarla.

## Registro

![Registro](https://www.smartnest.cz/img/Documentation/signup.png)

El primer paso es completar tu registro llenando el formulario con toda la información requerida, recibirás un correo electrónico solicitando que confirmes tu dirección de correo electrónico, este es un paso muy importante y tu cuenta será completamente funcional solo después de completarlo. Puedes acceder a la página de registro [aqui](https://wwww.smartnest.cz/login).

## Gestionar tus dispositivos

Se pueden agregar nuevos dispositivos haciendo clic en el botón Agregar dispositivo y luego proporcionar un nombre y un tipo. Encontrarás más información sobre los tipos de dispositivos soportados y sus propiedades en la[ guía tipos compatibles](https://documentacion.smartnest.cz/uso-de-la-applicacion-web/www.smartnest.cz).

![agregar dispositivo](https://www.smartnest.cz/img/Documentation/addDevice.png)

Hay un botón "agregar dispositivo" en cada uno de sus grupos y, el nuevo dispositivo se agregará al grupo correspondiente. Si no hay grupos, el dispositivo se agregará a la sección "Sin grupo".&#x20;

Para mover dispositivos a un grupo desde la sección "Sin grupo" haz clic en "agregar dispositivo" en el grupo al que deseas moverlo y en la parte inferior selecciona la opción "importar", selecciona el dispositivo que deseas mover y haz clic en Importar.&#x20;

Para eliminar un dispositivo de un grupo, haz clic en el botón "Ver" y luego haz clic en el botón con el bote de basura, aparecerá un submenú con tres opciones, el bote de basura con la cuadrícula significa eliminar el dispositivo del grupo, solo el bote de basura significa eliminar el dispositivo por completo (esto no se puede deshacer) y el tercer botón es cancelar y volver al menú principal. Todos los dispositivos tienen un botón de acción, que los activa o desactiva enviando el comando respectivo a través de MQTT. Encuentra más información en la [guía MQTT.](https://documentacion.smartnest.cz/uso-de-la-applicacion-web/www.smartnest.cz)&#x20;

Al hacer clic en el botón Ver en los dispositivos, se puede acceder a detalles como el Id, tipo, estado y otras opciones según el tipo de dispositivo, también se puede editar el nombre y el tipo haciendo clic en el botón del lápiz. Es posible ver el estado en línea de los dispositivos en la aplicación web, los dispositivos en línea mostrarán un color verde y los desconectados mostrarán un color gris, algunos mostrarán un color rojo, lo que significa que hay problemas con el dispositivo, en este caso puedes hacer clic en él para obtener más detalles del problema.

![device Online](https://www.smartnest.cz/img/Documentation/deviceOnline.png) ![device Offline](https://www.smartnest.cz/img/Documentation/deviceOffline.png)

## Gestionar grupos

Es posible organizar tus dispositivos en grupos, estos pueden ser habitaciones, tipos, o miembros del hogar, o cualquier cosa que desees usar para organizarlos, para esto haz clic en el espacio con el texto "Agregar grupo" que se encuentra al final de la página, Agrega un nombre y presiona Enter. Tu nuevo grupo estará listo para recibir nuevos dispositivos.

## Gestionar tu cuenta

Puedes verificar la información que tenemos registrada en la pestaña llamada "Mi cuenta", allí también puedes cambiar tu tipo de cuenta, cambiar tu contraseña o conectar más servicios.


# Descarga la aplicación móvil

#### Si deseas controlar tus dispositivos desde tu teléfono o recibir notificaciones, puedes descargar la aplicación móvil en tu teléfono o tableta.

![](/files/-MMjlyczLpRE4aHf7kOW)

[Aplicación para iOS ](https://apps.apple.com/cz/app/smartnest/id1509508554)

[Aplicación para Android](https://play.google.com/store/apps/details?id=cz.smartnest.smartnestcz)


# Utiliza la aplicación web en tu dispositivo móvil

La aplicación web está desarrollada para ser completamente adaptativa, lo que significa, como el nombre lo indica, que se adaptará a cualquier tamaño de pantalla, de tal forma que podrás acceder a tus dispositivos no solo desde tu ordenador o laptop sino también desde tu telefono celular o tablet. Es posible agregar la aplicación web a la pantalla de inicio de dispositivos iOS, Android y Windows de la siguiente manera:

## iOS:

* Abra la [aplicación web](https://documentacion.smartnest.cz/uso-de-la-applicacion-web/www.smartnest.cz/mynest) en el navegador web Safari&#x20;
* Toca el botón Compartir en la parte inferior de la página.&#x20;
* En el listado inferior de iconos, desplázate hasta que veas "Agregar a la pantalla de inicio".

![iOS](https://www.smartnest.cz/img/Documentation/Ios.PNG)

## Android

* Abra la [aplicación web](https://documentacion.smartnest.cz/uso-de-la-applicacion-web/www.smartnest.cz/mynest) en el navegador web Chrome&#x20;
* Toca el botón Menú.&#x20;
* Toca "Agregar a la pantalla de inicio".

![Android](https://www.smartnest.cz/img/Documentation/Android.PNG)

## Windows phone

* Navega a la [aplicación web](https://documentacion.smartnest.cz/uso-de-la-applicacion-web/www.smartnest.cz/mynest) usando Internet Explorer&#x20;
* Abre la barra de aplicaciones, por ejemplo, haciendo clic derecho o deslizando hacia arriba desde la parte inferior de la pantalla, y toca el icono de estrella.&#x20;
* Toca el ícono de pin, ingresa un nombre para el acceso directo y haz clic en "agregar".

![Windows Phone](https://www.smartnest.cz/img/Documentation/Windows.PNG)


# 4 Guía MQTT

## ¿Qué es MQTT?

MQTT es un protocolo de mensajería simple y liviano, diseñado para dispositivos con poca memoria y con bajo ancho de banda. Esto significa que es la solución perfecta para las aplicaciones de Internet de las cosas y automatización del hogar y, por lo general, es más flexible, estable y confiable que otros protocolos como WebSockets. MQTT te permite enviar comandos para controlar salidas digitales, leer y escribir datos en sus dispositivos y más.

## Conceptos básicos de MQTT

En MQTT hay 3 conceptos básicos:

### **Temas (Topics):**&#x20;

Estos funcionan como la dirección de una casa, en este caso son las direcciones de un mensaje y determinan a donde se debe entregar, así es como se vería un tema con su respectivo mensaje:

**Topic:** `MiCasa/Sala/Lampara`&#x20;

**Mensaje:** `Encender`

aquí el tema es Micasa/Sala/Lámpara y el mensaje es Encender, en este caso la lámpara recibirá el mensaje y se encenderá. Esta es la estructura básica de todos los mensajes que se envían a través de MQTT

### **Sistema de Publicación y Subscripción**&#x20;

Cada dispositivo puede suscribirse a temas, y recibirá todos los mensajes enviados con los temas a los que están suscritos. pueden suscribirse a múltiples temas y también a subtemas.&#x20;

Además, al publicar un mensaje, los dispositivos deben proporcionar el tema para que el mensaje se pueda entregar correctamente.

{% hint style="info" %}
Un dispositivo que está suscrito a Casa/# recibirá mensajes enviados a Casa/Sala y también aquellos enviados a Casa/CuartoPrincipal con solo usar el signo **#**.&#x20;
{% endhint %}

### Broker:&#x20;

es el dispositivo central que permite y restringe las conexiones y también recibe, filtra, redirige y publica mensajes a todos los dispositivos conectados. En este caso, el Broker es el servidor de Smartnest.

## ¿MQTT es solo una herramienta para hablar con el servidor?

No, también puedes interconectar tus dispositivos usando este protocolo, por ejemplo, si tienes un sensor de movimiento y un sistema de iluminación, y están demasiado lejos el uno del otro, no necesitas instalar cables en la habitación para permitirles comunicarse, puedes hacer que la luz se suscriba al tema Casa/Dormitorio/Luz y puede hacer que el sensor publique los datos en ese tema, de tal forma estarán conectados entre sí y al mismo tiempo que se conectarán a Smartnet y todas las integraciones.

## Smartnest y MQTT

En Smartnest, cada dispositivo tiene una ID único, este ID debe usarse como la primera parte de un tema.&#x20;

Si se está enviando un mensaje al broker, la primera parte del tema debe ser el ID del dispositivo que está enviando el mensaje.&#x20;

Si se está enviando el mensaje a otro de sus dispositivos, la primera parte del tema debería ser el ID del dispositivo al que envía el mensaje, el usuario puede personalizar las siguientes partes del tema.&#x20;

Por ejemplo, este sería un tema válido desde dispositivo para Smartnest Broker:

{% hint style="success" %}
**`Tema:`**` ``jasds3421FDC1CDSCDSfdsas/Habitacion/Temperatura`&#x20;

**`mensaje:`**`25`
{% endhint %}

Mientras que este sería un mensaje inválido

{% hint style="danger" %}
**`Tema:`**` ``Bedroom/Temperature`&#x20;

**`mensaje:`**`25`
{% endhint %}

El sistema solo permitirá la publicación de un mensaje si el ID es válido y pertenece al usuario que lo envía

## Comandos MQTT de Smartnest&#x20;

Hay algunos subtemas reservados para fines especiales. Aquí está la lista de todos los temas reservados:

#### Directivas:&#x20;

Las directivas son enviadas desde el servidor al dispositivo cada vez que hay un nuevo comando de alguna de las integraciones.

| Topic                              | Mensaje      | Descripción                        | Soportado por |
| ---------------------------------- | ------------ | ---------------------------------- | ------------- |
| **DeviceID/directive/powerState**  | ON - OFF     | Encendido o apagado                | Todos         |
| **DeviceID/directive/percentage**  | 0-100        | Porcentaje                         | Luz           |
| **DeviceID/directive/setpoint**    | -100 - 200   | Punto deseado de temperatura       | Termostato    |
| **DeviceID/directive/lockedState** | true - false | true significa cerrar la cerradura | Cerradura     |

#### Reportes

Los reportes son enviados desde el dispositivo al servidor para informar de algún cambio de estado. Estos reportes son enviados siempre después de recibir una directiva y también si se produce algún cambio debido a una interacción física como presionar un botón.

| Topic                              | Message      | Description                                     | Supported types                                     |
| ---------------------------------- | ------------ | ----------------------------------------------- | --------------------------------------------------- |
| **DeviceID/report/powerState**     | ON - OFF     | Nuevo estado de poder                           | Todos                                               |
| **DeviceID/report/percentage**     | 0-100        | Nuevo porcentaje                                | Luz                                                 |
| **DeviceID/report/setpoint**       | -100 - 200   | Nuevo punto deseado                             | Termostato                                          |
| **DeviceID/report/temperature**    | -100 - 200   | Nueva temperatura                               | <p>Termostato, </p><p>Sensor de Temperatura</p>     |
| **DeviceID/report/humidity**       | 0 - 100      | Nueva humedad                                   | <p>Termostato, </p><p>Sensor de Temperatura</p>     |
| **DeviceID/report/pressure**       | >0           | Nueva presión                                   | Sensor de Temperatura                               |
| **DeviceID/report/scale**          | C - F        | Seleccionar la escala de T                      | <p>Termostato, </p><p>Sensor de Temperatura</p>     |
| **DeviceID/report/lockedState**    | true - false | Disp. abierto o cerrado                         | Cerradura                                           |
| **DeviceID/report/online**         | true - false | El disp. está conectado                         | Todos                                               |
| **DeviceID/report/info**           | (Any)        | <p>Para mostrar en la aplicación </p><p>Web</p> | Todos                                               |
| **DeviceID/report/detectionState** | true - false | Nuevo valor lógico                              | <p>Sensor de Presencia , </p><p>Sensor Contacto</p> |
| **DeviceID/report/notification**   | (Any)        | Envía una notificación push                     | Todos                                               |

#### Solicitudes y respuestas

Las solicitudes son enviadas desde los dispositivos al servidor para solicitar información especial como la hora, el servidor responderá con un topic response y la información requerida en el mensaje.

| Topic                      | Message              | Description                                                                                                                                                           |
| -------------------------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **DeviceID/request/time**  | <p></p><p>GMT+XX</p> | Obtener el tiempo real, el mensaje puede tener opcionalmente la zona horaria "GMT+XX", si la zona horaria no está presente en el mensaje se enviará la hora de GMT+00 |
| **DeviceID/response/time** | HH:MM:SS             | Responde la solicitud de hora.                                                                                                                                        |

## Reglas en MQTT en Smartnest

En Smartnest somos una comunidad de automatización del hogar y todos estamos utilizando los mismos recursos web, de tal modo que deben existir reglas para garantizar un servicio continuo, seguro y confiable. Estas son las reglas que todos deben seguir al usar comandos MQTT:

* La conexión al broker solo se permitirá cuando se proporcione un nombre de usuario y contraseña válidos&#x20;
* La conexión se permitirá cuando la ID del dispositivo utilizado pertenezca al nombre de usuario utilizado&#x20;
* La primera parte del topic MQTT debe ser un ID válido de uno de los dispositivos del usuario utilizado
* Se debe evitar enviar mensajes a los temas reservados con demasiada frecuencia y se debe enviar sólo cuando el estado del dispositivo ha cambiado.

{% hint style="warning" %}
los dispositivos que no sigan estas reglas se desconectan y bloquean automáticamente por el sistema, el primer bloqueo es por 1 minuto, el segundo es por 2 minutos el tercero por 4 y así sucesivamente.
{% endhint %}


# 5 Integración con Alexa

Para configurar la integración con Alexa, debes ir a tu aplicación de Alexa y abrir el menú tocando el icono en la esquina superior izquierda, luego seleccionar la opción "Skills y juegos" y luego tocar el botón de búsqueda en la esquina superior derecha , escribir Smartnest y luego tocar buscar. O obtén la skill de este enlace [este enlace](https://skills-store.amazon.com/deeplink/dp/B07VH46TDC?deviceType=app\&share\&refSuffix=ss_copy)

![alexa skill 1](https://www.smartnest.cz/img/Documentation/alexaskill1.png) ![alexa skill 1](https://www.smartnest.cz/img/Documentation/alexaskill2.png)

Verás la skill de Smartnest lista para ser vinculada a tu cuenta, toca el botón Habilitar para usar y serás redirigido/a a una pantalla de inicio de sesión. Después de proporcionar tu nombre de usuario y contraseña, verás la página de confirmación que dice que la skill se ha vinculado correctamente

![alexa skill 1](https://www.smartnest.cz/img/Documentation/alexaskill3.png) ![alexa skill 1](https://www.smartnest.cz/img/Documentation/alexaskill4.png)

Después del primer enlace, Alexa comenzará a descubrir dispositivos y obtendrá todos los dispositivos que se hayan creado en tu cuenta. Alexa mostrará una confirmación de cuántos dispositivos encontró y luego podrás configurarlos y agregarlos a sus habitaciones o rutinas.

![alexa skill 1](https://www.smartnest.cz/img/Documentation/alexaskill5.png) ![alexa skill 1](https://www.smartnest.cz/img/Documentation/alexaskill6.png)

La skill de Alexa tiene una gestión proactiva de los dispositivos, lo que significa que cada vez que crees o elimines un dispositivo en la aplicación de Smartnest Alexa hará lo mismo y también te mostrará una notificación de los nuevos dispositivos.


# 6 Integración con Siri

Puedes controlar tus dispositivos utilizando Siri de dos maneras:

A. Utilizando la aplicación de atajos de Siri

B.[ Utilizando la Integración con Homebridge](/integracion-con-homebridge)

### Utilizando la aplicación de atajos de Siri:

Primero asegúrate de tener la aplicación de[ Smartnest](https://apps.apple.com/cz/app/smartnest/id1509508554#?platform=iphone) y la de[ atajos de Siri](https://apps.apple.com/us/app/shortcuts/id915249334) descargada en tu teléfono

![](/files/-MfihfBAgj5SJTvKWpZL)

Luego inicia sesión en tu cuenta en la aplicación Smartnest. Luego, abre la aplicación de atajos de Siri y crea una nueva acción.

![](/files/-MfihWt60uY2i10-s8xV)

Después busca la App de Smartnest en el listado de Apps

![](/files/-Mfii2Q9MPzjHtbrjgRN)

![](/files/-Mfii4yK0Nh8GIhTKAjq)

Puedes Controlar el estado de cualquiera de tus dispositivos o abrir o cerrar tus puertas

![](/files/-MfiiHYJwp8vAK6i_In5)

Luego, selecciona el dispositivo que deseas controlar y selecciona el nuevo estado que deseas establecer. (Si no puedes ver tus dispositivos, intenta cerrar la aplicación Smartnest y ejecutarla nuevamente)

![](/files/-MfiiSKPa-5y2JOMxVDU)

![](/files/-MfiiWQav8ieJWEFbgxP)

Luego selecciona un nombre para tu atajo y guardalo.Podrás también agregar el atajo a la pantalla de inicio para tener un control rápido de tus dispositivos.

![](/files/-MfiifcsFzB-LOQAiRAx)


# 7 Integración con Google

Hay dos formas de conectar Google Home con Smartnest:&#x20;

### 1. Si tienes un dispositivo Google Home&#x20;

### 2. Si no tienes un dispositivo Google Home&#x20;

## 1. Si tienes un dispositivo Google Home

Controlar tus dispositivos con la ayuda del asistente de Google es muy sencillo y se puede configurar en minutos. Ve a la aplicación de Google Home, toca el botón Agregar, luego selecciona "Configurar dispositivo" y selecciona la opción "Tienes algo configurado". Luego busca la acción Smart nest y sigue el proceso de vinculación. Puedes verificar la [acción en el directorio Asistente](https://assistant.google.com/services/a/uid/000000ccb8d54cfd)

![Step 1](https://www.smartnest.cz/img/Documentation/googleGuide/B1.jpg) ![Step 2](https://www.smartnest.cz/img/Documentation/googleGuide/B2.jpg) ![Step 3](https://www.smartnest.cz/img/Documentation/googleGuide/B3.jpg) ![Step 3](/files/-LzGku-dGH-5mXKkrhGP)

## 1. Si no tienes un dispositivo Google Home

No tienes un dispositivo Google Home, pero deseas controlar sus dispositivos con el Asistente de Google, puedes configurar la [integración con IFTTT](/integracion-con-ifttt) y activar el servicio del Asistente de Google como un trigger y el servicio de Smartnest como una acción de la siguiente manera en tu aplicación IFTTT: &#x20;

![](/files/-M5rV7sHkbs1DU8MvSm-)

![](/files/-M5rV9XmVJ90dIC6NvUJ)

![](/files/-M5rVCIkXGJcUr1CA6-h)

![](/files/-M5rVDpdWkIMqp0dIINP)

![](/files/-M5rVF1_1CAcyjiyoGib)

![](/files/-M5rVHbUp9aihSUMgqNO)

![](/files/-M5rVJ6jUzFnYYHG4vzN)


# 8. Integración con Smartthings

Ahora puedes usar tu dispositivo Samsung y el asistente de voz Bixby para controlar tus dispositivos.

#### Abre la aplicación de Smartthings en tu dispositivo móvil y toca el icono de búsqueda.

![](/files/m7Yf677IwWacIzbihkjv) ![](/files/egGBrnFbCG5GjQNUBIQd)

#### Busca Smartnest en la lista de servicios y vincula tu cuenta de Smartnest

![](/files/mdW6a900V4PVYUbwh2bm) ![](/files/iBnDu5UGc9dDiUUiBcor)

#### Organiza tus dispositivos en habitaciones y contrólalos a través de la aplicación o usando Bixby

![](/files/1Mgl7R3A2CzKm4XN4Wjp) ![](/files/g5oSC0bCBPZQKTomjQ4q)


# #. Integración con IFTTT

Puedes expandir el alcance de Smartnest aún más utilizando el servicio de IFTTT para crear tus propios Applets y conectar tus dispositivos con más de 600 servicios disponibles.

Para comenzar a utilizar esta integración debes enlazar tu cuenta de IFTTT con tu cuenta de Smartnest, después podrás crear conexiones con cualquiera de los demás servicios disponibles en IFTTT.

## Enlazar tu cuenta:

![](/files/-M5rWPgkkbh1uKFEMhAi)

![](/files/-M5rWQtOcRQtL69mPzy3)

![](/files/-M5rWSIUyDKv1KNujJKX)

![](/files/-M5rWTw31wVv1Xu6owj8)

## Crear una conexión:

![](/files/-M5rWYItm9MUQ_U-PhrS)

![](/files/-M5rWfr2JYxj-sY3krky)

![](/files/-M5rWk0ox2pL1UUDikKa)

![](/files/-M5rWnBL9HxqXXr9yyg6)

![](/files/-M5rWou1MWqmv9uzPdl3)


# 9. Integración con Tasmota

También puedes usar Smartnest para controlar tus dispositivos con el firmware de Tasmota, para ello debes aplicar la siguiente configuración en la sección MQTT de la configuración de Tasmota

{% hint style="info" %}
Puedes usar tu clave API en lugar de tu contraseña si lo prefieres. Puedes encontrar esta clave en la sección "Mi cuenta" en la aplicación web.
{% endhint %}

![](/files/-M3w1MoNAb9vC5o5sqO4)


# 10. Integración con Espurna

También puedes usar Smartnest para controlar tus dispositivos con el firmware de Espurna, para ello debes aplicar la siguiente configuración en la sección MQTT de la configuración de Espurna

{% hint style="info" %}
Puedes usar tu clave API en lugar de tu contraseña si lo prefieres. Puedes encontrar esta clave en la sección "Mi cuenta" en la aplicación web.
{% endhint %}

![](/files/-M8_Lm33kvl2t8TjfmTs)


# 11. Integración con Homebridge

Para controlar tus dispositivos usando Siri y la API de HomeKit, necesitarás:

1. Instalar [Homebridge](https://github.com/homebridge/homebridge) en tu Windows, Linux, Mac, or Raspberry&#x20;
2. Instalar el Plugin [Homebridge Mqttthing](https://github.com/arachnetech/homebridge-mqttthing#readme)
3. Agregar la configuración del dispositivo como aparece abajo, dependiendo del tipo.
4. Abre tu aplicación Home en tu dispositivo iOS y vincula escaneando el código QR del el portal de administración de Homebridge.
5. Renombra tus dispositivos en la aplicación the Home.
6. Listo!

### Configuraciones de dispositivos:

1. **Switch or Light (No Tasmota)**

```javascript
{
    "type": "switch",
    "name": "31141235efb12D367",      //YOUR DEVICE ID
    "url": "smartnest.cz",
    "username": "USERNAME",
    "password": "PASSWORD or API KEY",
    "topics": {
        "getOnline": "31141235efb12D367/report/connected",    //CHANGE HERE TOO
        "getOn": "31141235efb12D367/report/powerState",
        "setOn": "31141235efb12D367/directive/powerState"
    },
    "onlineValue": "Online",
    "offlineValue": "Offline",
    "onValue": "ON",
    "offValue": "OFF",
    "accessory": "mqttthing"
}
```

2\. **Switch or Light (Tasmota)**

```javascript
 {
    "type": "switch",
    "name": "31141235efb12D367",     //YOUR DEVICE ID
    "url": "smartnest.cz",
    "username": "USERNAME",
    "password": "PASSWORD or API KEY",
    "topics": {
        "getOnline": "31141235efb12D367/tele/LWT",         //CHANGE HERE TOO
        "getOn": "31141235efb12D367/stat/POWER",
        "setOn": "31141235efb12D367/cmnd/POWER"
    },
    "onlineValue": "Online",
    "offlineValue": "Offline",
    "onValue": "ON",
    "offValue": "OFF",
    "accessory": "mqttthing"
}
```

3\. **Door or Lock**

```javascript
{
    "type": "lockMechanism",
    "name": "31141235efb12D367",         //YOUR DEVICE ID
    "url": "smartnest.cz",
    "username": "USERNAME",
    "password": "PASSWORD or API KEY",
    "topics": {
        "getOnline": "31141235efb12D367/report/online",        //CHANGE HERE TOO
        "getLockCurrentState": "31141235efb12D367/report/lockedState",
        "getLockTargetState": "31141235efb12D367/report/lockedState",
        "setLockTargetState": "31141235efb12D367/directive/lockedState"
    },
    "lockValues": [
        "false",
        "true",
        "Jammed",
        "Unknown"
    ],
    "accessory": "mqttthing"
}
```

4\. **Thermostat**

```javascript
{
    "accessory": "mqttthing",
    "type": "thermostat",
    "name": "31141235efb12D367",     //YOUR DEVICE ID
    "url": "smartnest.cz",
    "username": "USERNAME",
    "password": "PASSWORD or API KEY",
    "topics": {                                                //CHANGE HERE TOO
        "getCurrentHeatingCoolingState": "31141235efb12D367/report/mode",
        "setTargetHeatingCoolingState": "31141235efb12D367/directive/mode",
        "getTargetHeatingCoolingState": "31141235efb12D367/report/mode",
        "getCurrentTemperature": "31141235efb12D367/report/temperature",
        "setTargetTemperature": "31141235efb12D367/directive/setpoint",
        "getTargetTemperature": "31141235efb12D367/report/setpoint",
        "setTemperatureDisplayUnits": "31141235efb12D367/directive/scale",
        "getTemperatureDisplayUnits": "31141235efb12D367/directive/scale"
    },
    "heatingCoolingStateValues": [
        "Heat",
        "Cool",
        "Auto"
    ],
    "temperatureDisplayUnitsValues": [
        "C",
        "F"
    ],
    "minTemperature": 10,        //Change if you use Fahrenheit
    "maxTemperature": 30,        //Change if you use Fahrenheit
    "restrictHeatingCoolingState": [
        0,
        1
    ]
}
```

5\. **Temperature Sensor**

```javascript
{
    "accessory": "mqttthing",
    "type": "temperatureSensor",    
    "name": "31141235efb12D367",     //YOUR DEVICE ID
    "url": "smartnest.cz",
    "username": "USERNAME",
    "password": "PASSWORD or API KEY",
    "caption": "Temperature",
    "topics": {                                                //CHANGE HERE TOO
        "getCurrentTemperature": "31141235efb12D367/report/temperature"
    },
    "history": true,
    "minTemperature": 10,        //Change if you use Fahrenheit
    "maxTemperature": 30        //Change if you use Fahrenheit
}
```

**6. Fan**

```javascript
 {
    "accessory": "mqttthing",
    "type": "fan",
    "name": "31141235efb12D367",     //YOUR DEVICE ID
    "url": "smartnest.cz",
    "username": "USERNAME",
    "password": "PASSWORD or API KEY",
    "caption": "Fan",
    "topics": {                                    //CHANGE HERE TOO
        "getOn": "31141235efb12D367/report/powerState",
        "setOn": "31141235efb12D367/directive/powerState",
        "getRotationSpeed": "31141235efb12D367/report/percentage",
        "setRotationSpeed": "31141235efb12D367/directive/percentage"
    },
    "integerValue": false,
    "onValue": "ON",
    "offValue": "OFF",
    "turnOffAfterms": 3600000
}
```

## Si quieres agregar un dispositivo diferente puedes consultar la página de [Accesorios soportados en homebridge-mqttthing](https://github.com/arachnetech/homebridge-mqttthing#supported-accessories)


# 12. Integración con Home Assistant

Si deseas controlar tus dispositivos en Home Assistant con Alexa, Google Home, Siri o IFTTT, solo necesitas seguir estos pasos.

1. Instala [Home assistant ](https://www.home-assistant.io/)en Windows, Linux, Mac, or Raspberry&#x20;
2. Instala el Plugin MQTT

![MQTT Plugin](/files/-M6q1xKCz0xfqQEZK5hI)

4\. Reemplaza tu nombre de usuario y contraseña (O API key) y agrega la configuración que se muestra a continuación al archivo configuration.yaml dentro de tu instalación de Home Assistant.&#x20;

```yaml
mqtt:
  broker: smartnest.cz
  port: 1883
  client_id: "homeassistant-USERNAME"
  username: "USERNAME"
  password: "API-KEY"
  discovery: true
  discovery_prefix: "homeassistant-USERNAME"
```

5\. Después de esto, reinicia tu Home Assistant y este descubrirá todos los dispositivos que has creado en Smartnest. Esto te permitirá usar la agradable interfaz de Home Assistant y al mismo tiempo podrás controlar tus dispositivos desde cualquier asistente de voz.

6\. Hecho! Felicidades.


# 13. Tipos de dispositivo soportados

A continuación podrás encontrar los tipos de dispositivos soportados en Smartnest y el código de ejemplo que puedes utilizar.

### Tipos de dispositivo:

[Aire acondicionado](https://github.com/aososam/Smartnest/tree/master/Devices/airConditioner)

[Cámara](https://github.com/aososam/Smartnest/tree/master/Devices/camera)

[Cerradura](https://github.com/aososam/Smartnest/tree/master/Devices/lock)

[Cortinas](https://github.com/aososam/Smartnest/tree/master/Devices/blinds)

[Interruptor](https://github.com/aososam/Smartnest/tree/master/Devices/switch)

[Luz ](https://github.com/aososam/Smartnest/tree/master/Devices/light)

[Luz RGB](https://github.com/aososam/Smartnest/tree/master/Devices/lightRgb)

[Puerta](https://github.com/aososam/Smartnest/tree/master/Devices/door)

[Riego](https://github.com/aososam/Smartnest/tree/master/Devices/sprinkler)

[Sensor Analógico](https://github.com/aososam/Smartnest/tree/master/Devices/analogSensor)

[Sensor de Contacto](https://github.com/aososam/Smartnest/tree/master/Devices/contactSensor)

[Sensor de Temperatura](https://github.com/aososam/Smartnest/tree/master/Devices/temperatureSensor)

[Sensor de movimiento](https://github.com/aososam/Smartnest/tree/master/Devices/motionSensor)

[Timbre](https://github.com/aososam/Smartnest/tree/master/Devices/doorbell)

[Termostato](https://github.com/aososam/Smartnest/tree/master/Devices/thermostat)

[TV](https://github.com/aososam/Smartnest/tree/master/Devices/tv)

[Ventilador](https://github.com/aososam/Smartnest/tree/master/Devices/fan)

##

### Power Controller: On OFF

La variable utilizada para este controlador se llama powerState y solo puede tener valor ON o OFF, este es el tipo de controlador básico y se puede usar para interruptores, relés, luces y en general cualquier dispositivo que se pueda encender, apagar, activar o desactivar

La variable *powerState* es compatible con todos los tipo de dispositivo

### Percentage Controller: 0-100%

La variable utilizada para este controlador se llama *percentage* y solo puede tener entre 0 y 100, este valor se puede usar para luces y en general cualquier dispositivo que se pueda atenuar.

La variable *percentage* es compatible con los siguientes tipos de dispositivos:

* Luz, Luz RGB, Ventilador, Cortinas

### Thermostat Controller:&#x20;

Hay tres variables que se utilizan para almacenar el estado actual del termostato:

1. temperature : temperatura ambiente actual.
2. setpoint: temperatura deseada
3. scale: establece las unidades de temperatura para usar, "C" para Celcius, "F" para Fahrenheit.

La variable *temperature* es compatible con los siguientes tipos de dispositivos:

* Termostato
* Sensor de temperatura
* Aire Acondicionado

La variable *setpoint* es compatible con los siguientes tipos de dispositivos:

* Termostato
* Aire Acondicionado

La variable *scale* es compatible con los siguientes tipos de dispositivos:

* Termostato
* Sensor de temperatura
* Aire Acondicionado

### Sensor detection Controller:

La variable para sensores digitales se llama "*detectionState*" y puede ser true o false, es compatible con los siguientes tipos de dispositivos:

* Sensor de contacto
* Sensor de movimiento
* Timbre

### Lock controller:

La variable que almacena el estado de las cerraduras y puertas se llama *lockedState*, puede ser true o false, es compatible con estos tipos de dispositivos:

* Cerradura, Puerta


# 14. Rutinas

![](/files/-MMjgMeebWJYF6TSKpE1)

Puedes crear rutinas personalizadas para tus dispositivos haciendo clic en la pestaña de rutinas en la aplicación web.

### Las rutinas contienen condiciones y acciones

{% hint style="success" %}
La primera condición es considerada como el activador de la rutina
{% endhint %}

![](/files/-MMjgsNfarfEatcqDOWg)

Puedes agregar hasta 5 condiciones para una sola rutina, cuando la rutina es activada por la primera condición, se verificarán todas las demás y, si son verdaderas, la rutina ejecutará las acciones especificadas.

### Hay dos tipos de condiciones: Dispositivo y Tiempo.

**Dispositivo:** Se activa cuando se cambia una función específica de un dispositivo, por ejemplo, cuando se enciende o apaga, cuando se detecta movimiento o cuando se abre o se cierra una puerta.

**Tiempo:** Se activa a una hora específica, se puede configurar para que se repita todos los días o en ciertos días de la semana

![](/files/-MMjhYoKHY4IZmy8ymuJ)

### Hay dos tipos de acciones: Dispositivo y Notificación.

**Dispositivo**: Envía una directiva al dispositivo seleccionado para controlar una de sus funciones, por ejemplo, para encenderlo o apagarlo.&#x20;

**Notificación**: Envía una notificación a tu cuenta, esta se mostrará en la sección de notificaciones o si tienes la aplicación para Android o iOS se entregará también como una [notificación push](/notificaciones).

![](/files/-MMjhvDazbR5jUNh4rF9)


# 15. Notificaciones

Puedes enviar notificaciones push desde sus dispositivos de diferentes formas. Primero, asegúrate de instalar la última versión de la aplicación Smartnest para iOS o Android y permite las notificaciones push.

Respetamos tu tranquilidad digital y por esto no enviamos notificaciones push con marketing.

### Recibirás notificaciones en los siguientes casos:

1. Información crítica acerca de tu cuenta.
2. Tus dispositivos envían un mensaje MQTT al topic: `<DeviceId>/report/notification` . Más Información sobre MQTT topics [aqui](/guia-mqtt#comandos-mqtt-de-smartnest).
3. Has creado una rutina y una de las acciones es enviar una notificación. Más información sobre rutinas [aqui](/rutinas).

Recibirás una notificación push en tus dispositivos móviles y en tu aplicación web.

{% hint style="warning" %}
Si un dispositivo envía notificaciones en for loops sin delays este será bloqueado por algunos minutos por el sistema de manera automática
{% endhint %}

## Notificaciones en Telegram

También puedes recibir notificaciones por el bot de Smartnest en Telegram

Busca el bot en la aplicación de Telegram @SmartnestCZBot

{% embed url="<https://t.me/SmartnestCZBot>" %}

Envía "comenzar" para iniciar la configuración y sigue las instrucciones.


# Donaciones! Gracias!

Smartnest no sería posible sin las donaciones de diferentes fuentes. Si deseas apoyarnos,  Puedes donar dinero para ayudarnos a mejorar el servicio, ¡Gracias!

[Página de donaciones](https://www.smartnest.cz/donate)

Thanks a Lot!!

* Alberto Ca.
* Daniel Mo.
* Mick R.
* Marcela L.
* Becky T.
* Fabio O.
* Maria G.
* Freddy S.
* Pavlina H.
* Jose M.
* Karen V.
* Dominik Ha.


# DOCUMENTATION IN ENGLISH

### If you prefer to check the documentation in English you can [find it here](https://www.docu.smartnest.cz).

![](/files/-M6q3eSpGjnnJrryxeUX)


