Enecsys Monitoring System
MiniJoule / Enecsys Monitoring System
Die Wechselrichter von Enecsys haben Zigbee Transceiver eingebaut, die die aktuellen Energiewerte der angeschlossenen Solarpanels übertragen. Dazu gibt es von Enecsys einen Gateway (z.B. bei MiniJoule zu beziehen), der die Daten aufbereitet und an einen Webservice bei Enecsys überträgt.
Da das Protokoll der Daten noch nicht entschlüsselt ist, gibt es derzeit nur die Möglichkeit das Flash Webinterface zu nutzen, um sich die Daten anzuschauen.
Mit folgendem Script ist es möglich, die aktuellen Verbrauchswerte auszulesen und in FHEM einzubinden. Dazu legt man sich in FHEM ein Dummy-Device an und lässt das Script per Timer alle 2 Minuten aufrufen:
FHEM Config:
define Photovoltaik dummy define pv_timer at +*00:02:00 "/Users/akw/enecsys.sh"
Shell script:
#!/bin/sh
USERNAME="<EMAIL>"
PASSWORD="<PASSWORD>"
FILEPATH=/tmp
touch $FILEPATH/cookies.txt
curl -s https://monitor.enecsys.net/ews/InstallationService.asmx/GetCurrentInstallationStatus -b $FILEPATH/cookies.txt > $FILEPATH/soap.xml
grep -q "No valid installation id available in session" $FILEPATH/soap.xml
if [ "$?" = 0 ]; then
echo "Session expired!"
curl -s https://monitor.enecsys.net/default.aspx?q=login -c $FILEPATH/cookies.txt > $FILEPATH/page.html
VIEWSTATE=$(cat $FILEPATH/page.html | awk -F\" '/__VIEWSTATE/ { print $8 }')
EVENTVALIDATION=$(cat $FILEPATH/page.html | awk -F\" '/__EVENTVALIDATION/ { print $8 }')
rm -f $FILEPATH/page.html
echo "Posting login..."
curl -s https://monitor.enecsys.net/ -b $FILEPATH/cookies.txt -c $FILEPATH/cookies.txt \
--data-urlencode "__VIEWSTATE=$VIEWSTATE" \
--data-urlencode "__EVENTVALIDATION=$EVENTVALIDATION" \
--data-urlencode "login1%24UserName=$USERNAME" \
--data-urlencode "login1%24Password=$PASSWORD" \
--data-urlencode "login1%24btnLogin=Login" > /dev/null
echo "Loading loginChoice.aspx..."
curl -s https://monitor.enecsys.net/Pages/loginChoice.aspx -b $FILEPATH/cookies.txt -c $FILEPATH/cookies.txt > /dev/null
echo "Loading customerInstallations.aspx..."
curl -s https://monitor.enecsys.net/Pages/customerInstallations.aspx -b $FILEPATH/cookies.txt -c $FILEPATH/cookies.txt > /dev/null
else
POWER=$(cat $FILEPATH/soap.xml | awk -F"[<>]" '/<CurrentACPower>/ { print $3 }')
rm -f $FILEPATH/soap.xml
echo "W: $POWER"
/Users/akw/src/fhem/fhem.pl 7073 "set Photovoltaik W: $POWER"
fi