El protocolo de comunicación UPnP/DLNA (Universal Plug and Play / Digital Living Network Alliance) está muy extendido hoy en día, especialmente en el ámbito doméstico. Aunque quizá no sepas a ciencia cierta lo que es, es probable que lo hayas usado en más de una ocasión, especialmente para reproducir contenidos multimedia en tu televisor “inteligente” desde tu ordenador o un servidor NAS.
Es un protocolo que nos permite “ver” de forma transparente en nuestra red local todos los dispositivos UPnP que usan esa misma red, e interactuar con ellos. Lo que olvidamos a menudo, es que UPnP no sólo nos permite ver contenidos de un dispositivo en otro, sino además tomar el control de múltiples dispositivos a distancia, para subir o bajar el volumen, reproducir o parar un contenido, cambiar de pista, hacer pausa…
Con estas premisas, no cabe duda de que UPnP puede ser un aliado muy importante en domótica si nuestro controlador nos permite mandar a través de nuestra red local comandos de control UPnP hacia otros dispositivos, como es el caso de los controladores eedomus y eedomus+ de la empresa francesa Connected Object.
En este articulo vamos a explicar cómo controlar dispositivos UPnP desde nuestro controlador eedomus, si bien es algo que se puede hacer también en otros controladores de otras marcas, a través de dispositivos virtuales, como los Home Center de Fibaro.
¿Qué usos concretos tiene el UPnP en domótica?
Sólo con lo que acabo de comentar sobre el protocolo UPnP/DLNA, seguro que ya estás pensando en un montón de aplicaciones para tu hogar. Y es que son muchas las aplicaciones posibles, sólo hay que pararse a pensar un poco.
¿Quién no ha soñado alguna vez con poder ver en su televisor las imágenes en directo de sus cámaras de vigilancia cuando oye un ruido en su casa o cuando llaman a la puerta?
¿Quién no ha pensado en algún momento en conocer el estado de su sistema domótico a través de mensajes hablados, especialmente en situaciones críticas como detección de humo, escape de agua, etc.?
¿A quién no le gustaría sorprender a su familia política con mensajes de audio cuando se abre la puerta de casa, cuando empieza a llover o cuando es la hora de ir a recoger a los niños al cole?
Todo eso y cosas probablemente mucho más útiles se pueden hacer integrando nuestros dispositivos UPnP en nuestro sistema domótico.
Creación y uso de un actuador UPnP en eedomus
Es realmente muy sencillo crear un actuador UPnP en el controlador eedomus. Para ello nos iremos a Configuración/Añadir o eliminar un periférico/Otros tipos de periféricos/Web/UPnP Actuador.
Pincharemos en “Crear” y se abrirá la típica pantalla de configuración de un nuevo módulo, en este caso un módulo virtual actuador UPnP. Le pondremos un nombre, lo situaremos en una de las habitaciones de nuestra instalación domótica y, muy importante, indicaremos la dirección IP en nuestra red local del dispositivo UPnP que queramos controlar (de ahí la importancia de asignarle una IP fija a ese dispositivo, para que siempre sea la misma).
Como se ve en este ejemplo, el dispositivo UPnP que yo voy a controlar es un media center con XBMC (y más concretamente OpenELEC instalado en una Raspberry Pi, como expliqué en este post anterior), ya que mi televisor es un plasma de hace ya unos años que no es SmartTV. Pero ya digo que podríamos hacer lo mismo con cualquier dispositivo que admita el protocolo UPnP.
Para controlar XBMC a través de comandos UPnP, tan sólo hay que autorizar el control a distancia en los ajustes de configuración de XBMC.
En la pantalla anterior, pulsaremos en “Guardar y seguir editando” y nos iremos a la pestaña “Valores”, como hacemos casi siempre que creamos un dispositivo nuevo en nuestro controlador eedomus, para ver los valores que se han creado por defecto con el actuador, y modificarlos en su caso.
Como vimos en este videotutorial sobre la configuración de periféricos en eedomus, ya sabemos que podemos cambiar los iconos a nuestro gusto, así como modificar y añadir valores, lo que puede ser muy interesante en este caso concreto para poder regular el volumen con más precisión, por ejemplo.
Nos vamos a fijar además en el valor “Cargar pista”, que nos permite cargar una pista, ya sea de audio o de vídeo, en nuestro dispositivo UPnP desde una URL. Aunque en la captura superior el valor está vacío, cuando se crea el actuador por defecto viene una pista de audio alojada en la web de eedomus, que nos servirá para probar.
En mi caso concreto, yo he puesto ahí la URL de la imagen en directo de una cámara D-Link, para poder ver esas imágenes en mi televisor a demanda en cualquier momento, o a través de una escena de forma automática cuando llaman al timbre.
[plain]&track=http://USUARIO:CONTRASEÑA@IP-LOCAL-CÁMARA:PUERTO/video/mjpg.cgi[/plain]
Para conseguir eso, he usado el formato de URL que indico, que es propio ya no sólo de D-Link, sino de mi modelo de cámara IP y del firmware de ésta. Si usas otra cámara de otra marca y quieres conseguir lo mismo, deberás usar la URL correcta. Como digo, cada marca, cada modelo y cada firmware tiene su formato concreto que hay que conocer, pero que no es demasiado complicado de encontrar en Internet.
Si te parece interesante, quizá podríamos crear en nuestro foro un hilo específico sobre los formatos de URL’s que hay que utilizar para distintas cámaras/fimware, lo que nos será muy útil para este uso concreto del UPnP, pero también para integrar una cámara IP en nuestro controlador eedomus o de cualquier otra marca, para mover su motor mediante un actuador http, etc.
Una vez que hayamos revisado y modificado los valores de nuestro actuador UPnP, pulsaremos en “Guardar” y podremos usar el actuador como cualquier otro dispositivo incluido en nuestra eedomus, desde la interfaz web o la aplicación móvil.
A partir de ahí, ya sólo nos quedará integrar nuestro nuevo actuador UPnP en las escenas domóticas que queramos, para ver las imágenes en directo de nuestra cámara cada vez que alguien llame al timbre, por ejemplo.
Para ello, debemos entender que no basta con poner en nuestra escena “Cargar pista”, por varias razones. Primero porque el comando “Cargar pista” sólo sirve para eso, para cargar la pista literalmente, no para reproducirla. Así que deberíamos usar al menos los comandos “Cargar pista” y después “Leer”.
Pero además debemos contemplar todos los escenarios posibles en nuestro dispositivo UPnP, ya que éste, ya sea XBMC o un SmartTV, puede que esté reproduciendo otro contenido en el momento en que queramos ejecutar nuestra escena para que salgan las imágenes de nuestra cámara en pantalla.
Por ello, crearemos primero una macro (sucesión de acciones en un mismo dispositivo), y esa macro es la que ejecutaremos en nuestra escena. Veamos…
Este podría ser un ejemplo de macro para conseguir exactamente lo que comentaba, es decir parar el contenido que se estuviera reproduciendo en el dispositivo UPnP, cargar nuestra pista, que en este caso sería la imagen en directo de nuestra cámara, y reproducir esa pista.
Ahora sí vamos a crear nuestra escena y ejecutaremos desde ella nuestra macro, como podemos ver en la siguiente captura.
Ideas creativas
Si no tienes eedomus+ y desearías poder recibir avisos por voz de tu controlador, o si tienes eedomus+ pero quieres poder reproducir esos mensajes de audio no sólo en el altavoz del propio controlador, mediante el motor de síntesis de voz, sino mensajes de voz reales grabados por ti que se puedan oír en otros lugares de tu vivienda, tienes una solución sencilla y poco costosa que consiste instalar en una Raspberry Pi una distribución Linux dedicada a la reproducción de audio, con protocolo UPnP. Hay muchas y muy buenas.
Luego le conectas un pequeño altavoz a través del puerto minijack de la Raspberry Pi, metes todo eso en una caja y pones este dispositivo UPnP casero donde más te convenga en tu casa, para poder escuchar en él y desde tu eedomus avisos por voz, reproducir música y mil cosas más.
Si te interesa el controlador eedomus, recuerda que lo puedes reservar en la tienda online de nuestro partner domboo, pinchando en la siguiente imagen. Nos informan desde domboo que aunque el stock de eedomus+ no se ha normalizado del todo aún, ya se han atendido todas las reservas previas y se está sirviendo con más celeridad.
Hola,
Hace mucho tiempo que quería preguntarte lo siguiente:
Siempre se habla de conectar a nuestro controlador domótico (eedomus por ejemplo) una camara IP
Pero yo me pregunto si se podría conectar el tipico kit de camaras con su propia centralita y disco duro (no se si sabes cual te digo) Pues estas a mi entender ofrecen mayor variedad de calidades y precios ademas de que dichas centralitas permiten muchas opciones entre ellas mandarme emails, mascaras, etc
Pero quisiera unirlas por las “ESCENAS” de las centrales domoticas el que cuando se detecte movimiento etc que se activasen unas determinadas escenas.
No se si me he explicado
Gracias de antemano
Mientras esas “centrales” de cámaras se puedan conectar a un router por Ethernet (las de ahora, digitales, sí lo permiten), se pueden integrar en un sistema domótico ya que la integración se hace por IP. La detección de movimiento para escenas, habría que probarla en cada caso concreto porque incluso en las cámaras IP que tienen detección de movimiento, no siempre se puede integrar en un sistema domótico (si esa detección IP no se puede “explotar” a través de la API de la cámara).
Un saludo.
Todas esas cosas que comentas como propias de sistemas no IP son perfectamente válidas para sistemas IP. Tienes transmisión en HD, infrarrojos, mandar emails, máscaras, PTZ, vigilancia de objetos, alarmas por movimiento, etc… en fin, no hay nada que no puedan hacer las cámaras IP.
Hola, Philippe como ya te comente estoy metido con el UPNP últimamente y me viene de perlas este post, muy bueno por cierto.
Gracias.
No dejes de contarme lo que estás haciendo con UPnP Alejandro!!!
Próximamente explicaré cómo usar el motor de síntesis de voz de la eedomus+ por UPnP. No puede ser más sencillo.
Dame un poco mas de tiempo y te digo.
Hola Philippe, muy interesantes todos tus artículos sobre eedomus. Recientemente he adquirido uno en domboo.
La cuestión: he configurado un dispositivo UPnP que es mi smartTV Sansumg en el que quiero reproducir snapshot de foscam FI8909W que he instalado en casa de mis padres a través de internet con ddns. El caso es que ejecuto el comando cgi correcto en http en un navegador funciona correctamente pero cuando lo pongo en “cargar pista” del dispositivo no funciona (&track=http://XXXX.myfoscam.org:PUERTO/snapshot.cgi?user=XXXX&pwd=XXXX). Ya he fijado la dir IP de la smartTV y del eedomus+ y he comprobado que el dispositivo UPnP smartTV reproduce síntesis de voz de eedomus+ (por ejemplo, la tele da la hora en casa), pero no consigo que la smartTV reproduzca la foto de la foscam. ¿alguna idea de lo que debo hacer?
Hola Paco. Dime una cosa. ¿Has integrado tu cámara Foscam en eedomus? Yo probaría a acceder con la IP local, no a través del acceso remoto de Foscam. Yo tengo también una Foscam y me funciona, puedo ver la imagen en directo a través de XBMC. Lo que pasa es que en mi foscam tengo un firmware antiguo y el formato de URL’s no es el mismo. Si te doy el mío no te va a funcionar. Busca cual es el formato de URL’s que tienes que usar con IP local y prueba. Quizá al intentar acceder por el acceso remoto eedomus no deje.
Gracias Philippe por tu rápida respuesta!! Sí, he integrado la Foscam en eedomus+ … pero en remoto, a través de Internet; es decir, el controlador está en mi casa y la cámara Foscam en casa de mis padres … y a través de eedomus+ puedo ver tanto la imagen en directo (estática) como imagen subida a FTP tras detección de movimiento (off-line). eedomus+ no puede utilizar la IP Local de la Foscam (puesto que nunca han estado en la misma LAN) pero si resuelve la IP Remota dinámica (IP Internet) de la Foscam. Efectivamente creo que el problema estará en que eedomus+ no permite ejecutar un track a través de internet porque la url de llamada a la Foscam que indico es correcto (lo ejecuto en un nevagador y muestra la foto) y tampoco consigo en eedomus+ cargue como imagen UPnP en la smartTV una foto de internet (es decir, poniéndole la url de internet de la foto). Tendré probar con la Foscam en IP Local como tu me indicas para confirmar que eedomus+ no permite cargar tracks a través de internet. Aprovecho para otra consulta sobre este tema: ¿se puede acceder al eedomus en modo consola tipo linux o navegar por sus carpetas por ejemplo para administrar fotos o track que queremos reproducir UPnP? Muchas gracias!!!! (si tengo algo de tiempo espero poder contribuir en estos foros, confío que con temas interesantes)
Paco, yo creo que sí permite abrir una URL de fuera, de hecho, si no recuerdo mal lo he probado. Prueba a poner una foto en tu carpeta pública de Dropbox, copias en enlace y lo pegas en el actuador UPnP. Estoy casi seguro de que lo probé y funcionó. Quizá se deba a que esa URL que pones lleva contraseña y usuario y no es https. Quizá sea ese el obstáculo.
No, no puedes acceder en modo consola. No que yo sepa. Piensa que es un sistema en la nube que baja al controlador los datos imprescindibles para el control domótico, no todo. Pero no entiendo exactamente para qué quieres hacer eso. Lo que sí puedes hacer es subir un script y luego llamarlo desde un actuador http.
Gracias Philippe, pero me temo que el problema esta en la SmartTV Sansumg UE55H6400 de 2013, aunque actualizada a enero 2015. No consigo reproducir imágenes en la TV desde eedomus (si audio). Si puedo reproducir imágenes y vídeo en la SamartTV desde PC y tabletas android y por eso pensé que la versión de Allshare de la TV era suficiente también para eedomus. Por ahora no investigaré más este tema a no ser que alguien me diga que le funcipna con esta TV directamente. Es una pena porque sin mas cacharros, como dice mi mujer, habría conseguido un efecto visual fantástico para convencerla de que todo “esto”es util. Muchas gracias
Me cuesta creer que no pueda desde eedomus si puede desde PC. Algo se nos escapa. Has probado a poner un vídeo corto en Dropbox y poner la URL en el actuador UPnP a ver se se ve en el televisor?
hola he probado esto con mi tele y funciona solo algunas cosas pero queria saber si alguien ha probado a encender o apagar el dispositivo con el cual nos conectamos ya que no se que valores hay que darle para que al crear un nuevo valor lo reconozca. No se que hay que poner he probado con &on, &turn on y no me funciona.
Hola Sergio. ¿Tu televisor es Samsung por casualidad? Samsung no permite encender/apagar por UPnP hasta donde yo sé. Hay un truco que consiste en poner un enchufe domótico al televisor y apagar el enchufe en vez del televisor, así cuando vuelves a poner el enchufe en ON, el televisor vuelve al estado en el que se encontraba antes del corte de suministro eléctrico. Apagar así siempre, a la larga no sé el efecto que puede tener. Conviene tenerlo en cuenta. Saludos.
Gracias philippe por tu ayuda, mi TV es LG pero me temo que le pasara lo mismo que a Samsung que no deje encender ni apagar he rastreado un poco la información que hay en la red sobre esto y hay muy poca información así que de momento usare tu recomendación de un enchufe zwave.