Todos los cambios importantes en este proyecto serán documentados en este documento.
Su formato se basa en Keep a Changelog y este proyecto se adhiere a Semantic Versioning.
- Implementar comandos por archivo en domotica_cliente.py.
- Hacer un cliente en Django, que permita una gestión más visual del sistema.
- Rehacer dht11.py de manera que pueda ser configurado para leer individualmente cada sensor.
- Pasar los scripts de inicio a systemctl.
- Cambiar al sistema de procesado de argumentos argparse.ArgumentParser() en dht11.py.
- ¡Mucho más!
- Crear una rama (branch) de testing.
- Pasar boton.py a dicha rama.
- Testear en dicha rama el instalador.
- Acabar de hacer el resto de scripts de init.d.
- Añadir el control de relés.
- Implementar la domótica remota.
- Cambiar el comando conectar para que sea un conectar y listar en domotica_cliente.py
y domotica_servidor.py. - Implementar comando estado para ver en qué estado se encuentra un puerto GPIO en domotica_cliente.py y domotica_servidor.py.
- Implementar comandos por parámetros en domotica_cliente.py.
- Integrar el control de relés en un archivo separado.
-
Añadir el configurador general. -
Añadir el control de GPIOs general: leds y relés. -
Añadir control de versiones en la instalación. -
Hacer que actualizador.sh sea "inteligente" y actualice en función de la versión.
- Fallo de arranque del ventilador, que podría no empezar a girar en determinadas circunstancias
- Velocidad mínima de giro del ventilador insuficiente
- Arreglos menores en sonda_dht11.py.
- Agradecimientos que faltaban en README.md
- Comentarios varios para suprimir errores del editor (Eclipse + Pydev) en aviso_electricidad.py e indice_gpio.py.
- Instalación de paquetes ampliable en config.sh e instalador.sh.
- Lectura de sondas DHT11 a través de un paquete en dht11.py.
- Posibilidad de añadir hosts por parámetros a internet.py.
- Actualizado general del código en internet.py.
- Mejora en la inteligibilidad del código en temperatura.py.
- Cadenas heteogéneas migradas a cadenas-f para mejorar la presentación del código en aviso_electricidad.py, comun.py y dht11.py.
- Optimizado del método estado_conexion_lenguaje_natural en comun.py.
- Optimizaciones varias en cpu.py, domotica_cliente.py y temperatura.py.
- Ordenado de imports en aviso_electricidad.py, comun.py, correo_electronico.py, cpu.py, dht11.py, domotica_cliente.py, domotica_servidor.py, internet.py, internet.py, reiniciar_router.py y temperatura.py.
- Renombrado dht11.py a sonda_dht11.py.
- Compatibilidad con Python 3.5 debido a las cadenas-f (requieren Python 3.6).
- Configuración no necesaria relativa a la sonda dht11 en config.py y domotica_servidor.py.
- Sistema antiguo de lectura de sondas DHT11 en dht11.py.
- Ruta al comando de medición de temperatura en temperatura.sh.
- Soporte de requisitos de otros servicios en cpu.sh, domotica_servidor.sh, reinicar_router.sh y temperatura.sh.
- Comando status sin necesidad de sudo en cpu.sh, domotica_servidor.sh, reinicar_router.sh y temperatura.sh.
- Comando de restart
- temperaturas.py ➡ temperatura.py en README.md.
- Lista de puertos GPIO libres en indice_gpio.py.
- Acceso al puerto GPIO en dht11.py.
- Devolución de resultado errónero en dht11.py.
- Archivo separado para el historial de versiones en CHANGELOG.md.
- Agradecimiento por la plantilla para este archivo.
- Posibilidad de realizar más de una llamada por cada sensor de domótica en config.py y domotica_servidor.py.
- Últimos cambios del original en dht11.py.
- Cambiado el comportamiento para que ahora sea posible que un botón o sonda dispare más de un relé o led en config.py y domotica_servidor.py.
- Fechas en el estándar ISO 8601 en actualizador.sh, aviso_electricidad.py, CHANGELOG.md, comun.py, config.py, config.sh, correo_electronico.py, desinstalador.sh, cpu.py, cpu.sh, dht11.py, domotica_cliente.py, domotica_servidor.py, domotica_servidor.sh, indice_gpio.py, instalador.sh, internet.py, pid.py, reiniciar_router.py, reiniciar_router.sh, temperatura.py y temperatura.sh.
- Mejoras en la calidad del código.
- Optimizaciones varias y de seguridad.
- Secciones Historial de versiones y Por hacer (TODO) en README.md.
- Acceso externo sencillo por pid en pid.py.
- Más controles de excepciones.
- Soporte para leds PWM.
- Soporte para relés en temperatura.py.
- Cambiada la nomenclatura de los puertos GPIO para el reinicio en caso de desconexión con el fin de evitar confusiones en su parte correspondiente de config.py y reiniciar_router.py.
- Fallo de acceso a un índice incorrecto de una tupla en domotica_servidor.py.
- Fallo por el cual no se imprimía el comando describir en domotica_cliente.py.
- Fallo por el cual se normalizaba siempre la respuesta de un comando y no bajo petición en comun.py y domotica_cliente.py.
- Homogeneizado (todavía más) de README.md.
- Mejoras en la calidad del código.
- Mejoras en la documentación.
- Optimizaciones varias.
- Proceso de actualización en actualizador.sh.
- Homogeneizado (aún más) de README.md.
- Independizado de código encargado de mandar correos electrónicos.
- aviso_electricidad.py a la lista de scripts en config.sh.
- Homogeneizado de README.md.
- Posibilidad de invocar código al dispararse eventos en puertos GPIO en domotica_servidor.py.
- Código innecesario en reiniciar_router.py.
- Posibilidad de conectar a un servidor que no sea el local en comun.py y adecuado el código a la nueva conexión en config.py, domotica_cliente.py y reiniciar_router.py.
- Mejoras en la calidad del código.
- Otra licencia en la sección de Otras licencias en README.md.
- Varios parámetros para variar la salida en dht11.py.
- Otra licencia en la sección de Otras licencias en README.md.
- Sistema de lectura de sondas de temperatura DHT11 en dht11.py.
- Sección de Otras licencias en README.md.
- Fallo en la sangría en README.md.
- Import innecesario en cpu.py.
- Fallo en cpu.py, que podría provocar que no se ejecutase correctamente.
- Renombrado config_sample.py a config.py y actualizadas referencias.
- Bloque para interceptar un posible fallo al intentar borrar un archivo de bloqueo inexistente en pid.py. Esto podía ocurrir al reinstalar el sistema, especialmente si la parada de un servicio implica tiempo de procesamiento adicional, como en domotica_servidor.py. En este caso, es posible que el archivo de bloqueo sea borrado antes de la completa detención del servicio y, por consiguiente, éste arrojaría un fallo.
- Campo "descripción" en las "constantes" GPIO en config_sample.py.
- Mecanismos para depuración remota en domotica_cliente.py y reiniciar_router.py.
- domotica_cliente.py para que la clase principal herede de la clase principal de comun.py.
- Eliminaciones de archivos de bloqueo en actualizador.sh y desinstalador.sh silenciosas (> /dev/null), para evitar exceso de flood de fallos.
- Fallo en la función estado en comun.py.
- Protocolo de comunicación entre domotica_servidor.py y domotica_cliente.py para el primero pueda indicar al segundo la descripción de los puertos GPIO y un "saludo" para acordar la versión del protocolo a emplear.
- reiniciar_router.py para que no actúe de manera independiente, sino a través de domotica_servidor.py.
- actualizador.sh, desinstalador.sh e instalador.sh y añadido config.sh para ajustar más finamente los permisos a la hora de instalar / actualizar y agrupada toda la configuración común.
- Reajustadas configuraciones en arreglo a los cambios anteriores en config_sample.py.
- Renombrado de la sección Contenido a Sistemas en README.md.
- Taspasados métodos que ahora son comunes a varios scripts de domotica_cliente.py a comun.py.
- Comando de ayuda en domotica_cliente.py.
- Sangría de imports en domotica_cliente.py, indice_gpio.py, internet.py, reiniciar_router.py y temperatura.py.
- Estética de config_sample.py.
- Imports no necesarios en domotica_cliente.py.
- Fallo en desinstalador.sh.
- Modificado el tiempo de pausa de la clase domotica_servidor_config en config_sample.py para reducir la tasa de fallo. Sigue sin ser perfecto, pero a la espera de que arreglen este fallo, es lo mejor que puedo hacer.
- Convertido (de nuevo y espero que no vuelva a fallar) el retorno de línea de modo Windows a Linux en cpu.py.
- Fallo en las variables de depuración en temperatura.py.
- Configuración necesaria en domotica_servidor.py para que lea la configuración de depuración remota.
- Nuevos agradecimientos y reordenación de dicha sección en README.md.
- Sistema de comprobación al importar para alertar de la no instalación del paquete psutil en cpu.py.
- Clarificado parte del texto de actualizador.sh e instalador.sh.
- Clarificado parte del texto del Historial de versiones en README.md.
- Configuración correspondiente en config.py.sample.
- Fallo en la inicialización de los puertos GPIO de salida (sólo en el caso de ser puertos activos a bajo nivel, como podría ser el caso de un relé) en comun.py.
- Fallo en un import de indice_gpio.py.
- Fallos menores en la documentación de domotica_servidor.py. ¡Maldito copia-pega!
- Modo de encender los leds de temperaturas.py. Ahora puede soportar cualquier color.
- Modo de procesamiento de los hijos en domotica_servidor.py. Ahora debería ser más eficiente.
- Mejorada la documentación de config_sample.py.
- Movida la configuración de PAUSA de la clase domotica_cliente_config a la clase domotica_servidor_config, ya que sólo hace falta en el servidor y no en ambos en config.py.sample.
- Reajustada la "constante" PAUSA de la clase domotica_servidor_config en config_sample.py.
- Reajustado el nombre de algunas variables en domotica_cliente.py.
- Renombrado config.py.sample a config_sample.py.
- Algunos servidores más en la clase internet_config de config.py.sample.
- Comando estado en domotica_cliente.py y domotica_servidor.py.
- Configuración necesaria para la depuración remota en config.sample.py.
- Documentación de comun.py.
- Fallo en actualizador.sh, desinstalador.sh e instalador.sh.
- Modificado el procedimiento de arranque en comun.py, cpu.py, domotica_cliente.py, domotica_servidor.py, reiniciar_router.py y temperaturas.py.
- Reajustado el código de indice_gpio.py para hacerlo más legible.
- Import innecesario en domotica_servidor.py.
- Fallo de versiones en los commits y en README.md.
- Fallo en la sangría de algunas línas de código en domotica_servidor.py
- Fallo en la comprobación de desconexión de domotica_servidor.py
- Fallo en la descripción de pid.py
- Fallo al lanzar hijos en domotica_servidor.py.
- Fallos varios en actualizador.sh, desinstalador.sh e instalador.sh.
- Homogeneizado de README.md.
- Renombrado domotica.sh a domotica_servidor.sh.
- Renombrado temperaturas.sh a temperatura.sh.
- Comprobaciones a comun.py para no hacer nada si ciertas variables no existen.
- Sección de F. A. Q. en README.md.
- Implementación inicial de domotica_cliente.py.
- actualizador.sh, desinstalador.sh e instalador.sh para adecuarse al cambio de nombre.
- config.py.sample con los parámetros correspondientes a las novedades.
- comun.py, cpu.py, domotica_servidor.py, reiniciar_router.py y temperaturas.py para adecuarse al nuevo pid.py.
- Documentación de comun.py.
- config.py.sample para adecuarse al cambio de nombre.
- Homogeneizado de README.md.
- pid.py ahora es compatible con Windows.
- pid.py ahora es de estilo orientado a objetos.
- Renombrado de domotica.py a domotica_servidor.py.
- Renombrado temperaturas.py a temperatura.py por convención de nombres.
- domotica.py en actualizador.sh.
- Fallo en reiniciar_router.py.
- Limpieza de código en instalador.sh, actualizador.sh y desinstador.sh.
- Fallos varios
- Limpieza de código en actualizador.sh.
- Fallos en instalador.sh, actualizador.sh y desinstador.sh.
- boton.py, comun.py, cpu.py, reiniciar_router.py y temperaturas.py para adecuarse al nuevo pid.py para adecuarse a la nueva configuración.
- Configuración de config.py para permitir puertos GPIO tanto de entrada, como de salida.
- Implementación inicial de domotica.py a partir de boton.py.
- Homogeneizado de README.md.
- Comprobación de superusuario en los scripts de init.
- indice_gpio.py.
- Fallos varios.
- Movido todo el código común a comun.py.
- Rediseñado el bucle de temperaturas.py.
- Arreglos menores.
- Cambio de editor, lo que puede provocar algún desajuste con las tabulaciones o similar.
- Comenzado proceso para hacer el código independiente del sistema operativo.
- Fallo en temperaturas.py.
- Fallo en los scripts de init.
- Exportada configuración a un único archivo.
- Sistema de comprobación al importar para alertar de una mala (o inexistente) configuración en boton.py, cpu.py, internet.py, pid.py, reiniciar_router.py y temperaturas.py.
- actualizador.sh, desinstalador.sh e instalador.sh.
- .gitignore para que no suba el archivo config.py.
- import innecesario en internet.py.
- Script actualizador.
- Cabeceras en boton.py, cpu.py, internet.py, pid.py, reiniciar_router.py y temperaturas.py.
- Fallos menores.
- Funcionalidad no necesaria en reiniciar_router.py.
- Instalador.
- Scripts para init.d.
- Sección de "Agradecimientos y otros créditos" en README.md y en los archivos correspondientes.
- Instalador de pruebas.
- Rama (branch) de testing.
- README.md.
- Arreglo del mismo fallo anterior en cpu.py.
- Fallo menor en temperaturas.py.
- Scrpit de init.d temperaturas.sh, para darle a temperaturas.py la capacidad de autoarranque.
- Scripts boton.py, cpu.py, internet.py, pid.py, reiniciar_router.py y temperaturas.py.