From 524c41a07cf5a7b53178e56e6a1e4e4c55322d8b Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Tue, 1 Dec 2015 21:35:14 +0100 Subject: [PATCH] first version --- .gitignore | 1 + README.rst | 30 ++++++++++++++++++++++++++++++ dimplex-get | 8 ++++++++ dimplex-minus | 26 ++++++++++++++++++++++++++ dimplex-plus | 26 ++++++++++++++++++++++++++ dimplex-set | 23 +++++++++++++++++++++++ 6 files changed, 114 insertions(+) create mode 100644 .gitignore create mode 100644 README.rst create mode 100755 dimplex-get create mode 100755 dimplex-minus create mode 100755 dimplex-plus create mode 100755 dimplex-set diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..daa30a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +README.html diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..093439f --- /dev/null +++ b/README.rst @@ -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 index 0000000..82d8267 --- /dev/null +++ b/dimplex-get @@ -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 index 0000000..affbf40 --- /dev/null +++ b/dimplex-minus @@ -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 index 0000000..a8174cc --- /dev/null +++ b/dimplex-plus @@ -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 index 0000000..2c58759 --- /dev/null +++ b/dimplex-set @@ -0,0 +1,23 @@ +#!/bin/sh +set -e +ipaddress=192.168.20.71 +if [ $# -lt 1 ]; then + echo "dimplex-set " + 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 '^$' -- 2.30.2