OpenHAB
Bus de automatización para el Hogar (Casa Inteligente)
openHAB, Release 2.5
openHAB 2.5:
Ha pasado un año completo desde openHAB 2.4 y mientras tanto han pasado muchas cosas. ¡Un nuevo lanzamiento está atrasado y nos complace anunciarles hoy el nuevo lanzamiento 2.5!
Estoy seguro de que muchos usuarios estaban esperando este lanzamiento desde hace bastante tiempo. En el pasado, nos esforzamos por tener al menos dos lanzamientos por año, pero hemos omitido hacer uno en verano este año. La razón de esto es que se han producido algunos cambios importantes bajo el capó, que no son directamente visibles para los usuarios, pero que tienen bastante impacto en todos los desarrolladores: hemos cambiado por completo el sistema de compilación subyacente. Esto dio como resultado un esfuerzo mucho mayor del previsto inicialmente y pasaron muchos meses antes de que los encargados del mantenimiento y los colaboradores volvieran a trabajar en las funciones y no en las cosas relacionadas con la construcción y el IDE. No obstante, nos complace que, como resultado de este ejercicio, los contribuyentes ahora puedan trabajar con mucha más facilidad con IDE alternativos, como IntelliJ y VisualStudio Code, lo que ha sido una solicitud frecuente en el pasado. Además, el nuevo sistema de compilación nos permitirá acelerar significativamente los tiempos de compilación en el futuro y manejar más fácilmente las dependencias externas.
Otra refactorización importante que ha ocurrido es la reintegración del código Eclipse SmartHome en openHAB que se completó con éxito y nos dejó con una configuración de proyecto y comunidad mucho más simple y menos dependencias entre proyectos.
A pesar de todos esos esfuerzos internos, estoy sorprendido por la larga lista de cambios funcionales que mencionan las notas oficiales de la versión: hay 46 nuevos complementos incluidos en la distribución, que es casi un complemento por semana desde la última versión - otro Un gran paso adelante en términos de soporte de dispositivos, haciendo de openHAB una plataforma de integración muy versátil.
Como de costumbre, no entraré en todos los detalles, ya que recomendaría echar un vistazo a las notas de la versión en detalle. En cambio, permítanme mencionar un par de nuevas funciones:
Ephemeris (Efemérides):
La nueva función de Ephemeris (efemérides) permite crear reglas de automatización mucho más precisas: proporciona información sobre los días: ¿es un día laborable o un fin de semana? ¿Es un feriado bancario? ¿Es el cumpleaños de alguien o tal vez es hora de llevar la basura afuera? Usando la información de efemérides dentro de las reglas, es mucho más fácil, p. ajuste los tiempos para los obturadores automáticos, el despertador, los mensajes de información apropiados en la mañana, etc.
Esta característica viene preconfigurada con los días festivos oficiales para muchos países y regiones, pero también es totalmente personalizable para otras situaciones y requisitos.
Tesla Binding (Enlace):
Con los sistemas fotovoltaicos cada vez más extendidos y los vehículos eléctricos revolucionando la industria automotriz, la disciplina de la administración de energía dentro de los hogares inteligentes recibe una atención creciente. Especialmente desde que el Model 3 de Tesla llegó al mercado y se convirtió en el vehículo eléctrico más vendido en 2019, fue importante agregarle soporte en openHAB.
Como resultado, el enlace openHAB Tesla se ha mejorado para admitir todos los modelos actuales (S, 3, X) e incluso el próximo Modelo Y. El enlace proporciona una enorme lista de canales, que da acceso a todos los aspectos del automóvil y especialmente a todos los detalles sobre el estado de la batería, el rango disponible, la configuración de carga y el autoacondicionamiento.
Además de acceder al vehículo desde openHAB, obviamente también es posible acceder a openHAB desde el vehículo, ya que proporciona una pantalla perfecta para tales fines.
Shelly Binding (Enlace):
Otra tecnología muy popular que tuvo una comunidad en rápido crecimiento durante 2019 son los dispositivos Shelly. Esos dispositivos están basados en chips ESP, proporcionando conectividad Wifi y abrazando a los fabricantes al no depender de un servicio en la nube del proveedor, sino al ofrecer conectividad local a través de los protocolos MQTT y CoAP. Es genial ver que esta estrategia demostró ser muy exitosa y que la gama de productos ofrecidos está creciendo rápidamente.
Si bien ya era posible usar esos dispositivos con el enlace MQTT, el nuevo enlace OpenHAB Shelly hace que sea mucho más fácil para las personas que no tienen experiencia con MQTT integrar esos dispositivos. El enlace admite el descubrimiento automático y utiliza internamente el protocolo CoAP moderno para la comunicación.
Aplicaciones y Habilidades:
Además del trabajo en la distribución de openHAB, hubo mucha actividad en otras partes de la solución general de openHAB, que también vale la pena mencionar. Me gustaría dar la palabra a los mantenedores de los componentes correspondientes:
Habilidad openHAB Alexa:
Jeremy Setton, es el encargado de la habilidad openHAB Alexa:
La nueva habilidad de Alexa es compatible con la última versión de Smart Home Skill API V3 de Amazon, que proporciona un conjunto mucho más rico de funciones para modelar dispositivos para el control de voz. Si bien la versión V2 de la API permitió el control básico de la iluminación, el termostato y la cerradura, la nueva API puede modelar casi cualquier cosa, con soporte nativo para dispositivos AV, sistemas de seguridad, escenas, así como soporte mejorado para termostatos, cerraduras y dispositivos de iluminación / alimentación. . Lo más importante, la habilidad también es compatible con las API de bloques de construcción flexibles que extienden el control de voz a cualquier dispositivo, desde ventiladores hasta electrodomésticos complejos, como lavadoras, persianas y puertas, cuando se asocia con la última función de extensiones semánticas. Finalmente, la nueva API presenta informes de estado que brindan la capacidad de sondear el estado actual de los dispositivos modelados en la aplicación móvil Alexa.
La habilidad aprovecha el uso de metadatos openHAB en lugar de etiquetas. Esto permite un mayor nivel de personalización de elementos expuestos a Alexa. Las etiquetas existentes continuarán funcionando con la nueva habilidad, por lo que los usuarios no necesitarán migrar su configuración actual a menos que deseen usar las funciones mejoradas que ofrece la nueva versión de la habilidad. Además, simplifica automáticamente la configuración del elemento aprovechando algunas de sus propiedades, como el tipo, la presentación del estado y la unidad de medida, junto con la configuración regional del servidor.
Está disponible en todos los idiomas y países de la habilidad Alexa actualmente compatibles:
Inglés (AU), Inglés (CA), Inglés (GB), Inglés (IN), Inglés (US), Francés (CA), Francés (FR), Alemán (DE), Hindi (IN), Italiano (IT), Japonés (JP), portugués (BR), español (ES), español (MX), español (EE. UU.)
La última guía proporciona toda la información y ejemplos necesarios para aprovechar estas nuevas funciones.
openHAB Google Assitant:
Mehmet Arziman, es el encargado asistente de Google openHAB:
La integración de Google Assistant para openHAB, como uno de los primeros proyectos de código abierto incluidos, recibió grandes mejoras y refactorizaciones. La integración general se volvió mucho más robusta, flexible y extensible para estar preparada para el futuro. La arquitectura principal utiliza una arquitectura estable sin servidor con altos estándares de seguridad.
La integración funciona en todos los idiomas admitidos por Google Assistant y admite las últimas acciones de la API de Google Smarthome.
Al ser el primer sistema de integración de código abierto dentro del Asistente de Google, Google agregó una mejor documentación, ejemplos y más soporte para los tipos de dispositivos. OpenHAB Google Assistant Integration ahora es compatible con casi todos los dispositivos posibles, por ejemplo, persianas enrollables, puertas y ventanas, aspiradoras, cortinas, cerraduras (puertas) y muchos más.
Aplicacion openHAB para iOS:
Tim Müller-Seydlitz, encargado de mantener la aplicación openHAB iOS:
Después de un largo período de inactividad, el cliente iOS ha recibido una serie de nuevas actividades que llevan la aplicación al mundo moderno.
Si bien hay numerosos cambios y actualizaciones, el más grande no es algo que sea inmediatamente visible para los usuarios finales, pero es de vital importancia para el desarrollo futuro: el código basado en Objective-C fue portado completamente a Swift. La cantidad de retrabajo y reescritura de código para esta tarea fue enorme. Con nuestra base de código ahora en el lenguaje preferido de Apple, hemos estado a la par con el desarrollo en otras plataformas. También sentamos las bases para más mejoras de nuestra aplicación iOS y hemos reclutado una comunidad activa de contribuyentes.
El cambio más visible resultante de este puerto a Swift fue posible inmediatamente después del lanzamiento de iOS 13. La aplicación iOS ahora admite el hermoso Modo Oscuro.
Además, el soporte de video se mejora al agregar soporte para mjpeg. La accesibilidad se mejora al manejar los cambios en el tamaño de fuente. Implementamos retroalimentación háptica y agregamos una barra de búsqueda para elementos en el mapa del sitio. El proceso de autenticación se mejoró y ahora admite certificados de cliente mTLS.
Aplicacion openHAB para Android:
En las últimas versiones, la aplicación openHAB para Android obtuvo dos nuevas características que se han solicitado durante mucho tiempo: Widgets y un complemento Tasker. Con la última versión, la aplicación también recibió soporte para el nuevo modo oscuro de Android 10.
Los widgets de la pantalla de inicio se pueden usar para establecer un elemento en un estado específico o alternarlo. Puede crear widgets desde el menú de widgets en su lanzador o mediante un clic largo en un elemento.
El complemento de acción Tasker admite establecer un elemento en un estado fijo o en el valor de una variable Tasker. Es compatible tanto con los comandos del artículo como con las actualizaciones e informa los errores a Tasker.
Panorama a Futuro:
Con la versión 2.5, nuestra rama maestra de desarrollo se ha convertido en 3.0.0. Esto significa que lo más probable es que no haya tiempo de ejecución de openHAB 2.6 en el futuro, aunque todavía habrá actualizaciones 2.x en los complementos. El foco de los mantenedores centrales estará claramente en openHAB 3 de ahora en adelante, lo que traerá cambios más grandes que se han discutido desde hace un tiempo: las UI existentes serán reemplazadas por una sola, completamente implementada desde cero. El motor de reglas de "próxima generación" se convertirá en el predeterminado, brindando potentes secuencias de comandos Python a todos los usuarios. Se discuten muchos más cambios que le brindarán una experiencia completamente nueva, al tiempo que ofrece una ruta de actualización para todos los usuarios existentes, ¡así que esté atento!
Me gustaría agradecer a todos nuestros mantenedores, colaboradores y usuarios por ser una comunidad tan fantástica. Es increíble que hayamos alcanzado otro gran hito al enviar openHAB 2.5 y hasta ahora ha sido un gran viaje: ¡openHAB celebrará su décimo aniversario el próximo año! Continúe difundiendo la palabra y ayude a hacer crecer la comunidad.
¡A Disfrutar de la próxima temporada festiva, a juegar con el nuevo lanzamiento de openHAB y comparte tus experiencias con nosotros, tu familia y tus amigos!
Traducido del articulo original escrito por Kai Kreuzer Fundador y lider del proyecto openHAB!!
Espero les sea de utiliadad
openHAB, leer temperatura CPU mqtt
Buenas a todos comenzando con una serie de articulos breves y utiles vamos a ver como podemos leer la temperatura del CPU de nuestra Raspberry PI y publciar el valor por MQTT en openHAB 2.4
Requermientos:
Para poder utilizar este script es necesario tener instalado openHAB 2.4 sobre una raspberry PI, utilizar un broker MQTT en mi caso Mosquitto paquetes de servidor y clientes y los archivos de openHAB utilizan la sintaxis del MQTT Binding (1.x)
Ahora si con todo esto claro vamos a comenzar a crear los archivos necesarios para poder tener la temperatura de nuestra Raspberry PI,
El primer archivo que vamos a crear sera /etc/openhab2/scripts/cpu_mqtt.sh con el siguiente contenido:
#!/bin/bash
cmd=$(vcgencmd measure_temp | sed 's/temp=//' | sed 's/C//' | sed 's/.$//g'
echo 'Temperatura CPU:' $cmd
mosquitto_pub -h 127.0.0.1 -p 1883 -t 'rpi3/cpu_tmp' -m $cmd
Al ejecutarlo se obtiene el siguiente resultado:
Para que nuestro indicador se actualice debemos crear una regla creando el siguiente archivo /etc/openhab2/rules/cpu_tmp.rules
(en mi ejeplo se actualiza el indicador cada 5 minutos)
rule "CPU TEMP - Inicio"
when
System started
then
executeCommandLine("sudo /etc/openhab2/scripts/cpu_tmp_mqtt.sh")
logInfo('Info','Actualizando CPU Temperatura')
end
rule "CPU TEMP"
when
Time cron "0 0/5 * * * ?" // Actualizacion cada 5 minutos
then
executeCommandLine("sudo /etc/openhab2/scripts/cpu_tmp_mqtt.sh")
logInfo('Info','Actualizando CPU Temperatura')
end
Para poder sumar la temperatura del CPU de nuestra Raspberry PI es necesario crear lo siguiente en el archivo /etc/openhab2/items/cpu_tmp.items
Number CPU_TMP "Temperatura CPU[%.1f]" {mqtt="<[broker:rpi3/cpu_tmp:state:default]"}
Por utlimo para poder la temperatura en nuestro sitemap tenemos que agregar la siguiente linea:
Text item=CPU_TMP label="Temperatura: " icon="temperature_cold"
Ejemplo en sitemap aplicacion iOS:
Espero les sea de utilidad!
Saludos!