Hauptmenü

Solarlog 200

Begonnen von ma7ja5, 30 Juni 2013, 19:38:38

Vorheriges Thema - Nächstes Thema

majorshark

#15
Hallo Deinjo.

Das interessiert mich auch.
Hast Du für das Problem (var PacArr= [[858], [1]]; ) schon eine Lösung gefunden?

Grüße

Lösung:
my ($Pver,$Pac) = ( $allines =~ /.+?var PacArr=\ \[\[(\d*)\],\ \[(\d*)\]\]/ );
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

maxritti

Hallo zusammen,

da ich auch eine PV Anlage mit einem Solarlog 200 habe, wollte ich das ganze auch mal integrieren.
Pac wird bei mir im Plot auch angezeigt, aber irgendwie komme ich mit dem Ertrag nicht weiter.

Logverbose habe ich mal auf 5 gesetzt und bekomme von meinem Solarlog eintrag das hier:

2014.03.09 15:16:12 5: ##########################################
2014.03.09 15:16:12 5: Solarlog_GetStatus
2014.03.09 15:16:12 5: myPV: Data request
2014.03.09 15:16:12 5: host: 192.168.178.22
2014.03.09 15:16:14 5: name: myPV
2014.03.09 15:16:14 5: ###########################
2014.03.09 15:16:14 5: Data received:
FehlerCodes[1] = "-------,Kommunikation gest?rt,DC ?berstrom,Startbed. nicht erreicht,
2014.03.09 15:16:14 5: myPV Pac: 2223 W, Ertrag: 13165 Wh
2014.03.09 15:16:14 5: Triggering myPV (1 changes)
2014.03.09 15:16:14 5: Notify loop for myPV Pac: 2223 W, Ertrag: 13165 Wh
2014.03.09 15:16:14 4: eventTypes: Solarlog myPV Pac: 2223 W, Ertrag: 13165 Wh -> Pac: .* W, Ertrag: .* Wh
2014.03.09 15:16:14 5: DbLog: logging of Device: myPV , Type: SOLARLOG , Event: Pac: 2223 W, Ertrag: 13165 Wh , Reading: Pac , Value: 2223 W, Ertrag: 13165 Wh , Unit:


Der Eintrag

2014.03.09 15:16:14 5: myPV Pac: 2223 W, Ertrag: 13165 Wh

sieht doch soweit ganz gut aus. Ich frage mich nur, warum der im Plot nicht angezeigt wird?

Meine gplot Datei sieht so aus:

# Created by FHEM/98_SVG.pm, 2014-03-09 15:19:14
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 'Photovoltaik'
set ytics
set y2tics
set grid ytics
set ylabel "Leistung"
set y2label "Ertrag "
set yrange [0:3240]
set y2range [0:20000]

#DbLog myPV:Ertrag::
#DbLog myPV:Pac::

plot "<IN>" using 1:2 axes x1y2 title 'Ertrag (Wh)' ls l1fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Leistung (W)' ls l0 lw 1 with lines

     
Irgendwie scheine ich den Zusammenhang zwischen dem Modul, den Einträgen im DB Log und der gplot Datei nicht verstanden zu haben.

Wäre cool, wenn mir dazu jemand den Schubs in die richtige Richtung geben könnte.

maxritti

Also das Problem dürfte mal folgender Eintrag im DB Log sein:

Da steht im Reading Pac alle Werte. So kann das Plot das auch nicht auswerten.

Nur wie stelle ich mich nun an um einzelne Readings gesetzt zu bekommen?
Irgendwie werde ich den Eindruck nicht los, als wenn in dem Modul das mit dem $hash gar keine Auswirkungen hat.
Naja, vielleicht schaut ich im FHEM Wiki mal im Development Bereich vorbei...

# Abrage in dieser Art funktioniert nur mit meiner speziellen Konfiguration: S0-Aktiv und KAKO WR
# Es gibt in dem JavaScript noch andere Stellen um an die Daten zu kommen. Aber leider keine "Einzeiler".
  #my ($Pac) =( $allines =~ /.+?var Pac=(\d*)/ ) ; #Pac Variable suchen
#  my ($Pac2,$Pdc1,$Pdc2,$Ertrag,$Udc1,$Udc2,$Temp)=( $allines =~ /.+?m\[mi\+\+\]=.+?\|.+?\|(.+?);(.+?);(.+?);(.+?);(.+?);(.+?);(.+?$

  my ($Pver,$Pac) = ( $allines =~ /.+?var PacArr=\ \[\[(\d*)\],\ \[(\d*)\]\]/ );
  my ($Ertrag1,$Ertrag,$Temp) =( $allines =~ /.+?da\[dx\+\+\]=.+?\|(.+?);.+?\|(.+?);(.+?)/ );

  if ($Ertrag)
   { }
  else
  { $Pac = 0;
    $Ertrag = 0;
  }
  $text= "Pac: $Pac W, Ertrag: $Ertrag Wh, Pver: $Pver";
  $text= "Pac: $Pac W, Ertrag: $Ertrag Wh $Temp $Ertrag1";

  Log 5,"$name $text";
  if (!$hash->{LOCAL}){
            $hash->{CHANGED}[0] = $text;
            $hash->{STATE} = $text;;
            $hash->{READINGS}{Pac}{TIME} = TimeNow();
            $hash->{READINGS}{Pac}{VAL} = $Pac;
            $hash->{READINGS}{Ertrag}{TIME} = TimeNow();
            $hash->{READINGS}{Ertrag}{VAL} = $Ertrag;
            DoTrigger($name, undef) if($init_done);
  }
  $alldata="$text\n";
  return $alldata;
}

majorshark

Dieses Problem habe ich auch noch.

Beim Öffnen der Seite PV werden alle Readings korrekt angezeigt.
Bei der nächsten Aktualisierung stehen alle Werte dann in der Zeile 'Pac'.

Scheinbar wird dann nur noch $text zurückgegeben. Was auch logisch erscheint, da ja return $alldata auch nur den $text zurück gibt.

Aber warum ist das nicht so beim ersten Aufruf und wie bekommt man es hin, das die Readings fortlaufend einzeln aktualisiert werden.


$text= "Pac: $Pac W, Ertrag: $Ertrag Wh, Verbrauch: $Pver W, Einspeisung: $Pein W";
Log 5,"$name $text";

if (!$hash->{LOCAL}){
            $hash->{CHANGED}[0] = $text;
            $hash->{STATE} = $text;
            $hash->{READINGS}{Pac}{TIME} = TimeNow();
            $hash->{READINGS}{Pac}{VAL} = $Pac;
            $hash->{READINGS}{Ertrag}{TIME} = TimeNow();
            $hash->{READINGS}{Ertrag}{VAL} = $Ertrag;
            $hash->{READINGS}{Verbrauch}{TIME} = TimeNow();
            $hash->{READINGS}{Verbrauch}{VAL} = $Pver;
            $hash->{READINGS}{Einspeisung}{TIME} = TimeNow();
            $hash->{READINGS}{Einspeisung}{VAL} = $Pein;
            DoTrigger($name, undef) if($init_done);
  }
  $alldata="$text\n";
  return $alldata;


(//)
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

maxritti

#19
Zwischenzeitlich habe ich mal ein wenig rumgespielt.
Ich gebe zu mit den Regexp bin ich nach nicht wirklich warm geworden, aber vielleicht wird das ja noch mal.
Manch einer würde das bestimmt eleganter lösen, aber der Zweck heiligt die Mittel. ;)

Im Anhang mal meine aktuelle 99_Solarlog.pm. Die basiert auf dem ersten Modul hier in dem Post.
Da mal einen Dank an Manfred für die Vorarbeit.

Aus der von meinem Solarlog 200 mit einem Wechselrichter zurückgelieferten Antwort habe ich mal diese Zeilen auseinander genommen:

var PacArr= [[293], [128]];
var PdcArr= [[0,0,0], [176,0,0]];


und die letzte Zeile

da[dx++]="21.03.14|8739;2910|5131;1728"

Daraus konnte ich dann alle Werte ermitteln.

Sollten die Zeilen bei Euch anders aussehen, müssten die Regex angepasst werden.
Oder hier mal posten, dann versuche ich mal mein Glück.  8)

majorshark

... läuft einwandfrei! Habe noch ein Reading für die Einspeiseleistung hinzugefügt.

Danke. :)
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

cocojambo

Hallo,
ich habe einen Solarlog 1000 bei mir im Einsatz mit zwei Wechselrichtern von Fronius. Ich habe mir schon alle Posts über die Auswertung und Darstellung des Solarlogs mit Fhem durchgelesen. Aber so richtig steht nirgendwo im Zusammenhang was wo an Dateien einzuspielen und welche Änderung zu machen sind. Wäre es mal möglich hier die einzelnen Dateien zu posten und vielleicht mal eine kurze Anleitung zu machen ist um den solarlog als Plot darzustellen und auszuwerten? Können bestimmt Andere auch noch gebrauchen. Fänd ich ganz gut.
Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

maxritti

Hi,

gib mal in Deinem Browser das hier ein:

http://solarlog-ip/pc.js?min0

Also die IP Deines Solarlogs mit dem /pc.js?min0

Das was da raus kommst, kannst Du gerne posten oder mir zumailen.
Dann schaue ich mal, ob ich da draus schlau werde.

Ach so. Hast Du auch einen S0 Zähler, der den Eigenverbrauch an den Solarlog weitergibt?

cocojambo

@ maxritti

Hab ich gemacht und dir per PM vorgestern zugeschickt. kannst du damit was anfangen und wirst schlau daraus? oder brauchst du noch weitere angaben.
gruß aus köln
norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

maxritti

Hi Norbert,

ich bin dran.
Allerdings bei dem schönen Wetter bieten sich auch andere Aktivitäten an, als am PC zu sitzen  ;)

Melde mich, wenn es weitergegangen ist.

besitzer

Hallo zusammen,

ich habe einen SolarLog 300 und einen SMA Wechselrichter.
Ich habe die ersten Schritte mit der Einrichtung der Anzeige etc erfolgreich durchgeführt. Allerdings bekomme ich bei den Werten für PAC und Ertrag sowie in der Skala nichts angezeigt.
Mein Wechselrichter bzw. Solarlog werden soweit ich weiß auch per S0 Schnittstelle ausgelesen.

Wenn ich http://192.168.xy.47/pc.js?min0 in den Broswer eingeben wird mir allerdings gar nichts angezeigt. Das Brwoserfenster bleibt weiß und ich bekomme keinen Fehler
Leider kenne ich mich mit Dingen wie REGEXP etc. gar nciht aus. Wo und wie stelle ich sowas ein?

Könnt Ihr mir helfen?

Danke. Gruß Sven

besitzer

Ich habe mir gerade nochmal die Konfiguration meines SolarLog angesehen und unter dem Punkt Geräte gesehen, wie die Anbindung zum Wechselrichter ist. Laut dem Bild über RS485, der Verbrauchszähler bei mir im Schaltschrank aber wohl über S0. Hilft das bei der Fehleranalyse?

Siehe Anhang

Gruß Sven

besitzer

Ich habe nun einen anderen Browser (Internet Explorer) zum Abfragen und bekomme die Meldung, dass die Webseite nicht gefunden werden konnte.

maxritti

Zitat von: besitzer am 22 Mai 2014, 16:02:22
Wenn ich http://192.168.xy.47/pc.js?min0 in den Broswer eingeben wird mir allerdings gar nichts angezeigt. Das Brwoserfenster bleibt weiß und ich bekomme keinen Fehler
Leider kenne ich mich mit Dingen wie REGEXP etc. gar nciht aus. Wo und wie stelle ich sowas ein?

Könnt Ihr mir helfen?

Danke. Gruß Sven

Hm.
Über http://192.168.xy.47 kommst Du an das Webinterface von Deinem Solarlog und wenn Du da /pc.js?min0 anhängst, dann kommt nichts?
Merkwürdig.
Selbst bei einem Solarlog 1000 geht das. Das der Solarlog 300 sich so von den beiden Modellen unterscheidet, kann ich mir nicht wirklich vorstellen.
Aber nichts ist unmöglich.

Mail doch direkt mal den Solarlog-Support an, ob das pc.js?min0 mit dem Solarlog 300 nicht funktioniert.
Die geben recht fix Antwort.

Aber dann wissen wir wenigstens, ob es hier mit dem Modul weitergehen kann.

cocojambo

Bei mir wurde gestern bei meinem Solalog 1000 automatisch ein Firmware update gestartet. Dadurch ist auch bei mir nicht mehr möglich über das "pc.js?min0" an den Solarlog zu kommen. Hängt wohl eindeutig mit der neuen Software zusammen, die ja laut Solarlog demnächst für alle Solarlogs gilt, so auf der Firmwareseite zu lesen:
Auszug von den neuen Release Notes:

(Solar-Log™ 3.1.2 Build 67, 21.05.2014)
für Solar-Log 200/500/1000 und Solar-Log 300, 1200 und 2000

Wenn einer was weiß wäre es nett, das hier zu posten. ich werde parallel auch mal eine Anfrage an den Support stellen.

Gruß aus Köln
Norbert

@maxritti : dein Solarlog 200 ist auch dabei
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000