SMA Wechselrichter - brauche ein wenig Hilfe...für Modul

Begonnen von svenkoethe, 05 September 2013, 08:33:03

Vorheriges Thema - Nächstes Thema

Muschelpuster

Hallo zusammen,

Dank dem Wiki, Eurer Diskussion hier und eigenem Gehirnschmalz läuft meine WR-Abfrage. 
Nun will ich aber mehr ;)
Kann mir jemand auf die Sprünge helfen was zu tun ist, damit auch die Temperatur des WR (welche ja in den Readings zu finden ist) in das Solar-Log geschrieben wird? Das wäre doch eine interessante Geschichte hier in Abhängigkeit zu Ausgangsleistung mal einen 2. Plot zu bauen.
Auch wäre es interessant ein 2. Log zu schreiben, in dem pro Tag nur ein Eintrag mit der Tagessumme geschrieben wird. Dann gäbe es den 3. Plot mit einer Jahreskurve  ::)
Ich habe die 99_SMAUtils.pm nun mal etwas studiert, aber ich verstehe sie nicht wirklich  :'(

unfähige Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

caldir65

Die Tagessumme ist doch enthalten, wenn ich mich nicht täusche... im Prinzip müsste die doch nur am Tagesende abgegriffen und weg geschrieben werden, und man hat dann sogar gleich eine Datei für anderweitige Verwertung :) Die Temperatur wurde schon einmal früher beschrieben ...
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 128GB SSD, Lubuntu 24.04.01LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Muschelpuster

Zitat von: caldir65 am 28 April 2015, 07:28:53Die Tagessumme ist doch enthalten, wenn ich mich nicht täusche... im Prinzip müsste die doch nur am Tagesende abgegriffen und weg geschrieben werden, und man hat dann sogar gleich eine Datei für anderweitige Verwertung :)
Jo, so herum ginge es auch. Ich dachte daran, bei jedem Lesen den Wert zu schreiben bzw. wenn das Datum schon vorhanden ist zu aktualisieren. Hätte den Vorteil, dass der Balken am Tag mit anwächst. Aber von der Performance her ist es sicher eine nächtliche Routine die das tut nicht schlecht.

Zitat von: caldir65 am 28 April 2015, 07:28:53Die Temperatur wurde schon einmal früher beschrieben ...
Jo, danke, habe ich gefunden: http://forum.fhem.de/index.php/topic,14624.msg155451.html#msg155451

Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

#183
So, die Temperatur ist im Log:
2015-04-28_19:00:07 Solar device_temperature: 35.0°C
2015-04-28_19:00:07 Solar etoday: 23.852
2015-04-28_19:00:07 Solar string_1_pdc: 0.121
2015-04-28_19:00:07 Solar string_2_pdc: 0.103
2015-04-28_19:00:07 Solar total_pac: 0.176

Leider führt das '°C' dazu, dass ich es nicht sauber in den Plot bekomme. Hier mal die Definition des Loggings und des Plots:
# FileLog Definition
#
define FileLog_Solar FileLog ./log/Solar-%Y-%m.log Solar:.*etod.*|Solar:.*string.*_pdc|Solar:.*total_pac|Solar:.*usage.*|Solar:.*device_temperat.*
attr FileLog_Solar icon icoLog
attr FileLog_Solar nrarchive 12
attr FileLog_Solar room Logfiles
#
# Chart
#
define SVG_FileLog_Solar_1 SVG FileLog_Solar:SVG_FileLog_Solar_1:CURRENT
attr SVG_FileLog_Solar_1 room Energie
attr SVG_FileLog_Solar_1 title "Solarleistung Min $data{min3}, Max $data{max3}, Aktuell $data{currval3}"

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "kW"
set y2label "°C"

#FileLog_Solar 4:Solar.string_1_pdc\x3a:0:
#FileLog_Solar 4:Solar.string_2_pdc\x3a:0:
#FileLog_Solar 4:Solar.total_pac\x3a:0:
#FileLog_Solar 4:Solar.device_temperature\x3a:0:

plot "<IN>" using 1:2 axes x1y1 title 'String 1' ls l4 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'String 2' ls l5 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Ausgangsleistung' ls l6fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Temperatur' ls l1 lw 1 with lines

Wie kann ich im Logging verhindern, dass das '°C' geschrieben wird oder dem Plot ignoriert wird? Zum Entfernen der Einheiten wurde ja hier schon mal was geschrieben: http://forum.fhem.de/index.php/topic,14624.msg182340.html#msg182340
Das muss ich nochmal in Ruhe genießen...
Ich würde mich aber über Alternativen freuen  ;)

Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

caldir65

Ich meine, das wäre auch mal beschrieben worden - etwas später als die Temp.

Wird der Tagesertrag nicht auch vom WR ständig übertragen und somit "aufsummiert"? Das müsste sich doch nutzen lassen, könnte ich mir vorstellen ...
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 128GB SSD, Lubuntu 24.04.01LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.

Muschelpuster

Also die Summen werden bei mir sogar geschrieben, da das SBFspot auch noch irgendwie autark läuft und CSVs schreibt. Und da gibt es eine CSV, die nur die Summen protokolliert. Interessant ist dabei, dass die Ertragsdaten (sehr sparsam) alle 5 Minuten, unabhängig von den FHEM-Aufrufen logt. Jedoch finde ich weder einen CRON-Eintrag unter den Usern pi oder root, noch sehe ich mit PS eine Instanz vom SBFspot laufen. Wo kommt da her?
Wer hat auch unter /home/pi/smadata/2015 Daten?
Von daher finde ich den Weg über die CSV doch recht interessant. Da geht es nun irgendwie weiter  8)

Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Brun

Hallo,


Die Dateien  werden normalerweise geschrieben wenn man spfspot oder smaspot aus fhem aufruft.


Gruß

Edi77

Hallo,

Mein Problem besteht immer noch aus meinem vorherigen Post ......... kann mir den niemand helfen ?
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Brun

#188
Starte es mal mit ./spfspot  ...

Unter Unix muss man immer eine Pfad mitgeben wenn das program nicht in den binery Ordnern ist.

Edi77

#189
DANKE

Funktioniert soweit mal einiges.
Habe noch ein paar Probleme mit dem Plot.

Wie mache ich das eigentlich wenn ich 2 Wechselrichter habe?
Habe beide Bluetooth Adressen in der SBFspot.cfg drin, bekomme aber nur die Werte von einem Wechselrichter.

Edit:
Ok das ist wohl nicht so einfach, weil es müssen wohl auch 2 Plots erstellt werden.

Habe hier noch einen Fehler wo ich die Ursache nicht wirklich finde:
Auszug aus dem log

2015.05.10 22:07:07 0: Server shutdown
2015.05.10 22:07:14 1: Including fhem.cfg
2015.05.10 22:07:14 3: telnetPort: port 7072 opened
2015.05.10 22:07:16 3: WEB: port 8083 opened
2015.05.10 22:07:16 3: WEBphone: port 8084 opened
2015.05.10 22:07:16 3: WEBtablet: port 8085 opened
2015.05.10 22:07:17 3: Opening COC device /dev/ttyAMA0
2015.05.10 22:07:18 3: Setting COC baudrate to 38400
2015.05.10 22:07:18 3: COC device opened
2015.05.10 22:07:18 3: COC: Possible commands: mCFiAZOGMRTVWXefltux
2015.05.10 22:07:18 1: define Solar Solar SBFspotUtils 00:80:25:0B:39:32 300: 1431288438.39219
2015.05.10 22:07:18 3: Please define Solar first
2015.05.10 22:07:18 3: Please define Solar first
2015.05.10 22:07:18 3: Please define Solar first
2015.05.10 22:07:24 1: Including ./log/fhem.save
2015.05.10 22:07:25 1: configfile: 1431288438.39219
Please define Solar first
Please define Solar first
Please define Solar first

2015.05.10 22:07:25 1: usb create starting
2015.05.10 22:07:28 1: usb create end
2015.05.10 22:07:28 2: Error messages while initializing FHEM: configfile: 1431288438.39219 Please define Solar first Please define Solar first Please define Solar first
2015.05.10 22:07:28 0: Server started with 234 defined entities (version $Id: fhem.pl 7301 2014-12-22 07:12:41Z rudolfkoenig $, os linux, user fhem, pid 2397)
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Brun

Welches Modul benutzt du denn?

Eines wertet nämlich nur die Ausgabe vom smaspot aus und das andere die csv Dateien.
Wenn du meins hast dann poste doch bitte mal den Inhalt vom csv Verzeichnis und von deiner config.

Grus Brun

Edi77

Ich verwende SBFspot 3.0.3

in der fhem.cfg
# Solar Wechselrichter
#
define Solar SBFspotUtils 00:80:25:0B:39:32 300
attr Solar delay 300
attr Solar icon measure_photovoltaic_inst
attr Solar room Energie
#
# FileLog Definition
#
define FileLog_Solar FileLog ./log/Solar-%Y-%m.log Solar:.*etod.*|Solar:.*string.*_pdc|Solar:.*total_pac|Solar:.*usage.*
attr FileLog_Solar icon icoLog
attr FileLog_Solar nrarchive 12
attr FileLog_Solar room Logfiles
#
# Chart
#
define SVG_FileLog_Solar_1 SVG FileLog_Solar:SVG_FileLog_Solar_1:CURRENT
attr SVG_FileLog_Solar_1 room Energie
attr SVG_FileLog_Solar_1 title "Solarleistung Min $data{min1}, Max $data{max1}, Last $data{currval1}"

Die Standard 99_SBFspotUtils.pm allerdings

sub getInverterData
{
   my $ret = "";
    $ret .= qx( /opt/fhem/FHEM/sbfspot/bin/Release/SBFspot -nocsv -v );
   Log 5, "SBFspot called";
   return $ret;
}

1;
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Brun

Für den zweiten Wechselrichter musst du doch nur einen zweite Defination mit der andern MAC machen.
Das sollte theoretisch funktionieren.


Theoretisch...

Edi77

#193
Das dachte ich mir auch eine 2te Definition in der fhem.cfg und beide MACs in der SBFspot.cfg hinterlegen ........ ging aber leider nicht.

Naja muss sowieso noch mal alles auf Anfang setzen, irgendwie geht im Moment garnichts mehr :(
Zum Glück habe ich noch ein Backup :)

So noch mal neu aufgesetzt, trotzdem noch die Fehler

2015.05.11 22:29:19 1: Including fhem.cfg
2015.05.11 22:29:20 3: telnetPort: port 7072 opened
2015.05.11 22:29:24 3: WEB: port 8083 opened
2015.05.11 22:29:24 3: WEBphone: port 8084 opened
2015.05.11 22:29:24 3: WEBtablet: port 8085 opened
2015.05.11 22:29:25 3: Opening COC device /dev/ttyAMA0
2015.05.11 22:29:26 3: Setting COC baudrate to 38400
2015.05.11 22:29:26 3: COC device opened
2015.05.11 22:29:26 3: COC: Possible commands: mCFiAZOGMRTVWXefltux
2015.05.11 22:29:26 1: define Solar Solar SBFspotUtils 00:80:25:0B:39:32 300: 1431376166.72146
2015.05.11 22:29:26 3: Please define Solar first
2015.05.11 22:29:26 3: Please define Solar first
2015.05.11 22:29:26 3: Please define Solar first
2015.05.11 22:29:32 1: Including ./log/fhem.save
2015.05.11 22:29:33 1: configfile: 1431376166.72146
Please define Solar first
Please define Solar first
Please define Solar first


2015.05.11 22:29:33 1: usb create starting
2015.05.11 22:29:36 1: usb create end
2015.05.11 22:29:36 2: Error messages while initializing FHEM: configfile: 1431376166.72146 Please define Solar first Please define Solar first Please define Solar first
2015.05.11 22:29:36 0: Server started with 218 defined entities (version $Id: fhem.pl 7301 2014-12-22 07:12:41Z rudolfkoenig $, os linux, user fhem, pid 2187)

Auf der Konsole:
Argument "00:80:25:0B:39:32" isn't numeric in Addition (+) at ./FHEM/99_SBFSpotUtils.pm line 48, <$fh> line 71

Auf 99_SBFSpotUtils.pm

48    InternalTimer(gettimeofday()+$delay, "SBFspotUtils_GetStatus", $hash, 0);
71       if ($attrDelayCounter eq "?")
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Edi77

Korrigiert mich bitte wenn ich was falsch verstehe ..........
In der fhem.cfg werden die einzelnen Devices definiert und die anderen Module gestartet, was ich jetzt nicht verstehe woher kommt die Fehlermeldung ,,configfile: 1431376166.72146"
Da sollte dann auch die Ursache des Fehlers ....... 2015.05.11 22:29:26 3: Please define Solar first ....... liegen oder ?

In der fhem.cgf ist auch hinterlegt:
define FileLog_Solar FileLog ./log/Solar-%Y-%m.log Solar:.*etod.*|Solar:.*string.*_pdc|Solar:.*total_pac|Solar:.*usage.*
attr FileLog_Solar icon icoLog
attr FileLog_Solar nrarchive 12
attr FileLog_Solar room Logfiles

Also ist auch in /opt/fhem/log die Datei Solar-2015-05.log zu finden, diese ist aber leer  :-[


Die 99_SBFspotUtils.pm dient zum Aufruf des SBFspot, und als Standard wird hier, wenn kein Parameter angegeben die SBFspot.cfg verwendet.
Das ist meine Eintrag
$ret .= qx( /opt/fhem/FHEM/sbfspot/bin/Release/SBFspot -nocsv -v );
Wenn ich /opt/fhem/FHEM/sbfspot/bin/Release/SBFspot -nocsv –v über die Konsole ausführe bekomme ich

root@raspberrypi:~# /opt/fhem/FHEM/sbfspot/bin/Release/SBFspot -nocsv -v
SBFspot V3.0.3
Yet another tool to read power production of SMA solar inverters
(c) 2012-2014, SBF (https://sbfspot.codeplex.com)
Compiled for Linux (LE) 32 bit

Commandline Args: -nocsv -v
Reading config '/opt/fhem/FHEM/sbfspot/bin/Release/SBFspot.cfg'
Tue May 12 09:02:41 2015: INFO: Starting...
sunrise: 05:53
sunset : 21:01
Connecting to 00:80:25:0B:39:32 (1/10)
Initializing...
SUSyID: 125 - SN: 958822333 (0x392677BD)
SMA netID=04
Serial Nr: 419465C4 (1100244420)
BT Signal=78%
Logon OK
Local Time: 12/05/2015 09:02:42
TZ offset (s): 7200 - DST: On
SUSyID: 99 - SN: 1100244420
Device Name:      SN: 1100244420
Device Class:     Solar-Wechselrichter
Device Type:      SB 3300TL HC
Software Version: 12.09.121.R
Serial number:    1100244420
SUSyID: 99 - SN: 1100244420
Device Status:      Ok
SUSyID: 99 - SN: 1100244420
Device Temperature: 0.0°C
SUSyID: 99 - SN: 1100244420
GridRelay Status:      ?
SUSyID: 99 - SN: 1100244420
Pac max phase 1: 3300W
Pac max phase 2: 3300W
Pac max phase 3: 3300W
SUSyID: 99 - SN: 1100244420
Energy Production:
        EToday: 2.140kWh
        ETotal: 16680.171kWh
        Operation Time: 21238.80h
        Feed-In Time  : 19423.56h
SUSyID: 99 - SN: 1100244420
DC Spot Data:
        String 1 Pdc:   2.046kW - Udc: 443.00V - Idc:  4.600A
        String 2 Pdc:   0.000kW - Udc:   0.00V - Idc:  0.000A
getSpotACTotalPower returned an error: -3
SUSyID: 99 - SN: 1100244420
AC Spot Data:
        Phase 1 Pac :   2.132kW - Uac: 238.00V - Iac:  8.961A
        Phase 2 Pac :   0.000kW - Uac:   0.00V - Iac:  0.000A
        Phase 3 Pac :   0.000kW - Uac:   0.00V - Iac:  0.000A
        Total Pac   :   2.132kW
getSpotGridFrequency returned an error: -3
SUSyID: 99 - SN: 1100244420
Current Inverter Time: 12/05/2015 09:02:54
Inverter Wake-Up Time: 12/05/2015 09:02:53
********************
* ArchiveDayData() *
********************
startTime = 55512660 -> 12/05/2015 00:00:00
**********************
* ArchiveMonthData() *
**********************
startTime = 55435CB0 -> 01/05/2015 13:00:00
Reading events: 2015-May-01
Tue May 12 09:02:45 2015: INFO: Done.

Die SVG_FileLog_Solar_1.gplot habe ich von http://www.fhemwiki.de/wiki/SMAWechselrichter übernommen. Zum größten Teil habe ich mich auch an diese Anleitung gehalten

Jetzt erscheint in meinem FHEM Energie und Logfiles

(http://pic.admin4all.com/fhem1.JPG)

(http://pic.admin4all.com/fhem2.JPG)

(http://pic.admin4all.com/fhem3.JPG)
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D