Enecsys Monitoring System: Unterschied zwischen den Versionen
Markierungen: mobile edit mobile web edit |
Krikan (Diskussion | Beiträge) K (Kategorie korrigiert) |
||
Zeile 56: | Zeile 56: | ||
[[Kategorie:HOWTOS]] | [[Kategorie:HOWTOS]] | ||
[[Kategorie:ZigBee | [[Kategorie:ZigBee]] |
Aktuelle Version vom 7. Mai 2019, 10:11 Uhr
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