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