Contador: Consulta automatizada al contador online de edistribucion
Con este script es posible automatizar la consulta periódica al contador online, ya sea la consulta individual o la de múltiples contratos.
- python >3.7 (https://www.python.org/downloads/)
- Firefox (https://www.mozilla.org/en-US/exp/firefox/new/)
- geckodriver (https://github.com/mozilla/geckodriver/releases) [ como instalar ]
- contador (este script) (https://github.com/fullonic/contador/archive/master.zip)
Una vez dentro de la carpeta contador
, abrir una terminal y ejecutar el comando:
>> ./rpi_install.sh
Que hace el script:
1 - Hace una actualización del sistema
2 - Download y instalación de las dependencias necesarias: Firefox, Firefox driver y SQLite3 (base de datos)
3 - Crea un nuevo script que es el punto de partir para iniciar la aplicación (start_app.sh)
4 - Añade la aplicación al arranque del sistema *
5 - Instala todos las librarias de python necesarias
Una vez terminada el proceso, para empezar la aplicación apenas hay que ejecutar el comando:
>> ./start_app.sh
- La aplicación es añadida el arranque del sistema para garantir que empieza automáticamente en caso de una falla energética
Una vez instalado todo, entramos en la carpeta contador
y abrimos una ventana de terminal. Y hacemos el siguiente:
- En algunas plataformas utilizar
python3
en lugar depython
python -m pip install -r requeriments.txt
Cuando haya concluido la instalación de las dependencias, hay que añadir el DNI y la contraseña. Para tal, abrimos el archivo users.json
y indroducimos nuestros dados.
Por ejemplo:
{
"usuarios": [
{
"username": "dni1",
"password": "pass1"
}
]
}
Para añadir mas cuentas, es fácil como repetir los campos "username" y "password":
{
"username": "dni2",
"password": "pass2"
}
Resultando en:
{
"usuarios": [
{
"username": "dni1",
"password": "pass1"
}, // <- Todos los usuario@s tienen que estar separados por una coma y entre {}
{
"username": "dni2",
"password": "pass2"
}
]
}
Para activar el script hacemos:
python auto_run.py
Caso tengamos varios usuario@s, para acelerar el proceso es recomendado:
python auto_run.py multiple
*Isto hara el script hacer varias consultas en paralelo
Para cambiar el intervalo de tiempo entre una consulta y otra, abrimos el archivo config.json
.
En el campo "script": {"frecuencia [minutos]": 3
podemos ajustar la frecuencia de las consultas.
Por defecto, la automatizacion del browser es oculta, pero alterando el valor del campo "headless"
de true
para false
, esto hara que el processo sea visible. Sin embargo es recomendado que el valor sea false
para envitar el abrir y cerrar de ventadas.
Los resultados seran guardados en el archivo results.json
en el formato:
{
"DNI": [
["27-07-2020_19:30:33", 0.14, 4.24, 3.3],
["27-07-2020_19:35:28", 0.12, 3.64, 3.3]
]
}
Cada secuencia ["27-07-2020_19:30:33", 0.14, 4.24, 3.3]
repesenta una consulta donde los valores son lo seguientes:
- Data
- Consumo instantáneo (kW)
- Porcentaje (%)
- Potencia contratada (kW)