Enecsys Monitoring System: Unterschied zwischen den Versionen
(→Links) |
Keine Bearbeitungszusammenfassung |
||
| Zeile 56: | Zeile 56: | ||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:ZigBee Components]] | |||
Version vom 17. Januar 2018, 11:04 Uhr
MiniJoule / Enecsys Monitoring System
Die Wechselrichter von Enecsys haben Zigbee Transceiver eingebaut, die die aktuellen Energiewerter der angeschlossenen Solarpanels übertragen. Dazu gibt es von Enecsys einen Gateway (z.B. bei MiniJoule zu beziehen), der die Daten aufbereiten und an einen Webservice bei Enecsys übertragt.
Da das Protokoll der Daten noch nicht entschlüsselt ist, gibt es derzeit nur die Möglichkeit das Flash Webinterface zu nutzen, um 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äßt 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