Index: conmux/drivers/dli-lpc |
diff --git a/conmux/drivers/dli-lpc b/conmux/drivers/dli-lpc |
new file mode 100755 |
index 0000000000000000000000000000000000000000..edf09e208e6f5a1fcd76ff9fb31aafeac8349d59 |
--- /dev/null |
+++ b/conmux/drivers/dli-lpc |
@@ -0,0 +1,52 @@ |
+#!/bin/sh |
+# |
+# Port control script for Digital Loggers Inc. Web Power Switch II and III |
+# |
+# Written by: Grant Likely <grant.likely@secretlab.ca> |
+# Copyright 2010 Secret Lab Technologies Ltd. |
+# |
+# Usage: dli-pscontrol.sh <admin:passwd@host> <port> {on|off|cycle} |
+# |
+# <port> is in the range 1..8. |
+# 'cycle' will turn a port off and on with a 1 second delay. |
+# |
+# The Web Power Switch uses a simple http request protocol for controlling |
+# the port state. The action simply gets encoded into the url in the form: |
+# |
+# http://<user>:<passwd>@<host[:port]>/outlet?<port-number>={ON|OFF|CCW} |
+# |
+# ON and OFF are self explanatory. |
+# CCW means cycle power, but only has effect when the port is already on. |
+# |
+# The protocol is simple enough that wget is sufficient to control ports. |
+ |
+baseurl="http://${1}" |
+porturl="${baseurl}/outlet?${2}" |
+ |
+wget_cmd="wget --auth-no-challenge -O /dev/null" |
+ |
+port_set() { |
+ ${wget_cmd} "${porturl}=${1}" > /dev/null 2>&1 |
+} |
+ |
+case "$3" in |
+ on) |
+ port_set ON |
+ ;; |
+ off) |
+ port_set OFF |
+ ;; |
+ cycle) |
+ # The CCW command *could* be used here, but the command has no |
+ # effect if the port is in the OFF state. |
+ port_set OFF |
+ sleep 1s |
+ port_set ON |
+ ;; |
+ *) |
+ echo "Usage: $0 <admin:passwd@host> <port> {on|off|cycle}" |
+ exit 1; |
+ ;; |
+esac |
+ |
+exit 0 |