first version
authorChristian Weiske <cweiske@cweiske.de>
Tue, 1 Dec 2015 20:35:14 +0000 (21:35 +0100)
committerChristian Weiske <cweiske@cweiske.de>
Tue, 1 Dec 2015 20:35:14 +0000 (21:35 +0100)
.gitignore [new file with mode: 0644]
README.rst [new file with mode: 0644]
dimplex-get [new file with mode: 0755]
dimplex-minus [new file with mode: 0755]
dimplex-plus [new file with mode: 0755]
dimplex-set [new file with mode: 0755]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..daa30a3
--- /dev/null
@@ -0,0 +1 @@
+README.html
diff --git a/README.rst b/README.rst
new file mode 100644 (file)
index 0000000..093439f
--- /dev/null
@@ -0,0 +1,30 @@
+*************
+Dimplex tools
+*************
+
+Heizkurve einer Dimplex Wärmepumpe per Shellscript steuern::
+
+    $ dimplex-get
+    21
+
+    $ dimplex-set 20
+    Setting dimplex level to 20
+    Operation completed succesfully
+
+    $ dimplex-plus 
+    Current: 21
+    New: 22
+    Setting dimplex level to 22
+    Operation completed succesfully
+    Done
+
+    $ dimplex-minus 
+    Current: 22
+    New: 21
+    Setting dimplex level to 21
+    Operation completed succesfully
+    Done
+
+Nützlich für den `noxon-gateway`__ :)
+
+__ http://git.cweiske.de/noxon-gateway.git/
diff --git a/dimplex-get b/dimplex-get
new file mode 100755 (executable)
index 0000000..82d8267
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+ipaddress=192.168.20.71
+res=`curl -sS "$ipaddress/usr-cgi/xml.cgi?I|1|1"`
+echo "$res"\
+    | grep VALUE\
+    | tr -cd [:digit:]
+echo
diff --git a/dimplex-minus b/dimplex-minus
new file mode 100755 (executable)
index 0000000..affbf40
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+set -e
+setting=`dimplex-get`
+echo Current: $setting
+
+setting2=`echo "$setting" | tr -cd '[:digit:]'`
+if [ "$setting" != "$setting2" ]; then
+    echo Invalid current value
+    exit 1
+fi
+
+newsetting=$(($setting - 1))
+echo New: $newsetting
+
+if [ $newsetting -gt 30 ]; then
+    echo "New value too high"
+    exit 1
+fi
+if [ $newsetting -lt 10 ]; then
+    echo "New value too low"
+    exit 1
+fi
+
+dimplex-set $newsetting
+
+echo Done
diff --git a/dimplex-plus b/dimplex-plus
new file mode 100755 (executable)
index 0000000..a8174cc
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/sh
+set -e
+setting=`dimplex-get`
+echo Current: $setting
+
+setting2=`echo "$setting" | tr -cd '[:digit:]'`
+if [ "$setting" != "$setting2" ]; then
+    echo Invalid current value
+    exit 1
+fi
+
+newsetting=$(($setting + 1))
+echo New: $newsetting
+
+if [ $newsetting -gt 30 ]; then
+    echo "New value too high"
+    exit 1
+fi
+if [ $newsetting -lt 10 ]; then
+    echo "New value too low"
+    exit 1
+fi
+
+dimplex-set $newsetting
+
+echo Done
diff --git a/dimplex-set b/dimplex-set
new file mode 100755 (executable)
index 0000000..2c58759
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+set -e
+ipaddress=192.168.20.71
+if [ $# -lt 1 ]; then
+   echo "dimplex-set <value>"
+   exit 1
+fi
+
+value=$1
+
+if [ $value -gt 38 ]; then
+    echo "New value too high"
+    exit 1
+fi
+if [ $value -lt 1 ]; then
+    echo "New value too low"
+    exit 1
+fi
+
+echo Setting dimplex level to $value
+curl -sS "$ipaddress/usr-cgi/query.cgi?var|I|1|$value"\
+    | sed 's#<[^>]*>##g'\
+    | grep -v '^$'