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

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

Vorheriges Thema - Nächstes Thema

John

Hallo Sven,
es ging uns nur um eine qualitative Aussage, nicht um die Stelle nach dem Komma.

Das gibt sicher auch die verwendete Quelle für die Globalstrahlung nicht her.

Es ging schlicht um die Frage: funktioniert die Anlage noch ?

Für die Antwort muss man einen weiten Toleranzbereich zulassen.

Aber wenn größere Mängel aufträten könnte man es relativ schnell herausfinden.

John


CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Brun

Hallo Gemeinde,

ich bin soeben erst über den Fred gestoßen.

Auch ich habe mich schon mal mit den Thema SMASpot beschäftigt.
Mein Ansatz ist allerdings, dass ich mir die Werte aus der CSV Datei hole.

Wenn SMASpot nicht ab und zu hängen würde...

Da habe ich aber auch gesehen, dass die Jungs an Speedwire dran sind.

Allerdings ist mein Code noch ziemliche Grütze...


Gruß Brun


(siehe Anhang / see attachement)



heiko

#17
das Modul von Sven läuft bei mir seit einigen Wochen problemlos...Dank an Sven.
Zusätzlich habe ich mir noch etwas für meinen Elster AS1440 Stromzähler gebastelt.

Heiko

Schuggi

Zitat von: heiko am 20 November 2013, 09:56:37
Zusätzlich habe ich mir noch etwas für meinen Elster AS1440 Stromzähler gebastelt.

Heiko

Hallo Heiko,
kannst du mir verraten wie du den Elster ans FHem gebastelt hast?
Ich hab für einen Easymeter auch ne Anbindung vom D0 an FHem gebastelt aber relativ aufwändig über weitere
externe Hardware und zusätzlichem PC-Programm!

Gruß
  Schuggi
Fhem auf EEE-PC Windows7 (XAMPP),
CUL,
(RasPi, QNAP TS109II)
Angebunden an Fhem:
2xVelux-Rolladen, 3x S0 Stromzähler, Wetterstation WH1080, 2x S300TH

heiko

Hallo Schuggi,

ganz hilfreich für mich waren die Seiten http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz und http://knx-user-forum.de/wiregate/20092-installation-der-software-von-volkszaehler-org-moeglich-2.html#17.

Vermutlich ist mein Script nicht ganz sauber geschrieben, da ich noch Anfänger in Perl/FHEM bin, aber es funktioniert.  ;)

Vorher muss noch "socat" installiert werden, da das Script dies benötigt, um am Anfang den Zähler/D0 von 300 auf 9600Baud hochzusetzen. Ansonsten würde Übertragung der Messwerte mit 300Baud gute 5Minuten dauern.

meine fhem.cfg: (das Script AS1440.sh wird alle 2 Minuten gestartet und schreibt ein Logfile)

define AS1440 at +*00:02:00 { fhem "trigger AS1440 ".`FHEM/AS1440.sh`}
define FileLog_AS1440 FileLog ./log/AS1440Log-%Y-%m-%d.log AS1440
define plot_AS1440 SVG FileLog_AS1440:AS1440:CURRENT
attr plot_AS1440 room Stromdaten
attr plot_AS1440 title "$data{currdate1}, Einspeisung: $data{currval2} kW, Bezug: $data{currval1} kW"

das Script AS1440.sh:
Initialisiert den Zähler, setz die Geschwindigkeit hoch, empfängt den kompletten Datensatz vom Zähler und gibt dann die unter "channels" aufgeführten OBIS-Kennzahlen aus. (Unter "my $device" noch den entprechenden USB-Port einstellen)


#!/usr/bin/perl

# Zaehlerabfrage fuer Zaehler nach Protokoll IEC 62056-21 / OBIS
# Ein Anfrage-Telegramm ist mit 300 Baud, 7 Bit, 1 Stoppbit
# und gerader Paritaet zu senden. Das ist der Initialmodus von Geraeten,
# die das Protokoll IEC 62056-21 implementieren.
# Ein Wechsel der Geschwindigkeit ist umgesetzt.

# Basis des Scripts von volkszaehler.org / Autor: Andreas Schulze & Bugfix: Eric Schanze
# DPT9 sub: makki / www.knx-user-forum.de
# Baudwechsel: panzaeron / www.knx-user-forum.de
# Erweiterung um RRD,KNX-Anbindung und gezielte Wertsuche auf Wiregate:
# JuMi2006 / www.knx-user-forum.de
# Version: 0.1.4
# Datum: 30.05.2012

use warnings;
use strict;

use POSIX qw(strftime);
my $now =strftime "%Y-%m-%d_%H:%M:%S", localtime;
#print ($now,"\n");     


### KONFIGURATION ###
my $device = "/dev/ttyUSB0";            #Port
my %channels = (                        #Obis-Zahl => Gruppenadresse
                "2.7.0"=>"2-7-0:",
                "1.7.0"=>"1-7-0:",
                "2.8.0"=>"2-8-0:",
                "2.8.0*01"=>"2-8-0_01:",
                "1.8.0"=>"1-8-0:",
                "1.8.0*01"=>"1-8-0_01:",
                "2.9.0"=>"2-9-0:",               
                "2.9.0*01"=>"2-9-0_01:",
                "1.9.0"=>"1-9-0:",
                "1.9.0*01"=>"1-9-0_01:",
                                );     
### ENDE KONFIGURATION ###

system ("echo '\x2f\x3f\x21\x0d\x0a' | socat -T 1 - ".$device.",raw,echo=0,b300,parenb=1,parodd=0,cs7,cstopb=0");

### Warte auf Zaehlerkennung
select(undef, undef, undef, 1.5); # 1.5 Sekunden warten

### Telegramm mit ACK und neuer Geschwindigkeit senden
system ("echo '\x06\x30\x35\x30\x0d\x0a' | socat -T 1 - ".$device.",raw,echo=0,b300,parenb=1,parodd=0,cs7,cstopb=0");

my @buffer = qx (socat -T 1 - $device,raw,echo=0,b9600,parenb=1,parodd=0,cs7,cstopb=0);
#print @buffer;

foreach (@buffer)
{
        foreach my $obis(%channels)
        {
        my $obiskey = $obis."\(";
        if ($_ =~ /\Q$obiskey\E/)       
        {
        $_  =~ m/[^(]+\(([^*]+)\*([^)]+)/;
        my $value = $1;
        my $unit = $2;
        my $ga = $channels{$obis};
        #print ($obis,"\n");                                           
        #print ($value,"\n");
        #print ($unit,"\n");   
        #print ($ga,"\n");
        #print "$now AS1440 Obis_$obis $value $unit\n";
        print "$now AS1440 $ga $value $unit\n";
        #print "AS1440 ",($obis)," ",($value)," ",($unit,"\n");
        }
        }
}



Grüße
Heiko

Schuggi

Danke für die Infos.
Mein Zähler sendet selbstständig ungefähr im Sekundentakt mit 9600Baud.
Ich hab den Tastkopf an einem NET_IO Board.
Der empfängt ständig das Protokoll und sendet die Infos per Broadcast in mein Netz.
FHem läuft bei mir unter Windows und da hab ich ein Programm (VB.NET) geschrieben das den
Broadcast empfängt und die Daten per Telnet an FHem überträgt.
Ich mach da aber einige Verarbeitung.
Ich lese noch die Ertragsdaten meiner PV aus und verrechne die.
So kann ich %Einspeisung und mehr auswerten.

Ich bin in Perl auch ein absoluter Anfänger und bin deshalb diesen Weg gegangen.
Ich hab die Hofnung das eventuell mal einer ein richtiges Mosul für die verschiedenen D0-Schnittstellen schreibt:-)

Gruß
  Schuggi
Fhem auf EEE-PC Windows7 (XAMPP),
CUL,
(RasPi, QNAP TS109II)
Angebunden an Fhem:
2xVelux-Rolladen, 3x S0 Stromzähler, Wetterstation WH1080, 2x S300TH

thd

Zitat von: svenkoethe am 24 September 2013, 10:07:19
Hier der aktuelle Stand der bei mir seit ca. 2 Wochen stabil läuft...
Ich habe Dein Modul geringfügig weiterentwickelt. Meine Fassung wartet nun nach dem Start des SMASpot-Kindprozesses nicht mehr, bis dieser fertig ist, sondern benutzt eine Pipe, damit FHEM währenddessen weiterlaufen kann. Das heißt, während der Kommunikation mit den Wechselrichtern bleibt FHEM nicht mehr stehen.

Außerdem habe ich zwei Wechselrichter, daher habe ich die Angabe einer SMASport Konfigurationsdatei als attr ermöglicht. SMASpot sollte bei dieser Version in /opt/fhem/smaspot/ installiert sein, denn die Installation unter /home/pi/... hätte zur Folge, dass der Benutzer pi ein Programm ändern kann, das der Benutzer fhem ausführt, was eine Priviledge Escalation zur Folge hätte.

Lorenz

Hallo Heiko,

ich habe deine Lösung mit dem Skript AS1440.sh mit meinem Zähler Iskra MT372 getestet.
Die OBIS-Zahlen habe ich angepasst und verzweifele im Moment am matching.
In meinem logfile erhalte ich nur zyklische Einträge dieser Art:
2014-01-15_19:10:12 AS1440 /ISK5\2MT372-3102
F.97.0(00000003)
0.0.0(   33462)
C.1.1(00000000)
C.1.0(50401141)
0.9.1(123244)
0.9.2(020505)
1.8.1(00980.856*kWh)
1.8.2(00000.000*kWh)
1.8.3(00000.000*kWh)
1.8.4(00000.000*kWh)
C.241.0(016)
C.244.0(00000080)
!
L

Hast Du einen Tipp für mich? Eigentlich bräuchte ich ja nur den totalen Verbrauch von 1.8.1, denn mehr gibt der Zähler nicht her. Datum und Uhrzeit sind wohl vom EVU nicht gesetzt worden und daher falsch.

Bei diesem Zähler hat die Baudratenumschaltung nicht funktioniert, daher habe ich dann 300 Baud belassen. Bei der Datenmenge ist das aber wohl noch erträglich.

Hardwaremäßig habe ich einen IR-Lesekopf über einen Seriell-USB Wandler PL2303 am Raspberry Pi.

Viele Grüße

Lorenz
. . . . . .
Fhem auf NUC7i3BNH, Raspberry Pi B und B+, Raspberry Pi 2 B, Peripherie: FB7490, 1-Wire, Homematic, FS20, Lampen, Briefkasten, Klingel, Sonos, GardenaSmart, Unifi, Gaszähler an GPIO, Stromzähler EFR SGM-C4, Heizung Buderus GBH 172, Alarmanlage EMA und BMA von Bosch

Peter aus Calw

Hallo guten Abend,
mit wenig Kenntniss versuche ich mit dieser klasse Beschreibung und Anleitung die Daten von meinem SMAspot ins Fhem zu bekommen. Also SMAspot läuft seit einigen Tagen mit kleiner Einschränkung(Bluetooth-Leistung) aber die Ergebnisse in den csv sind ok. Die ersten Kommandos habe ich in der Fhem-Kommandozeile erfolgreich eingegeben und der WR1 wird als aktiv gemeldet und erhalte Auslesedaten original in "HEIZUNG" und "WR1" Tabelle. Nun stehe ich auf dem Schlauch, wie erzeuge ich eine LOG-Datei ? (auf Grafik lege ich keinen Wert) Ich möchte bei einem bestimmten Ertrag (z.B. 3000 Watt) ein Funkrelais HM-LC-Sw4-DR schalten und damit zu gegebenem Zeitpunkten meine E-Blockspeicher-Heizung zu laden. Die Funkrelais funktionieren und nun wollte ich eben das verknüpfen - aber da haperts eben.
Über Hilfe würde ich mich sehr freuen.
Gruß von Peter (hp.abele@t-online.de)

heiko

Hallo thd,

deine Modulanpassung klingt interessant. Leider habe ich deine 99_SMAUtils.pm nicht zum Laufen bekommen. SMASpot habe ich wie von dir beschrieben installiert. Muss ich noch bestimmte Attribute in die fhem.cfg eintragen? Kannst du bitte mal deine Config-Einträge posten?

Hallo Lorenz,
leider hab ich dien Frage jetzt erst gesehen...sorry.
Ich vermute mal, das du das Problem mittlerweile schon gelöst hast.

Beste Grüße
Heiko

Klaus Rubik

Hallo Heiko,

ich habe die Modulentwicklung von thd nochmals etwas weiterentwickelt, diese läuft jetzt mit der neuesten Version von SMAspot (diese untstützt jetzt auch die Kommunikation über Ethernet, ist stabiler als BT).

Meine Modulversion habe ich angehängt.

SMAspot in der neuesten Version gibt es unter https://smaspot.codeplex.com/releases. Wichtig ist die Installation im Pfad .../fhem/smaspot/bin/Release, also unterhalb des fhem-Verzeichnisses. Ist so im Modul hart verdrahtet. Da das Modul immer noch auf die gültige BT-Adresse prüft, musst du diese noch bei der Device-Definition in FHEM angeben, genommen wird aber die IP-Adresse aus der smaspot.cfg.

Hier noch die Definition in FHEM:


#
# Solar Wechselrichter
#
define Solar SMAUtils 00:80:25:2D:46:16 600
attr Solar delay 600
attr Solar icon measure_photovoltaic_inst
attr Solar room Energie
#
# FileLog Definition
#
define FileLog_Solar FileLog /public/FHEM/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}"


(//)

Solltest Du noch einen SMA Energy Meter im Einsatz haben, dann hätte ich dafür auch noch Tipps, wie man den aktuellen Verbrauch auslesen kann.

Viele Grüße

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

micomat

Hi,

ueber Ethernet? Das klingt interessant :) Einfach IP eingeben oder wie funktioniert das?
Ich will meine SMA WR auch lieber im FHEM haben als bisher ueber ein Portal.

Gruß
Markus
Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

Klaus Rubik

@micomat: ja in der SMAspot.cfg kann man mit der neuen Version die IP Adresse des Wechselrichters eintragen und dann wird darüber ausgelesen.


Gesendet von meinem iPad mit Tapatalk
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

micomat

Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

heiko

Hallo Klaus,

ich werde nächster Wochenende deine Version mal testen...Danke. Ethernet wäre zwar die beste Wahl, kommt aber für mich nicht in Frage da der WR nur Bluetooth hat.

Beste Grüße
Heiko