#!/bin/sh
#
# $Id: host_status.in,v 1.1 2023-06-30 17:09:52+05:30 Cprogrammer Exp mbhangui $
#

set_command()
{
	if [ -n "$LCD_FIFO" ] ; then
		cmd="/bin/cat > $LCD_FIFO"
		return 0
	elif [ -n "$LCD_HOST" ] ; then
		if [ -z "$LCD_PORT" ] ; then
			LCD_PORT=1806
		fi
		cmd="nc -w 1 -u $LCD_HOST $LCD_PORT"
		return 0
	fi
	if [ -d /run ] ; then
		lcdfifo="/run/lcd-daemon/lcdfifo"
	elif [ -d /var/run ] ; then
		lcdfifo="/var/run/lcd-daemon/lcdfifo"
	else
		lcdfifo="/tmp/lcd-daemon/lcdfifo"
	fi
	if [ -p $lcdfifo ] ; then
		cmd="/bin/cat > /run/lcd-daemon/lcdfifo"
		return 0
	elif [  -x /usr/bin/nc ] ; then
		if [ -n "$LCD_HOST" ] ; then
			lcdhost=$LCD_HOST
		else
			lcdhost=$(grep lcdhost /etc/hosts|awk '{print $1}')
		fi
		if [ -z "$LCD_PORT" ] ; then
			LCD_PORT=1806
		fi
		if [ -n "$lcdhost" ] ; then
			cmd="nc -w 1 -u $lcdhost $LCD_PORT"
			return 0
		fi
	fi
	return 1
}

if [ $# -ne 1 ] ; then
	exit 1
fi

set_command
case "$1" in
	load)
		echo "Sending load information to LCD $cmd"
		load=$(cat /proc/loadavg|awk '{print $1" "$2" "$3}')
		echo "0 0 3:Load $load" | sh -c "$cmd"
		echo "1 0 0:$(hostname -I)" | sh -c "$cmd"
		echo "2 0 0:$(date +"%d-%m-%y %H:%M:%S")" | sh -c "$cmd"
		echo "3 0 0:$(uname -n) On" | sh -c "$cmd"
		;;
	*)
		echo "Sending text to LCD $cmd"
		echo $1 | sh -c "$cmd"
		;;
esac

#
# $Log: host_status.in,v $
# Revision 1.1  2023-06-30 17:09:52+05:30  Cprogrammer
# Initial revision
#
#
