Skip to content

Commit bb0367c

Browse files
authoredFeb 17, 2025
Update calcular-consumo.sh
1 parent 9bdbc8d commit bb0367c

File tree

1 file changed

+52
-23
lines changed

1 file changed

+52
-23
lines changed
 

‎calcular-consumo.sh

+52-23
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,41 @@ calcular_overhead() {
259259
echo "$consumo_overhead"
260260
}
261261

262+
# Função para calcular custos energéticos
263+
calcular_custos_energia() {
264+
local consumo_total=$1
265+
local custo_kwh=$2
266+
267+
# Cálculos de consumo
268+
local consumo_diario=$(echo "$consumo_total * 24 / 1000" | bc -l)
269+
local consumo_semanal=$(echo "$consumo_diario * 7" | bc -l)
270+
local consumo_mensal=$(echo "$consumo_diario * 30" | bc -l)
271+
272+
# Cálculos de custo
273+
local custo_diario=$(echo "$consumo_diario * $custo_kwh" | bc -l)
274+
local custo_semanal=$(echo "$consumo_semanal * $custo_kwh" | bc -l)
275+
local custo_mensal=$(echo "$consumo_mensal * $custo_kwh" | bc -l)
276+
277+
# Formatação com duas casas decimais
278+
consumo_diario=$(printf "%.2f" "$consumo_diario")
279+
consumo_semanal=$(printf "%.2f" "$consumo_semanal")
280+
consumo_mensal=$(printf "%.2f" "$consumo_mensal")
281+
custo_diario=$(printf "%.2f" "$custo_diario")
282+
custo_semanal=$(printf "%.2f" "$custo_semanal")
283+
custo_mensal=$(printf "%.2f" "$custo_mensal")
284+
285+
# Log de custos
286+
{
287+
log " Detalhamento de Consumo e Custo:"
288+
printf " Consumo Diário: %.2f kWh (R$ %.2f)\n" "$consumo_diario" "$custo_diario"
289+
printf " Consumo Semanal: %.2f kWh (R$ %.2f)\n" "$consumo_semanal" "$custo_semanal"
290+
printf " Consumo Mensal: %.2f kWh (R$ %.2f)\n" "$consumo_mensal" "$custo_mensal"
291+
} >&2
292+
293+
# Retornar valores para uso posterior, se necessário
294+
echo "$consumo_diario,$consumo_semanal,$consumo_mensal,$custo_diario,$custo_semanal,$custo_mensal"
295+
}
296+
262297
# Função principal de cálculo
263298
calcular_consumo_total() {
264299
local consumo_cpu=$(calcular_consumo_cpu)
@@ -267,32 +302,24 @@ calcular_consumo_total() {
267302
local overhead=$(calcular_overhead "$consumo_cpu" "$consumo_hds" "$consumo_ram")
268303

269304
local consumo_total=$((consumo_cpu + consumo_hds + consumo_ram + overhead))
270-
local consumo_diario=$((consumo_total * 24))
271-
local consumo_mensal=$((consumo_diario * 30))
272-
273-
# Obter custo do kWh
274305
local custo_kwh=$(obter_custo_kwh)
275-
local custo_mensal=$(echo "scale=2; $consumo_mensal * $custo_kwh / 1000" | bc)
276306

307+
# Log de resumo de consumo
277308
log " Resumo de Consumo de Energia:"
278309
printf " CPU: %dW\n" "$consumo_cpu"
279310
printf " HDs: %dW\n" "$consumo_hds"
280311
printf " RAM: %dW\n" "$consumo_ram"
281312
printf " Overhead: %dW\n" "$overhead"
282313
printf " Consumo Total: %dW\n" "$consumo_total"
283-
echo ""
284-
echo "Estimativas:"
285-
printf " Consumo Diário: %d Wh\n" "$consumo_diario"
286-
printf " Consumo Mensal: %d Wh (%d kWh)\n" "$consumo_mensal" "$((consumo_mensal / 1000))"
287-
printf " Custo Mensal: R$ %.2f (kWh: R$ %.2f)\n" "$custo_mensal" "$custo_kwh"
288-
289-
# Dicas específicas para CrunchBang++
290-
if [[ "$SISTEMA" == "crunchbangplusplus" ]]; then
291-
log " Dicas de Economia para CrunchBang++:"
292-
echo " - Use gerenciadores de energia leves"
293-
echo " - Otimize inicialização do sistema"
294-
echo " - Considere desabilitar serviços não essenciais"
295-
fi
314+
315+
# Calcular custos detalhados
316+
calcular_custos_energia "$consumo_total" "$custo_kwh"
317+
318+
# Dicas de economia
319+
log " Dicas de Economia de Energia:"
320+
echo " - Desligue dispositivos não utilizados"
321+
echo " - Use modo de economia de energia"
322+
echo " - Considere substituir HDs por SSDs"
296323
}
297324

298325
# Verificar privilégios
@@ -307,8 +334,10 @@ verificar_dependencias
307334
# Executar cálculo
308335
calcular_consumo_total
309336

310-
# Dicas gerais de economia
311-
log " Dicas de Economia de Energia:"
312-
echo " - Desligue dispositivos não utilizados"
313-
echo " - Use modo de economia de energia"
314-
echo " - Considere substituir HDs por SSDs"
337+
# Dicas específicas para CrunchBang++
338+
if [[ "$SISTEMA" == "crunchbangplusplus" ]]; then
339+
log " Dicas de Economia para CrunchBang++:"
340+
echo " - Use gerenciadores de energia leves"
341+
echo " - Otimize inicialização do sistema"
342+
echo " - Considere desabilitar serviços não essenciais"
343+
fi

0 commit comments

Comments
 (0)
Please sign in to comment.