viernes, 8 de junio de 2012

Domótica en RaspberryPi (parte 1)

... uno de los SuperPoderes más esperados

¡¡Ha llegado el momento!! Voy a controlar las luces de mi casa, alguna alarma y hasta el termo del agua (soy de Sevilla y hoy sale magma por los grifos). Una brevísima introducción y la explicación tras el salto.

Sistemas de domótica en el mercado puede haber cientos. Los hay carísimos y complejos que sólo controlan un par de luces, los hay que son capaces de controlar miles de dispositivos, puedes hacerte uno tu mismo con un poco de electrónica y los hay que son modulares, que los puedes ir poniendo poco a poco, no muy caros, que permiten conectarse a un pc por usb, que no requieren cableado extra ... es el que voy a usar. Concretamente el protocolo X10, en su versión europea (si sigues mis pasos por favor asegúrate de no equivocarte eligiéndolos).
Mi sistema consta de un controlador-receptor llamado CM15PRO, conecta por usb al RaspberryPi y a un enchufe convencional:
Para las luces usaré módulos on/off para las luces led y de bajo consumo, el AW12:

Para el resto de luce usare módulos regulables en intensidad, el LW12:

Para el termo usare un módulo de aparato, el AM12:

La idea es manejar los módulos desde este micromando, KR22:

también desde el móvil, via web y via teléfono. Y si me quedo sin ruter y sin micromando, puedo seguir encendiendo y apagando con los interruptores de toda la vida. Para el software usaré Mochad.
No voy a entrar ahora mismo en la parte de la instalación eléctrica de los módulos, pero si os diré que es muy sencillo. Recuerda elegir un código de casa y programa el mando y los micromódulos en ese código.

Bueno bueno bueno, instalamos un LW12 en una de las luces del salón, le asigno el código A3. Conecto el CM15PRO a un enchufe y a un usb del Raspberry, ejecuto un dmesg y veo lo siguiente:
usb 1-1.3: new low speed USB device number 4 using dwc_otg
usb 1-1.3: New USB device found, idVendor=0bc7, idProduct=0001
usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.3: Product: USB ActiveHome Interface
usb 1-1.3: Manufacturer: X10 Wireless Technology Inc
Muy bien muy bien. Ahora vamos a compilar mochad: descatgamos de http://sourceforge.net/projects/mochad/
tar -xvzf mochad-0.1.15.tar.gz
cd mochad-0.1.15
apt-get install libusb-1.0-0-dev
./configure
make
make install
./mochad
Para ver y manejar el CM15PRO, hay que realizar una conexión por puerto 1099, así que:
nc localhost 1099
y vamos a encender la luz:
pl a3 on
jejeje y ahora vamos a apagarla
pl a3 off
Perfecto, además puedo controlar el brillo y todo, es tan fácil que es insultante. En próximos post, publicaré unos scripts y demonios para automatizar tareas y además veremos como controlarlo fácilmente desde la web y desde un móvil.

ACTUALIZACIÓN: siguiendo en mi nivel de scripting, voy a usar este superfástico script que me acabo de fabricar, para mandar cómodamente las ordenes al mochad (aviso gurús: es tela de cutre):
#!/bin/bash
echo pl $1 $2 | nc localhost 1099 - eliminame & kill $(ps aux | grep nc | grep eliminame | awk '{ print $2 }')
lo guardamos como /usr/local/bin/x10.sh y le damos permisos de ejecución:
chmod +x /usr/local/bin/x10.sh
Para usarlo, es tan facil como:
x10.sh a2 off

111 comentarios:

  1. Hola, Antes de nada darte las gracias por compartir todo lo que estas haciendo con la Raspberry, Recientemente he conseguido la mia y estoy flipando.

    Una pregunta¿donde compraste los dispositivos domoticos?

    ResponderEliminar
    Respuestas
    1. Hay muchas webs españolas donde venden los módulos.También puedes encontrarlos en Ebay, pero ten mucho cuidado con las frecuencias y los voltajes. Yo compré los mios en www.superinventos.com porque además tienen tienda física en Sevilla y más de una vez me he acercado para consultarles, muy amables.

      Eliminar
    2. en chile cual tendia que comprar para el voltaje aqui usamis 220/240

      Eliminar
    3. cristian, has enconradoa lgo? yo tambien soy de chile

      Eliminar
    4. Hola, me podrían ayudar a armar algo tan simple como prender y apagar una ampolleta ? por favor =D no se como se puede hacer aqui en chile Saludos!

      Eliminar
    5. ¿una bombilla? Puedes usar un relé:
      http://rsppi.blogspot.com.es/2013/07/control-de-rele-mecanico.html
      puedes usar un casquillo x10:
      http://www.superinventos.com/s110118.htm
      puedes usar un kit de este tipo:
      http://4.bp.blogspot.com/_5OhSn0hpffQ/TPKEy82uI8I/AAAAAAAAAFc/r32ujo_aR0E/s320/bombilla-led.jpg
      puedes poner un mayordomo cerca del interruptor y cuando quieras que se encienda la luz, tocas la campana xD
      Soluciones hay miles, cuéntanos tu caso a ver que más se nos ocurre.

      Eliminar
  2. Hola! Acabó de llegarme mi Rpi y estoy muy interesado en Domotica pero no tengo ningún conocimiento, agradezco esta información que compartes, y son bienvenidos más posts de este estilo! Mi pregunta es, que alternativa al CM15Pro conoces o recomendais?

    ResponderEliminar
    Respuestas
    1. La verdad es que si pretendes usar X10 tienes pocas alternativas como controlador. Hay una version del CM15 con puerto serie en lugar de usb, que lo mismo sale unos pocos euros mas barato, pero necesitas un adaptador serie-usb. Hay otros controladores, que no se conectan a un equipo y solo admiten ordenes con el mando a distancia, pero pierde la gracia de poder controlarlo desde el RaspberryPi.
      Si eres un manitas puedes fabricarte un controlador X10 con un arduino (o incluso con el propio RaspberryPi). Si buscas por "x10 arduino" veras a lo que me refiero.
      Tambien es posible que te interese otro tipo de protocolo, en Bricor tienen modulos y controladores para uno por RF, no pinta mal.

      Eliminar
    2. juan mol tienes email o twitter o whattsapp
      saludos mi email netzaq80@gmail.com

      Eliminar
    3. Hola, tienes un formulario de contacto, facebook, google+ y twitter en la columna de la derecha ;)

      Eliminar
  3. Yo también tengo interés en domotica asi que toda la información es bienvenida.

    ResponderEliminar
  4. ¿Podrías hacer un anexo a este artículo de como has colocado todos los modulos en la casa?

    ResponderEliminar
  5. Buenas noches.

    Yo tengo una Raspberry B recien comprada y un CM15pro que uso con Windows pero que quiero usar con mi Raspberry, he seguido todos los pasos al pie de la letra, del dmesg me da los mismos parámetros que a ti, descargo el mochad, lo compilo y lo instalo y , al ejecutar el ./mochad, me dice que no me encuentra el CM15A..... ¿dónde podría encontrar más información para saber que me está fallando?, mis conocimientos de Linux son básicos.

    ResponderEliminar
    Respuestas
    1. pfff la verdad es que no se porque te pasa eso, he probado en varios equipos y siempre funciona a la primera. Ummmm puedes probar enchufarlo a otro pc a ver si funciona correctamente? O no se ... un hub usb alimentado?

      Eliminar
    2. Buenas.
      Ante todo gracias por la respuesta. He probado con un USB alimentado, y nada de nada, el mensaje que me sale es:

      Message from syslogd@raspberrypi at Nov 6 16:50:11 ...
      mochad[2309]: libusb_open_device_with_vid_pid failed

      Message from syslogd@raspberrypi at Nov 6 16:50:11 ...
      mochad[2309]: Could not find/open CM15A/CM19A -5

      Es raro, se que es un expediente X y me tiene loco, por otro lado me lo estoy pasando de miedo; creo que puede ser que no me aparece el driver del CM15a en la carpeta /dev/; según he leido en algunos sitios debería de aparece el driver /dev/cm15a

      Saludos y gracias por todo.

      Eliminar
    3. ummm raro ... mira a ver si puedes actualizar libusb, haz un apt-cache search libusb a ver si te falta algo, siento no poder decirte algo mas especifico.

      Eliminar
  6. Disculpa, se me olvidó dar las gracias por este post y por el resto, son muy buenos y por ellos me he animado a comprarme la Raspberry

    ResponderEliminar
    Respuestas
    1. Hola Lorder,

      Lograste encontrar alguna solucion a este problema?

      Message from syslogd@raspberrypi at Nov 6 16:50:11 ...
      mochad[2309]: libusb_open_device_with_vid_pid failed

      Message from syslogd@raspberrypi at Nov 6 16:50:11 ...
      mochad[2309]: Could not find/open CM15A/CM19A -5

      Me esta pasando exactamente lo mismo...

      Saludos!

      Eliminar
  7. Hola, lo primero gracias por compartir tus avances!.
    Tengo algunas dudas, hay que cambiar todos los interruptores, conmutadores de casa por pulsadores? o se pueden mantener los interruptores y conmutadores existentes?.

    ResponderEliminar
    Respuestas
    1. Buenos días, los micromodulos que uso permiten usar pulsadores y conmutadores (los que tienes ahora). Los conmutadores no pueden regular en intensidad, por lo que usarias el micromodulo de APARATO, con la ventaja de poder usar bombillas de bajo consumo y las de tipo led. Si quieres controlar la intensidad, tienes que cambiar los conmutadores por pulsadores y usar micromodulos de LUZ, y no podrias usar bombillas de bajo consumo y solo algunas bombillas led (asegurate de esto antes).

      Eliminar
    2. gracias por responder. Entonces para un conmutador solo necesitaria poner el modulo en uno de ellos? o en los 2?

      y para un cruzamiento?

      un saludo

      Eliminar
    3. supongo que me estas preguntando sobre un unico punto de luz conmutado desde varios interruptores ¿verdad? Lo que se hace en ese caso es poner los conmutadores (los 2 o los 50.000) en paralelo, no necesitas cruce. Creo que lo mejor que puedes hacer en bajarte las instrucciones del micromodulo de aparato AW12 de la web de Marmitek, que aunque a la primera no te enteras, cuando las lees 10 veces ya, sabes como instalarlo.

      Eliminar
  8. Juanmol que distribucion estas usando para el cacharro?, porque yo no consigo instalar nada de nada!!!

    saludos

    ResponderEliminar
    Respuestas
    1. raspbian, ahora mismo estoy probando la imagen minima de http://www.cnx-software.com/2012/07/31/84-mb-minimal-raspbian-armhf-image-for-raspberry-pi/ que va de arte

      Eliminar
  9. yo instalé el rasprazor atraves de BerryBoot, es el mismo?
    es que no entiendo porque no puedo instalar nada. Solo he podido instalar el tightvnc server y solo responde con el programa remote vnc que tengo en el ipad, desde los windows y los mac no se conecta.

    y por ejemplo el transmission siguiendo tu guia tampoco

    ResponderEliminar
    Respuestas
    1. pues no tengo ni idea, yo probé primero Debian y ahora Raspbian, soy demasiado fanático para probar algo que no sea Debian ;)

      Eliminar
  10. juanmol como configurastes el modulo aw12? me han llegado hoy junto con el cm15pro y no tengo ni idea de como darles la identificacion, estoy probando en windows con el sofware que trae el cm15, no tengo mando

    ResponderEliminar
  11. juanmol me tienes parao.
    Como le pongo A1, A2... al aw12 solo con el cm15??

    ResponderEliminar
    Respuestas
    1. fácil ... cuando sabes como es ;)
      las instrucciones no lo dejan nada claro, pero en realidad es fácil. Primero tienes que instalarlo, asi que hazte un circuito de prueba con un casquillo de bombilla, una bombilla e interruptor (o pulsador). Comprueba que cuando pulsas se enciende y cuando vuelves a pulsar se apaga. Cuando tengas eso, tienes que programar el AW12, lo pulsas 5 ó 6 veces con intervalos de menos de un segundo y verás que dejas de responder, entonces con el mando de radiofrecuencia mandas "a2 on" "a2 off" "a2 on" "a2 off" ... hasta que veas que responde a esa orden.
      En realidad es muy fácil, pero el primero la verdad es que cuesta un poco.

      Eliminar
    2. el problema es que no tengo mando, no se puede hacer solo con el cm15? con active home o desde el raspberry?

      Eliminar
    3. pff no creo, en las instrucciones de los micromódulos viene que hace falta. Yo tengo uno chiquitín, el más barato, solo para estos casos. Cómpratelo, además lo necesitaras para capturar eventos y hacerte tu fantástico demonio X10 ;)

      Eliminar
  12. esto es increible. Ahora no me deja instalar el mochad.
    descomprimo y cuando le doy a ./configure me dice permiso denegado, y estoy como administrador
    Anters de formatear lo pude instalar sin problemas

    ResponderEliminar
  13. calma, que no cunda el panico, que mensaje te da exactamente?

    ResponderEliminar
    Respuestas
    1. Mira cuando las cosas se ponen tontas...
      el active home no me va en windows me da error del x10.dll, en el rasp no me dejaba instalarlo... solo me ha faltado probar en el imac.

      total le he conseguido bajandolo de nuevo y instalandolo desde el usuario pi, sin root

      Eliminar
  14. aunk ahora no encuentra el cm15
    sigamos pues

    ResponderEliminar
  15. Message from syslogd@raspberrypi at Dec 13 23:28:47 ...
    mochad[25196]: Could not find/open CM15A/CM19A -5

    ResponderEliminar
  16. usb_claim_interface failed -6
    hay q instalar algun driver para el cm15?

    ResponderEliminar
    Respuestas
    1. ahora mismo estaba probando y me sale el mismo mensaje:
      root@raspberrypi:/usr/src/mochad-0.1.15# mochad
      root@raspberrypi:/usr/src/mochad-0.1.15#
      Message from syslogd@raspberrypi at Dec 14 16:39:33 ...
      mochad[11148]: usb_claim_interface failed -6

      pero aun así funciona:
      # nc localhost 1099
      pl a2 on
      12/14 16:40:46 Tx PL HouseUnit: A2
      12/14 16:40:46 Tx PL House: A Func: On
      pl a2 off
      12/14 16:40:50 Tx PL HouseUnit: A2
      12/14 16:40:50 Tx PL House: A Func: Off

      y me ha encendido y apagado el termo. Y de verdad, paciencia, para que funcione todo solo hace falta paciencia ;)

      Eliminar
    2. paciencia, información, conocimientos, ayuda... de to menos fuerza por que le doy una hostia y lo mando...

      Eliminar
  17. Juanmol he conseguido que me funcione el control domotico pero he reiniciado y ha dejado de funcionar.

    Sabes porque puede ser?

    saludos

    ResponderEliminar
  18. Me conecto al localhost mando la orden y me dice que la orden no se encontró

    ResponderEliminar
    Respuestas
    1. es raro ¿no encuentra el mochad? ¿o mi script x10.sh?

      Eliminar
    2. es problema con el mochad directamente, reconoce el cm15pro pero no ejecuta las ordenes

      Eliminar
    3. me ha pasado con la penultima raspbian, con la primera no pasaba. Para "solucionarlo" me he puesto un script que mata el proceso mochad y luego lo vuelve a levantar, lo pones en el crontab para que lo ejecute cada hora y por ahora, funciona. Tiene que ser algo relacionado con el libusb, estaremos atentos de nuevas versiones.

      Eliminar
    4. yo no se hacer eso, puedes poner exctamente lo que hay que hacer?

      Eliminar
    5. prueba primero manualmente. Ejecuta un
      ps aux | grep mochad
      en la 2ª columna te sale un PID (numero), haces un:
      kill -9 elpid
      por ejemplo:
      kill -9 77665
      y ejecuta a mano el mochad:
      mochad

      si te funciona, pongo el script y las instrucciones en el post, porque se trataria de una "incidencia conocida"

      Eliminar
    6. No puedo matarlo me da error del proceso, es que cambia el PID cada vez que hago un ps

      Eliminar
    7. no no, te estas equivocando de proceso. Prueba otra cosa haz un:
      killall mochad
      y luego lo lanzas a mano, a ver si hay suerte.

      Eliminar
  19. Mato el proceso, ejecuto $ mochad o $./mochad no me da error pero no me responde ni conectando con nc localhost 1099, ni ejecutando echo "pl a1 on" | nc localhost 1099

    ResponderEliminar
    Respuestas
    1. ummmm ... lo reconoce el sistema? ejecuta:
      lsusb
      a mi me sale:
      Bus 001 Device 004: ID 0bc7:0001 X10 Wireless Technology, Inc. ActiveHome (ACPI-compliant)

      Eliminar
    2. exactamente igual. Si ya te digo que funcionó y al reiniciar ya no iba, deberia de meter mochad en el init.d?

      Eliminar
    3. vaya faena, puedes ponerlo en init.d o ejecutarlo "a pelo". No se, ¿as probado recompilar?

      Eliminar
  20. no, que tendria que hacer para recompilar? ./configure-make-make install en el directorio de mochad?

    ResponderEliminar
    Respuestas
    1. ejecuta eso, pero antes un:
      make clean

      Eliminar
    2. j***r, no encuentro el directorio de mochad, si tiene

      Eliminar
    3. solo encuentro el archivo mochad que esta en /usr/local/bin

      no puedo desistalar con apt-get remove.
      No se que hacer

      Eliminar
    4. tranquilo tranquilo, no tienes que desinstalarlo, tienes que machacarlo. Simplemente haz lo que pongo en el post:
      tar -xvzf mochad-0.1.15.tar.gz
      cd mochad-0.1.15
      apt-get install libusb-1.0-0-dev
      ./configure
      make
      make install
      ./mochad

      habiendo descargado previamente el archivo de http://sourceforge.net/projects/mochad/

      para esta prueba tienes que asegurarte que estes ejecutando el ejecutable que acabas de compilar. Vamos que cuando hagas el make install, no cambies de directorio.

      Eliminar
    5. Hecho todo y sigue igual. Ejecuto ./mochad despues nc localhost 1099 y me tira al pi $ si se queda y doy la orden me da error de orden pl a1 on, como si la ejecutara desde la linea de comandos directamente

      Eliminar
  21. Me ha petao la SD, bravo, con un mes de uso, y creia que tambien el raspberry pero no, ha arrancado.

    ResponderEliminar
    Respuestas
    1. o_O y eso era lo que petaba? no sería muy descabellado.

      Eliminar
    2. no lo se, daba los errores que he comentado, en breve probaré con la nueva sd

      Eliminar
  22. de momento funcionando al pelo. Voy a probar el script. Jaunmol como lo has configurado tu para que cargue mochad al inicio?

    ResponderEliminar
    Respuestas
    1. si no quieres complicarte añade al archivo /etc/rc.local la ruta COMPLETA al ejecutable, por ejemplo:
      /usr/src/mochad-0.1/mochad

      así de fácil.

      Eliminar
  23. Tambien me funciona el script, tengo miedo de reiniciar y to por si deja de funcionar

    ResponderEliminar
  24. Juan Mol Felicidades, me gusta mucho tu blog, no sabia donde escribir para preguntarte algo, vivo en Estados unidos y me gustaria hacer algo parecido a lo que hiciste pero tengo un problema, esos productos de marmitek que usaste, no los puedo conseguir aqui que me recomiendas?

    ResponderEliminar
    Respuestas
    1. puedes poner los mismos modulos, pero adaptados a la corriente y frecuencias de alli. Marmitek fabrica para las frecuencias europeas y americanas, asi que no tienes problemas. Cuando estube buscando la primera vez, encontré en ebay un fabricante mucho mas barato pero que solo trabajaba en frecuencias de USA, puedes buscar un poco a ver que encuentras.

      Eliminar
  25. No puede ser. Reinicio y deja de funcionar el mochad, ya no conecta

    j***r!!

    ResponderEliminar
  26. Probando mochad -d me da un error en libusbx

    ResponderEliminar
    Respuestas
    1. en mi caso:
      # dpkg -l | grep usb
      ii libusb-0.1-4:armhf
      ii libusb-1.0-0:armhf
      ii libusb-1.0-0-dev
      ii libusb-dev
      ii usbutils

      mira a ver si tienes cumplidas las dependencias.

      Eliminar
    2. pongo dpkg -l | grep usb y me da esto:
      ii libusb-0.1-4:armhf 2:0.1.12-20+nmu1 armhf userspace USB programming library
      ii libusb-1.0-0:armhf 2:1.0.11-1 armhf userspace USB programming library
      ii libusb-1.0-0-dev 2:1.0.11-1 armhf userspace USB programming library development files
      ii libusbmuxd1 1.0.7-2 armhf USB multiplexor daemon for iPhone and iPod Touch devices - library
      ii usbmuxd 1.0.7-2 armhf USB multiplexor daemon for iPhone and iPod Touch devices
      ii usbutils 1:005-3 armhf Linux USB utilities

      Eliminar
  27. prueba desinstalar la que te falla:
    apt-get remove --purge usbmuxd libusbmuxd1
    a ver si hay suerte

    ResponderEliminar
    Respuestas
    1. no sigue sin conectar:
      [ 0.000000] [00004db3] libusbx: error [do_close] Device handle closed while transfer was still being processed, but the device is still connected as far as we know
      [ 0.000373] [00004db3] libusbx: error [do_close] A cancellation hasn't even been scheduled on the transfer for which the device is closing
      *** glibc detected *** mochad: free(): invalid next size (fast): 0x01a731e8 ***

      dpkg -l | grep usb
      ii libusb-0.1-4:armhf 2:0.1.12-20+nmu1 armhf userspace USB programming library
      ii libusb-1.0-0:armhf 2:1.0.11-1 armhf userspace USB programming library
      ii libusb-1.0-0-dev 2:1.0.11-1 armhf userspace USB programming library development files
      ii usbutils 1:005-3 armhf Linux USB utilities

      Eliminar
    2. vaya tela, que coraje. Vamos a probar desconectando el CM15 del Raspberry y volviéndolo a conectar, a ver que pasa.

      Eliminar
    3. Nada sigue igual, es una putada porque si esto no me funciona dependo de poner un windows (cosa que detesto) pero necesito poder usar lso x10

      Eliminar
    4. arg, veamos:
      primero te funcionaba.
      despues te diste cuenta que dejo de funcionar.
      reinstalaste la Raspbian.
      comprobaste que funcionaba.
      reiniciaste.
      dejo de funcionar.

      creo que eso es lo que pasa no?. Se supone que mochad esta en marcha ¿verdad? prueba ejecutar:
      netstat -putona | grep 1099
      y dinos el resultado.

      Eliminar
    5. Correcto lo que has dicho.

      Resultado del netstat:
      tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN 1395/mochad off (0.00/0/0)

      Eliminar
    6. y as probado matar el proceso:
      killall mochad
      comprobar que de verdad esta muerto:
      ps aux | grep mochad
      y volverlo a lanzar a mano:
      /usr/local/bin/mochad
      o
      mochad

      ¿verdad?

      Eliminar
    7. si,mato el proceso, lo vuelvo a ejecutar, me conecto con nc localhost 1099, cuando engancha el netstat me dice esto:
      tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN 8964/mochad off (0.00/0/0)
      tcp 0 1 192.168.1.7:49498 127.0.0.1:1099 SYN_SENT 9210/nc on (0,06/1/0)
      pero le doy la orden pl a1 on y me dice que no se encontro la orden

      Eliminar
    8. es que eso de "orden no encontrada" es lo que no entiendo, si estas conectado al mochad y le dices algo raro, simplemente no dice nada:
      root@raspberrypi:~# echo "pl a2 off" | nc localhost 1099
      01/14 16:09:14 Tx PL HouseUnit: A2
      01/14 16:09:14 Tx PL House: A Func: Off
      root@raspberrypi:~# echo "ola ke ase" | nc localhost 1099
      root@raspberrypi:~#

      ¿me equivoco?

      Eliminar
    9. Exacto, para las 2 ordenes que has escrito hacen lo mismo, nada, me devuelve al terminal.
      esto:
      01/14 16:09:14 Tx PL HouseUnit: A2
      01/14 16:09:14 Tx PL House: A Func: Off
      solo me sale cuando instalo raspbian de cero y mochad la primera vez.

      Estando conectado con nc localhost 1099, (cuando se queda conectado) pongo la orden pl ... y me tira la orden no encontrada

      Eliminar
    10. siento ser pesado, pero con un fallo pesado, solo se puede ser un pesado...
      cuando haces el:
      nc localhost 1099
      se mantiene la conexion al mochad, es decir, se oculta el prompt ¿verdad? y es en ese mismo terminal, con el prompt oculto, donde pones la orden:
      pl a2 off
      ¿verdad? vamos, que lo que NO haces es poner en un terminal:
      nc localhost 1099
      y en OTRO terminal:
      pl a2 off
      lo haces todo en el mismo terminal verdad?

      Eliminar
    11. Si, lo hago bien, normalmente al hacer la conexion al nc localhost... me tira al prompt, no se queda. Cuando se queda y veo en el netstat que esta activa la conexion, le doy la orden pl... con el prompt oculto claro y despues me tira a la linea normal con prompt y me dice lo de la orden no encontrada, y sale de la conexion al 1099

      Eliminar
    12. ajam, vamos a probar con telnet:
      apt-get install telnet
      telnet localhost 1099

      le mandas el pl a2 off a ver si te expulsa. Para salir del telnet pulsas ctrl+altgr+] y luego escribes quit. Cuentame.

      Eliminar
    13. Trying 127.0.0.1...
      Trying ::1...
      telnet: Unable to connect to remote host: Address family not supported by protocol

      Eliminar
    14. menuda faena, se me ocurren dos cosas más:
      - darme acceso a tu Raspberry a ver si veo lo que no se ve.
      - conectar el cm15 a un windows, con sus drivers del fabricante a ver si tambien falla, lo mismo es cosa del aparato.
      tengo ganas de solucionar esto, así borro los comentarios/chat y lo pongo todo en el post, por si le pasa a alguien más.

      Eliminar
    15. en windows lo puse y funciona perfecto, sin problemas.

      Si quieres acceso este es mi mail rustywild@gmail.com dime como lo hacemos

      Eliminar
  28. Me ha surgido un nuevo problema.

    He instalado motion con una webcam y una camara ip funcionando correctamente pero cuando lo activo deja de funcionar el mochad, aunque corte el motion no va. Tengo que reiniciar.

    Alguna idea de como solucionarlo?


    saludos

    ResponderEliminar
  29. he visto que trabajas con raspberry pi y el bus X10, te recominedo que pruebes el raspberry pi con un bus KNX, ya que para el control remoto es muy sencillo y funciona a las mil maravillas

    ResponderEliminar
    Respuestas
    1. hola todo lo que tengo es x10, son compatibles? de todas formas la parte del control remoto la tengo solucionada, pero nunca esta de más tener más recursos.

      Eliminar
  30. Como te lo has currao tio...

    Yo tambien ando metiendo domotica en casa, ahora mismo lo tengo hecho con arduino y una aplicacion android, pero ando buscando informacion para añaidir laRaSPberry y lo ke tienes aki me va a venir de puta madre...

    Igual algo de lo ke tengo hecho te puede venir bien te paso un enlace a ver ke t parece.
    Mi proyecto domotico

    ResponderEliminar
  31. necesito ayuda bastante rapido.
    Estoy montando tu sistema con el CM15 pro. cuando estan conectados cerca metro y medio del receptor funciona de maravilla, pero si salgo de la habitacion y el modulo on/off lo pongo en otra habitación no hace nada.
    ¿Tiene poco alcance la antena?

    ResponderEliminar
    Respuestas
    1. Necesito ayuda igual.
      Sera por las fases?

      Eliminar
    2. la antena tiene poco alcance, pero no tiene nada que ver donde pongas el modulo on/off. La antena es para recibir las ordenes del mando. Si es el minimando, como en mi caso, te dara unos 9 metros de radio dentro casa, con paredes de pladur.
      Si el mando esta cerca de la antena y el modulo on /off esta lejos, deberia funcionar, si no lo hace es porque la instalacion electrica no es correcta o esta filtrada en algun vuadro de registro. Tambien pasa cuando hay derivaciones, lo cual ademas es tremendamente peligroso.

      Eliminar
  32. Hola, leyendo este post, me he animado a comprar los elementos necesarios, y todo bien, he instalado todo, me he hecho un pequeño sistema para apagar y encender, me conecto por ssh y apaga y enciende perfectamente con tu scrip, pero cuando pasa un rato, deja de funcionar. Ejecuto el script y no me mete en modo escucha. si ejecuto nc localhost 1099, se pone en modo escucha, pero si ejecuto pl a1 on no reacciona. Si reinicio el sistema, vuelve todo a funcionar. Sabeis porque puede ser debido? un saludo.

    ResponderEliminar
  33. me viene pasando eso mismo con las ultimas versiones de la raspbian, me imagino qie el mochad se ha quedado demasiado desactualizado. A falta de una solucion mejor,mete esta linea al final del /etc/crontab :
    0 * * * * root killall mochad && mochad

    basicamente mata y levanta el mochad cada hora. Por ahora no tenemos mucho mas :(

    ResponderEliminar
  34. Pues que raro, parece que ahora esta funcionando correctamente... la verdad que ahora no estoy tocando el mando a distancia, no se si será por eso...

    He copiado y pegado tu script y me da el siguiente mensaje:


    05/21 23:45:01 Tx PL HouseUnit: A1
    05/21 23:45:01 Tx PL House: A Func: Off
    nc: getaddrinfo: Servname not supported for ai_socktype
    x10.sh: 2: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or kill -l [exitstatus]

    Las dos primeras lineas, por lo que he leido más arriba son correctas, pero las otras dos, no se que significan.

    Un saludo.

    ResponderEliminar
  35. Sigue sin funcionar.... he metido en el cron ese comando y nada de nada, es mas cuando me falla ejecuto ese comando manualmente, pero no vuelve hacerme caso hasta que no reinicio el raspberry pi, reinicio y funciona durante 20 min o asi, y vuelta a fallar...

    ¿Sabes porque puede ser eso?

    Gracias.

    ResponderEliminar
    Respuestas
    1. cuando me falla, mato el proceso mochad y lo vuelvo a levantar, cambia la linea del /etc/crontab a :
      */20 * * * * root killall -9 mochad && /usr/local/bin/mochad

      a ver si hay suerte.

      Eliminar
  36. Ese comando si me funciona... Estoy observando y no se si os pasara lo mismo, pero cuando se queda colgado es cuando utilizo el mando en repetidas ocasiones.

    Al final he puesto que se mate el servicio cada 1 min:

    */1 * * * * root killall -9 mochad && /usr/local/bin/mochad

    No se si sera mucho?

    ResponderEliminar
    Respuestas
    1. hombre cada minuto me parece mucho, ponle 5 o 10 ¿no?. Por cierto, si es cada minuto puedes dejarlo asi:
      * * * * * root killall -9 mochad && /usr/local/bin/mochad

      pero ya te digo, ponle 5 o 10 minutos.

      Eliminar
  37. bueno... ire observandolo a ver cada cuanto deja de funcionarme y ire ajustando el tiempo... para intentar que sea el maximo posible. Bueno voy a seguir con la parte 2 del tutorial, que tambien me falla y no se porque. Te escribo en el otro post.

    Muchas gracias por las ayudas.

    ResponderEliminar
  38. Hola, estoy viendo los comandos que se le pueden pasar al mochad:

    pl a [on|off|dim|bright|xdim|all_lights_on|all_lights_off|all_units_off]

    Parece que existe uno para apagar todo lo que este con la direccion "a" de golpe, que seria algo como:

    pl a all_lights_off

    Pero no me funciona. ¿alguien lo ha probado?

    Un saludo.

    ResponderEliminar
    Respuestas
    1. Hola, necesitas que los módulos respondan a esa orden, que no todos lo tienen. Como por ejemplo, los módulos de aparato no responden a las órdenes de brillo. Los módulos que responden a la orden de all_off o all_on, además necesitan activar esa opción, vamos que te tienes que leer el manual de instrucciones más de una vez.

      Eliminar
  39. Hola buenos días,

    Me encanta este blog desde el primer momento, y decidí realizar este tutorial pero tengo un problema un poco raro.
    Me funciona correctamente hasta donde he probado pero el CM15PRO deja de funcionar con el micromando cuando lo conecto por USB ya sea en el ordenador en la raspberry pi. No se si eso es normal o es algun tipo de interferencia.

    Muchas gracias, espero vuestra respuesta.

    ResponderEliminar
  40. hola, no es es normal que pase eso. Cuando lo conectas por usb tiene que funcionar tambien el mando. No se si traera alguna opcion desde el programa de configuracion (windows), que cambie eso, pero normal no es.

    ResponderEliminar
  41. Gracias por contestar,

    La cosa es que también falla en la raspberry pi, pregunte donde lo compre en la tienda que recomendaste superinventos.com y me dijeron que era interferencias. Pero no estoy muy seguro porque a la que se conecta el cable USB a algo encendido (ordenador o raspberry ) deja de tener alcanze la antena como si se cancelase.

    ResponderEliminar
  42. Buenas,

    Compre el modulo aw12, pero sinceramente no tengo ni idea de como cablearlo, solo se conecta la fase y el neutro? o hay que hacer algo mas? estoy bastante dudoso, porque no quiero que el aparato se estropee por mala instalacion.

    Muchas gracias

    ResponderEliminar
    Respuestas
    1. tiene que venir un manual con el micromodulo, ese en concreto permite instalarlo con un pulsador o con un interruptor, lo mas simple es en modo pulsador. Localiza en tu instalacion la "entrada de voltios" a la habitacion y el interruptor/pulsador, despues localizalo en el manual y ya verás que no es complicado. No puedo ayudar mucho más, porque hace un siglo que puse el último aw12, sorry.

      Eliminar