popup para carga da bateria [RESOLVIDO]

1. popup para carga da bateria [RESOLVIDO]

Fernando T. Da Silva
nandosilva

(usa Salix)

Enviado em 27/06/2020 - 14:02h

Na internet achei um script para monitorar a carga da bateria, que quando a carga da bateria baixar pra 30% de carga
é enviado um popup para avisar para conectar o carregador e quando a carga ficar com 80% é enviado outro
popup avisando pra desconectar o carrgador, onde o script é colocado no cron para ser executado a cada 5 minutos mas
o script não funciona porque ao atingir a carga de 30% não é enviado o popup.
Testei manualmente com valor atual da carga ajustando o valor no script e executando diretamente no terminal, mas o popup
não é exibido com o respectivo valor atual que está igual no arquivo da carga e no valor do script e também não é mostrado
nenhuma mensagem de erro ao executar o script.
Alguém tem uma ídeia porque o popup não é exibido mesmo executando diretamente no terminal ou pelo cron estando
com o mesmo valor do arquivo da bateria.

O script foi obtido em https://slimbook.es/tutoriales/linux/45-script-linux-para-avisar-de-batearia-cargada

Seu conteúdo

BATLVL=$(cat /sys/class/power_supply/BAT0/capacity)
if [ $BATLVL -ge 80 ]; then
if [ ! -f /tmp/batwarn ]; then
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ;
touch /tmp/batwarn ;
elif [ $BATLVL -le 30 ]; then
if [ ! -f /tmp/batwarn ]; then
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Conecta el cargador por favor"
touch /tmp/batwarn ;
fi
else
if [ -f /tmp/batwarn ]; then
rm -f /tmp/batwarn ;
fi
fi
fi


No meu notebook, apenas ajustei o device da bateria no script pois no meu é BAT1 ficando então:
/sys/class/power_supply/BAT1/capacity)

Testei só a linha de código do notify-send é a mesma funciona.
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ;

Pode ser outra código diferente do script em shell que serve monitorar o conteúdo do arquivo /sys/class/power_supply/BAT0/capacity





  


2. MELHOR RESPOSTA

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 27/06/2020 - 17:01h


nandosilva escreveu:

Na internet achei um script para monitorar a carga da bateria, que quando a carga da bateria baixar pra 30% de carga
é enviado um popup para avisar para conectar o carregador e quando a carga ficar com 80% é enviado outro
popup avisando pra desconectar o carrgador, onde o script é colocado no cron para ser executado a cada 5 minutos mas
o script não funciona porque ao atingir a carga de 30% não é enviado o popup.
Testei manualmente com valor atual da carga ajustando o valor no script e executando diretamente no terminal, mas o popup
não é exibido com o respectivo valor atual que está igual no arquivo da carga e no valor do script e também não é mostrado
nenhuma mensagem de erro ao executar o script.
Alguém tem uma ídeia porque o popup não é exibido mesmo executando diretamente no terminal ou pelo cron estando
com o mesmo valor do arquivo da bateria.

O script foi obtido em https://slimbook.es/tutoriales/linux/45-script-linux-para-avisar-de-batearia-cargada

Seu conteúdo

BATLVL=$(cat /sys/class/power_supply/BAT0/capacity)
if [ $BATLVL -ge 80 ]; then
if [ ! -f /tmp/batwarn ]; then
#notify 01
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ;
touch /tmp/batwarn ;
elif [ $BATLVL -le 30 ]; then
if [ ! -f /tmp/batwarn ]; then
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Conecta el cargador por favor"
touch /tmp/batwarn ;
fi
else
if [ -f /tmp/batwarn ]; then
rm -f /tmp/batwarn ;
fi
fi
fi


No meu notebook, apenas ajustei o device da bateria no script pois no meu é BAT1 ficando então:
/sys/class/power_supply/BAT1/capacity)

Testei só a linha de código do notify-send é a mesma funciona.
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Notificación de Batería" "Desconecta el cargador por favor" ;

Pode ser outra código diferente do script em shell que serve monitorar o conteúdo do arquivo /sys/class/power_supply/BAT0/capacity

Boa tarde Nando.
O "condicional" tá bem estranho, veja:
Se $BATLVL é maior = 80, E SE, /tmp/batwarn "Não é um arquivo comum", mostra notify 01.
E para "piorar", dentro do condicional que checa se é >= 80, testa se é <=30, isso nunca ocorrerá,
Matematicamente, se é >80, não é < 30!!!!! Rsrsrs

Resumindo, deve funcionar:
#!/bin/bash
BATMIN=12;
BATMAX=100;
BATCAP=$(cat /sys/class/power_supply/BAT1/capacity)
if ((${BATCAP} == ${BATMAX}));then
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Bateria Carregada" "Desconecte o carregador"
elif ((${BATCAP} <= ${BATMIN}));then
notify-send --urgency=critical --expire-time=5000 --app-name=Bateria --icon=battery "Bateria Descarregada" "Conecte o cargador"
fi

Obs.:
Ajuste, BAT MIN e MAX, conforme sua necessidade.

______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________





Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts