Home Assistant: Con tecnología IOTA – Tangle

Home Assistant: Con tecnología IOTA – Tangle

Home Assistant es una increíble plataforma de automatización del hogar de código abierto; con un fuerte enfoque en la privacidad, que ofrece integraciones para más de 1000 componentes inteligentes para el hogar. El proyecto pone primero el control local y le permite ejecutarlo en su servidor local.

IOTA es un libro de contabilidad distribuido de código abierto; creado para impulsar el futuro de la Internet de las Cosas con microtransacciones de Feeless e integridad de datos para máquinas. También puede ejecutarlo en su propio servidor; y miles de personas, posiblemente muchas más, incluido este autor, lo hacen.

La integración de estas dos tecnologías permitiría de inmediato muchas más aplicaciones posibles. Sin pensarlo demasiado; me vinieron a la mente los siguientes ejemplos:

Reacción a los eventos en el Tangle

Se supone que su solución para el hogar inteligente se ejecuta en un dispositivo pequeño; como una Raspberry Pi, en su hogar. Pero llegará un momento en que querrá ser capaz de desencadenar acciones desde fuera de esa casa.

Un ejemplo de esto podría ser un cartero; que quiere abrir la puerta de su casa para entregar el correo. O un anfitrión de AirBnB, que temporalmente otorga a un invitado acceso a su hogar. O simplemente un amigo; a quien de otra forma le darías una llave física.

Para esto, podría exponer su servidor de Home Assistant a Internet; pero esto conlleva sus propios riesgos. La combinación de Home Assistant con IOTA resuelve esto con elegancia; eliminando todos los problemas de seguridad.

Su cartero, invitado o amigo tendría que publicar esta acción de «puerta abierta» en el Tangle; firmada digitalmente para que luego pueda probar sin lugar a dudas que la puerta abierta fue el resultado directo de este mensaje. El mensaje también tiene que estar encriptado; para que nadie más pueda saber cuándo llegan los invitados a su apartamento o cuando está desocupado.

 

Home Assistant - IOTA Latino - 2

Pistas de auditoría en Tangle

Como se indicó inicialmente; IOTA es excelente para garantizar la integridad de los datos. Aquí es de donde viene el siguiente caso de uso: Pistas de auditoría.

Ciertos cambios del estado se pueden publicar en Tangle; para probar después que los datos son puros e inalterados.

Estos cambios de estado podrían ser simples, como detectores de movimiento, que activaron una alerta; o escenarios más complejos como los sensores de temperatura que publican sus valores de manera regular para garantizar que la cadena de enfriamiento de un proveedor de alimentos no se rompa.

Los datos sin procesar pueden estar encriptados; por lo que solo el propietario de la clave privada correspondiente puede entenderlos; o puede estar abierto deliberadamente y todo el mundo puede ver.

Prueba de concepto y detalles técnicos

ZMQ <-> Websocket bridge

Para reaccionar ante mensajes en Tangle, primero debe haber una posibilidad de escuchar nuevos mensajes. Aquí es donde comenzó a complicarse; los enfoques actuales tienden a sondear los nodos IOTA a intervalos regulares. Quería notificaciones casi en tiempo real sin tensión en los nodos; por lo que se me ocurrió otra solución.

La Implementación de IOTA en Home Assistant ya proporciona un flujo de transacciones de este tipo; a través del protocolo ZeroMQ. Esto generalmente no está expuesto por nodos públicos; así que construí una envoltura alrededor de eso. iota-websocket-proxy es (como su nombre indica) un proxy websocket; que permite suscripciones por dirección, y puede estar expuesto a Internet.

Oyente de MAM

Este componente integra los mensajes recibidos a través del módulo de mensajería autenticada enmascarada (MAM) de IOTA en la plataforma Home Assistant.

El componente de automatización de Home Assistant ofrece una amplia gama de configuraciones posibles; por lo que el oyente MAM se puede utilizar en varios escenarios diferentes. La idea básica es que alguien activará una acción adjuntando un paquete a Tangle. Cuando Home Assistant advierte tal acción; se activará el evento iota_mam.action_triggered . Este evento tiene un identificador único (como open_door ). También puede contener algunos datos adicionales (como qué puerta se debe abrir exactamente).

Editor MAM

Este componente es para el caso de uso de «Registro de auditoría» y «Mercado de datos«. Se basa en el componente de notificación de Home Assistant; por lo tanto, se puede usar para publicar cualquier mensaje en el flujo de MAM en Tangle.

Puede usarlo para datos que pueden ser públicamente legibles, privados o restringidos. Cualquier persona que conozca la raíz del mensaje puede descifrar los mensajes privados (la dirección es solo el hash de la raíz), los mensajes restringidos también necesitan una clave adicional (clave de cifrado).

 

Fuente/medium.com