sispmctl(1)
NAME
sispmctl - Gembird Silver Shield PM ConTroL program
SYNOPSIS
sispmctl [ -i <ip> ] [ -p <#port> ] [ -u <path> ] -l sispmctl -s sispmctl [ -q ] [ -n ] [ -d 1... ] -b <on|off> sispmctl [ -q ] [ -n ] [ -d 1... ] < -o | -f | -g > <1..4|all>
DESCRIPTION
sispmctl is a tool to switch the USB controlled outlets of Gembird Silver Shield PM. It is known by many names, e.g. Revolt Power Switch.
It is coded in C and does use the usb specific library (LibUSB). This
allows you a portable and fast solution.
OPTIONS
-h Print usage information
- -s Scan all universal serial buses for devices with the ID
- 04B4:FD11.
- -l stay listening on network port for http protocol.
- -p IP network port (default: 2638) for listener. There is no
- authentication implemented yet.
- -u give the directory path where pages lay, that are served
- (default: /usr/local/httpd/sispmctl ). The Web path component is completely ignored for security reasons.
- -b switch the buzzer on and off (I was not able to test it, mine
- does not hat it)
- -o switch the named outlet to "ON"
- -f switch the named outlet to "OFF"
- -g show the status of the named outlet
- -d Choose not the first but the named one in the sequence of
- detected devices (see scan option)
- -n do not print "ON" and "OFF", but "1" and "0" instead
- -q do neither print explanations nor disclaimers except it is
- requested
- -v print version & copyright
WEB INTERFACE
The sispmctl program provides a web interface when started with the -l
option. No additional http server is needed. Each selected usb device
is blocked by sispmctl while running.
After installation, the first of three web-interfaces is selected. The
default location of the HTML files is /usr/local/httpd/sispm_ctl/doc
which is a symbolic link to /usr/local/httpd/sispm_ctl/skin1.
The http capabilities of sispmctl are limited. Technically speaking, only the first line of each http request is parsed. The terminating path component, i.e. file name, is looked up in the repository directory. If present the file is parsed and in absence of control sequences sent as is. The files must include the http header portion.
Control sequences start and end with double dollar `$$'. They consist
of a command portion separated by a question mark `?' from alternative
outputs which are separated by the first colon `:'. The command portion is a token followed by an embraced number that references the outlet, e.g. $$command(1)?positive:negative$$ while command is one of
status , toggle , off , on . I strongly recommend to avoid the
on/off/toggle commands in pages that may be reloaded. Best is to redirect to other pages that only include status requests.
EXAMPLES
Switch off the first outlet of the first SiS-PM and the third outlet of
the second SiS-PM:
sispmctl -f 1 -d 1 -f 3
Print the status of the forth outlet as zero or one:
sispmctl -nqg 4
Run sispmctl on the second device as a web-server:
sispmctl -d 1 -l
You can connect to it from the same machine by pointing to
http://localhost:2638 with your webbrowser
AUTHOR
First version by Mondrian Nuessle, nuessle@uni-mannheim.de
- Web integration and man page by Andreas Neuper, ANeuper-at-web-dot-de