Primeros pasos con OpenHAB Home Automation en Raspberry Pi

OpenHAB es una plataforma de automatización del hogar madura y abierta que se ejecuta en una variedad de hardware y es independiente del protocolo, lo que significa que se puede conectar a casi cualquier hardware de automatización del hogar en el mercado actual.

OpenHAB es una plataforma de automatización del hogar madura y abierta que se ejecuta en una variedad de hardware y es independiente del protocolo, lo que significa que se puede conectar a casi cualquier hardware de automatización del hogar en el mercado actual.
Anuncio

OpenHAB es una plataforma de automatización del hogar madura y abierta que se ejecuta en una variedad de hardware y es independiente del protocolo, lo que significa que se puede conectar a casi cualquier hardware de automatización del hogar en el mercado actual. Si se ha sentido frustrado con la cantidad de aplicaciones específicas del fabricante que necesita ejecutar solo para controlar sus luces, entonces tengo buenas noticias para usted: OpenHAB es la solución que estaba buscando: es la casa inteligente más flexible hub ¿Qué Smart Hub para Home Automation es el mejor para usted? ¿Qué Smart Hub para Home Automation es el mejor para usted? Por un tiempo, la gente pensó en la idea como nada más que un truco, pero los lanzamientos de productos recientes han demostrado que la domótica inteligente está empezando a cumplir sus promesas. Lee más que encontrarás.

Esta guía está disponible para descargar en formato PDF gratuito. Descargar Comenzar con OpenHAB Home Automation en Raspberry Pi ahora . Siéntase libre de copiar y compartir esto con sus amigos y familiares.

Desafortunadamente, se trata de lo más que se puede obtener de los consumidores, pero como siempre, aquí es donde entra en juego MakeUseOf: le mostraremos cómo ponerlo en marcha con el último sistema de casa inteligente que el dinero no necesita comprar (porque OpenHAB es 100% gratis, solo suministre el hardware).

La primera parte de esta guía se centra específicamente en cómo obtener la configuración de OpenHAB con una Raspberry Pi 2, pero más adelante, los tutoriales y consejos se pueden aplicar a cualquier lugar donde se instale OpenHAB.

Esta guía cubre tres temas introductorios y uno ligeramente más avanzado.

  • Poner en funcionamiento OpenHAB en el Pi e instalar la configuración de la casa de demostración para verificar los sistemas centrales están funcionando.
  • Cómo agregar enlaces y perfiles para dispositivos. Trabajaré con Philips Hue.
  • Habilitar el acceso remoto y conectarse a IFTTT.
  • Agregar un sensor de presencia DIY usando Bluetooth y una introducción a la interfaz REST.
  • Configurando la aplicación móvil OpenHAB.

Lo que necesitarás

Como mínimo, necesitará una Raspberry Pi (v2, preferiblemente) y un adaptador Ethernet o inalámbrico (preferible Ethernet, esta guía no incluirá instrucciones sobre cómo hacer que su adaptador Wi-Fi funcione Configuración de redes inalámbricas en su frambuesa Pi Configuración de redes inalámbricas en su Raspberry Pi Prácticamente todos los proyectos de Raspberry Pi requerirán una conexión de red, y se puede obtener una considerable flexibilidad ignorando el puerto Ethernet a favor de un dongle USB inalámbrico. Lea más). Todo lo demás es opcional. Tenga en cuenta que OpenHAB también se ejecutará en el Raspberry Pi original, pero existe un problema conocido con el procesamiento más lento y los dispositivos Z-Wave. Si no necesita Z-Wave, puede ignorar esta advertencia y seguir adelante con un Raspberry Pi modelo B o B +, porque todo lo demás parece funcionar bien. Siempre puede actualizar a la última Pi si y cuándo agrega Z-Wave.

Photo of Raspberry Pi 2 being used as OpenHAB controller
¡Esta pequeña cosa puede ser el mejor centro de hogar inteligente que hayas tenido!

En el momento de escribir, la última versión estable de OpenHAB es la versión 1.71; la versión 1.8 se espera pronto, y todo en esta guía debería seguir siendo relevante, aunque ciertos enlaces pueden tener más características. La versión 2 también está disponible actualmente como una vista previa alpha muy temprana, pero adopta una arquitectura dramáticamente diferente a la serie OpenHAB 1: esta guía no es compatible con la versión 2.

Te sugiero encarecidamente que sigas esta guía de forma lenta y metódica : no intentes saltar al fondo y añadir todo al mismo tiempo. Sí, es una guía larga: OpenHAB es un sistema difícil que a menudo requiere ajustar sus necesidades, y la mejor manera de garantizar el éxito es trabajar despacio y completar una pieza a la vez.

La buena noticia es que una vez que está funcionando, es una experiencia sólida como una roca e increíblemente gratificante.

Instalación de OpenHAB

No hay una imagen preconfigurada para OpenHAB, por lo que la instalación se realiza a la antigua usanza a través de una línea de comando. Te sugiero que trabajes sin cabeza en el RPi: la sobrecarga de administrar una GUI que raramente usarás no vale la pena.

Comience con la última (completa) imagen SD Raspbian (no la versión "lite", estas no incluyen la Máquina Virtual Java). Conecta tu cable de red, luego reinícialo y navega a través de SSH. Correr:

sudo raspi-config 

Expande el sistema de archivos; y desde el menú avanzado, cambie la división de memoria a 16. Cuando termine, reinicie y, como buena práctica, ejecute una actualización completa

 sudo apt-get update sudo apt-get upgrade 

La forma más fácil de instalar el tiempo de ejecución de OpenHAB es a través de apt-get, pero primero debemos agregar una clave segura y el nuevo repositorio:

 wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add - echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list sudo apt-get update sudo apt-get install openhab-runtime sudo update-rc.d openhab defaults 

Curiosamente, todo fue instalado como propiedad de "raíz". Necesitamos arreglar eso con los siguientes comandos.

 sudo chown -hR openhab:openhab /etc/openhab sudo chown -hR openhab:openhab /usr/share/openhab 

A continuación, instalaremos Samba y compartiremos la configuración y las carpetas de usuario: esto facilitará la instalación de complementos y el cambio del mapa del sitio de forma remota.

 sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf 

Cambie el nombre del grupo de trabajo si es necesario, pero habilite el soporte de WINS:

 wins support = yes 

(Deberá descomentar la línea y cambiar no a sí)

luego agregue lo siguiente a la sección de compartir definiciones (desplazarse hasta el final del archivo largo):

 [OpenHAB Home] comment= OpenHAB Home path=/usr/share/openhab browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no [OpenHAB Config] comment= OpenHAB Site Config path=/etc/openhab browseable=Yes writeable=Yes only guest=no create mask=0777 directory mask=0777 public=no 

También comenté la sección de Impresoras. Hice dos acciones, ya que los archivos de configuración se almacenan de manera separada en los complementos.

Guardar y Salir. Finalmente necesitamos establecer una contraseña de Samba para el usuario openhab:

 sudo smbpasswd -a openhab 

Sugeriría "openhab" como la contraseña solo por facilidad de uso, pero en realidad no importa.

Gracias al lector David L: parece que el método para reiniciar Samba ha cambiado en el último Raspian. Aquí están las instrucciones actualizadas:

 sudo update-rc.d smbd enable sudo update-rc.d nmbd enable sudo service smbd restart 

Después de reiniciar Samba (las instalaciones anteriores usan sudo service samba restart ), pruebe que puede acceder a la unidad compartida. Es posible que no se descubra automáticamente en una Mac; pero puede usar el Buscador -> Ir -> Conectarse al Servidor y la dirección

 smb://[email protected] 

Autentica con el nombre de usuario openhab y la contraseña elegida, luego abre tus dos recursos para echar un vistazo. Incluso debería poder abrir http: //raspberrypi.local: 8080 / en su navegador web, pero se encontrará con un error porque aún no hemos creado un mapa del sitio. Eso es normal.

error on first launch openhab

Ahora sería un buen momento para aprender el comando de alinear el registro de OpenHAB para que pueda estar atento a los errores.

 tail -f /var/log/openhab/openhab.log 

Mantén ese funcionamiento y abre en una ventana SSH separada en todo momento mientras continúas con la guía.

Instalar la casa de demostración

Antes de profundizar en las complejidades de los archivos de configuración, agregar dispositivos y enlaces, etc .; vamos a verificar que todo esté funcionando al agregar el contenido de la demostración. Encontrará la "Configuración de demostración" en la sección de descargas de OpenHAB.org.

Una vez que lo haya descomprimido, hay dos carpetas: complementos y configuraciones .

contenido demo de openhab

Usando los recursos compartidos de la red, copie las configuraciones en el recurso compartido de OpenHAB Config y sobrescriba la carpeta existente. Copie complementos en el otro OpenHAB Home share, una vez más, sobrescribiendo las carpetas existentes. Si no se te solicita sobrescribir algo, lo estás haciendo mal. Si tiene el ojo puesto en el archivo de registro de depuración, debería ver un movimiento de actividad ya que se da cuenta de los nuevos enlaces y zancadas en acción. Abra raspberrypi.local: 8080 / openhab.app? Sitemap = demo para ver la demostración.

OpenHAB demo house web interface screenshot

Es un poco básico mirar el momento, pero la naturaleza abierta de OpenHAB significa que podemos instalar un nuevo tema encantador o una interfaz alternativa por completo. Por ahora, solo necesitamos saber que todo está funcionando. Tenga en cuenta que lo que estamos viendo se llama un mapa del sitio (nada que ver con un mapa del sitio web). Un mapa del sitio describe la interfaz de usuario, no los dispositivos reales en su red o sensores, solo la interfaz para verlos. Cada parte de ella es completamente personalizable. Para ver cómo se ha creado este, abra el archivo sitemaps / demo.sitemap en el recurso compartido de OpenHAB Config.

mapa de sitio demo archivo de ejemplo

Es bastante desalentador, pero en su mayor parte copiarás fragmentos de código de ejemplos en otros lugares para crear tu propia interfaz personalizada. Aquí está la descripción técnica de todos los elementos posibles del mapa del sitio, pero por ahora bastará con comenzar a pensar qué tipo de interfaz quiere construir y qué información desea mostrar.

Mientras estás allí, abre items / demo.items también. De nuevo, parece aterrador, pero aquí es donde creas elementos para controlar y definir sensores para seguirlos.

Entonces, ¿cómo funciona OpenHAB?

Ahora que ha examinado rápidamente el mapa del sitio y la carpeta de elementos, desglosaremos exactamente qué son estos archivos y los demás componentes principales de OpenHAB que se combinan para crear su hogar inteligente completo. Encontrará subdirectorios para cada uno de estos en la carpeta compartida de OpenHAB Config.

Artículos es un inventario de cada dispositivo de control, sensor o elemento de información que desee en su sistema. No es necesario que sea un dispositivo físico tampoco; puede definir una fuente web como el clima o los precios de las acciones. Cada elemento puede nombrarse, asignarse a múltiples grupos (o ninguno) y conectarse a un enlace específico. (Consejo para principiantes: el uso de mayúsculas es importante cuando se trata de enlaces. Pasé mucho tiempo tratando de descubrir por qué mis bombillas "Hue" no funcionaban, era porque deberían haber sido "hue").

Sitemaps solo se refiere a la interfaz que verá cuando abra la aplicación móvil o web de OpenHAB. Puede controlar con precisión cómo desea que se configuren los botones y se presente la información. Puede definir grupos de nivel superior para cada habitación de su casa; al hacer clic en cada uno, se mostrará una lista de cada dispositivo en esa habitación. O tal vez prefiera mostrar grupos para cada tipo de dispositivo: un botón para luces, otro para enchufes eléctricos. Es posible que haya algunos dispositivos que use con tanta frecuencia que solo desee cambiarlos directamente en la pantalla de inicio.

Reglas es donde entra en juego el aspecto de domótica, donde puede definir los horarios o las condiciones para que una acción suceda. Eventos simples como encender las luces del dormitorio a las 10pm a un color rojo cálido; o lógica más compleja como encender un calentador de espacio si la temperatura es menor que 0 y hay alguien presente en esa habitación. También encontrará una carpeta de scripts, que ofrece una funcionalidad similar a las reglas pero a un nivel más complejo de lógica programable.

La persistencia es un tema avanzado que no cubriremos en esta guía, pero la persistencia define los datos de los que desea mantener un registro. Por defecto, OpenHAB solo mostrará el estado actual de algo; si desea rastrear ese valor a lo largo del tiempo, debe configurar una definición de persistencia para esa fuente de datos. En esto especificarás cosas como la frecuencia con la que se debe medir un punto de datos, o cuándo descartar los puntos de datos antiguos; también tendrás que decirle qué tipo de motor de persistencia usar, como MySQL o un simple registro en un archivo .

Transform contiene mapeos para valores de datos en etiquetas. Por ejemplo, el archivo humidex.scale define un rango de valores de índice de humedad y cómo deberían mostrarse en inglés: 29-38 es "algo de incomodidad".

El mapa del sitio y los archivos de elementos son esenciales para que se ejecute OpenHAB; el resto son opcionales Puede tener múltiples sitemaps y artículos, de modo que puede conservar el contenido de la demostración y volver a consultarlo en cualquier momento, o probar un nuevo diseño para la interfaz de control de su hogar. No se preocupe si todo esto parece un poco abrumador en este momento, lo dividiremos en partes manejables y prometo que al final de esta guía tendrá confianza para crear su propia configuración de OpenHAB.

A continuación, le guiaremos para que agregue un kit común de hogar inteligente, empezando desde cero en un nuevo mapa del sitio. Cada uno presentará algunos conceptos básicos, como la instalación de enlaces y definiciones de elementos, por lo que te recomiendo encarecidamente que leas estas instrucciones, incluso si no eres el propietario de esos dispositivos en particular .

Comience por crear un nuevo archivo home.items (en blanco) y un nuevo archivo home.sitemap en los directorios correspondientes. Abra home.sitemap y pegue el siguiente código. Esto simplemente actúa como un esqueleto básico al que agregaremos bits más tarde.

 sitemap home label="My Home" { } 

Debería ver un aviso para informar que OpenHAB ha identificado un nuevo mapa del sitio y un archivo de elementos.

openhab nuevo mapa del sitio y elementos

Habilitar el modo de depuración

Mientras aún intentas que OpenHAB funcione correctamente, puede ser útil habilitar un registro de depuración más detallado que enumere todo, y no solo las cosas importantes. Para habilitar este modo, abra la carpeta compartida de OpenHAB Config y edite el archivo logback.xml . En la línea 40, cambie la siguiente línea para leer DEPURACIÓN en lugar de INFO. Tendrá que reiniciar después de cambiar esto.

Este es un cambio global, por lo que obtendrá mucha más información una vez que alinee el archivo de registro.

Agregar tono de Philips

Comenzaré con la revisión y el sorteo del kit de inicio de Philips Hue Philips Hue y la revisión y el sorteo del kit de inicio de Philips Hue. El mercado está inundado de bombillas con wifi, todo con su propia aplicación móvil tonta con la que debes alborotar para encenderla. . ¿El Hue es diferente? Encontramos. Lee mas . Como la mayoría de las cosas con las que querrá interactuar en OpenHAB, las bombillas Hue requieren la instalación de un enlace ; piense en los enlaces como si fueran un controlador de dispositivo. En el momento de escribir, hay alrededor de 160 enlaces disponibles para OpenHAB 1, por lo que OpenHAB es un sistema tan poderoso: puede interactuar con cualquier cosa, combinando todos esos sistemas de control dispares en una única interfaz unificada. Aquí hay una demostración y una descripción general rápida de los pasos involucrados.

Los enlaces se deben descargar primero, y la forma más fácil de hacerlo en el Pi es usar apt-get, y luego forzar la propiedad para el usuario de openhab.

 sudo apt-get install openhab-addon-binding-hue sudo chown -hR openhab:openhab /usr/share/openhab 

Luego necesita decirle a OpenHAB que cargue ese enlace y configure las variables que necesite. Navegue a la carpeta de configuraciones y haga una copia de openhab-default.cfg, llamándolo openhab.cfg . Abra eso, busque HUE y reemplace toda la sección con el siguiente código. Lo único que debe cambiar es el valor de IP de su puente: si aún no lo sabe, intente con la herramienta de descubrimiento en línea. El valor secreto realmente no importa, es solo un tipo de nombre de usuario que OpenHAB utilizará para identificarse al puente.

Sugerencia rápida : para habilitar una línea, simplemente elimine el # desde el principio. Por defecto, la línea que especifica la dirección IP del puente está desactivada (o técnicamente, "comentada"). Además, si está probando una configuración alternativa, puede ser útil simplemente copiar la línea existente y poner un # al comienzo para marcarla como un comentario, para que pueda revertir fácilmente si las cosas van mal.

 ################################ HUE Binding ######################################### 
 # IP of the Hue bridge hue:ip=192.168.1.216 hue:secret=makeuseofdotcom hue:refresh=10000 

configuración de enlace openhab

Guardar y Salir. Al igual que cualquier aplicación de terceros de Hue, deberá aprobar OpenHAB en el Puente de Hue presionando el botón en el frente; solo necesita hacer esto una vez. Verás un mensaje sobre la espera de ser emparejado si estás siguiendo el archivo de registro, pero si has olvidado o perdido la cuenta regresiva, simplemente reinicia el Pi - obtendrás un temporizador de 100 segundos desde el momento en que el enlace de tono es iniciado. Asegúrate de haber emparejado con éxito antes de continuar.

A continuación, abra el archivo home.items, al que agregaremos algunos bulbos Hue. Aquí hay una definición de ejemplo de artículo:

 Color Bedroom_Hue "Bedroom Hue" (Bedroom) {hue="1"} 
  • La palabra Color especifica qué tipo de control tenemos sobre este elemento. Las bombillas RGB Hue son "Color", ya que tenemos control total de ellas. Otras luces pueden ser simplemente un interruptor.
  • El siguiente es el nombre en clave del artículo: elegí Bedroom_Hue, pero literalmente todo está bien, simplemente algo descriptivo que se siente natural para ti, porque tendrás que recordarlo más tarde al hacer el mapa del sitio. El nombre clave no debe tener espacios.
  • Entre las comillas está la etiqueta. La nuestra es simple en este caso, pero para algunos elementos como la temperatura o algo que informa un valor, agregará un código especial que le indica cómo mostrar ese valor o usar qué transformar. La etiqueta es para la interfaz y puede tener espacios.
  • Entre los corchetes angulares se encuentra el nombre del ícono. Encontrarás todos los iconos disponibles en el recurso compartido de OpenHAB, en el directorio webapps / images . En realidad, hay toda una gama de iconos de tonos que representan diferentes niveles de brillo o encendido / apagado. Simplemente especifique el nombre del icono base: OpenHAB sabrá buscar automáticamente los diferentes iconos de encendido / apagado si se trata de un elemento conmutado. Esto es opcional
  • En los corchetes, le decimos de qué grupos forma parte, en este caso, solo el grupo Dormitorio .
  • Finalmente y de manera crucial, conectamos el elemento al enlace apropiado con cualquier variable necesaria. En este caso, el enlace de matiz y el número de bulbo son 1. Puede encontrar el número abriendo la aplicación oficial de Hue y mirando la pestaña de luces. Cada bombilla tiene un número único.

He agregado un total de cuatro focos, así como una declaración simple de los grupos que ampliaremos más adelante. Aquí están mis home.items completos en este punto:

 Group Bedroom Group Office Group Kai Group Living_Room Group Cinema Group Secret 
 Group Lights 
 /* Lights */ Color Bedroom_Hue "Bedroom Hue" (Bedroom, Lights) {hue="1"} Color Office_Hue "Office Hue" (Office, Lights) {hue="2"} Color Secret_Hue "Secret Hue" (Secret, Lights) {hue="3"} Color Kai_Hue "Kai's Hue" (Kai, Lights) {hue="4"} 

El / * Lights * / text es solo un comentario, no tiene otra función que no sea ayudarnos a escanear el archivo más tarde cuando se haga más grande. Ahora tenemos los dispositivos agregados, pero la apertura de http: //raspberrypi.local: 8080 /? Sitemap = home produce una interfaz en blanco, por supuesto, porque aún no hemos creado elementos de interfaz en el mapa del sitio. Comencemos realmente simple por ahora. Abra home.sitemap .

El código utilizado para describir la interfaz es diferente de los elementos, pero por ahora crearemos un nuevo "marco" y agregaremos un par de controles de grupo junto con algunos íconos.

 sitemap home label="My Home" { Frame { Group item=Lights label="All lighting" icon="hue" Group item=Bedroom label="Bedroom" icon="bedroom" Group item=Office label="Office" icon="desk" } } 

Los grupos son una herramienta útil para realizar pruebas rápidas, pero en realidad querrá tener más control sobre cómo se muestran los elementos. Por ahora, esto será suficiente. Guarde y vuelva a cargar su mapa del sitio de inicio en el navegador. Debería ver esto (o cualquier grupo que haya agregado).

openhab primer mapa del sitio

Haga clic en Toda la iluminación para ver cada matiz de luz, ya que los hemos definido todos como pertenecientes a ese grupo de luces generales.

openhab lights group Hue demo

Observe que el ítem Office Hue se muestra con un ícono diferente, eso es porque mi luz de oficina ya está encendida, y OpenHAB lo sabe cuando habló con el puente Hue y fue lo suficientemente inteligente como para ajustar el ícono en la versión "activada" del archivo. Desafortunadamente, no refleja el color, pero si tiene una aplicación móvil instalada, eso reflejará el color actual.

Si está viendo más elementos de los que creía haber definido o recibido errores sobre múltiples definiciones, sepa que aunque solo puede cargar un mapa del sitio a la vez en la página, todos los sitemaps extraerán elementos de todos los archivos .item, por lo que si usted dejó el archivo de elementos de demostración allí, es posible que también tenga elementos adicionales en sus grupos. Sugeriría en este punto hacer una copia de seguridad del contenido de los elementos de demostración y moverlo fuera de la carpeta para evitar errores de duplicación.

Acceso remoto e IFTTT con My.OpenHAB

En este momento, necesita estar en la misma red local para acceder a su sistema OpenHAB, pero ¿qué sucede si desea controlar sus dispositivos y verificar los sensores cuando están fuera del alcance de su wifi? Para eso, tendremos que configurar el acceso remoto, y lo haremos de la manera más fácil, con el servicio web My.OpenHAB, que evita la necesidad de perder el tiempo con el enrutamiento de puertos y las configuraciones del enrutador. Como beneficio adicional, el servicio My.OpenHAB también tiene un canal IFTTT, que le ofrece infinitas posibilidades de control remoto y automatización.

Primero: instale el enlace. Sugerencia rápida: si no conoce el nombre exacto de un paquete de instalación en particular, intente buscarlo con apt-cache.

búsqueda apt-cache

 sudo apt-get install openhab-addon-io-myopenhab sudo chown -hR openhab:openhab /usr/share/openhab 

Antes de que pueda registrarse en el sitio My.OpenHAB, deberá crear una clave secreta y encontrar su UUID, que identifica de manera única su instalación. Verifique en OpenHAB Home share -> webapps -> static y busque un archivo UUID que contenga su identificador único. Es en este punto que descubrí que mi Pi estaba usando una versión anterior de Java que no crea correctamente la clave secreta. Tipo

 java -version 

verificar. Si no dice 1.7 o superior, tiene la versión incorrecta. Curiosamente, la última versión de Raspbian viene con Oracle Java 8 instalado, pero no configurado como predeterminado.

 sudo update-alternatives --config java 

actualizar la versión java

Elija la opción que indica jdk-8-oracle, luego reinicie OpenHAB. ¡Bono: Oracle Java 8 es más rápido que el OpenJDK predeterminado!

Ahora también deberías encontrar un archivo secreto en la carpeta webapps / static . Abra el secreto y uuid, y esté listo para copiar pegar.

uuid y secreto

Ahora vaya a crear una cuenta My.OpenHAB, utilizando esos detalles, luego regrese; también deberá confirmar su correo electrónico antes de que todo funcione. Hay un par de pasos más para este. En primer lugar, debemos establecer el motor de persistencia predeterminado en myopenhab (la persistencia es algo para una guía posterior, pero independientemente, debemos configurar algo básico para "exportar" nuestros datos al servicio en línea y hacerlo visible para IFTTT) . Para hacer esto, abra openhab.cfg, y encuentre la variable que dice persistencia: default = y cámbiela a persistencia: default = myopenhab . Salvar.

Por último, cree un nuevo archivo en la carpeta de configuraciones / persistencia llamada myopenhab.persist y pegue la siguiente regla.

 Strategies { default = everyChange } Items { * : strategy = everyChange } 

No es necesario que comprenda esto por el momento, pero sepa que dice "guardar cada estado del elemento cuando cambie".

mis artículos openhab

Para conectarse con IFTTT, diríjase al canal de OpenHAB: tendrá que autenticarse y darle acceso a su cuenta de MyOpenHAB. También tenga en cuenta que hasta que sus artículos cambien al menos una vez, no serán visibles en la lista de elementos en IFTTT, por lo que si no está visible, active y desactive algo, luego vuelva a cargar. ¡Felicidades, ahora tienes acceso completo a IFTTT a todo en tu sistema OpenHAB!

openhab ifttt canal

Sensor de presencia Bluetooth utilizando REST

Hace poco tiempo, le mostré cómo hacer una cerradura automática de la puerta de la oficina utilizando Bluetooth Haga una puerta de la oficina de bloqueo automático con un sensor de proximidad Smartphone Haga una puerta de la oficina de cierre automático con un sensor de proximidad para teléfono inteligente Configuraremos una Raspberry Pi con Adaptador Bluetooth para estar atento cuando su teléfono inteligente está fuera de alcance, y active un relé para bloquear la puerta. Leer más escaneo para detectar la presencia del usuario - Quería llevar algo así a OpenHAB.

En cualquier plataforma que no sea Raspberry Pi, esto sería simple gracias a un enlace Bluetooth listo para usar; desafortunadamente, no funciona en Pi debido a un archivo crucial de Java que necesitaría ser recompilado para la arquitectura ARM, agregado al enlace, y luego reconstruir el enlace. Basta con decir que lo intenté, y fue horriblemente complicado y no funcionó. Sin embargo, hay una solución mucho más sencilla que también sirve como una buena introducción a la gran extensibilidad de OpenHAB: simplemente adaptaremos nuestra secuencia de comandos anterior de Python para que informe directamente a la interfaz RESTful de OpenHAB.

Aparte: una interfaz RESTful significa que puede interactuar con un sistema utilizando su servidor web integrado, simplemente llamando a las URL y transfiriendo o recogiendo datos. Puede visitar esta URL para ver un ejemplo simple de esto en su propio servidor: http: //raspberrypi.local: 8080 / rest / items - que genera una lista codificada de todos sus elementos definidos. Esto es increíblemente poderoso, ya que expone todo el potencial de OpenHAB y le permite escribir interfaces personalizadas; o en reversa usada, para informar el estado de los sensores sin tener un enlace específico. Utilizaremos esta función para informar sobre la presencia de un dispositivo Bluetooth específico sin recurrir a la vinculación Bluetooth.

Comience añadiendo un nuevo elemento Switch a su archivo home.items . Llamé al mío "JamesInOffice", y lo he convertido en un interruptor en lugar de un simple contacto con./desc. Para poder controlar manualmente mi presencia en caso de que mi teléfono muera.

 Switch JamesInOffice "James in Office" (Office) 

Tenga en cuenta que no he definido un ícono ni asociado un enlace específico. Es solo un cambio genérico.

A continuación, inserte un dongle Bluetooth USB compatible e instale algunas herramientas básicas para interactuar con él.

 sudo apt-get install bluez python-bluez python-pip sudo pip install requests hcitool dev 

El último comando debería mostrar su adaptador Bluetooth. Si no aparece nada, pruebe con otro adaptador, el suyo no es compatible con Linux. El siguiente paso es encontrar la dirección de hardware Bluetooth de su dispositivo.

 wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py python inquiry.py 

Asegúrese de que su teléfono esté abierto en la página de configuración de Bluetooth (que lo pone en modo de emparejamiento / público) y, obviamente, que Bluetooth esté activado. Debería encontrar una dirección de hardware hexadecimal en la lista.

bluetooth identificado

Desde el directorio de inicio de tu usuario de Pi, crea un nuevo script de Python y pega este código.
Hay algunas cosas que deberá editar, empezando por la dirección de su dispositivo en particular:

 result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5) 

Además de esta línea, que está en dos lugares (sí, probablemente podría estructurarse mejor). Cambia JamesInOffice al nombre en clave del interruptor que definiste.

 r = requests.put("http://localhost:8080/rest/items/JamesInOffice/state", data=payload) 

El último paso es decirle a este script que se inicie en el momento del arranque.

 sudo nano /etc/rc.local 

Desplácese hasta la parte inferior y justo antes de la salida 0, agregue las siguientes líneas:

 python /home/pi/detect.py & 

El signo & significa "hacer esto en el fondo". Siga adelante y ejecute el script si aún no lo hizo, y abra su interfaz OpenHAB. Si lo ha agregado a un grupo, haga clic en ese grupo. La actualización tarda unos 10 segundos, pero verá que el ícono de la bombilla predeterminada se enciende o apaga dependiendo de si su teléfono es detectado o no. Verifique el archivo de registro si no ocurre nada, podría ser que haya utilizado un nombre de artículo incorrecto.

Aplicación móvil OpenHAB

Aunque puede usar la interfaz web desde un dispositivo móvil, OpenHAB tiene aplicaciones nativas para iOS y Android, y se ven mucho mejor que la interfaz predeterminada del navegador. En la pantalla de configuración, ingrese la URL local como la IP interna que ha estado utilizando hasta ahora, incluido el número de puerto. Para URL remotas, ingrese https://my.openhab.org y su nombre de usuario (correo electrónico) y la contraseña que ingresó cuando se inscribió. Si todavía no se ha registrado en MyOpenHAB, simplemente deje la autenticación y la URL remota en blanco, pero solo accederá a su sistema desde su red local de Wi-Fi.

openhab-mobile

Avanzando y recibiendo ayuda

La cantidad de personalización y características geniales que puede agregar a su controlador OpenHAB es realmente una especie de épica. Además de la vasta lista de dispositivos compatibles con enlaces, puede usar la interfaz RESTful, extensiones HTTP e IFTTT para leer o controlar literalmente cualquier tipo de dispositivo IoT, y más (pruebe algunas de nuestras ideas de iluminación creativa). para iluminación LED de automatización doméstica a color 7 Usos creativos para iluminación LED de automatización doméstica a color Encender las luces automáticamente es ciertamente genial, pero no aprovecha el espectro completo de colores disponibles con iluminación RGB. Para eso, necesitamos ser creativos. . Lee mas ). Sí, es un doloroso de instalar, pero ni un solo sistema comercial puede acercarse al poder de un sistema OpenHAB personalizado.

Dicho esto, el viaje no fue del todo fácil para mí, que es precisamente por eso que escribí esta guía, para facilitar el proceso para usted. Manténgase en sintonía con MakeUseOf para obtener una guía avanzada que cubre Z-Wave y otros trucos geniales que puede configurar.

Si necesita ayuda con una parte específica de esta guía, solicite información en los comentarios. Si desea ayuda con otro enlace o algunos temas avanzados que aún no hemos cubierto, los foros oficiales de OpenHAB son un lugar acogedor.

In this article