Enecsys Monitoring System: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
K (Kategorie korrigiert)
 
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt)
Zeile 1: Zeile 1:
= MiniJoule / Enecsys Monitoring System =
= MiniJoule / Enecsys Monitoring System =
Die Wechselrichter von Enecsys haben Zigbee Transceiver eingebaut, die die aktuellen Energiewerter der angeschlossenen Solarpanels übertragen.
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 aufbereiten und an einen Webservice bei Enecsys übertragt.
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 die Daten anzuschauen.
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.
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:
Dazu legt man sich in FHEM ein Dummy-Device an und lässt das Script per Timer alle 2 Minuten aufrufen:


'''FHEM Config:'''
'''FHEM Config:'''
Zeile 56: Zeile 56:


[[Kategorie:HOWTOS]]
[[Kategorie:HOWTOS]]
[[Kategorie:ZigBee Components]]
[[Kategorie:ZigBee]]

Aktuelle Version vom 7. Mai 2019, 11: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


Links