#!/usr/bin/perl -w

# program reads messages from "sms-inbox"-folder and handles them when
# necessary

my $inbox = "/var/gsm/in";
my $handled = "/var/gsm/in.handled/";
my $file="";
my $sendsms = "/usr/local/bin/sendsms.pl";
my $remove=0;

for $file ( <$inbox/*.txt> ) {

	my $sender="";
	my $remove=0;
	open FILE,"<$file" || print "Cannot open file ($file): $!";
	while (<FILE>) {
		if (/Sender:/) {
			s/.*Sender:/Sender:/;
			($tmp,$sender,@tmp) = split (" ",$_);
			chomp($sender);
			$sender =~ s/\+//g;
			$sender =~ s/ //g;
		}

		if (/^Kiklop/) { #saunan ohjausdataa ...
			&sauna($sender,$_);
			$remove=1;
		}
	}
	close FILE;
	if ($remove == 1) {
		`mv $file $handled`;
	}
}

sub sendsms {
	# sendsms ($number, $text)
	open SMS, "| $sendsms" || die "Cannot open sendsms: $!";
	print SMS "NUMBER: $_[0]\n";
	print SMS "$_[1]";
	close SMS;
}


sub sauna {
	# sauna($sender, $line);
	my $sender = $_[0];
	my $line = $_[1];

	if ($sender eq "381641769071" || $sender eq "358405283887") { # authorized to ask and control
		if ($line =~ /Zika/) { # saunan tilatieto
			#my $text = `tail -2 /var/log/temperature|sed -e 's/Sensor 1/Ulkona/'|sed -e 's/Sensor 0/Saunassa/'`;
			#$sender =~ s/358/0/;
			#&sendsms($sender,$text);
			my $text = `touch /tmp/Zika`;
		}
	}
}
