SOURCES: acpid.battery.sh - no flood to log

wolvverine wolvverine at pld-linux.org
Wed Sep 27 02:05:02 CEST 2006


Author: wolvverine                   Date: Wed Sep 27 00:05:02 2006 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- no flood to log

---- Files affected:
SOURCES:
   acpid.battery.sh (1.5 -> 1.6) 

---- Diffs:

================================================================
Index: SOURCES/acpid.battery.sh
diff -u SOURCES/acpid.battery.sh:1.5 SOURCES/acpid.battery.sh:1.6
--- SOURCES/acpid.battery.sh:1.5	Sun Aug 20 20:12:08 2006
+++ SOURCES/acpid.battery.sh	Wed Sep 27 02:04:56 2006
@@ -10,16 +10,18 @@
 fi
 set $*
 
-AC=/proc/acpi/ac_adapter/AC
-BAT=/proc/acpi/battery/$2
+AC=/proc/acpi/ac_adapter/ADP1
+BAT=/proc/acpi/battery/BAT1
+STATE_FILE=/tmp/ac_bat_acpid.state
 
 # get the AC connector state (plugged/unplugged) from /proc filesystem.
 AC_STATE=`sed -n 's/^.*\(off\|on\)-line.*/\1/p' $AC/state`
-
+AC_STATE_OLD=`cat "$STATE_FILE" | awk '{print $1};'`
 # get the battery state from /proc filesystem
 BAT_CAPACITY=`awk '/^remaining\ capacity:/ {print $3}' $BAT/state`
 BAT_WARNING=`awk '/^alarm:/ {print $2}' $BAT/alarm`
 BAT_CRITICAL=`awk '/^design\ capacity\ low:/ {print $4}' $BAT/info`
+BAT_STATE_OLD=`cat "$STATE_FILE" | awk '{print $2};'`
 if [ "$BAT_CAPACITY" -le "$((BAT_CRITICAL+200))" -a "$AC_STATE" = "off" ]; then
 	BAT_STATE=critical
 elif [ "$BAT_CAPACITY" -le "$((BAT_WARNING+200))" -a "$AC_STATE" = "off" ]; then
@@ -27,11 +29,13 @@
 else
 	BAT_STATE=normal
 fi
+echo "$AC_STATE $BAT_STATE" >  "$STATE_FILE"
 
-case "$AC_STATE" in
+if [ "$AC_STATE" != "$AC_STATE_OLD" ]; then
+ case "$AC_STATE" in
   on)
 	# AC connector plugged in
-	logger "acpid: `basename $AC` connector plugged in."
+	logger "acpid: `basename $AC` connector plugged in. State: $AC_STATE."
 	# deactivate standby (spindown) timeout for the drive
 	#hdparm -q -S 0 /dev/hda
 	# handle processor
@@ -40,24 +44,26 @@
 	;;
   off)
 	# AC connector unplugged
-	logger "acpid: `basename $AC` connector unplugged."
+	logger "acpid: `basename $AC` connector unplugged. State: $AC_STATE."
 	# activate standby (spindown) timeout for the drive
 	# timeout 5 minutes (man hdparm, for more informations)
-	#hdparm -q -S 60 /dev/hda 
+	#hdparm -q -S 60 /dev/sda 
 	# handle processor
 	#echo 4 > /proc/acpi/processor/CPU0/throttling
 	#echo 3 > /proc/acpi/processor/CPU0/performance
 	;;
   *)
 	# AC connector in undetermined state
-	logger "acpid: Could not determine new `basename $AC` connector state."
+	logger "acpid: Could not determine new `basename $AC` connector state: $AC_STATE."
 	;;
-esac
+ esac
+fi
 
-case "$BAT_STATE" in
+if [ "$BAT_STATE" != "$BAT_STATE_OLD" ]; then
+ case "$BAT_STATE" in
   warning)
 	# battery passed acpi alarm state and AC unplugged
-	logger "acpid: Remaining `basename $BAT` battery capacity low."
+	logger "acpid: Remaining `basename $BAT` battery capacity low. State: $BAT_STATE."
 	# play alarm sound
 	#play /path_to/alarm.wav
 	# put computer to sleep
@@ -66,7 +72,7 @@
 	;;
   critical)
 	# some laptops generate acpi event when machine is about to turn off
-	logger "acpid: Remaining `basename $BAT` battery capacity VERY low."
+	logger "acpid: Remaining `basename $BAT` battery capacity VERY low. State: $BAT_STATE."
 	# play alarm sound
 	#play /path_to/alarm.wav
 	# put computer to sleep
@@ -78,6 +84,7 @@
 	;;
   *)
 	# battery in undetermined state
-	logger "acpid: Could not determine `basename $BAT` battery state."
+	logger "acpid: Could not determine `basename $BAT` battery state: $BAT_STATE."
 	;;
-esac
+ esac
+fi
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/acpid.battery.sh?r1=1.5&r2=1.6&f=u



More information about the pld-cvs-commit mailing list