Un poco de historia Z-Wave
La tecnología o protocolo Z-Wave fue desarrollado por la empresa danesa Zensys. Su primer SoC (System on a Chip) fue comercializado en 2003. Z-Wave fue adquirida por la compañía Sigma Designs en Diciembre de 2008. En Abril de 2018 Sigma Designs es comprada por Silicon Labs lo que convierte a esta última compañía en el fabricante de los chips Z-Wave además de otras tecnologías como Zigbee, WI-FI o Bluetooth.
Desde su creación la tecnología Z-Wave ha sido propietaria. La librería OpenZWave (OZW), fue creada en un principio usando técnicas de ingeniería inversa. Aunque Sigma/Zensys era consciente de la existencia de este grupo de desarrollo, no pusieron objeción a que continuasen con su trabajo aunque no les facilitaron la documentación oficial sin pasar por el proceso de certificación para garantizar compatibilidad entre dispositivos. Además este proceso de certificación incluía acuerdos de confidencialidad que para este grupo de desarrollo opensource no era algo planteable.
En el año 2015 se publica el standard internacional ITU-T G.9959 de las capas física y MAC del protocolo Z-Wave.
En Septiembre de 2016 Sigma Designs decide hacer pública la capa de interoperabilidad de la especificación Z-Wave lo que facilitaría más el desarrollo de la librería OZW.
¿Qué es OpenZWave?
OZW es una librería de capa de aplicación Z-Wave y nos permite, a nivel de programa, comunicarnos con un controlador Z-Wave usado mensajes Z-Wave. De esta forma nos permite realizar un programa que se comunique con un controlador Z-Wave compatible. La licencia de OZW es la conocida LGPL lo que quiere decir que es open source y que puede ser usada en programas privativos.
¿Qué programas usan OpenZWave?
Actualmente existen muchos programas que utilizan OZW y destacaremos de ellos los más conocidos:
- Home Assistant. Está específicamente diseñado para ser instalado en una Raspberry Pi. Es un software distribuido bajo licencia Apache 2.0. Nos permite construir un controlador domótico que se puede integrar con varias tecnologías como Z-Wave, Zigbee, MQTT, Sonos, Alexa, Google Assistant, etc
- Domoticz. Soporta una gran variedad sistemas operativos como Windows, Linux, MacOS y hardware específico como NAS Synology o Raspberry Pi. Se distribuye con licencia GPL 3.0. Nos permite construir un controlador domótico que puede integrar varias tecnologías como Z-Wave, Zigbee, LoRa, MQTT, X10, etc.
- OpenHab. Soporta Sistemas Operativos Linux, Windows y MacOS y también puede ser instalado en plataformas como Raspberry Pi. Se distribuye bajo licencia Eclipse Public License. OpenHab tiene infinidad de add-ons para integrarse con infinidad de tecnologías entre las que destacamos: Z-Wave, Zigbee, Knx, Insteon, MQTT, y un largo etcétera.
¿Qué dispositivos controladores soporta OZW?
OZW necesita de un hardware controlador Z-Wave para poder comunicarse con dispositivos Z-Wave. Entre varias opciones los más comúnmente utilizados en proyectos con OZW se encuentran los siguientes:
La primera opción es dependiente del hardware Raspberry Pi. Las otras dos son USB por lo que podríamos usarlas con diversos sistemas operativos como Windows, Linux o MacOS.
¿Qué otros dispositivos soporta OZW?
OpenZWave tiene una base de datos con todos los dispositivos soportados por la librería. El abanico es amplio y podemos consultarla aquí.
Conclusiones sobre OpenZWave
OZW nos permite una interfaz de programación para poder realizar nuestros proyectos Z-Wave. Aunque hay que tener un nivel avanzado de sistemas y de programación (Lenguajes C o C++) para poder utilizarla directamente sí que hay proyectos como python-openzwave que nos permiten poder usarla con lenguajes de más alto nivel como Python o Lua.
No obstante sí es cierto que, como ya hemos visto, existen otros proyectos de software que la utilizan y que son plenamente funcionales. Por lo tanto aunque no tengamos conocimientos de programación si nos puede interesar conocer este componente de software como «pegamento» para otros subsistemas Z-Wave.