Finalmente descubrí cómo hacer que Alice administre cualquier dispositivo inteligente, incluso aquellos que aún no son compatibles con la casa inteligente de Yandex. Esto se hace utilizando los servicios Domovyonok Kuzya e IFTTT.
La cadena de dispositivos y servicios para el control de la luz resultó impresionante:
Alice - Brownie de Kuzya - IFTTT - Mando a distancia Wi-Fi universal Broadlink - Noolite.
Al mismo tiempo, todo funciona bien, el retraso no es más de tres segundos.
Comencemos con IFTTT (If This Then That). Este servicio conoce la gran mayoría de los sistemas domésticos inteligentes y el control de dispositivos y está diseñado para la automatización. Él puede, por ejemplo, escribir un mensaje previamente preparado en Twitter cuando llueve afuera, o encender una bombilla inteligente cuando lo mencionen en Facebook. Pero lo usaremos para controlar directamente dispositivos desde Internet. IFTTT dará un comando al dispositivo cuando se produzca una llamada a una determinada dirección en Internet.
Ir https://ifttt.com y registrarse.
Creamos un applet para alguna acción, como encender una bombilla. Hacemos clic en nuestro avatar y seleccionamos Crear o simplemente vamos a la dirección https://ifttt.com/create.
Haga clic en "+" y acceda a la lista de servicios de origen.
Busque "Webhooks" y haga clic en el cuadrado azul de este servicio.
Haga clic en el cuadrado del único activador disponible "Recibir una solicitud web".
Cree y escriba un nombre simple para la acción, como "lámpara encendida". Haga clic en "Crear activador".
Se crea la condición, presione el segundo más.
Estamos en la lista de acciones.
Escribimos en la búsqueda el nombre de la aplicación que controla el dispositivo deseado (por ejemplo, ihc para Broadlink o SmartLife para la barra de cortina), y hacemos clic en el icono del servicio deseado.
El servicio le pedirá acceso a su cuenta de la aplicación correspondiente. Después de ingresar el nombre de usuario y la contraseña de ihc, llegamos a la lista de comandos. Si queremos encender la bombilla, seleccionamos "Encender o apagar dispositivo".
Seleccione el dispositivo y la acción y haga clic en "Crear acción".
Desactive el motor de notificaciones y haga clic en "Finalizar".
De la misma forma, creamos applets para todas las acciones necesarias.
Vamos a Mis servicios (avatar - Mis servicios o https://ifttt.com/my_services).
Haga clic en "Webhooks"
Presione "Documentación" en la parte superior y vea esta imagen.
Copie y guarde la línea después de "Realizar una solicitud web POST o GET en:".
En mi caso, esta es la línea " https://maker.ifttt.com/trigger/{event}/with/key/Y7_exM2lhgyH". En lugar de "{evento}", inserte el nombre de la acción requerida y obtenga la dirección, al cambiar a la que se lanzará la acción.
En mi ejemplo, el nombre de la acción era "lámpara encendida", por lo que la dirección será https://maker.ifttt.com/trigger/lamp-on/with/key/Y7_exM2lhgyH (no haga clic en él, mi luz no se enciende, cambié la clave API :). Puede verificar el funcionamiento de la acción copiando la dirección en la línea del navegador y presionando Enter.
Ahora tenemos una lista de direcciones, al hacer clic en las que se lanzan las acciones necesarias. Brownie Kuzya ayudará a Alice a aprender a navegar hacia estas direcciones.
Vamos a la direccion https://alexstar.ru/smarthome.
Inicie sesión a través de Yandex, haga clic en "Agregar regla IFTTT".
Escribimos una frase de activación, por ejemplo "enciende la luz" y copiamos nuestra dirección IFTTT con el comando requerido en ella.
Todos los datos se guardan automáticamente, Kuzi simplemente no tiene un botón para guardar.
Agregue reglas IFTTT para todas las acciones creadas previamente en el servicio IFTTT.
Haga clic en "Dispositivos domésticos inteligentes virtuales".
Creamos un nuevo dispositivo. Seleccione el tipo "Lámpara" y nombre nuestro dispositivo Candelabro (esta palabra se usará más adelante para los comandos de Alice). Seleccionamos las reglas creadas en el paso anterior para encender y apagar el candelabro.
Lanzamos la aplicación Yandex en el teléfono inteligente, vamos a Dispositivos, Administración de dispositivos, haga clic en "+", seleccione "Agregar dispositivo", busque Kuzyu en la lista, agréguelo y vincule cuentas. Apareció una lámpara de araña en la lista de dispositivos domésticos inteligentes de Yandex, que se pueden controlar.
Yandex muestra muchos comandos, pero estamos interesados en "Alice enciende la luz" o "Alice enciende el candelabro".
Ahora la lámpara de araña se puede controlar por voz (si, por supuesto, hay un asistente de altavoz).
Varios matices y trucos.
Broadlink RM Pro o RM Pro + se utilizan para controlar las unidades de potencia Noolite.
Ahora este dispositivo cuesta $ 37,9, Se lo compré al mismo vendedor en una oferta por $ 26.7, incluido un cupón.
Broadlink RM Pro puede memorizar comandos de control remoto por infrarrojos y comandos de radio de 433 y 315 MHz. Al grabar un comando, la aplicación iHC solicita mantener presionado un botón en el control remoto. En el caso de Noolite, esto no se puede hacer (mantener presionado el interruptor da otro comando). Debe hacer clic en el botón de cambio con frecuencia, a menudo hasta que la aplicación lo reconozca como una repetición continua del comando. Debido a esto, no será posible grabar un comando de atenuación, pero puede tomar un control remoto Noolite, guardar un par de escenarios (por ejemplo, brillo mínimo y brillo promedio) y escribir estos comandos.
Con la ayuda de Broadlink RM Pro y los servicios sobre los que escribí anteriormente, puede "enseñar" a Alice a controlar cualquier dispositivo con controladores de radio e infrarrojos.
Resultó que IFTTT no sabe que hay barras de cortina en SmartLife y cuando intenté agregar una acción, la lista de dispositivos estaba vacía. Pero encontré una salida: IFTTT puede ejecutar scripts de SmartLife. Creé dos escenarios con condiciones imposibles en la aplicación SmartLife: abrir las cortinas cuando la temperatura en Moscú sea exactamente -40 grados y abrir las cortinas cuando sea exactamente -39. IFTTT, y Alice a través de Kuzya, usando los comandos "Alice abre las cortinas" y "Alice cierra las cortinas", ejecutan exactamente estos escenarios.
Si se agregan dispositivos a Domovenka Kuzyu después de agregar el Domovenok a la casa inteligente de Yandex, los dispositivos nuevos no aparecerán en Yandex por sí mismos. Para que aparezcan, debe seleccionar el complemento Kuzi Brownie en la aplicación Yandex nuevamente y hacer clic en el botón "Actualizar lista de dispositivos".
Resultó que si Yandex tiene varias lámparas (en mi caso, dos candelabros en dos habitaciones), los comandos "Alice enciende luces "y" Alice apaga las luces "encienden y apagan todas las lámparas, por lo que es importante dar nombres únicos a las lámparas en Duende. Todavía los llamo "Candelabro" y "Luz en el dormitorio".
Algún día, en un futuro brillante, Yandex agregará BroadLink y aprenderá a controlar las cortinas (o al menos los escenarios) SmartLife (ahora solo admite bombillas y enchufes), pero por ahora tienes que usar este tipo de muletas, que son bastante trabajo.
A primera vista, todo lo que escribí hoy parece engorroso y muy complicado. De hecho, debes resolverlo una vez, y luego todo se vuelve simple, conveniente y muy rápido.
PD El segundo día controlé las luces y las cortinas con mi voz y resultó muy conveniente.
© 2020, Alexey Nadezhin
El tema principal de mi blog es la tecnología en la vida humana. Escribo reseñas, comparto experiencias, hablo de todo tipo de cosas interesantes. Mi segundo proyecto - lamptest.ru. Pruebo bombillas LED y ayudo a descubrir cuáles son buenas y cuáles no.