Domoticz es un sistema de automatización del hogar multiplataforma, muy compacto y rápido gracias a su desarrollo en C++. Permite crear incluso automatizaciones complejas para gestionar, por ejemplo, un sistema de alarma completo, el control total de una bomba de calor, etc.
Un libro sobre el tema está disponible en https://github.com/rwbl/domoticz-homeautomation-workbook
Esta página muestra cómo crear una imagen nueva con Raspbian+Domoticz+firewall+copia de seguridad. Raspbian + Domoticz
Si prefiere adquirir una tarjeta SD de alta calidad ya programada, visite nuestra tienda . 
Escribiendo una imagen para Raspberry Pi
Proponemos una solución rápida para instalar una imagen preconfigurada de Raspbian para Raspberry Pi 3, Pi 4 y Pi 5, que incluye el software Domoticz más reciente y está configurada para preservar la memoria flash MicroSD (la memoria flash no se puede escribir de forma segura más de 10.000 veces), además de exportar una copia de seguridad semanal que se puede restaurar fácilmente en caso de problemas.
Esta imagen se probó tanto en hardware Raspberry Pi 3 como en Raspberry Pi 4, y utiliza la última distribución de Raspbian.
Tras grabar esta imagen en una tarjeta microSD, podrá configurar inmediatamente sus dispositivos Domoticz desde la interfaz web.
Extracción de la imagen a una tarjeta microSD
Necesitas una distribución de Linux, wget, sfdisk, fsarchiver y una tarjeta microSD (o SSD) con al menos 16 GB de espacio.
Desde la consola bash, introduzca los siguientes comandos:
export disk=/dev/sdh #reemplaza sdh con el dispositivo microSD/SSD
wget https://docs.creasol.it/raspberry_domoticz.sfdisk
wget https://docs.creasol.it/raspberry_domoticz.sfdisk
sfdisk $disk < raspberry_domoticz.sfdisk
fsarchiver -v restfs raspberry_domoticz.fsa id=0,dest=${disk}1 id=1,dest=${disk}2
echo -e "\\aMicroSD copiada"
Características
- Funciona tanto con Raspberry Pi 4 como con Raspberry Pi 3.
- Raspbian + una versión reciente de Domoticz
- Optimizado para reducir la escritura en la memoria flash: /tmp y /var/log están en ramfs, no en la tarjeta SD, y el intercambio está deshabilitado. Los archivos temporales de Domoticz se escriben en /tmp, no en la tarjeta SD, extendiendo así la vida útil de la memoria.
- Cortafuegos con iptables/netfilter, que se puede configurar editando /usr/local/sbin/myfirewallpi.sh
- Copia de seguridad que crea automáticamente una copia de seguridad incremental de los archivos modificados; una vez a la semana se realiza una copia de seguridad completa y una vez al mes se crea una imagen; la copia de seguridad se puede exportar fácilmente a un disco duro USB o NAS conectado (FTP o CIFS).
- Domoticz está parcialmente configurado con algunos dispositivos y con el plugin Creasol Dombus ya instalado (plugin de Domoticz para usar dispositivos Creasol DomBus conectados a la Raspberry mediante un bus serie RS485).
Acceso y configuración de Raspberry Pi con la imagen programada
Estas son las credenciales predeterminadas para esta imagen:
Usuario de Linux: pi , contraseña: arangingenni
Usuario de Linux: root , contraseña: geriandallse
Usuario de Domoticz: domoticz , contraseña: creasol
¡Se recomienda cambiar estas contraseñas predeterminadas!
Al iniciar Raspberry Pi con esta imagen, obtendrá la configuración de red de su servidor DHCP (router), por lo que podrá conectarse a ella mediante el navegador en una URL como http://192.168.1.123:8080 ( verifique su servidor DHCP para obtener la dirección IP asignada a Raspberry Pi o realice un escaneo de red en su LAN). Si conecta Raspberry Pi desde las redes 192.168.*, 172.16.* o 10.*, no se requiere autenticación .
Además, el servicio ssh está habilitado , por lo que puede acceder a la consola segura (utilizando ssh, putty o cualquier otro cliente ssh) como usuario pi o root.
Cómo crear una imagen desde la tarjeta SD de Raspberry Pi
Hemos escrito el script bash raspberry_domoticz.sh (ver más arriba) que permite guardar una copia de la memoria de Raspberry en una unidad USB, y también crear una nueva tarjeta SD con el contenido de una imagen guardada .
Esto es útil porque:
- La memoria flash no se puede escribir indefinidamente : normalmente, cada celda flash se puede escribir hasta 10 000-100 000 veces. La imagen propuesta está optimizada para limitar las escrituras en la tarjeta SD.
- Siempre es buena idea tener una copia de seguridad de la Raspberry Pi en funcionamiento , para que en caso de problemas sea posible restaurar el sistema desde una imagen antigua.
- Quizás necesites clonar una tarjeta SD existente y guardar las imágenes en tu PC o NAS.
Características:
- Las imágenes están comprimidas ... ¡es una tontería tener una imagen de 16 GB para una tarjeta SD de 16 GB casi vacía!
- Las imágenes se pueden restaurar en tarjetas SD de diferentes tamaños , por lo que es posible usar la misma imagen para grabar en una tarjeta SD de 32 GB o de 8 GB.
- La creación y restauración de una imagen es realmente rápida , en comparación con otros sistemas.
Lamentablemente, este sistema no funciona en Windows, pero... ¿quién sigue usando Windows hoy en día? ¡Todo se está pasando a Linux! Android es Linux. Raspbian es Linux. ¡Tus routers, puntos de acceso y televisores probablemente usan el sistema operativo Linux! ;-)
Haz clic para descargar el script raspberry_domoticz.sh , guárdalo en un directorio ejecutable de tu sistema Linux (por ejemplo, /usr/local/sbin) y dale permisos de ejecución.
Ejecuta raspberry_domoticz.sh y sigue las instrucciones para crear una imagen comprimida desde la tarjeta SD de Raspberry Pi. También funciona en modo Live, directamente desde el sistema Linux en funcionamiento, con una alta probabilidad de éxito.
¿Quieres más? Presentación del altamente confiable DomBus
Preguntas frecuentes (FAQ)
Algunos comandos útiles
ps ax |grep domoticz : lista todos los procesos activos, mostrando solo aquellos con el nombre domoticz.
netstat -lnp |grep domoticz : muestra los puertos TCP/UDP utilizados por domoticz (normalmente utiliza el puerto 8080).
lsusb : lista los dispositivos conectados a USB. lsusb -v muestra detalles sobre los dispositivos USB.
Cómo configurar los GPIO de Raspberry Pi
Con esta imagen de Raspbian, los GPIO se pueden configurar editando el archivo /etc/rc.local y estableciendo el GPIO necesario como salida (si es de salida), entrada (si es de entrada) o ambos si es bidireccional.
[código]#/etc/rc.local archivo
#Configuración de GPIO mediante la herramienta wiringpi:
#sintaxis: gpio export GPIONUMBER out|in|both para configurar como salida, entrada o E/S
gpio export 24 out # Establecer como salida.
Exportación GPIO 23 salida
Exportación GPIO 22 salida
Exportación GPIO 27 salida
Exportación GPIO 18 salida
Exportación GPIO 17 salida
Exportación GPIO 25 salida #lightOut2
Exportación GPIO 8 salida #lightOut3
Exportación GPIO 7 salida #lightOut4
gpio export 12 out #lightOut1[/code]
Después de editarlo, escriba /etc/rc.local para recargar el script.
¿Cómo actualizar el plugin Creasol DomBus a la última versión?
Simplemente escribe, desde la consola de root, el comando creasoldombus_update.sh
¿Cómo configurar una IP estática para la interfaz Ethernet de Raspbian?
Edite el archivo /etc/dhcpcd.conf ( nano /etc/dhcpcd.conf ) y agregue las siguientes líneas al final:
interface eth0 static ip_address=192.168.1.250/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 8.8.8.8
y guarda con ctrl-x.
La Raspberry Pi no se puede conectar mediante ssh (puerto 22) ni http (puerto 8080).
Asegúrese de que el cable LAN esté conectado a la Raspberry Pi y de que un servidor DHCP pueda asignarle parámetros IP.
Hay un script de firewall instalado, /usr/local/sbin/myfirewallpi.sh, que requiere que la interfaz eth0 ya esté configurada mediante DHCP o IP estática.
¿Cuánto consume la Raspberry Pi 4?
Dado que los sistemas de automatización del hogar nacieron para reducir el impacto ambiental de los edificios, es importante saber si una Raspberry Pi es un buen hardware para un controlador domótico o no, en términos de potencia de CPU, estabilidad y consumo de energía.
Si buscas en internet, solo encontrarás unos pocos artículos que describan el consumo de energía de una Raspberry Pi, por lo que la mejor manera es medir el consumo de energía en la práctica.
Este es el hardware que se está probando: una Raspberry Pi 4 con 1 GB de RAM, conectada a la red LAN y alimentada por una fuente de alimentación de CC de 5 V.

A continuación, el valor de corriente y voltaje con el sistema operativo Raspbian medido cuando
1. A la izquierda, sin ninguna carga (uso de CPU muy bajo), el consumo de energía de la Raspberry Pi es de 5 V * 0,42 A = 2,1 W (normal).
2. A la derecha, con una carga del 100% en los 4 núcleos, el consumo de energía de la Raspberry Pi es de 5 V * 0,63 A = 3,15 W de pico.



Configuración del firewall
¿Cómo habilitar la dirección IP con la que deseas acceder a tu Raspberry Pi/Domoticz desde el exterior?
Edite el script del firewall con el comando nano /usr/local/sbin/myfirewallpi.sh y modifique la variable ADMIN_SOURCE agregando las direcciones IP (o redes) que desea habilitar:
ADMIN_SOURCE='80.86.145.56/29 149.13.157.0/24 37.0.0.0/8'
donde /24 significa que el último número de la dirección IP puede ser cualquiera entre 0 y 255, y /8 significa que solo se comprueba el primer número, mientras que los 3 números restantes pueden ser cualquiera entre 0 y 255.
Guarda el archivo con CTRL+S y CTRL+X, luego ejecuta el script escribiendo /usr/local/sbin/myfirewallpi.sh
¿Cómo habilitar las conexiones entrantes al servidor web en Raspberry Pi?
Modifique el script del cortafuegos con el comando nano /usr/local/sbin/myfirewallpi.sh y añada el puerto 80 (http) o 443 (https) a la variable TCP_SERVICES_IN_wan.
Luego, guarda el script (CTRL-s y CTRL-x) y ejecuta el script del firewall con el comando /usr/local/sbin/myfirewallpi.sh
Configuración de copia de seguridad
La configuración se almacena en el archivo /usr/local/etc/backup.conf : edítelo con su editor preferido (por ejemplo, nano /usr/local/etc/backup.conf ).
Cómo crear una imagen periódicamente
Edita la variable DISKS:
DISCOS="mmcblk0p1 mmcblk0p2"
para crear una imagen para las particiones de arranque y raíz
¿Cómo exportar una copia de seguridad a un disco duro externo USB?
BACKUP_DIR_CONTROL="/mnt/usb"
COMPROBACIÓN_DE_PARTICIÓN_DE_COPIA="/mnt/usb"
BACKUP_DIR="${BACKUP_DIR_CONTROL}/backup_domoticz"
BACKUP_DIR_MOUNT="mount -o nodev,noexec,async /dev/sda1 ${BACKUP_DIR_CONTROL}" # Montar /dev/sda1
BACKUP_DIR_UMOUNT="umount ${BACKUP_DIR_CONTROL}" # Desmontar /dev/sda1
BACKUP_DIR_AFTER_UMOUNT="hdparm -S12 /dev/sda" # Disco duro externo independiente
¿Cómo exportar una copia de seguridad en un NAS montado mediante CIFS (Samba)?
BACKUP_DIR_CONTROL="/mnt/nas"
COMPROBACIÓN_DE_PARTICIÓN_DE_COPIA="/mnt/nas"
BACKUP_DIR="${BACKUP_DIR_CONTROL}/backup_domoticz"
BACKUP_DIR_MOUNT="mount -t cifs -o username=USER,password=PASSWORD, //NAS_IP_ADDRESS/SHARE ${BACKUP_DIR_CONTROL}" # Montar partición NAS
BACKUP_DIR_UMOUNT="umount ${BACKUP_DIR_CONTROL}" # Desmontar partición NAS
BACKUP_DIR_AFTER_UMOUNT="" # comando enviado después de BACKUP_DIR_UMOUNT: no hacer nada