Enecsys Monitoring System: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „= MiniJoule / Enecsys Monitoring System = Die Wechselrichter von Enecsys haben Zigbee Transceiver eingebaut, die die aktuellen Energiewerter der angeschlossene…“)
 
Zeile 52: Zeile 52:


=== Links ===
=== Links ===
* <nowiki>[http://www.minijoule.com/de/minijoule-zubehor.html http://www.minijoule.com/de/minijoule-zubehor.html]</nowiki>
* [http://www.minijoule.com/de/minijoule-zubehor.html http://www.minijoule.com/de/minijoule-zubehor.html]
* <nowiki>[https://monitor.enecsys.net https://monitor.enecsys.net]</nowiki>
* [https://monitor.enecsys.net https://monitor.enecsys.net]
 
[[Kategorie:HOWTOS]]

Version vom 11. Mai 2013, 15:42 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


Links