#!/bin/sh

DIR=/sys/class/leds/
HDD_TEMP_LIMIT=42
CPU_TEMP_LIMIT=75
MAX_USED=85

convert_hdd(){
  case $1 in
    /dev/sda)
      echo hdd1
      ;;
    /dev/sdb)
      echo hdd2
      ;;
    /dev/sdc)
      echo hdd3
      ;;
    /dev/sdd)
      echo hdd4
      ;;
    *)
      echo ""
      ;;
  esac
}

IFS='
'
# leds folders
#hdd1:amber:sata    hdd1:blue:sata
#hdd2:amber:sata    hdd2:blue:sata
#hdd3:amber:sata    hdd3:blue:sata
#hdd4:amber:sata    hdd4:blue:sata
#power:amber:power  power:blue:power


for hdd in $(hddtemp /dev/sda /dev/sdb /dev/sdc /dev/sdd); do 
  dev=$(echo $hdd| awk '{print $1}'| sed -e 's/://g')
  shd=$(convert_hdd $dev)
  temp=$(echo $hdd | awk '{print $NF}' |sed -e 's/°C//g')
  #echo "dev=$dev shd=$shd temp=$temp";

  if [ "$temp" -ge $HDD_TEMP_LIMIT ]; then
    echo 255 > "$DIR/$shd:amber:sata/brightness"
    echo " * TEMP led $shd:amber on"
  else
    echo " * TEMP led $shd:amber off"
    echo 0 > "$DIR/$shd:amber:sata/brightness"
    echo 0 > "$DIR/$shd:blue:sata/brightness"
  fi

done

set_blink() {
  # $1 is blue or amber
  # $2 is on or off
  if [ "$2" = "on" ]; then
    echo 255 > "$DIR/power:$1:power/brightness"
    echo 1 > "$DIR/power:$1:power/blink"
  else
    echo 0 > "$DIR/power:$1:power/brightness"
    echo 0 > "$DIR/power:$1:power/blink"
  fi
}

# check for RAID
if [ "$(mdadm --detail /dev/md0| grep -c 'active sync')" != "4" ]; then
  set_blink blue on
  echo " * RAID led power on"
else
  set_blink blue off
fi




# CPU temp
CPU=$(sensors| awk '/Core 0/ {print $3}'| sed -e 's/+//g' -e 's/°C//g' | awk -F"." '{print $1}')
if [ "$CPU" -gt $CPU_TEMP_LIMIT ]; then
  set_blink amber on
  echo " * CPU led amber on"
else
  set_blink amber off
fi


# check size
MIRROR=$(df /dev/mapper/vg0-mirror | tail -1| awk '{print $4}'| sed -e 's/%//g')
if [ "$MIRROR" -gt $MAX_USED ]; then
  echo " * MIRROR size led amber on"
  set_blink amber on
else
  set_blink amber off
fi

# check size
DESCARGAS=$(df /dev/mapper/vg0-descargas | tail -1| awk '{print $4}'| sed -e 's/%//g')
if [ "$DESCARGAS" -gt $MAX_USED ]; then
  echo " * DESCARGAS size led amber on"
  set_blink amber on
else
  set_blink amber off
fi

