# Openwebnet

OpenWebNet es un protocolo de comunicación proyectado y desarrollado por BTicino a partir del 2000.
El protocolo nace para permitir la interacción con todas las funciones disponibles en el sistema Domótico MyHome realizado por Bticino.
La evolución reciente permite utilizar el protocolo OpenWebNet para interactuar con cualquier sistema de domótica (por ejemplo los sistemas basados en el bus KNX o también el sistema DMX) mediante los gateway adecuados.
El estándar OpenWebNet está divulgado en la Community MyOpen.

## Protocolo OpenWebNet

El protocolo está desarrollado independientemente del medio de comunicación utilizado. Por ejemplo es posible utilizar una aplicación en un ordenador personal conectado directamente, vía ethernet, serial RS232 o USB a un gateway conectado directamente al sistema domótico por controlar.
El requisito mínimo, consiste en utilizar tonos DTMF en la línea telefónica PSTN para la transmisión de los mensajes.
Quienquiera puede solicitar la extensión de los mensajes que constituyen el lenguaje de interacción con el campo. Proponer el mismo RFC que será examinada y divulgada si cumple con los requisitos de la sintaxis de OpenWebNet.

## Sintaxis

Un mensaje OpenWebNet está estructurado mediante campos sucesivos, que precisan el detalle de la información contenida; estando caracterizados por una estructura con campos de longitud variable separado por el carácter "*" y finalizado el mensaje con "##".
Los caracteres admitidos en los campos son números y el carácter "#".
La estructura de un mensaje es:
Actualmente se admiten la siguiente tipología de campos:
* QUIEN
* DÓNDE
* QUÉ
* TAMAÑO
* VALOR
QUIEN
Por ejemplo: QUIEN = 1, envía los mensajes para la gestión de la iluminación.
DÓNDE
Envía el conjunto de objetos interesados al mensaje.
Puede ser objeto individual (punto-punto), un ambiente específico (Ambiente),un grupo de objetos (Grupo), todo el sistema (General).
Para cada QUIEN (y por lo tanto para cada función) se precisa una tabla de los DÓNDE.
El tag DÓNDE también puede contener parámetros (facultativos), especificados de este modo: DONDE#PAR1#PAR2... #PARn.
Ejemplo de DÓNDE: todas las luces del grupo 1, el sensor 2 de la zona 1 del sistema de Alarma, etc.
QUÉ
Realiza una acción a cumplir o un estado a leer.
Para cada QUIEN, y por lo tanto para cada función, se precisa una tabla de los QUÉ.
El campo QUÉ también puede contener parámetros (facultativos) especificados de este modo: QUÉ#PAR1#PAR2... #PARn.
Ejemplo de acciones: encender luz, dimmer al 75%, bajar persiana, encender la radio, etc.. Ejemplo de estados: luz encendida, alarma activa, batería descargada, etc.
TAMAÑO
Es el tamaño que caracteriza el objeto a que hace referencia el mensaje.
Por cada QUIEN (y por lo tanto para cada función) se precisa una tabla de los TAMAÑOS.
Es posible solicitar / leer / escribir el valor de un tamaño. A cada tamaño están asociados un número establecido de valores, especificados por el campo VALOR
Ejemplo de tamaño: la temperatura de un sensor, el volumen de un altavoz, la versión firmware de un dispositivo.
VALOR
Localiza el valor leído o a escribir del tamaño requerido / leído / escrito en el mensaje.

## Mensajes

Existen 4 tipologías de mensajes OpenWebNet
* Mensajes de Comando / Estado
* Mensajes de Consulta de Estado
* Mensajes de Solicitud / Lectura / Escritura Tamaño
* Mensajes de Acknowledge
Mensajes de Comando / Estado
Mensajes de Consulta de Estado
Mensajes de Solicitud / Lectura / Tamaño de Escritura
Mensajes de Acknowledge

## Gateway OpenWebNet

Existen hoy en día dos tipologías de gateway que permiten alcanzar el bus de campo
* gateway ethernet
* Interfaz Serial/USB
Gateway Ethernet
Son gateway embedded, que funcionan de traductor entre los mensajes OpenWebNet transmitidos sobre protocolo TCP/IP y los mensajes SCS del bus de campo.
Los gateway están desarrollados sobre la plataforma Linux.
Interfaz Serial/USB
Se trata de una interfaz que funciona de traductor entre los mensajes OpenWebNet transmitidos por el puerto USB y/o sobre el puerto Serial RS232 y los mensajes SCS del bus de campo.

## Documentatión externa

* (en inglés) Moneta, D. Mauri, G. Bettoni, C. Meda, R. - Cesi ricerca (Italy) https://web.archive.org/web/20110706133239/http://www.cired.be/CIRED07/pdfs/CIRED2007_0522_paper.pdf Test Facility for the assessment of local energy management systems; 19th Conference on Electricity Distribution, Vienna (21-24 de mayo de 2007).
* (en inglés) Moneta, D. Bisone, L. Mauri, G. Meda, R. - Cesi ricerca (Italy) http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&arnumber=4209527&isnumber=4209049 New interactions between LV customers and the network: further possibilities for home automation functions ; IEEE International Conference on Robotics and Automation, Rome (10-14 de abril de 2007).
* (en inglés) Bonino, D. Castellina, E. Corno, F. - Politecnico di Torino (Italy) http://www.cad.polito.it/pap/db/ictai08.pdf (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). DOG: an Ontology-Powered OSGi Domotic Gateway; Torino (September 2008).