Dopo alcuni distacchi mi sono rimesso a cercare una soluzione valida con allarme via telegram prima che ciò avvenga.
Ho realizzato uno script in bash che legge la potenza assorbita ogni 20 secondi circa.
Da un paio di giorni lo sto testando e mi sembra tutto funzioni, lo posto per condividerlo e ricevere eventuali idee e suggerimenti.
Ecco il mio enel.sh:
notare che non memorizzo i valori di assorbimento ma solo dei contatori h1 ed h2 con unità di misura N che incrementano di valore quando si è sopra soglia e vengono azzerati dopo 6 letture (=2 minuti) sotto la soglia minima LIM1.
il comando "potenza" deve essere modificato con quello che usate per avere la potenza attiva in W letta dal meter sdm, probabilmente per la maggior parte dovrebbe essere "poolerconsumi 2 power".
Codice: Seleziona tutto
#!/bin/bash
# Ver. 1.0
# letture ogni 20 secondi
# LIM1 è la soglia che si puo' assorbire a tempo infinito
# tra LIM1 e LIM2 si puo' assorbire per 3 ore
# sopra LIM2 per 2 minuti
#
LIM1=3300
LIM2=4100
H0=0
H1=0
H2=0
FILEH1=/run/shm/count1
FILEH2=/run/shm/count2
while [ true ]; do
PPROD=`cat /run/shm/123s_LIVEMEMORY.json | cut -d, -f16 | cut -d: -f2 | cut -d. -f1`
PCONS=`potenza | cut -d'(' -f2 | cut -d. -f1`
PENEL=`echo "$PCONS - $PPROD" | bc `
if [ $PENEL -le $LIM1 ]; then
H0=$((H0+1))
fi
if [ $PENEL -gt $LIM1 ]; then
H1=$((H1+1))
fi
if [ $PENEL -gt $LIM2 ]; then
H2=$((H2+1))
fi
if [ $H0 -ge 6 ]; then
H0=0
H1=0
H2=0
fi
if [ $H2 -ge 2 ]; then
/var/www/comapps/telegram.sh "Allarme Contatore picco potenza $PENEL W"
H2=0
fi
if [ $H1 -ge 265 ] && [ $H1 -le 270 ]; then
/var/www/comapps/telegram.sh "Primo Allarme Contatore 90 min $PENEL W"
fi
if [ $H1 -ge 535 ]; then
/var/www/comapps/telegram.sh "Secondo Allarme Contatore 180 min $PENEL W"
fi
echo "h1($H1*N)" > $FILEH1
echo "h2($H2*N)" > $FILEH2
sleep 20s
done