Sunny Webbox

Begonnen von kohlenmacher, 04 September 2014, 14:39:53

Vorheriges Thema - Nächstes Thema

kohlenmacher

Hallo Zusammen,
anbei zwei FHEM-Module um Daten einer Photovoltaikanlage über eine Sunny Webbox von SMA im FHEM darzustellen. Die Sunny Webbox bietet eine RPC-Schnittstelle über Ethernet an und kann mit http oder UDP angesprochen werden. Z.Z. ist in den Modulen nur http Abfragen integriert, da ich UDP noch nicht zum Laufen bekommen habe.

define <name> SMAWebbox <ip-address> http|udp
z.B. define SMAwb SMAWebbox 192.168.0.168 http

Das erste Modul liest allgemeine Werte und die Devices aus der Webbox aus und speichert sie in den Readings. Außerdem wird die Aktuelle Leistung über einen Zeitraum gemittelt.
Das Intervall der Abfrage und der Mittelwertberechnung kann über SET geändert werden. Standardwerte für die Abfrage ist 30 Sekunden und für den Mittelwert 300 Sekunden. Der Mittelwert wird als Event gespeichert.

define <name> SMADevice <Webbox name> <Devicenr.>
z.B. define WR SMADevice SMAwb 1

Das zweite Modul holt dann die Werte des Devices. URL, Protocol, Device-ID und Intervalle werden aus dem ersten Modul gelesen. Werte die man Loggen möchte müssen über das Attribut LogValues angegeben werden.

attr WR LogValues <Wert1>, <Wert2>, ... , <WertN>

Über diese Werte wird der Mittelwert gebildet und mit einem vorgestellten Unterstrich als Readings gespeichert. Welche Werte man sinnvollerweise logt entnimmt man der technischen Dokumentation.

Damit die Module laufen, musste ich noch folgende Perl-Libraries auf meinem RaspPi installieren:
apt-get install libjson-perl
apt-get install libmath-round-perl

Zum Screenshot: Ich habe einen SunnyBoy 5000 Wechselrichter, ein Sunny Backup und die Sunny Webbox von SMA.

Gruß
kohlenmacher

LuckyLuis

Hi Kohlenmacher,

vielen Dank für das Modul. Läuft! ;-)
Würde es Dir was ausmachen, Deine Einstellungen für das Logging (Values, wann Durchschnittsbildung usw.) und das SVG zu posten? Evtl. auch ein Tipp, um das Loggingvolumen zu verringern, da Nachts ja mehrere Stunden nix läuft?

Vielen Dank nochmals!

Grüsse

LuckyLuis

PS: Planst Du, die Skripte in das FHEM-Repo zu stellen?

kohlenmacher

Hallo LuckyLuis,

freut mich, dass das Modul läuft.

Ich habe die Standard Werte für das Loggen gelassen.
1. weil in der Schnittstellen Beschreibung steht, dass man nicht häufiger als alle 30 Sek. einen Request an die Webbox schicken soll. Halte ich mich zwar eigentlich nicht dran, da erst die Webbox Daten und anschließend die Devices abgefragt werden. Testweise hatte ich es auch schon auf 5 Sek. und lief ohne Probleme. Die Datenmenge in den Logs war mir dann allerdings zu groß.
2. die Webbox schickt z.Z. die Durchschnittswerte von 5 Min. ins Portal. Somit kann ich die Kurven vergleichen.

Bei den Plots habe ich eine Kopie vom power4.glot verwendet. K.A. ob das das richtige Vorgehen war.
Hier die Config Einträge:

define FileLog_SMAWB FileLog ./log/SMA_Webbox-%Y-%m.log SMAwb
attr FileLog_SMAWB logtype power4:Power,text
define SVG_SMAWebbox SVG FileLog_SMAWB:SVG_SMAWebbox:CURRENT

Um das Loggingvolumen zu verringern könnte ich noch einbauen das nur die Durchschnittswerte geloggt werden.

Z.Z. beabsichtige ich nicht das Script ins FHEM-Repo zu stellen.

Gruß
Kohlenmacher

hofzumberge

Hallo Kohlmacher,

herzlichen Dank, das Modul läuft.
Ich hätte nur eine Bitte um Hilfe:
Ich würde gerne aus der Solarleistung die Helligkeit für Tageslichtabhängige Leuchten in einen Dummy schreiben.

dies ist der Versuch:
define act_on_hell notify solar:Gemittelte_Leistung: > 5000 {fhem ("set AUSSEN_HELL hell")}

der funktioniert leider nicht

Schon mal vielen Dank

kohlenmacher

Hallo hofzumberg,

im WIKI zum Notify (http://www.fhemwiki.de/wiki/Notify) ist ein Beispiel.

Demnach sollte es so gehen:

define act_on_hell notify (solar:Gemittelte_Leistung.*) {
if ($EVTPART1 > 5000 ) { fhem("set AUSSEN_HELL hell");}}

Gruß
Kohlenmacher

ujaudio

Zitat von: kohlenmacher am 04 September 2014, 14:39:53
Hallo Zusammen,
anbei zwei FHEM-Module um Daten einer Photovoltaikanlage über eine Sunny Webbox von SMA im FHEM darzustellen. Die Sunny Webbox bietet eine RPC-Schnittstelle über Ethernet an und kann mit http oder UDP angesprochen werden. Z.Z. ist in den Modulen nur http Abfragen integriert, da ich UDP noch nicht zum Laufen bekommen habe.
....

Gruß
kohlenmacher

Verständnisfrage: Wozu die Webbox, meine SMA hat doch schon Ethernetanschluss, da macht es doch wenig Sinn über eine weitere Schnittstelle Daten aus dem Wechselrichter zu holen, um Sie dann wieder ins www zu bringen. Oder anders gefragt: muss ich mir jetzt noch ein Webbox kaufen um meine SMA mit FHEM zu verbinden?
Einen lieben Gruß
Jürgen

kohlenmacher

Hallo Jürgen,

die Webbox ist für die äteren Wechselrichter mit RS485 Schnittstelle.
Ob die neueren WR mit Ethernet das gleiche Protokoll haben, kann ich dir leider nicht sagen.

Gruß
Kohlenmacher

ujaudio

Danke,  ich werde mir das bei Gelegenheit mal anschauen.
Einen lieben Gruß
Jürgen

Dixi

#8
Hallo zusammen,

ich habe das Modul eingebaut, bekomme jedoch immer wieder eine Meldung : Unknown Modul SMAWebbox !

Wie würde denn ein kompletter Code aussehen wenn man die Werte von 3 WR auslesen möchte ? Zusätzlich
betreibe ich noch eine Wetterstation die auch auf der Webbox Daten speichert ?

Bekomme es leider nicht zum laufen

Könnt Ihr mir helfen ?

Gruß Dirk

kohlenmacher

Hallo Dirk,

wie sieht den deine Konfiguration bzl. der SMAWebbox aus.

Bei 3 WR sollte sie ungefähr so aussehen:
define SMAwb SMAWebbox 192.168.0.168 http
define WR1 SMADevice SMAwb 1
define WR3 SMADevice SMAwb 2
define WR3 SMADevice SMAwb 3

Die IP ist nur ein Beispiel.

Wie kann man den eine Wetterstation an die Webbox anschließen? Sicher das wir vom selben Gerät sprechen?

Gruß
Kohlenmacher

Dixi

#10
Hallo Kohlenmacher,

ERROR:
Unknown module SMAWebbox Unknown module SMADevice Unknown module SMADevice Unknown module SMADevice Please define WR1 first Please define WR2 first Please define WR3 first

Das ist das was die Fhem mir ausgibt :-(

Leider funktioniert es nicht ! Es einmal kurz funktioniert, danach hat er die Fhem nicht mehr gestartet und ist in einen
Error gelaufen. Habe die Dateien erneuert und nun erhalte ich das !

Die Meteostation ist von der Fa. Lufft und wurde von SMA vertrieben :-(

Gruß Dirk


Neues aus dem .log

Error messages while initializing FHEM: configfile: Unknown module SMAWebbox Unknown module SMADevice Unknown module SMADevice Unknown module SMADevice Please define WR1 first Please define WR2 first Please define WR3 first
   2014.12.10 11:53:49 1: reload: Error:Modul 25_SMAWebbox deactivated:
   2014.12.10 11:54:01 1: configfile: Unknown module SMAWebbox
   2014.12.10 11:54:08 2: Error messages while initializing FHEM: configfile: Unknown module SMAWebbox Unknown module SMADevice Unknown module SMADevice Unknown module SMADevice Please define WR1 first Please define WR2 first Please define WR3 first
   2014.12.10 11:54:13 1: reload: Error:Modul 25_SMAWebbox deactivated:

Cmd: >define WR1 SMADevice SMAwb 1<
   Line 305090: 2014.12.10 12:36:26 5: Loading ./FHEM/26_SMADevice.pm
   Line 305091: 2014.12.10 12:36:26 1: reload: Error:Modul 26_SMADevice deactivated:
   Line 305093: 2014.12.10 12:36:26 5: Cmd: >define WR2 SMADevice SMAwb 2<
   Line 305094: 2014.12.10 12:36:26 5: Cmd: >define WR3 SMADevice SMAwb 3<

rudolfkoenig

Falls ich das versuche nachzustellen, dann steht bei mir im Logfile mehr:
Zitat2014.12.10 17:52:24.899 1: reload: Error:Modul 25_SMAWebbox deactivated:
Can't locate JSON.pm in @INC (@INC contains: ...)

Ob das auch hier die Ursache ist, weiss ich nicht.
Und wie man JSON.pm installiert, soll auch jemand anderes erklaeren :)

kohlenmacher

ZitatOb das auch hier die Ursache ist, weiss ich nicht.
Und wie man JSON.pm installiert, soll auch jemand anderes erklaeren
Bei mir ist keine JSON.pm vorhanden. Daher schließe ich das als Fehler aus.
Aber JSON ist ein gutes Stichwort. Sind die JSON-Libraries von Perl installiert?
Auf welcher Plattform läuft dein FHEM?

Als erstes solltest Du nur das SMAWebbox-Modul einbauen. Erst wenn das eine korrekte Antwort von der Webbox bekommt, solltest Du die Devices anlegen.

Stell das Logging des Moduls mal auf 5. (attr SMAwb verbose 5)


Dixi

Huhu,

Danke erstmal für Eure Mühe !

System ist ein Raspi und ich habe mich an Deine Anweisungen gehalten !

Habe das Loglevel jetzt mal so eingerichtet. Er schreibt das aber auch ins Log der Fhem ?

Gruß Dirk


kohlenmacher

Ich bin gerade dabei mein System neu aufzusetzen.
Da habe ich dann mal die Webbox vorgezogen. Datei ins FHEM Verzeichnis kopiert, dann das define eingegeben und siehe da das gleiche Problem.
Nach einem "shutdown restart" hat es dann aber funktioniert.
Ansonsten habe ich schon an ein Rechteproblem gedacht.