fhem-speech.agi 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/usr/bin/perl
  2. ################################################################
  3. #
  4. # $Id: fhem-speech.agi,v 1.1 2009-01-12 10:26:50 rudolfkoenig Exp $
  5. #
  6. use strict;
  7. $|=1;
  8. # Setup some variables
  9. my $sounds = "/var/lib/asterisk/sounds/fhem/";
  10. my %AGI;
  11. my $tests = 0;
  12. my $fail = 0;
  13. my $pass = 0;
  14. while(<STDIN>) {
  15. chomp;
  16. last unless length($_);
  17. if (/^agi_(\w+)\:\s+(.*)$/) {
  18. $AGI{$1} = $2;
  19. }
  20. }
  21. print STDERR "AGI Environment Dump:\n";
  22. foreach my $i (sort keys %AGI) {
  23. print STDERR " -- $i = $AGI{$i}\n";
  24. }
  25. sub checkresult {
  26. my ($res) = @_;
  27. my $retval;
  28. $tests++;
  29. chomp $res;
  30. if ($res =~ /^200/) {
  31. $res =~ /result=(-?\d+)/;
  32. if (!length($1)) {
  33. print STDERR "FAIL ($res)\n";
  34. $fail++;
  35. } else {
  36. print STDERR "PASS ($1)\n";
  37. $pass++;
  38. }
  39. } else {
  40. print STDERR "FAIL (unexpected result '$res')\n";
  41. $fail++;
  42. }
  43. }
  44. system("fhem-speech -d $ARGV[1] -a -q -o gsm -c $sounds") if ($ARGV[0] eq "d");
  45. system("fhem-speech -t $ARGV[1] -a -q -o gsm -c $sounds") if ($ARGV[0] eq "t");
  46. system("fhem-speech -d $ARGV[1] --set $ARGV[2]") if ($ARGV[0] eq "s");