Este artículo es una continuación lógica del
tema previamente planteado
de los sistemas de monitoreo de una casa de campo. Para alguien que no ha leído el artículo anterior, algunos pensamientos en este artículo pueden parecer extraños. Permíteme recordarte: ya en el proceso de diseño y elección de los componentes básicos, quedó claro que el monitoreo del trabajo de los sistemas de una casa de campo no terminará y que no solo debes monitorear, sino la base de una casa inteligente. Ahora veamos cómo se desarrollaron los eventos. Como antes, no daré listados completos de programas o diagramas detallados. Mi tarea es mostrar el tren de pensamiento y posiblemente iniciar una discusión.

¿Qué quieres de una casa inteligente?
Primero debe comprender, pero qué debería ser realmente inteligente en un hogar inteligente. No se trata de definiciones canónicas, sino de lo que viene a la mente cuando tiene en sus manos un conjunto de herramientas tan poderoso como se describe en el artículo anterior:
openHAB + Arduino / nFR24L01 +. Obtuve la siguiente lista de "Lista de deseos" principal:
- Aprenda a controlar la potencia de la caldera eléctrica en función de la temperatura en la casa y en la calle, y aún mejor, teniendo en cuenta el pronóstico del tiempo. Antes de esto, la potencia de la caldera se configuraba solo mediante interruptores mecánicos en la caldera misma y el funcionamiento de la caldera no era óptimo tanto en términos de carga en la red como en términos de ahorro de energía debido al sol ( ver aquí ).
- Para excluir las manipulaciones manuales de las bombas de encendido / apagado (suministro de agua, recirculación de ACS), toalleros calentados, termostatos de radiadores, etc. a su llegada / salida. Bueno y, por supuesto, ver el estado de estos dispositivos.
- Aprenda a encender y apagar la luz, la fuente y otros dispositivos, según la hora del día y el año, la presencia de los propietarios en la casa y algunos otros factores. En una formulación más general: para algoritmizar y automatizar el control de aquellos dispositivos cuyo control es de rutina, para excluir el clic monótono de los interruptores tradicionales, especialmente en la oscuridad. Todo debería encenderse y apagarse automáticamente.
- Use algoritmos que ahorren energía. Por ejemplo, la primera etapa de la caldera encendida durante mucho tiempo permitirá recibir más energía del Sol que las 2-3 etapas que se encienden / apagan periódicamente por la temperatura de la línea de retorno. Es decir Puede obtener ahorros de energía debido a una carga más reflexiva.
- El sistema de monitoreo y control que nació en este momento fue suficiente para implementar solo una parte de estos requisitos. Por ejemplo, ya es posible controlar la caldera por pasos, pero aún no está claro qué algoritmos, teniendo en cuenta las restricciones sobre el consumo de electricidad y teniendo en cuenta el equilibrio de prioridades para calentar una casa y preparar agua caliente. Además, la primera versión del sistema no incluía todos los actuadores necesarios, por ejemplo, no había dispositivos de control de la bomba, ni todas las luces de la casa estaban automatizadas. Hubo solicitudes específicas adicionales, por ejemplo, "para resaltar la imagen". Además, esta solicitud en sí misma se transformó en "encender y apagar automáticamente la luz de fondo de la imagen dependiendo de la hora del día, la iluminación y otros factores".
Total: hay una base ampliable, hay objetivos. Analizamos qué datos faltan. En primer lugar, no hay suficientes parámetros eléctricos, al menos los siguientes: el consumo actual de la casa, la energía recibida del sol. En segundo lugar, no hay suficiente pronóstico del tiempo. Además, no hay suficientes actuadores compactos. Observo que los controladores de terminal con actuadores (relés) descritos en el artículo anterior eran todos multifuncionales y no muy compactos. Y además casera. Algunos dispositivos, por ejemplo, tienen cabezales controlados por termostato en los radiadores de calefacción, no tiene ningún sentido, debe comprarlos.
Recibir parámetros de electricidad
Entonces, comenzamos con los parámetros eléctricos. Lo primero que viene a la mente es poner sensores de corriente basados en el efecto Hall, ya está ahí un sensor de 220V, queda por medir el voltaje en los paneles y las baterías. Todo se puede hacer en sensores separados. Sin embargo, todas estas mediciones ya están siendo realizadas por una planta de energía basada en el inversor
Xantrex y el
controlador MPPT . Como recordamos, estos dispositivos se combinan en un bus Xanbus patentado, que es un transporte para la interacción del dispositivo a través del protocolo Modbus. Y para ella hay una puerta de enlace TCP-Modbus especial
Conext ComBox , que le permite leer y configurar los parámetros del sistema en una red local. ¡Esto es justo lo que necesitas! A su vez, para openHAB hay un enlace TCP-Modbus especial, que queda por conectar y configurar. Entonces, se compró la puerta de enlace, se estudió la documentación, se conectó y configuró el enlace a openHAB, se definieron los elementos y se escribieron las reglas básicas. Como resultado, los siguientes parámetros comenzaron a llegar al hogar inteligente: voltaje en la red y entradas del generador, voltaje en la salida del inversor, corriente de carga, potencia de carga en W y VA, voltaje en paneles solares y baterías, corrientes en la entrada y salida del controlador MPPT, corriente la carga de la batería, la energía recibida por la energía solar dada, la cantidad de energía solar recolectada dada al sistema, devuelta a la red. Incluso se lee la temperatura de las baterías, una vez que esto ayudó a evitar el sobrecalentamiento.
Participación en el desarrollo de openHABDurante la depuración, se detectaron errores en el funcionamiento de la puerta de enlace TCP-Modbus. A través del foro, openHAB fue al desarrollador, entre otros probadores. Como resultado, el enlace se ha finalizado en varias iteraciones y ha estado funcionando durante más de dos años.
Puerta de enlace TCP-Modbus para leer los parámetros de los dispositivos Shneider Electric (Xantrex) conectados a la red Xanbus.Recibir pronóstico del tiempo
Siguiente Puede obtener un pronóstico del tiempo de varias maneras, por ejemplo, inscríbase en un proveedor.

Sin embargo, hay una manera más obvia: tomar datos de pronóstico directamente del sitio meteorológico, por ejemplo, yandex.ru/pogoda. Para hacer esto, escribí una utilidad en C que, usando la biblioteca de
rizos , guarda la página HTML en un archivo. En una solicitud HTTP, la utilidad envía al sitio las coordenadas de la casa. El archivo resultante se analiza y extrae de él con docenas de parámetros: temperatura, horas de salida y puesta del sol, pronóstico de temperatura nocturna, dirección y fuerza del viento. Los algoritmos de hogar inteligente utilizan el pronóstico de la temperatura nocturna, la hora del atardecer. Los datos restantes solo se muestran informativamente en la interfaz. En openHAB, los datos son transferidos por la misma utilidad a través de la conveniente API REST soportada por openHAB. A su vez, la utilidad C se inicia utilizando las herramientas regulares de openHAB cada 4 horas. Por lo tanto, todo es bastante simple, y la principal dificultad es el desarrollo de un algoritmo para analizar una página HTML guardada. Pero mi artículo no trata sobre eso.
En la figura, la pantalla de una casa inteligente con datos meteorológicos obtenidos de las coordenadas de la casa de yandex.ru/pogodaAutomatizar la gestión de dispositivos de rutina.

Justo mientras trabajaba para obtener un pronóstico del tiempo, un amigo me presentó relés controlados por WiFi y un cable de extensión eléctrico completo con tres relés y tres pares de enchufes
USR IOT . En este momento, ya había dominado un poco openHAB y con un poco de emoción comencé a desarrollar nuevos dispositivos e incorporarlos al hogar inteligente. El relé se definió para controlar la bomba de pozo, y el cable de extensión se ubicó en el establo y se usó para controlar la iluminación, la fuente y la luz del estanque. Para los dispositivos USR, IOT encontró documentación en la red que describe el protocolo de control, pero aún tenía que escuchar el tráfico de la red usando
Wireshark . Como resultado, aprendí a generar comandos de control y analizar las respuestas de los dispositivos. Para controlar el relé, escribí un programa en C que es llamado por una regla de openHAB, y conecté el cable de extensión directamente usando el enlace TCP openHAB.
En la foto de la derecha, un cable de extensión USRIOT con enchufes controlados por WiFi.Queda por escribir las reglas:
- Encienda la bomba de pozo. Al desarmar la casa, encienda la bomba; al armar, apague la bomba. Es simple, porque el estado de protección que el sistema aprendió a leer de la alarma en la etapa de "monitoreo". Y este parámetro se usa más en muchas reglas. Para este propósito, la detección de presencia en el hogar a menudo se usa, por ejemplo, a través de etiquetas Bluetooth, al registrar un dispositivo móvil en una red local, etc. Sin embargo, estos métodos no son muy estables y no son deseables para su uso en reglas serias.
- Enciende la fuente en el estanque. Solía usar temporizadores electrónicos, pero se quemaban regularmente y no sabían sobre la presencia del propietario en la casa. Ahora se ha abierto una "nueva era" de automatización. La fuente se enciende si la casa está desarmada, si la temperatura en la calle (aprendimos a medir en la etapa de "monitoreo") es de al menos 5 grados (la fuente no es necesaria en invierno) y la hora es 08:00. La fuente se apaga a las 23:00, siempre. Es decir la regla es un poco "asimétrica" y es muy conveniente.
- Luz de fondo del estanque encendida. Debo decir que la propia luz de fondo apareció debido al deseo de encenderla automáticamente. La luz de fondo se enciende cuando la casa está desarmada, cuando la iluminación de la calle es inferior al parámetro especificado en la configuración y al moverse en el porche de la casa principal o de invitados. Es decir no se encenderá antes de que el dueño quiera verla. Todos los parámetros para el control aparecieron en la etapa de "monitoreo". Se apaga a las 01:00, siempre.
- Encendiendo la luz en el granero. Esta es la regla más divertida. La luz se enciende si la casa está desarmada, si el nivel de iluminación está por debajo de un umbral predeterminado, si la temperatura del aire es inferior a 15 grados y si se detecta movimiento en el porche. Se apaga después de 5 minutos, con movimientos repetidos en el porche, el tiempo de combustión se prolonga 5 minutos. Todo se implementa solo con herramientas regulares de openHAB. La pregunta es: ¿por qué se usa la temperatura en la regla? Muy simple: la leña para la chimenea se almacena en el granero. Si por la noche, cuando hace buen tiempo, salgo al porche, entonces probablemente detrás de la leña :) y es mejor si la luz arde en el granero.
Cabe señalar que en todas las reglas, los dispositivos se encienden y apagan automáticamente. Pero al mismo tiempo se pueden controlar manualmente a través de la interfaz openHAB. Los dispositivos USR IOT descritos también tienen botones de control físico en la carcasa, por lo que es importante aprender a leer el estado de los dispositivos. Una forma de actualizar el estado de todos los actuadores, así como los sensores, es sondearlos desde openHAB por temporizador, por ejemplo, cada 15 minutos. Para los dispositivos caseros, además, es obligatorio enviar un estado cuando cambia el estado de los botones / interruptores de control.
Retrocedamos un paso. La tarea inicial era aprender a controlar de manera flexible la calefacción para que la casa estuviera caliente, siempre hubiera agua caliente y que no tuviera que ir regularmente a la sala de calderas para regular el funcionamiento de la caldera. Y en este caso, para minimizar la probabilidad de que la caldera se apague como resultado de la activación del relé de límite de carga, que está instalado en el panel y limita el consumo de corriente al desconectar las cargas no prioritarias, que incluyen tanto la caldera como la caldera. Al mismo tiempo, en la primera etapa, el calentador de la caldera se apaga durante 5 minutos, y si esto no ayuda, la caldera también se apaga durante 10 minutos (segunda etapa). Permítame recordarle que el consumo en el hogar es limitado y que todo es eléctrico en la casa, no hay gas, por lo que debe controlar el consumo. Y sería bueno usar la energía del Sol al máximo. Estas son algunas de las reglas resultantes.
El primer grupo. Casa desarmada:
- Cada 20 minutos, verifique la temperatura en la casa y, si está por debajo de un valor predeterminado (22 grados), agregue un nivel de potencia de la caldera. Pero haga esto si no se supera el umbral de la corriente de carga, por ejemplo, a 25.6 A. Si la temperatura es más alta que el valor establecido, apague una etapa de la caldera cada 20 minutos, dejando solo la primera. Como resultado, obtenemos una "aceleración" suave del sistema de calefacción y nos protegemos de su apagado completo debido al exceso de carga. La lógica general es la siguiente: si los consumidores poderosos de electricidad trabajan en la casa, por ejemplo, una estufa, hervidor de agua, microondas o incluso una aspiradora, la energía que consumen finalmente pasa al calor que queda en la casa y por qué no perseguir la caldera para encenderla a plena capacidad. Es mejor dejar que la caldera funcione en la primera etapa, pero que no se apague durante 10 minutos como resultado del relé de limitación de carga.
- Si la temperatura del agua caliente en la caldera es inferior a 35 grados, encienda la primera etapa de la caldera y el calentador. Si la temperatura del agua es superior a 35 grados y la temperatura del aire en la casa es superior a la establecida (23 grados), apague la primera etapa de la caldera. Si la temperatura del agua es superior a 37 grados, apague el calentador. Además, todas las inclusiones solo deben realizarse si la corriente de carga no es mayor de 25.6A. De lo contrario, el relé de limitación de carga funcionará y durante 10 minutos no se podrá encender nada. Realice todas las comprobaciones al actualizar las lecturas del sensor de temperatura del agua caliente. Esta regla garantiza la disponibilidad de agua caliente, calentamiento rápido con un consumo mínimo de energía.
- Si la temperatura del refrigerante en el circuito solar es más alta que la temperatura del agua caliente, que a su vez es superior a 35 grados, apague el calentador. Por lo tanto, es posible ahorrar electricidad y no quedarse sin agua caliente.
- Si la temperatura en la casa es superior a la establecida (23 grados) y la temperatura del agua caliente es superior a 35 grados, apague la caldera por completo. De lo contrario, habrá un consumo excesivo de electricidad, y la automatización de la caldera a menudo la apagará por temperatura en la línea de retorno.
- Si no hay voltaje en el elemento calefactor de la caldera, aunque se enciende desde una casa inteligente, la primera etapa del relé de carga se ha disparado. Si limita la potencia de la caldera, puede evitar que se apague. Apague los pasos segundo y tercero. Luego se volverán sobre sí mismos, según otras reglas, si es necesario. Del mismo modo, verificamos el voltaje de suministro de la caldera. Si desapareció, la segunda etapa del relé de carga se ha disparado, dejamos solo la primera etapa de la caldera, apagamos todo lo demás, incluido el calentador de la caldera; Se incluirán más adelante por otras reglas. Esto se hace para reducir la probabilidad de una operación repetida del relé de carga y para asegurar un flujo de calor máximo y uniforme dentro de la casa.
El segundo grupo. La casa está en guardia.
- Si la temperatura exterior es inferior a menos 8 grados, encienda la segunda etapa de la caldera. (el primero se enciende automáticamente desde la instalación del controlador GSM universal, consulte aquí, debajo del primer corte ). Si la temperatura exterior es inferior a -15 grados, encienda la tercera etapa de la caldera. Esto garantiza un funcionamiento óptimo del sistema de calefacción al tiempo que mantiene una temperatura económica dada en la casa. Cuando la temperatura aumenta en la calle, los pasos se desactivan secuencialmente. Esta regla le permite hacer que la caldera funcione de manera más uniforme y eficiente.
- Si hay mucha luz en la calle, encienda la caldera de manera preventiva, sin esperar a que el equipo automático mantenga una temperatura económica (8 grados). Vuelva a poner la caldera en modo automático si la temperatura alcanza el valor calculado. El valor calculado se calcula mediante la fórmula empírica, que utiliza el mínimo de la temperatura nocturna durante el último día y el pronóstico de la temperatura nocturna. Además, la caldera vuelve al modo automático si la energía eléctrica recibida del Sol cae por debajo de los 500 vatios. Este indicador se suaviza en varios pasos de la regla ejecutada cada minuto. Como resultado, la regla le permite ahorrar electricidad: debido a la calefacción de la casa, la caldera funcionará menos en la oscuridad y consumirá menos energía de la red.
Una captura de pantalla del entorno de desarrollo de openHAB Designer con dos reglas para calefacción y agua caliente sanitaria.Resultados preliminares:
- Los objetivos establecidos se logran de una manera completamente sin polvo. La mayor parte del trabajo se asoció no con el equipo, sino con la programación. Y a partir de esta programación, la mayor parte vino al desarrollo y depuración de reglas en openHAB.
- Ya en las primeras etapas del desarrollo de una casa inteligente, la apuesta por una solución "agnóstica tecnológica" estaba justificada. Las reglas descritas anteriormente usan datos recibidos de controladores caseros en Arduino, de una puerta de enlace TCP-Modbus comprada, recibidos de Internet, es decir. de fuentes completamente heterogéneas. Se agregó administración de dispositivos a través de TCP / IP. Todo esto está muy armoniosamente orquestado desde openHAB. Pero, por supuesto, con este openHAB se convierte en un único punto de falla. Es por eso que es correcto usar Linux como sistema operativo en openHAB. Por lo tanto, tuve que pasar con el tiempo de conectar el servidor a la LAN a través de WiFi a un cable normal. También tuve que suministrar un UPS individual, a pesar de la fuente de alimentación redundante de toda la casa. Bueno, en conclusión, tuve que poner el zócalo controlado por WiFi de Xiaomi en la fuente de alimentación del servidor, conectarlo a una red WiFi separada, sirve como último argumento cuando el servidor se congela.
- Se ha dado cuenta de que el Internet de las cosas y el hogar inteligente realmente están abriendo el horizonte para una nueva calidad de vida. Confort realmente mejorado. De hecho, hay un ahorro. Y finalmente, aparece la emoción, lo que lleva a la conexión de nuevos dispositivos y al uso de nuevas tecnologías de integración. Lo que nuevamente conduce a una mayor comodidad.
En la próxima publicación, te diré a qué condujo la emoción y cómo evolucionó la casa inteligente.