SMAUtils mit funktionierendem event-on-change-reading

Begonnen von Hefferwolf, 30 Dezember 2018, 22:12:44

Vorheriges Thema - Nächstes Thema

Hefferwolf

Hallo,

da mein SMA Wechselrichter nur per Bluetooth erreichbar ist, bin ich nach wie vor auf das 99_SMAUtils.pm Modul angewiesen und kann nicht das SMAInverter-Modul nutzen. Da das SMAUtils-Modul allerdings eine große Menge an readings erzeugt und die daraus resultierenden events mein fhem regelrecht geflutet haben, habe ich hier ein event-on-change-reading vermisst. Daher habe ich mir erlaubt, dass im bisherigen Modul mal zu fixen. Die gefixte Version gibt es bei Interesse auf github: https://github.com/irockel/fhem-utils/blob/master/98_SMAUtils.pm


Gruss,


   Ingo

DS_Starter

Hallo Ingo,

da hast du aber eine ganz alte Version als Grundlage genommen.

Es gibt schon lange dieses Modul als non-Blocking Variante. Natürlich bereits mit den event-on-Attributen und ein disable.

Hier:
https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter  (Downloadbutton benutzen)

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

vielen Dank für Deine Antwort und das aktualisierte Modul. Das Non-Blocking-Thema wäre das nächste gewesen, was ich mir anschauen wollte, das brauche ich dann ja nicht mehr. Es wäre glaube ich ganz sinnvoll, wenn man auf der Wiki-Seite[1] zum SMA Wechselrichter auf die aktuelle Version des Moduls verweisen würde, dort wird noch auf die alte Version in einem Forumsthread[2] verwiesen und es ist auch noch das "delay" Attribut in der Doku enthalten.

Mir ist nicht ganz klar, wie der Prozess ist, das Wiki zu aktualisieren, sonst würde ich mich auch selbst darum kümmern.

Grüße,

   Ingo

[1] https://wiki.fhem.de/wiki/SMAWechselrichter
[2] http://forum.fhem.de/index.php/topic,14624.msg153006.html#msg153006

DS_Starter

#3
Guten Morgen,

naja, ich weiß auch nicht ob meine Version die aktuellste ist. Seinerzeit gab es dafür relativ viele Mitmacher und einer davon war ich und hatte das non-blocking usw. eingebaut. Letztens hatte schon ein User nach der aktuellsten Version gefragt und nicht gefunden. Deshalb habe ich sie mal im contrib bei mir zur Verfügung gestellt.
Wegen SMAInverter hat das Modul für mich an Bedeutung verloren, halte es aber dennoch für sehr sinnvoll und sollte vllt. weiterentwickelt werden.
Wenn du das machen möchtest, nimm am besten diese Version als Grundlage. Und wenn du ein neues Release hast, würde ich es auch wieder bei mir im contrib zur Verfügung stellen.

Thema Wiki. Du musst dir nur einen User besorgen , siehe -> https://wiki.fhem.de/wiki/FHEMWiki:Administratoren

Dann kannst du Artikel schreiben / bearbeiten und Hilfe ist immer willkommen !

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

danke für die Infos. Einen Wiki-Nutzer habe ich mal direkt beantragt. Funktionell sieht deine Version gut aus, funktioniert bei mir prima, insbes. das non-blocking ist natürlich klasse. Ggf. ist ein Cleanup und weitere Anpassungen an die normalen Modulkonventionen sinnvoll. Hatte mir dies Dokument hier durchgelesen: https://wiki.fhem.de/wiki/DevelopmentModuleIntro

Der hard-verdrahtete Pfad auf das SBFspot ist auch etwas unpraktisch. Ich schaue mal, was ich hinbekomme, meine Perlkenntnisse sind schon etwas angestaubt.

Grüße,

   Ingo

DS_Starter

Ich freue mich wenn das Modul etwas modernisiert wird und als Alternative zu 76_SMAInverter genutzt werden kann. SMAInverter kann ja nicht in jedem Fall eingesetzt werden. So gibt es ein vollwertiges Fallback.

Wenn du Fragen hast helfe ich dir gerne.
Vielleicht machen wir daraus sogar mal ein offizielles Modul ... mal schauen.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

ich habe das Modul jetzt etwas überarbeitet, im einzelnen:


  • Das Interval wird jetzt als Attribut angegeben, was den Vorteil hat, das man es zur Laufzeit ändern kann (in dem Fall wird auch der Timer neu gesetzt und gestartet)
  • Delete und Set für Attribute ist jetzt auch implementiert (in SMAUtils_Attr).
  • Der Pfad zu SBFspot ist jetzt im define konfigurierbar und wird dann als internal gesetzt
  • Ein HTML Block für DE und EN beschreibt das Modul.

Getestet habe ich das in meiner lokalen Installation mit einem SB 3000TL-21

Das Modul findet sich hier:
https://github.com/irockel/fhem-utils/blob/master/98_SMAUtils.pm

Schau mal drüber, was du meinst.

Grüße,

   Ingo

DS_Starter

Hallo Ingo,

habe gerade gesehen dass du etwas getan hast. Irgendwie habe ich keine Benachrichtigung bekommen.
Naja, egal ... ich schaus mir mal an.
Dummerweise habe ich keine Testumgebung mehr dafür. Aber die baue ich wieder auf. Kann also etwas dauern.  ;)

Danke und Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

Danke. Die angepasste Version läuft bei mir ohne Probleme, ich hatte noch eine Anpassung gemacht im Falle einer Änderung des modes wurde der Timer nicht korrekt initialisiert.

Die Wikiseite konnte ich noch nicht anpassen, es gibt da ein Problem mit dem Mailversand aus dem Wiki.

Gruss,

   Ingo

DS_Starter

Hallo Ingo,

jetzt habe ich mal eine Umgebung aufgebaut und das Modul eingesetzt.
Was mir zunächst aufgefallen ist:

* Ist das Attribut "interval" nicht gesetzt (das ist ja der Standard) laufen ständig Blockingcalls los mit entsprechenden Fehlermeldungen in Log. Es müsste also ein Standrdwert (z.B. 60s) greifen wenn nichts gesetzt ist. In meinem Release war es beim Define zwingend anzugeben. Deswegen stand die Frage nicht.
* Der Hinweis zur Definition auf der Hilfeseite ist falsch. Dort steht "...<path-to-sbfspot> gibt den Pfad zum externen SBFspot an..." Es ist aber auch die ausführbare Datei mit anzugeben, also "...<path-to-sbfspot>/SBFSpot gibt die ausführbare SBFSpot-Datei inklusive deren Pfad an..."

Damit bei der Dunkelheit Daten kommen habe ich den Aufruf um "-finq" ergänzt. Vielleicht könnte man ein Attribut dafür einbauen. Bei SMAInverter heißt es "suppressSleep". Wenn gesetzt, liefert der WR Daten unabhängig von der Tageszeit.
Zur Zeit liefert SBFSpot:


Sun Jan 13 17:38:47 2019: INFO: Starting...
sunrise: 08:12
sunset : 16:28
Nothing to do... it's dark. Use -finq to force inquiry.


Ich hätte noch die Idee sunrise bzw. sunset in ein Reading zu übernehmen. Dann würde der Nutzer sehen, in welcher Zeit der Inverter arbeiten wird.

Dann könnte man noch einbauen dass nur ein disabled-Event kommt, wenn das Device disabled ist. Sonst kommt der Event bei jedem Zyklus.

Soweit für das Erste...

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

ich habe das Modul angepasst:

  • Der Default ist jetzt mode=manual, damit wird überhaupt kein Timer gesetzt, bisher war hier der Default automatic, was ohne gesetztes interval Murks ist. Damit werden jetzt nicht direkt irgendwelche Abrufe abgesetzt.
  • Die Dokumentation habe ich angepasst (DE und EN)
  • Ein Attribute "suppressSleep" ist ergänzt. Ist der das Attibut auf "1" gesetzt, wird der Parameter "finq" mit ans SBFspot übergeben.
Bzgl. deines Vorschlages zu Sunset: das kann problematisch sein, dass diese Werte von SBFspot in Abhängigkeit von latitude und longitude ermittelt werden, die in der SBFspot.cfg stehen. Ich habe hier auch nichts gefunden, dass man diese Werte übergeben könnte. Ich habe aber einen Hinweis in der commandref-Hilfe ergänzt.

Das geänderte Modul ist bei mir aktiv und die genannten Punkte haben funktioniert.

Dein Hinweis zum disabled-Event verstehe ich leider nicht.

Grüße,

   Ingo

DS_Starter

ZitatDein Hinweis zum disabled-Event verstehe ich leider nicht.
Ich meinte damit, dass bei jedem Anstarten der internen Abfrageschleife (bei automatic) ein "disabled"-Event erzeut wird sofern das Device disabled ist.
Besser wäre natürlich wenn die Schleife überhaupt nicht laufen würde wenn das Device disabled ist. D.h. die Schleife müsste erst wieder aktiviert werden wenn man das disabled-Attribut auf 0 setzt oder löscht.

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

cornelius fillmore

Hallo Heiko, hallo Ingo, ich klinke mich mal hier ein weil ich einen SB abfragen will.

Wenn ich dieses Modul
Zitathttps://github.com/irockel/fhem-utils/blob/master/98_SMAUtils.pm
und den SBFSpot 3.5.0 benutze steht sich das Modul immer auf manuel.
Kann mir einer von euch bitte beschreiben, wie ihr dies aktiviert


THX
3 x Fhem 5.9 mit RPI

DS_Starter

#13
Guten Morgen,

es gibt das Attribute "mode", das stellst du auf "manual".
Dann kannst du ein "get <device> data" die Daten vom WR abfragen.
Die Abfrage brauchst du dann nur noch in ein AT, Notify o.ä. verpacken.

Wenn du es auf automatisch stellen willst, dann stelle "mode" auf "automtic" oder löschen, weil dieser mode der default ist.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo,

nein, der Mode muss jetzt explizit auf "automatic" gestellt werden, damit verhindere ich das unkontrollierte Loslaufen nach Einrichtung wenn noch kein Interval gesetzt ist. Ggf. macht es Sinn diesen Mode ganz auszubauen. Wenn das interval gesetzt ist, dann wird aktualisiert, sonst eben nicht. Ich schaue mir das mal an, habe nur aktuell wenig Zeit.

Gruss,

   Ingo

DS_Starter

Ah, ok.
Also vielleicht nehme ich nochmal dieses Moduls an und mache ein offizielles daraus. Scheint ja doch noch von grossem Interresse zu sein.
Mal schauen ... Zeit ist immer ein Problem.

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

ich versuche mir das am Wochenende mal anzuschauen. Mein bisheriges Streben war ja, das für ein offizielles Modul tauglich zu machen.

Grüße,

  Ingo

DS_Starter

Top  :)
Ich weiß wie zeitraubend alles ist .... gemach  ;)

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

cornelius fillmore

Noch mal eine andere Frage: Wie bekomme ich denn folgende Fehlermeldung weg?
ZitatSetPlantTime returned an error: -1
3 x Fhem 5.9 mit RPI

Hefferwolf

Hallo Heiko,

nach etwas Verzögerung habe ich das Modul jetzt nochmal überarbeitet:


  • Der "mode" ist raus geflogen, automatic ist es jetzt, wenn interval gesetzt und > 0, sonst ist es manual
  • Wenn "disable" = 1, dann wird auch kein Timer aktiviert, nur wenn disable = 0 oder undefiniert.

Das Modul ist so bei mir auch aktiv. Das Attr "mode" muss dann aus der fhem.cfg gelöscht werden.

@Cornelius: diese Fehlermeldung kommt vom SBFspot und besagt wohl, dass er die Uhrzeit im Converter nicht setzen konnte, das ist bei mir auch so und man sieht in den Readings auch, dass die gemeldete Uhrzeit falsch ist. Das hat aber nichts mit dem Modul zu tun und ist entweder eine Macke im SBFspot oder aber im Converter selbst. Spielt bei der Einbindung und Datenerfassung über FHEM auch keine Rolle.

Grüße,

Ingo

alschie

Hallo,

ich habe das Modul von Hefferwolf https://github.com/irockel/fhem-utils/blob/master/98_SMAUtils.pm verwendet. Ich bekomme zwei Readings angezeigt.
state   active  2019-04-03 22:46:51
summary enabled 2019-04-03 22:46:51

SMAUtils STATE ist active und scheint auch soweit ok zu sein. SBFSport V3.5.1 liest den Wechslerichter (SB 5000TL-20) via Bluetooth aus und schreibt in, die entsprechend angegebenen Verzeichnisse, die Werte.

Z.B.

  • /var/log/sbfspot.3/PV-Anlage_201904.log+PV-Anlage_20190403.log
  • ~/smadata/SBFspot.db
  • ~/smadata/2019/PV-Anlage-20190403.csv+PV-Anlage-201904.csv+PV-Anlage-Spot-20190403.csv

Was ist die präferierte Variante um mit SMAUtilis auf alle bisher ausgelesenen Daten zuzugreifen, damit man Readings und einen entsprechend Plot erzeugen kann?

Grüße
Alex
RasPi 3 Mod. B Rev 1.2 | 1-Wire Sensoren | Relais Board | Shellys/Tasmota | SBFspot | Velux Steuerung

Hefferwolf

Hallo Alex,

ich bin mir nicht sicher, ob ich die Frage richtig verstehe, du willst historische Daten, die du bisher ausserhalb von fhem ausgelesen hast in den Plot integrieren? SMAUtils ist lediglich für die Anbindung von SBFspot gedacht. d.h. es stellt die aktuellen Werte als Readings bereit.

Wenn du historische Daten in deinen Plots haben möchtest, musst du dir vermutlich selbst etwas schreiben, dass deine Daten in eine Format konvertiert, dass den aktuellen Daten im Log entspricht, dann kannst du die Plot-Funktion darauf los lassen.

Grüße,

   Ingo

alschie

Hallo Ingo,

eigentlich reicht es mir die geschriebenen SBFSpot Daten in einem Plot darzustellen. Mir ist nicht klar wie SMAUtils auf die Daten zugreift damit Readings im Device auftauchen mit denen ich dann einen Plot erstellen kann.

Grüße
Alex
RasPi 3 Mod. B Rev 1.2 | 1-Wire Sensoren | Relais Board | Shellys/Tasmota | SBFspot | Velux Steuerung

Winnie_LD

Hallo zusammen,
ich verfolge seit einiger Zeit die Diskussion hier und habe mich jetzt selbst an die Arbeit gemacht, die Daten meiner beiden Wechselrichter mittels SMAUtils über bluetooth auszulesen und darstellen zu lassen.
Bluetooth Verbindung steht, sbfspot ist installiert und liefert Daten (auf der Konsole sieht die Ausgabe so aus):


/usr/local/bin/sbfspot.3/SBFspot -nocsv -v
SBFspot V3.5.2
Yet another tool to read power production of SMA solar inverters
(c) 2012-2018, SBF (https://github.com/SBFspot/SBFspot)
Compiled for Linux (LE) 32 bit with SQLite support
Commandline Args: -nocsv -v
Reading config '/usr/local/bin/sbfspot.3/SBFspot.cfg'
Wed Jul 10 14:45:44 2019: INFO: Starting...
sunrise: 05:34
sunset : 21:31
Connecting to 00:80:25:18:22:2B (1/10)
Initializing...
SUSyID: 125 - SessionID: 904495038 (0x35E97FBE)
SMA netID=01
SUSyID: 78 - SN: 2100345133
BT Signal=70.6%
Logon OK
Local Host Time: 10/07/2019 14:45:45
Plant Time     : 10/07/2019 14:45:45 (0 sec)
TZ offset      : 3600 sec - DST: On
Last Time Set  : 10/07/2019 10:05:45
SUSyID: 78 - SN: 2100345133
Device Name:      SN: 2100345133
Device Class:     Solar-Wechselrichter
Device Type:      SB 4000TL-20
Software Version: 03.01.05.R
Serial number:    2100345133
SUSyID: 78 - SN: 2100345133
Device Status:      Ok
SUSyID: 78 - SN: 2100345133
Device Temperature: 61.9°C
SUSyID: 78 - SN: 2100345133
GridRelay Status:      Geschlossen
SUSyID: 78 - SN: 2100345133
Pac max phase 1: 4000W
Pac max phase 2: 4000W
Pac max phase 3: 4000W
SUSyID: 78 - SN: 2100345133
Energy Production:
        EToday: 17.529kWh
        ETotal: 40165.724kWh
        Operation Time: 36496.36h
        Feed-In Time  : 35447.56h
SUSyID: 78 - SN: 2100345133
DC Spot Data:
        String 1 Pdc:   0.969kW - Udc: 246.07V - Idc:  3.941A
        String 2 Pdc:   1.970kW - Udc: 247.79V - Idc:  7.954A
SUSyID: 78 - SN: 2100345133
AC Spot Data:
        Phase 1 Pac :   2.851kW - Uac: 232.96V - Iac: 12.241A
        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.851kW
SUSyID: 78 - SN: 2100345133
Grid Freq. : 49.99Hz
SUSyID: 78 - SN: 2100345133
Current Inverter Time: 10/07/2019 14:45:40
Inverter Wake-Up Time: 10/07/2019 05:39:00
Inverter Sleep Time  : 10/07/2019 14:45:44
********************
* ArchiveDayData() *
********************
startTime = 5D250E60 -> 10/07/2019 00:00:00
**********************
* ArchiveMonthData() *
**********************
startTime = 5D19E7B0 -> 01/07/2019 13:00:00
Reading events: 2019-Jul-01
Wed Jul 10 14:45:47 2019: INFO: Done.


Die sbfspot.db wird auch fleißig befüllt - erster Tag am Laufen und schon 90 MB groß...
Daneben erstellt mir sbfspot hübsche csv-Dateien, die prächtig Daten enthalten.

Die fhem.cfg habe ich folgendermaßen befüllt:

define WinniesPV SMAUtils 00:80:25:18:22:2B /usr/local/bin/sbfspot.3
setuuid WinniesPV 5d233bc9-f33f-3bb9-ea03-942dc16034c13e08
attr WinniesPV icon measure_photovoltaic_inst
attr WinniesPV room Energie
attr WinniesPV timeout 50

define FileLog_Solar FileLog ./log/Solar-%Y-%m.log Solar:.*etod.*|Solar:.*string.*_pdc|Solar:.*total_pac|Solar:.*usage.*
setuuid FileLog_Solar 5d2345e0-f33f-3bb9-3681-2b58101294df72f7
attr FileLog_Solar icon icoLog
attr FileLog_Solar nrarchive 12
attr FileLog_Solar room logs

define SVG_FileLog_Solar_1 SVG FileLog_Solar:SVG_FileLog_Solar_1:CURRENT
setuuid SVG_FileLog_Solar_1 5d234658-f33f-3bb9-9983-22a84c4947e75449
attr SVG_FileLog_Solar_1 room Energie
attr SVG_FileLog_Solar_1 title "Solarleistung Min $data{min1}, Max $data{max1}, Last $data{currval1}"


Die plot-Datei sieht folgendermaßen aus:

# Created by FHEM/98_SVG.pm, 2019-07-08 15:42:28
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 "kW"

#FileLog 4:Solar.string_1_pdc\x3a:0:
#FileLog 4:Solar.string_2_pdc\x3a:0:

plot "<IN>" using 1:2 axes x1y1 title 'String 1' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'String 2' ls l0 lw 1 with lines


Nun zu meinen Fragen:

1. Obwohl sbfspot fleißig Daten liefert, bleibt die Solar-2019-07.txt leer. Dort kommen anscheinend keine Daten an. Ist meine Vermutung richtig, dass diese Datei mit den Daten aus der sbfspot.db durch SMAUtils gefüllt wird und dann daraus der plot erstellt wird? Wenn ja, wo kann der Fehler liegen und was kann ich tun?

2. Wenn die sbfspot.db weiterhin so befüllt wird, muss ich alle 10 Tage die Datenbank händisch löschen. Wie kann ich dafür sorgen, dass die Datenbank automatisch in regelmäßigen Abständen gelöscht wird? Oder ausgelagert? Oder wie macht Ihr das?

Da ich beim durchstöbern der einschlägigen Artikel auf dieser Seite nicht wirklich schlau geworden bin, hoffe ich sehr, Ihr könnt mir weiterhelfen.
Vielen Dank schonmal im Voraus,
Winnie_LD

Hefferwolf

Hallo Winnie,

die Datenbank von sbfspot brauchst du gar nicht und solltest du in der sbfspot-config abschalten. Weiterhin solltest du dir das Event-Log vom fhem anschauen, ob da Events vom sbfspot reinkommen, da solltest du dann Werte sehen und kannst damit auch kontrollieren, ob dein reguläre Ausdruck für die Logdatein stimmt. Die Werte fürs Plotting kommen ausschliesslich aus der Logdatei. Die sbfspot.db spielt da keine Rolle.

Gruss,

   Ingo

Winnie_LD

Hallo Ingo,
vielen Dank, mittlerweile konnte ich das Problem lösen. Ich habe sbfspot neu installiert, die SQlite Datenbank abgeschaltet und die plot-Datei angepasst (da war immer noch "SOLAR" anstelle meiner individuell vergebenen PV-Bezeichnung drin). Es läuft und er plottet die Leistung.

Leider stellt SVG-plot immer nur die Daten von EINEM Wechselrichter dar. Da ich zwei WR habe, hätte ich gern beiden Datenreihen (zur Not auch summiert) dargestellt. In der Log-Datei stehen die Werte für beide Wechselrichter jeweils in aufeinanderfolgenden Zeilen. Daher nimmt SVG-plot offensichtlich immer nur die zweite Zeile, da die Bezeichnung der Variable ja identisch ist für beide WR.

Ich habe hier im Forum gelesen, die Lösung mit zwei config erscheint mir reichlich kompliziert und ich wüsste auch gar nicht, wo anfangen.
Gibt es weitere Lösungsansätze, wie die Daten von beiden WR aus der Log-Datei in den Plot kommen können?

Vielen Dank, Winnie

Byllyy

Hallo zusammen,
ich versuche das Modul auf einem PI4 mit Buster nach Wiki zu installieren. Dabei Verwende ich die aktuelle 98_SMAUtils.pm und SBFspot-3.5.1.

Leider erhalte ich schon bei dem Punkt make release eine Fehlermeldung : "make: *** Keine Regel, um ,,release" zu erstellen.  Schluss."

Nach mehreren Versuchen und lesen vieler Threads bitte ich hier mal um Hilfe.

Vielen Dank,
Byllyy

DS_Starter

Hallo Byllyy,

an der Stelle ist es noch ein reines Linux-(Buster) Problem.
Vermutlich wärst du mit dieser Frage in einem passenden Unterforum bei den Linux-Cracks besser aufgehoben.
Ich selbst dir da auch nicht helfen und müsste googeln oder mir Rat holen.

LG,
Heiko 
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

moonsorrox

#28
Nach eineigen Versuchen, habe das jetzt  nochmal versucht zu installieren.. ich komme bis zum Punkt
wget –c https://github.com/SBFspot/SBFspot/releases/tag/V3.6.0/SBFspot-3.6.0.tar.gz

das finde ich auch im Verzeichnis, obwohl ich ja gar keinen Pi habe sondern ein Intel NUC

Habe mich hiernach gerichtet
cd /home/pi
mkdir sbfspot
cd sbfspot


trotzdem sollte er doch aber mit diesem Befehl weiter machen
Zitattar -xvzf SBFspot-3.6.0.tar.gz

was mache ich falsch..?
das hat sich erledigt, aber ich komme trotzdem nicht weiter..?

bei diesem Befehl kommt ein Fehler
[codemake release[/code]

root@fhem-server:/home/pi/sbfspot# make release
make: *** Keine Regel, um ,,release" zu erstellen.  Schluss.

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Axxl

#29
Zitat von: moonsorrox am 23 Mai 2020, 13:26:04
bei diesem Befehl kommt ein Fehler
[codemake release[/code]

root@fhem-server:/home/pi/sbfspot# make release
make: *** Keine Regel, um ,,release" zu erstellen.  Schluss.

Das Problem hatte ich auch .. Ich glaub die Doku ist hier etwas veraltet. Du musst angeben, welche Version du complieren willst. Also z.B.

make sqlite
oder
make mariadb

Für das Modul ist die verwendete DB ja eigentlich irrelevant. Also kann man irgendwas nehmen .. Denke mal sqlite ist am einfachsten.

moonsorrox

ich denke ich komme da deshalb nicht weiter, weil mein Growatt WR das nicht unterstützt
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Axxl

Zitat von: moonsorrox am 21 November 2020, 18:09:30
ich denke ich komme da deshalb nicht weiter, weil mein Growatt WR das nicht unterstützt

Na ja SBFSpot ist ja auch speziell für SMA Inverter entwickelt worden. Da wirst du mit dem Growatt WR nicht weit kommen. :(

moonsorrox

das war mir leider vorher nicht ganz klar  ;) aber so ist das dann wohl.
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Obi-Wan

Zitat von: DS_Starter am 30 Dezember 2018, 22:49:54
Hallo Ingo,

da hast du aber eine ganz alte Version als Grundlage genommen.

Es gibt schon lange dieses Modul als non-Blocking Variante. Natürlich bereits mit den event-on-Attributen und ein disable.

Hier:
https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter  (Downloadbutton benutzen)

Grüße
Heiko

Ich bin gerade dabei meiner FHEM-Prodinstallation eine neue HW zu verpassen. Durch den Plattformwechsel musste ich nun auch die für das Modul 98_SMAUtils notwendige SW SBFspot neu kompilieren. Irgendwo zwischen den Versionen  SBFspot V3.5.2 und V3.9.4 hat sich die Datenrückgabe aus dem Wechselrichter bei den Momentanwerten wie folgt geändert:


Alt:
SBFspot V3.5.2
DC Spot Data:
        String 1 Pdc:   1.514kW - Udc: 386.70V - Idc:  3.918A
        String 2 Pdc:   1.695kW - Udc: 386.70V - Idc:  4.384A

Neu:
SBFspot V3.9.4
DC Spot Data:
        MPPT 1 Pdc:   1.521kW - Udc: 386.70V - Idc:  3.935A
        MPPT 2 Pdc:   1.689kW - Udc: 386.70V - Idc:  4.369A


Damit weiterhin verwendbare Readings der Momentanwerte erzeugt werden habe ich die  SMAUtils.pm um den Codeblock zu 'mppt' als überarbeitete Kopie (wegen Abwärtskompat.) von 'string' ergänzt:

$substr = 'mppt';
     
            if (index($readingsname, $substr) != -1) { 
                my $linesreading= "string_".(substr $readingsname, 5,1);
                my $linesvalue= substr $line, 7;
                my @line_readings = split("-",$linesvalue);
 
                foreach my $line_readings (@line_readings) {
                    @reading = split(":",$line_readings);
                    $readingsname = ltrim($reading[0]);
                    $readingsname = $linesreading."_".$readingsname;
                    $readingsname = rtrim($readingsname);
                    $readingsname = lc($readingsname);
                    $readingsname =~ s/ /_/g;

                    $value = ltrim($reading[1]);
                    $value =~ /(\d+(?:\.\d+)?)/;
                    $readingsvalue = $1;
                   
                    readingsBulkUpdate($hash,$readingsname,$readingsvalue);
                }
            }     


Die Readings in FHEM beginnen weiterhin mit 'string' damit Auswertung/Grafiken problemlos weiterhin funktionieren.

@DS_Starter:
Evtl. könntest Du die aktualisierte Datei lt. Anhang unter Deinem o.a. Link hinterlegen da ja auch der WikiArtikel https://wiki.fhem.de/wiki/SMAWechselrichter zu SMAUtil auf Deine Version führt und es vermutlich demnächst weitere FHEM Nutzer geben wird die diese Anpassung gebrauchen könnten?

Viele Grüße,
Obi-Wan

DS_Starter

Wow, wie die Zeit vergeht. Die letzte Version war schon 4 Jahre alt und SMAUtils lebt immer noch.  :D
Habe deine neue Version in mein contrib geladen.

Danke und LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Hefferwolf

Hallo Heiko,

was lange währt, wird endlich gut  ;). Danke fürs Ergänzen.

Grüße,

   Ingo

Obi-Wan

Zitat von: DS_Starter am 06 April 2022, 19:21:01
Wow, wie die Zeit vergeht. Die letzte Version war schon 4 Jahre alt und SMAUtils lebt immer noch.  :D
Habe deine neue Version in mein contrib geladen.

Danke und LG,
Heiko

Vielen Dank...Wenn es nach mir geht soll SMAUtils noch ein langes Leben haben, mein WR der nur BT kann ist ja erst 8 Jahre alt und soll noch eine Weile durchhalten  :)