Telnet script to amplifier


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Telnet script to amplifier
# 1  
Old 05-08-2014
Telnet script to amplifier

Hi all!

I have a Pioneer VSX-921 which I am very happy about. It has airplay, lots of other features. One of them is controlling it with your Iphone and telnet.
And now it becomes interesting! I want to make a bash script to log into my amp, send a command: MZ (which means mute) and then exit the telnet session.

I allready installed telnet
Code:
sudo apt-get install telnet

I can login with: telnet 192.168.1.155 (it doesn't require a password and portnmbr)
its gives this:
Code:
Trying 192.168.1.155...
Connected to 192.168.1.155.
Escape character is '^]'.
BridgeCo AG Telnet server

and when I type MZ it mutes the amp.

Now, is it possible to put this into a script? I allready tried this:
Code:
#!/bin/sh

#################################################################

spawn telnet 192.168.1.155
send "MZ"

but is says unknown command spawn and send...

It is also possible to ask the amp what status it has (on/of, mute on/off, how high the volume is and etc) For example: when I type ?p it gives back a code PWR0 or PWR1 (so on or off)

I want to make a script that checks if the amp is on, and if so, it mutes the amp when the script is run.

If I can get some kind of example that would be great!, I can experiment from there... But now, i am stuck :roll:

Thanks anyway!
# 2  
Old 05-10-2014
anyone?
# 3  
Old 05-10-2014
Try:
Code:
{
  sleep 2
  echo MZ
  sleep 2
  } | telnet 192.168.1.155

spawn and sendare expect, not shell, commands.
The script will be more robust, if you rewrite it in expect.
# 4  
Old 05-10-2014
try…

Code:
telnet 192.168.1.155<<EOF
send MZ
EOF

# 5  
Old 05-10-2014
Quote:
Originally Posted by radoulov
Try:
Code:
{
  sleep 2
  echo MZ
  sleep 2
  } | telnet 192.168.1.155

spawn and sendare expect, not shell, commands.
The script will be more robust, if you rewrite it in expect.
WOW, it works Smilie

I am very happy now! thank you very very much!.
You said it would be more robust if I rewrite this into a expect? but how must I do this. I am running this on a Raspberry Pi BTW.

and is it also to send a command ?p which gives a result PWR0 or PWR1 and then react on it. So something like this
Code:
{
  sleep 2
  echo ?p
If PWR0
then 
echo MZ
  sleep 2
  } | telnet 192.168.1.155

Or something like this? I allready tried it but it gaive me a syntax error near }
# 6  
Old 05-10-2014
Assuming that PWR0 means the power is off and PWR1 means the power is on, and assuming that you want to mute if the power is on, I think you want something more like:
Code:
{
        sleep 2
        echo '?p'
        sleep 2
} | telnet 192.168.1.155 | (
        read power
        if [ "$power" = "PWR1" ]
        then {  sleep 2
                echo MZ
                sleep 2
        } | telnet  192.168.1.155
        fi
)

Obviously, this is untested (since I don't have an amp like this). If the amplifier has a command to terminate a command session, (something like exit or quit) you probably also want to add an echo to send that command to the amplifier in both of the above telnet scripts after the 2nd sleep.

Last edited by Don Cragun; 05-10-2014 at 08:44 PM.. Reason: Add missing quotes.
# 7  
Old 05-10-2014
Better quote the ? to prevent the shell from attempting a substitution.
Code:
  echo "?p"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Telnet Script

Hello, I wrote a script for doing telnet.However the requirement got changed and now I have to write a telnet script that will 1. Do the telnet from all the virtual ips in a box(Ex: x.x.x.x is the box ip, and x.x.x.1,x.x.x.2 etc are virtual ips associated with that box.) 2. The port range... (3 Replies)
Discussion started by: coolkid
3 Replies

2. Shell Programming and Scripting

Telnet Script

Hello, I wrote a script for doing telnet.However the requirement got changed and now I have to write a telnet script that will 1. Do the telnet from all the virtual ips in a box(Ex: x.x.x.x is the box ip, and x.x.x.1,x.x.x.2 etc are virtual ips associated with that box.) 2. The port range... (0 Replies)
Discussion started by: coolkid
0 Replies

3. Shell Programming and Scripting

telnet script

Hi, I need a script that take one parameter as destination hostname and two parameter as ranges and tries telnet and records the successful connections. fo reg: ./testtelnet.sh destination-host 1000 1050 should give me all the port between 1000 and 1050 what successfully connected to... (10 Replies)
Discussion started by: shifahim
10 Replies

4. Shell Programming and Scripting

Telnet script

Hi all, I would like to write a ad hoc shell script that would allow me to do some telnet tests to multiple IP's and ports at the same time . So, I want to determine which one is successful and which one fails. So, basically I would like the shell to spawn the telnet test and to break out of... (3 Replies)
Discussion started by: Pouchie1
3 Replies

5. Shell Programming and Scripting

telnet script help

Hi Guys, How do I write the script for the following telnet 192.168.1.100 9002 if the result is less than 1 second. The script should say as port open if the result takes more than 3 seconds. The script should display as port closed. Thanks, Charan (1 Reply)
Discussion started by: charan314
1 Replies

6. Shell Programming and Scripting

Using Telnet in a script

Hi All, I was trying to use telnet in a script to access a certain processor on a certain port to view some processes. The problem is that when I use telnet the output is displayed for me. The script is: #!/bin/sh cd /ahmed/ezzat/ rm ss7trace.log touch ss7trace.log chmod 755... (3 Replies)
Discussion started by: Ahmad Ezzat
3 Replies

7. Shell Programming and Scripting

Telnet Script

Hi, I have the following code ... (sleep 1; echo $USERID ; sleep 1; echo $PASSWD ; sleep 1 ; echo y ; sleep 1 ; echo "\r" ; sleep 1 ; echo "cd $FILEPATH" ; sleep 1 ; echo "pwd"; sleep 1 ; echo df -k .| tail -1| cut -d ' ' -f8 > aop.txt ; echo "pwd" ; cat aop.txt; sleep 3)| telnet $SERVER the... (1 Reply)
Discussion started by: King Nothing
1 Replies

8. Shell Programming and Scripting

how to use telnet in script

I am trying to use telnet in shell script but getting following error error Connected to crmapp00.agf.ca. Escape character is '^]'. Connection closed by foreign host. Script #!/bin/ksh PATH=/usr/sbin/:/usr/bin:/usr/ucb:/etc:/usr/local/bin:. telnet HOSTNAME <<SCRIPT user userid... (9 Replies)
Discussion started by: sibghat
9 Replies

9. UNIX for Dummies Questions & Answers

telnet through script

Hi, How to write a script to perform telnet/ftp operation. Also please refer some site to get reference about shell scripting. Thanks in advance -Arun. (1 Reply)
Discussion started by: arun.viswanath
1 Replies

10. IP Networking

telnet in a script

Does anyone have a script that contains the telnet command and passes the login and password in the script as well? (4 Replies)
Discussion started by: vaccari
4 Replies
Login or Register to Ask a Question