SMA Sunny Home Manager abfragen.

Begonnen von Brun, 07 Oktober 2014, 10:40:34

Vorheriges Thema - Nächstes Thema

Brun

Hallo Gemeinde,


durch einen anderen (http://forum.fhem.de/index.php/topic,24876.0.html) Beitrag bin ich auf den Gedanken gekommen, den SHM direkt in FHEM zu erfassen.

Ich habe dann ein wenig mit Perl und lwp gespielt und war erstaunt wie gut das doch möglich ist. Ein fertiges Modul habe ich mal angehängt und ich würde mich über konstruktive Kritik freuen.

Definiert wird wie folgt:
Zitat
define <name> SHM <user> <password> (<delay>)

z.B.:
define MySHM SHM user@email.de password 60
attr MySHM room SHM

define FileLog_MySHM FileLog ./log/MySHM-%Y-%m.log MySHM
attr FileLog_MySHM room SHM

Achtung!
Das Passwort ist dann allerdings im FHEM als Klartext ersichtlich. Ich habe mir dazu einen ReadOnly User im Portal angelegt und würde dies jeden dringenst empfehlen.
Edit: der ReadOnly User hat leider keine Berechtigung mehr um die Live Daten zu lesen. Daher muss man einen Standartbenutzer nehmen.

(http://forum.fhem.de/index.php?action=dlattach;topic=27667.0;attach=19782)

Zusatzlich gibt es nun auch ein Modul welche den Forecast aus den SunnyPortal ausliest und in einen Logfile speichert. Mit einen SVG Graphen kann man sich den Forecast dan anzeigen lassen.
Das Logfile wird im Logverzeichniss als [DeviceName]-forecast.log angelegt.
Dieses Module nutzt die Cookies vom SHM Module. Alleine kann es also nich funktionieren.

Zitat
define <name> SHMForecast <delay in seconds>

z.B:
define PV_Forecast SHMForecast 600
attr PV_Forecast alias PV Prognose
attr PV_Forecast group Photovoltaik
attr PV_Forecast room Sys_PV
attr PV_Forecast stateFormat state W/h

Damit man sich eine Grafik anzeigen lassen kann muss man erst ein Dummy Logfile anlegen.

Zitat
define FileLog_MySHM_Forecast FileLog ./log/PV_Forecast-forecast.log PV_Forecast-NOTHING
attr FileLog_MySHM_Forecast room Sys_Logfiles
define Forecast SVG FileLog_MySHM_Forecast:SVG_FileLog_MySHM_Forecast:CURRENT
attr Forecast endPlotNow 0
attr Forecast endPlotToday 1
attr Forecast room Photovoltaik,Sys_PV


(http://forum.fhem.de/index.php?action=dlattach;topic=27667.0;attach=46626)

Updates


# Cahngelog:
# V0.1.1:
#   - ignore "null" values
#   - add reading "summary" for state
# V0.1.2
#   - converting insted ignore "null" values
# V0.2
#   - use JSON
#   - add forecast from Sunny Portal
# V0.3
#   - disabled forecast because problems
#   - disabled ssl certificate checks
# V0.3.2
#   - add Loginstatus as reading (Thanx BerndArnold)


PS: Wenn man sich die Forecast Werte nochmal seperat Logt kann man wunderbar sehen wie SMA die Prognosen wärend des Tages korrigieren.
(http://forum.fhem.de/index.php?action=dlattach;topic=27667.0;attach=46628)

Schorsch

Gerade drüber gestolpert - genial! Läuft :-)
Die Batterieüberwachung meiner FHTs schlug an und sendete innerhalb kürzester Zeit 47 Mails - hab das notify geändert.
Muss jetzt noch ein wenig mit UserReadings rumspielen, denke ich. Plot läuft auch, zeigt aber nur, dass die Batterie gerade entlädt :-)

Puschel74

Hallo,

ZitatDie Batterieüberwachung meiner FHTs schlug an und sendete innerhalb kürzester Zeit 47 Mails - hab das notify geändert.
Autsch - hast du soviele FHT und an allen waren die Batterien leer?
Ich bekomm nur eine Mail wenn an einem FHT die Batterie leer ist.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Schorsch

#3
Nein, der SHM löste das notify aus, weil er Statusmeldungen über die Hausbatterie enthält. Das notify achtete nur auf RegExp .*:[Bb]attery.* ungleich "ok" und dort kamen Entladewerte. Da die in SHM verwendeten Begriffe aber zusammengesetzte Begriffe wie zB BatteryOut sind, musste ich nur auf notify .*:[Bb]attery:.* gehen, jetzt ist Ruhe. Es war keine FHT-Batterie leer.

Brun

Das Modul nimmt die Bezeichnung so wie sie vom Portal kommen.

https://www.sunnyportal.com/homemanager liefert dann folgendes:
Zitat
{"Timestamp":"\/Date(1412747820945)\/",
"PV":69,
"FeedIn":0,
"GridConsumption":307,
"DirectConsumption":null,
"SelfConsumption":69,
"SelfSupply":69,
"TotalConsumption":376,
"DirectConsumptionQuote":null,
"SelfConsumptionQuote":100,
"AutarkyQuote":18,
"BatteryIn":null,
"BatteryOut":null,
"BatteryChargeStatus":null,
"OperationHealth":null,
"BatteryStateOfHealth":null,
"InfoMessages":[],
"WarningMessages":[],
"ErrorMessages":[],
"Info":{}
}

Schorsch

Ja, das ist kein Fehler in Deinem Modul. Mein notify war zu generisch.

Waldmensch

Klasse! Habe es jetzt erst entdeckt. Dann kann man sich den Java supoxy quasi komplett sparen. Ich werde es heute Abend mal testen und Dir Feedback geben.

Klaus Rubik

Hallo,

habe es heute auch mal ausprobiert, jedoch erhalte ich keine Werte. Bei Verbose 5 erhalte ich im Log folgende Meldungen:

2014.10.28 13:09:19 5: SMA -> 500
2014.10.28 13:09:19 4: not logged in. try to login...
2014.10.28 13:09:19 5: SMA -> 500
2014.10.28 13:09:19 5: SMA -> 500
2014.10.28 13:09:24 5: SMA -> 500


Passwort und Userkey sind definitiv richtig. Irgend einen Tipp woran es liegen könnte?

Danke

Klaus
FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

Brun

500 ist der Statuscode den man von der Webseite bekommt.
Das könnte alles mögliche sein.

Hast du in deinen Passwort irgendwelche Sonderzeichen?
Oder das Portal hat gerade einen Hänger...


Hast du im fhem Verzeichniss eine Datei namens "mycookies.txt"?

Klaus Rubik

mycookies.txt habe ich:

#LWP-Cookies-1.0

Passwort besteht aus Groß/Klein-Buchstaben und Ziffern.

Gruß

Klaus
FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

Brun

Nimm mal dieses Modul.
Hab mal ein paar Debug Ausgaben eingebaut.

Verbose auf 5 setzen und dann mal das Log posten.


Waldmensch

Wenn Du einmal am Code werkelst, kannst Du das cookie nach /tmp schreiben oder den cookie Pfad als attribut rausführen? Ich habe FHEM auf einem ro FS laufen und nur die Logs und Configs auf einem Stick.

Klaus Rubik

Hallo,

hab den neuen Code geladen, jetzt kommen folgende Meldungen im Log:

2014.10.28 19:10:36 4: not logged in. try to login...
2014.10.28 19:10:36 5: SMA -> 500
2014.10.28 19:10:36 5: SMA -> Can't connect to www.sunnyportal.com:443


2014.10.28 19:10:36 5: SMA -> 500
2014.10.28 19:10:36 5: SMA -> Can't connect to www.sunnyportal.com:443


2014.10.28 19:10:36 5: SMA -> 500
2014.10.28 19:10:36 5: SMA -> Can't connect to www.sunnyportal.com:443


2014.10.28 19:10:36 4: not logged in. try to login...
2014.10.28 19:10:37 5: SMA -> 500
2014.10.28 19:10:37 5: SMA -> Can't connect to www.sunnyportal.com:443


2014.10.28 19:10:37 5: SMA -> 500
2014.10.28 19:10:37 5: SMA -> Can't connect to www.sunnyportal.com:443



Ich habe als Zeitintervall 10 Sec. eingegeben.

Klaus
FHEM 6.0 auf RPI4 mit CUL868, AEOTEC, RFXTRX 433
CUL_WS  : S300TH              FHT         : FHT80B, FHT80TF
HMS        : HMS100-TF         FBDECT   : DECT!200, FRITZ!Powerline 546E
FS20       : FS20DI10, FS20ST, FS20WS1, FS20DU-2, FS20 FMS

Brun

Probier mal bitte folgendes und poste mal den Output:


nslookup www.sunnyportal.com

telnet www.sunnyportal.com 443

Waldmensch

Also bei mir läuft das 1A! Ich habe die Readings mit onchange eingeschränkt, da ansonsten das Log ziemlich volläuft und man mit den Werten PV und TotalConsumption eigentlich alles andere errechnen kann.



define MySHM SHM <user> <pw> 10
attr MySHM event-on-change-reading PV,TotalConsumption,WarningMessages,ErrorMessages
attr MySHM room Photovoltaik

define FileLog_MySHM FileLog /mnt/storage/fhem/log/MySHM-%Y-%m.log MySHM
attr FileLog_MySHM room Photovoltaik

define SVG_MySHM SVG FileLog_MySHM:SVG_MySHM:CURRENT
attr SVG_MySHM plotsize 900,400
attr SVG_MySHM room Photovoltaik



Im Bild die Kaffeemaschine und der Sonnenaufgang  ;)