Neu: 77_SMAEM - Modul für SMA Energie Meter. Alternative zum Sunny Home Manager.

Begonnen von Volker Kettenbach, 30 März 2016, 12:42:05

Vorheriges Thema - Nächstes Thema

Stargazer

Hallo zusammen,

ich habe jetzt SBFspot einmal von der Putty Konsole gestartet.
Anbei die Rückmeldung von SBFspot als Bild.


Vielen Dank für das Einpflegen in die Repositories...

VG

André


Stargazer

Hi zusammen,

die Datei sieht wie folgt aus:

SMA and Speedwire are registered trademarks of SMA Solar Technology AG
################################################################################

# SMA Inverter's Bluetooth address
# Windows: smaspot -scan
# Linux  : hcitool scan
# IMPORTANT FOR SPEEDWIRE USERS: COMMENT OUT BTADDRESS (PUT # IN FRONT)
#BTAddress=00:00:00:00:00:00

# SMA Inverter's Speedwire IP address
# If IP_Address is not set or is 0.0.0.0 SBFspot will try to detect the speedwire inverter by broadcast
# If IP_Address is set to a valid IP, SBFspot will try to connect directly to that IP without broadcast detection
# Multiple IP addresses can be provided (comma separated)
IP_Address=192.168.178.25

# User password (default 0000)
Password=0000

# MIS_Enabled (Multi Inverter Support: Default=0 Disabled)
# +------------+-------+-------------+
# | #Inverters | NetID | MIS_Enabled |
# +------------+-------+-------------+
# |      1     |   1   | Don't Care  |
# +------------+-------+-------------+
# |      1     |   >1  |      0      |
# +------------+-------+-------------+
# |      >1    |   >1  |      1      |
# +------------+-------+-------------+
MIS_Enabled=0

# Plantname
Plantname=Heidemann

# OutputPath (Place to store CSV files)
#
# Windows: C:\Users\Public\SMAdata\%Y
# Linux  : /home/pi/smadata/%Y
# %Y %m and %d will be expanded to Year Month and Day
OutputPath=/home/pi/smadata/%Y

# OutputPathEvents (Place to store CSV files for events)
# If omitted, OutputPath is used
OutputPathEvents=/home/pi/smadata/%Y/Events

# Position of pv-plant http://itouchmap.com/latlong.html
# Example for Ukkel, Belgium
Latitude=50.80
Longitude=4.33

# Calculate Missing SpotValues
# If set to 1, values not provided by inverter will be calculated
# eg: Pdc1 = Idc1 * Udc1
CalculateMissingSpotValues=1

# DateTimeFormat (default %d/%m/%Y %H:%M:%S)
# For details see strftime() function
# http://www.cplusplus.com/reference/clibrary/ctime/strftime/
DateTimeFormat=%d/%m/%Y %H:%M:%S

# DateFormat (default %d/%m/%Y)
DateFormat=%d/%m/%Y

# DecimalPoint (comma/point default comma)
DecimalPoint=comma

# TimeFormat (default %H:%M:%S)
TimeFormat=%H:%M:%S

# SynchTime (0-30 - 0=disabled, 1=once a day (default), 7=once a week, 30=once a month)
# If set to non-zero value, the plant time is synchronised with local host time
# Some inverters don't have a real-time clock
SynchTime=1

# SynchTimeLow (1-120 - default 1)
# SynchTimeHigh (1200-3600 - default 3600)
# Plant time is adjusted to local host time when SynchTime=1 and
# time difference is between SynchTimeLow and SynchTimeHigh limits
SynchTimeLow=1
SynchTimeHigh=3600

# SunRSOffset
# Offset to start before sunrise and end after sunset (0-3600 - default 900 seconds)
SunRSOffset=900

# Locale
# Translate Entries in CSV files
# Supported locales: de-DE;en-US;fr-FR;nl-NL;es-ES;it-IT
# Default en-US
Locale=en-US

# Timezone
# Select the right timezone in date_time_zonespec.csv
# e.g. Timezone=Europe/Brussels
Timezone=Europe/Brussels

# BTConnectRetries
# Number of Bluetooth Connection attempts (1-15; Default=10)
BTConnectRetries=10

###########################
### CSV Export Settings ###
###########################
# With CSV_* settings you can define the CSV file format

# CSV_Export (default 1 = Enabled)
# Enables or disables the CSV Export functionality
CSV_Export=1

# CSV_ExtendedHeader (default 1 = On)
# Enables or disables the SMA extended header info (8 lines)
# isep=;
# Version CSV1|Tool SBFspot|Linebreaks CR/LF|Delimiter semicolon|Decimalpoint comma|Precision 3
# etc...
# This is usefull for manual data upload to pvoutput.org
CSV_ExtendedHeader=1

# CSV_Header (default 1 = On)
# Enables or disables the CSV data header info (1 line)
# dd/MM/yyyy HH:mm:ss;kWh;kW
# This is usefull for manual data upload to pvoutput.org
# If CSV_ExtendedHeader is enabled, CSV_Header is also enabled
CSV_Header=1

# CSV_SaveZeroPower (default 1 = On)
# When enabled, daily csv files contain all data from 00:00 to 23:55
# This is usefull for manual data upload to pvoutput.org
CSV_SaveZeroPower=1

# CSV_Delimiter (comma/semicolon default semicolon)
CSV_Delimiter=semicolon

# CSV_Spot_TimeSource (Inverter|Computer default Inverter)
CSV_Spot_TimeSource=Inverter

# CSV_Spot_WebboxHeader (Default 0 = Off)
# When enabled, use Webbox style header (DcMs.Watt[A];DcMs.Watt[B]...)
CSV_Spot_WebboxHeader=0

###########################
###   SQL DB Settings   ###
###########################

# SQLite
# SQL_Database (Fullpath to SQLite DB)
# Windows: C:\Users\Public\SMAdata\SBFspot.db
# Linux  : /home/pi/smadata/SBFspot.db
SQL_Database=/home/pi/smadata/SBFspot.db

# MySQL
#SQL_Database=SBFspot
#SQL_Hostname=<Network Name> or <IP-address>
#SQL_Username=SBFspotUser
#SQL_Password=SBFspotPassword


Viele Grüße

André

sct14675

Hallo zusammen,
soll das Modul 77_SMASTP.pm auch mit dem Sunny Island funktionieren?
Irgendwie bekomm ich das nicht zum laufen.
Mein SMA STP 6000 und das Energymeter funktioniert problemlos, allerdings liefert der Wechselrichter Sunny Island 4.4 nur folgendes:
2016.07.18 16:21:23 2: MySunny: Sending query to inverter 192.168.178.94:9522
2016.07.18 16:21:23 5: MySunny: Received: (534d4100000402a000000001002e001060650b907800c8e8033800014c0126a1294b00010000000004800d04fdff07000000840300004c20cb510000000000000000)
2016.07.18 16:21:23 5: MySunny: Received Garbage: (534d4100000402a00000000100260010606509d07800c8e8033800e04c0126a1294b000015000000f1b10102005400002600ffff260000000000)


Mach ich was falsch, oder ist das Modul nicht für Sunny Islands gedacht?

tschüss,
Thomas

Waldmensch

@Stargazer: Irgendwo muss diese CSV sein, durchsuch mal das SBF Spot verzeichnis

# Timezone
# Select the right timezone in date_time_zonespec.csv
# e.g. Timezone=Europe/Brussels
Timezone=Europe/Brussels


@sct14675: der Sunny Island ist nicht berücksichtigt, das Modul ist rein für die STP's. Allerdings scheint der Island etwas zu antworten, ebenso wie der WR von Stargazer. Das heißt grundsätzlich funktioniert das Frage/Antwort pingpong, wir stellen vermutlich nur nicht die richtige Frage. Du solltest ebenfalls mal testen, ob SBFSpot mit deinem Island läuft. Wenn ja, müssten wir in den Source von SBFSpot abtauchen und gucken wie es dort gemacht wird.

Mich wundert, das ihr beide eine ähnliche Antwort hinten mit 2600ffff260000000000 bekommt

@Stargazer: was hast Du eigentlich für einen WR genau? Mit den "reinrassigen STP" scheint es ja zu gehen.

Stargazer

Hallo zusammen,

ES LÄUFT !

Puh! Ich musste noch 2 Dateien von SBFspot in den /opt/ Verzeichnisstamm kopieren. Dann gestartet und es lief.
Sind die Daten noch relevant, die die Konsole herausgegeben hat ?

@Waldmensch:
Das ist ein SMA SunnyBoy 4000 TL-21. Der hat 2 MPPTracker drin, speist aber nur 1-phasig ins Netz ein. Die Tripower haben ja 3-phasen, wo sie einspeisen.
Der WR ist Baujahr 2013 und hat ja nun auch die neueste Firmware drauf.

Viele Grüße und FETTEN Dank an euch.

André

PS.: Wenn ihr noch jemanden zum testen für das SMASTP-Modul sucht, werde ich wohl gerne mitmachen !
     

DS_Starter

Hallo Volker,

kurze Rückmeldung von mir bzgl. des SVN.
Also nach dem SVN-Sync mit meinem Client waren deine eingecheckten Datein auch da.
Die SMAEM habe ich gleich mal auf meine Testinstanz gebracht und reloaded .... keine Probleme, funktioniert nahtlos weiter.

Allso alles in Butter und sollte morgen früh auch keine Probs geben.

Grüße
Heiko
Proxmox+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

Waldmensch

Wenn es mit SFBSpot funktioniert ist es auch mit dem Modul zum Laufen zu bringen. Wenn SBFspot läuft, wäre der nächste Schritt mit TCPdump die Kommunikation abzuschnüffeln. Wenn man dann Die gleichzeitig angezeigten Daten dazu hat, kann man sie in Hex umrechnen und im Dump suchen. Dann hat man das verantwortliche Datenpaket und die Anfrage dazu. Das dann ins Modul einbauen oder ein Paralleles Modul für diese Art WR bauen. Ebenso kann es mit dem Island laufen. Ich gucke morgen mal in den Source von SFBSpot ob da modellabhängig die Anfragen geforkt werden.

Für mich ist das allerdings sehr schwer, weil ich keinen direkten Zugriff auf den WR habe, also nicht direkt testen kann

sct14675

Also mit SBFspot scheint der Sunny Island zu funktionieren:

/opt/fhem/FHEM/sbfspot/bin/Release $ ./SBFspot -v5 -nocsv
SBFspot V3.1.5
Yet another tool to read power production of SMA solar inverters
(c) 2012-2015, SBF (https://sbfspot.codeplex.com)
Compiled for Linux (LE) 32 bit


Commandline Args: -v5 -nocsv
Reading config './SBFspot.cfg'
Configuration settings:
IP_Address=192.168.178.94
Password=<undisclosed>
MIS_Enabled=0
Plantname=MyPlant
OutputPath=/home/pi/smadata/%Y
OutputPathEvents=/home/pi/smadata/%Y/Events
Latitude=50.8
Longitude=4.33
Timezone=Europe/Brussels
CalculateMissingSpotValues=1
DateTimeFormat=%d/%m/%Y %H:%M:%S
DateFormat=%d/%m/%Y
TimeFormat=%H:%M:%S
SynchTime=1
SunRSOffset=3600
DecimalPoint=comma
CSV_Delimiter=semicolon
Precision=3
CSV_Export=0
CSV_ExtendedHeader=1
CSV_Header=1                                                                                                                           
CSV_SaveZeroPower=1                                                                                                                   
CSV_Spot_TimeSource=0                                                                                                                 
CSV_Spot_WebboxHeader=0                                                                                                               
Locale=en-US                                                                                                                           
BTConnectRetries=10                                                                                                                   
### End of Config ###                                                                                                                 
Tue Jul 19 07:52:42 2016: INFO: Starting...                                                                                           
sunrise: 05:53                                                                                                                         
sunset : 21:44                                                                                                                         
Connecting to Local Network...                                                                                                         
Initializing...                                                                                                                       
SUSyID: 125 - SessionID: 833509123 (0x31AE5703)                                                                                       
Inverter IP address: 192.168.178.94 from SBFspot.cfg                                                                                   
Logon OK                                                                                                                               
SUSyID: 332 - SN: 1261019430                                                                                                           
Device Name:      SN: 1261019430                                                                                                       
Device Class:     DevClss7                                                                                                             
Device Type:      SI 4.4M                                                                                                             
Software Version: 03.02.04.R                                                                                                           
Serial number:    1261019430                                                                                                           
SUSyID: 332 - SN: 1261019430                                                                                                           
Batt. Charging Status: 52%                                                                                                             
SUSyID: 332 - SN: 1261019430                                                                                                           
Batt. Temperature: 30.0°C                                                                                                             
Batt. Voltage    : 51.90V                                                                                                             
Batt. Current    : -17.300A                                                                                                           
SUSyID: 332 - SN: 1261019430                                                                                                           
Device Status:      Ok                                                                                                                 
SUSyID: 332 - SN: 1261019430                                                                                                           
Device Temperature: 0.0°C                                                                                                             
SUSyID: 332 - SN: 1261019430                                                                                                           
Pac max phase 1: 0W                                                                                                                   
Pac max phase 2: 0W                                                                                                                   
Pac max phase 3: 0W                                                                                                                   
SUSyID: 332 - SN: 1261019430                                                                                                           
Energy Production:                                                                                                                     
        EToday: 0.000kWh                                                                                                               
        ETotal: 0.000kWh                                                                                                               
        Operation Time: 0.00h                                                                                                         
        Feed-In Time  : 0.00h                                                                                                         
SUSyID: 332 - SN: 1261019430                                                                                                           
DC Spot Data:                                                                                                                         
        String 1 Pdc:   0.000kW - Udc:   0.00V - Idc:  0.000A                                                                         
        String 2 Pdc:   0.000kW - Udc:   0.00V - Idc:  0.000A                                                                         
SUSyID: 332 - SN: 1261019430                                                                                                           
AC Spot Data:                                                                                                                         
        Phase 1 Pac :  -0.900kW - Uac: 232.10V - Iac:  4.100A                                                                         
        Phase 2 Pac :   0.000kW - Uac:   0.00V - Iac:  0.000A                                                                         
        Phase 3 Pac :   0.000kW - Uac:   0.00V - Iac:  0.000A                                                                         
        Total Pac   :  -0.950kW                                                                                                       
SUSyID: 332 - SN: 1261019430                                                                                                           
Grid Freq. : 49.90Hz                                                                                                                   
Terminating here... Dealing with Battery Inverter.                                                                                     


Soweit ich gesehen habe, kann man mit SBFspot auch die einzelnen Befehle plus Antworten ausgeben lassen (debug Level 5).

tschüss,
Thomas

Waldmensch

ZitatSoweit ich gesehen habe, kann man mit SBFspot auch die einzelnen Befehle plus Antworten ausgeben lassen (debug Level 5).

Wenn Du sowas liefern könntest, wäre es, denke ich, leicht, dass ins Modul zu integrieren. Ansonsten müsste man mit tcpdump loggen und die Werte suchen, was immens aufwändiger ist. Ich würde dann aber für ein separates Modul 77_SMA_ISLAND plädieren, da es a) übersichtlicher und schlanker im Code ist und b) beim Island auch Readings bezügl. der Batterie angeboten werden sollten.

Stargazer

Moin zusammen,

dann könnte man das Modul vll. auch für die einphasigen WR's mit Speedwire Nachrüstschnittstelle einsetzen. Die Batteriereadings würden ja bei so etwas eh unter den Tisch fallen.
Wenn man mir kurz umschreibt, wie ich in SBFspot debugge, so könnte man die Daten mit einfließen lassen. Natürlich nur, wenn erwünscht.

Viele Grüße

André

Waldmensch

Ich würde es mal mit Parameter -d5 probieren wenn @sct14675 recht hat

SBFspot [-options]
-scan Scan for bluetooth enabled SMA inverters.
-d# Set debug level: 0-5 (0=none, default=2)
-v# Set verbose output level: 0-5 (0=none, default=2)
-ad# Set #days for archived daydata: 0-300
0=disabled, 1=today (default), ...
-am# Set #months for archived monthdata: 0-300
0=disabled, 1=current month (default), ...
-ae# Set #months for archived events: 0-300
0=disabled, 1=current month (default), ...
-cfgX.Y Set alternative config file to X.Y (multiple inverters)
-u Upload to online monitoring system (see config file)
-finq Force Inquiry (Inquire inverter also during the night)
-q Quiet (No output)
-nocsv Disables CSV export (Overrules CSV_Export in config)
-nosql Disables SQL export
-sp0 Disables Spot.csv export
-installer Login as installer
-password:xxxx Installer password
-loadlive Use predefined settings for manual upload to pvoutput.org

sct14675

[update: Daten haben gefehlt]
sooo, hab den output als Datei an diesen Post angehängt.
Es sind alle Pakete enthalten, hoffentlich hilfts.
Die kompletten Debug-daten bekommt man mit:
./SBFspot -nocsv -d5 -v5

Wichtig wär mir beim Sunny Island vor allem die Leistung beim Batterie-Laden + Entladen und natürlich der Ladezustand.

tschüss,
Thomas

Waldmensch

Klasse! Damit ist es wirklich simpel. Beispiel Batteriestatus mal kurz aufgedröselt. Die Länge der Antwort ist 192 Byte und der Wert steht an 144er Stelle. Das obere müssen wir senden und das untere aufdröseln. Genau so funktioniert das Modul ja jetzt auch schon

Das ist jeweils ein Block:
getInverterData(16384)
--------: 00 01 02 03 04 05 06 07 08 09
00000000: 53 4D 41 00 00 04 02 A0 00 00
00000010: 00 01 00 26 00 10 60 65 09 A0
00000020: FF FF FF FF FF FF 00 00 7D 00
00000030: E2 D4 13 35 00 00 00 00 00 00
00000040: 07 80 00 02 00 51 00 5A 29 00
00000050: FF 5A 29 00 00 00 00 00
58 Bytes sent to IP [192.168.178.94]
ethGetPacket()
Received 86 bytes from IP [192.168.178.94]
--------: 00 01 02 03 04 05 06 07 08 09
00000000: 53 4D 41 00 00 04 02 A0 00 00
00000010: 00 01 00 42 00 10 60 65 10 90
00000020: 7D 00 E2 D4 13 35 00 A0 4C 01
00000030: 26 A1 29 4B 00 00 00 00 00 00
00000040: 07 80 01 02 00 51 00 5A 29 00
00000050: 00 5A 29 00 07 5A 29 00 6C DF
00000060: 8D 57 61 00 00 00 61 00 00 00
00000070: 61 00 00 00 61 00 00 00 01 00
00000080: 00 00 00 00 00 00
<<<====== Content of pcktBuf =======>>>
--------: 00 01 02 03 04 05 06 07 08 09
00000000: 00 00 10 60 65 10 90 7D 00 E2
00000010: D4 13 35 00 A0 4C 01 26 A1 29
00000020: 4B 00 00 00 00 00 00 07 80 01
00000030: 02 00 51 00 5A 29 00 00 5A 29
00000040: 00 07 5A 29 00 6C DF 8D 57 61
00000050: 00 00 00 61 00 00 00 61 00 00
00000060: 00 61 00 00 00 01 00 00 00 00
00000070: 00 00
<<<=================================>>>
SUSyID: 332 - SN: 1261019430
Batt. Charging Status: 97%


zur Orientierung - die dezimalwerte in Hex umwandeln. (Endianess muss gedreht werden, die Serial 4B29A126 steht im Paket als 26A1294B, also genau andersrum)
SUSyID: 332 - SN: 1261019430   Hex: 14C 4B29A126

Battery
Send: 00010203040506070809534D4100000402A00000000100260010606509A0FFFFFFFFFFFF00007D00E2D41335000000000000078000020051005A2900FF5A290000000000
Rec:   00010203040506070809534D4100000402A00000000100420010606510907D00E2D4133500A04C0126A1294B000000000000078001020051005A2900005A2900075A29006CDF8D57610000006100000061000000610000000100000000000000

tot Len 192 /Pos 144

Batt. Charging Status: 97%   Hex 61


Wenn Du Zeit und Lust hast, kannst Du die für Dich wichtigen Werte so wie oben umarbeiten und die Positionen der Werte ermitteln. Dass dann in den Code einzubauen sollte nicht das Problem sein.

Waldmensch

Wir senden übrigens interessanterweise kürzere Anfragen

Modul:                       534D4100000402A00000000100260010606509E0FFFFFFFFFFFF00007800C8E80338000000000000F1B10002005400002600FFFF260000000000
SBFSpot: 00010203040506070809534D4100000402A00000000100260010606509A0FFFFFFFFFFFF00007D00E2D41335000000000000078000020051005A2900FF5A290000000000