28.05.2017, 14:59
Hallo zusammen,
wer die aktuelle Gesamtleistung an eine Systemvariable der Homemtic CCU2 übergeben will anbei ein kleines Shell Script das man auf dem smartPI per Crontab aufrufen kann um den Wert zu übergeben.
Grüße
Eric
wer die aktuelle Gesamtleistung an eine Systemvariable der Homemtic CCU2 übergeben will anbei ein kleines Shell Script das man auf dem smartPI per Crontab aufrufen kann um den Wert zu übergeben.
Code:
#!/bin/bash
round()
{
bc -l <<END_BC
define round(number,r_scale)
{
auto o_scale
o_scale = scale
scale = r_scale+1
number += 5 / (10 ^ scale)
scale = r_scale
number /= 1
scale = o_scale
return number
}
round ($1,$2)
END_BC
}
URL_Static="localhost:1080"
FILTER="\"data\":"
URL="${URL_Static}/api/1/power/now"
RESULT="`wget -qO- ${URL}`"
POSITION="`echo ${RESULT} | grep -aob ${FILTER} | grep -oE '[0-9]+'`"
RESULT=${RESULT:POSITION+7:${#RESULT}}
PHASE1=${RESULT:0:${#RESULT}-7}
#echo ${PHASE1}
URL="${URL_Static}/api/2/power/now"
RESULT="`wget -qO- ${URL}`"
POSITION="`echo ${RESULT} | grep -aob ${FILTER} | grep -oE '[0-9]+'`"
RESULT=${RESULT:POSITION+7:${#RESULT}}
PHASE2=${RESULT:0:${#RESULT}-7}
#echo ${PHASE2}
URL="${URL_Static}/api/3/power/now"
RESULT="`wget -qO- ${URL}`"
POSITION="`echo ${RESULT} | grep -aob ${FILTER} | grep -oE '[0-9]+'`"
RESULT=${RESULT:POSITION+7:${#RESULT}}
PHASE3=${RESULT:0:${#RESULT}-7}
#echo ${PHASE3}
ZUSAMMEN="`echo "scale=5; ${PHASE1} + ${PHASE2} + ${PHASE3}" | bc`"
#echo ${ZUSAMMEN}
ZUSAMMEN_GERUNDET=`round ${ZUSAMMEN} 2`
#echo ${ZUSAMMEN_GERUNDET}
wget -q "http://[IP_DER_CCU]/config/xmlapi/statechange.cgi?ise_id=[NUMMER_DER_SYSTEMVARIABLE]&new_value=${ZUSAMMEN_GERUNDET}"
Grüße
Eric