Contents |
Introduction
This HowTo guide explains how you can use xPLHal in conjunction with the native xPL support in SlimServer to automatically shut down your computer using a sequence of button presses on the Slim Devices remote control.
We will create an xPLHal script that will execute a free command-line utility called poweroff.exe to shut down the computer when the defined button presses are detected.
What You Need
- A Windows PC running xPLHal, xPLHal manager and an xPL Hub as described in the HowTo guide Get Started on Windows.
- A SliMP3 or Squeezebox using SlimServer version 5.2 or greater, with xPL support enabled as described in the HowTo guide Enable xPL support in SlimServer
Downloading the Software
Download poweroff.exe from http://www.xplproject.org.uk/files/poweroff.zip (26KB)
Installing the Software
Unzip poweroff.exe into your Windows system directory (Usually either C:\Winnt\System32 or C:\Windows\System32).
Creating the xPLHal script
- Click Start -> Programs -> xPLHal -> xPLHal Manager
- In xPLHal Manager, click on Scripts.
- You should see a script for your player, with the filename of slimdev_slimserv_<player-name>.xpl - double click on it to open the script editor.
- Paste the following script into the script editor, replacing <player-name> with the name of your player:
sub slimdev_slimserv_<player-name>_trigger(XplMsg) ' We're only interested in button presses If not lcase(xpl.GetParam(XplMsg,"{schema}",True)) = "remote.basic" Then Exit Sub End If ' We're only interested if the player is powered off If not lcase(xpl.getparam(XplMsg,"power",true)) = "off" Then Exit Sub End If if lcase(xpl.getparam(XplMsg,"keys",true)) = "numberscroll_1" Then sys.value("SlimShutdown") = "1" ElseIf lcase(xpl.getparam(XplMsg,"keys",true)) = "numberscroll_2" and sys.value("SlimShutdown") = "1" Then sys.value("SlimShutdown") = "2" ElseIf lcase(xpl.getparam(XplMsg,"keys",true)) = "numberscroll_3" and sys.value("SlimShutdown") = "2" Then sys.value("SlimShutdown") = "3" call sys.execute("poweroff.exe","/h 127.0.0.1",False) End If End Sub
- If you want to shut down a PC other than the one that is running xPLHal, change the IP address (127.0.0.1) in the
call sys.execute
line to the IP address or hostname of the target machine. - Select the Save and Reload option from the File menu - you should see a message saying your scripts were reloaded successfully.
Testing
To test the script, turn off your player, then press 1, then 2, then 3 on the remote control. Your PC should now shut down.
Want to discuss this article?
If you have questions or comments about this article, you can join the mailing list enabled xPL forums.