SMA Gateway Modul

Fehler gefunden :slight_smile:

  1. Im Modul ist in der Fehlermeldung der Dateiname solar.log fix angegeben:
  2. Das Modul erwartet in der letzten Zeile ein Info: DONE

        // In letzter Zeile sollte sich ein
        // INFO: Done.
        // befinden
        if (strpos($logArray[$logArraySize-2], "INFO: Done.") !== false)
        {
            IPS_LogMessage($this->moduleName,"solar.log incomplete!");
            return NULL;
        }

In meiner output.txt ist die allerletzte Zeile leer und das INFO: Done steht in der vorletzten Zeile. Wenn ich die letzte leere Zeile aus der output.txt löschen, dann läuft der Import

Jetzt ist die Frage, warum SBF bei mir diese Leerzeile am Ende einfügt. Ich vermute das auch Du diese Leerzeile am Ende der output.txt hast

Gruß,
Torsten

Fehler 1 hab ich schon intern geändert. Ich werd da mal was basteln, damit die Leerzeilen egal sind.

Das steht aber nur im Log, wichtig ist was ihr in der Modulconfig angegeben habt!

Könnte man das mit den Leerzeilen am Ende nicht so umgehen, in dem man einfach die Abfrage etwas erweitert?


        // In letzter Zeile sollte sich ein
        // INFO: Done.
        // befinden
        if (strpos($logArray[$logArraySize-2], "INFO: Done.") !== false) and (strpos($logArray[$logArraySize-3], "INFO: Done.") !== false)
        {
            IPS_LogMessage($this->moduleName,$baseURL." incomplete!");
            return NULL;
        }


Hallo, ich konnte es auch nachstellen. Lösche ich die Leerzeile in der solar.log so werden die Devices angelegt.

Grüße
Ringo

Hab da mal n Update eingespielt. :slight_smile:

Super, probiere ich heute Abend gleich mal aus.

Danke :slight_smile:

Funktioniert :slight_smile:

Super Service!

Grüße,
Torsten

Und ein wenig anders gelöst, als ihr das vorgeschlagen habt. Fühlt sich besser an, wenn ich nicht so viele verschiedene Abfragen machen muss, sondern die Leerzeilen einfach lösche. :slight_smile:

Hallo, leider ist es schon dunkel und ich habe keine Werte mehr von der Anlage wenn sie gerade erzeugt.

Meine Frage ist folgende?

Ich möchte gern nicht nur die Tages und Gesamtleistung anzeigen sondern auch die gerade erzeugte Leistung. Ich vermute das ganze wird hier gelogt

AC Spot Data:
Phase 1 Pac : 0.000kW - Uac: 239.57V - Iac: 0.000A
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.000kW

Ja nachdem auf welcher Phase der Multigate arbeitet wird dann wohl die Leistung und Strom ind Phase 1 bis 3 ausgegebene, hoffe ich.

Wie ist das bei dir Kevin und wie bekomme ich diese Daten mit deinem Modul in IPS angezeigt?

Bei DC Spot Data scheint ja nix drin zu stehen, auf diese Daten könnte man dann auch verzichten.

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

Grüße
Ringo

Kevin, kann es sein das hier noch das Leerzeichen vor dem Doppelpunkt (Phase 1 Pac :slight_smile: berücksichtigt werden muss?

 array ("pattern" => "/Phase 1 Pac: (.*)kW - Uac: (.*)V - Iac: (.*)A/", "result" => array(array("id" => 1 ,"parameter" => "Phase 1 Power AC","profileSuffix" => "PowerkW","type" => 2),array("id" => 2 ,"parameter" => "Phase 1 Voltage AC","profileSuffix" => "Voltage","type" => 2),array("id" => 3 ,"parameter" => "Phase 1 Current AC","profileSuffix" => "Current","type" => 2))),
               array ("pattern" => "/Phase 2 Pac: (.*)kW - Uac: (.*)V - Iac: (.*)A/", "result" => array(array("id" => 1 ,"parameter" => "Phase 2 Power AC","profileSuffix" => "PowerkW","type" => 2),array("id" => 2 ,"parameter" => "Phase 2 Voltage AC","profileSuffix" => "Voltage","type" => 2),array("id" => 3 ,"parameter" => "Phase 2 Current AC","profileSuffix" => "Current","type" => 2))),
               array ("pattern" => "/Phase 3 Pac: (.*)kW - Uac: (.*)V - Iac: (.*)A/", "result" => array(array("id" => 1 ,"parameter" => "Phase 3 Power AC","profileSuffix" => "PowerkW","type" => 2),array("id" => 2 ,"parameter" => "Phase 3 Voltage AC","profileSuffix" => "Voltage","type" => 2),array("id" => 3 ,"parameter" => "Phase 3 Current AC","profileSuffix" => "Current","type" => 2))),
               array ("pattern" => "/Total Pac : (.*)kW/", "result" => array(array("id" => 1 ,"parameter" => "Total Power AC","profileSuffix" => "kW","type" => 2))),

Das kann wohl sein. Also in meinem Log ist da auch ein Space! Ich wollte je eh noch eine entsprechende Vorkonfiguration vornehmen, damit nicht alles geloggt wird. Hab da schon was vorbereitet.

Ich muss ehrlich zugeben, dass ich das Modul selber gar nicht nutze, sondern nur für dich geschrieben habe. :smiley:
Ich habe noch son „nördy“ Skript laufen, welches nun schon seit 2 Jahren läuft. Und wenn ich jetzt das Modul neue Variablen erzeugen lasse, sind ja alle Logdaten futsch. Oder kann ich die womöglich irgendwie von einer Variable auf die andere verschieben?

Super, danke für die Mühe.

Ich habe dir dazu auch schon ein Pull reqests meiner Änderungen in gitthub geschrieben.

Wäre super wenn das Modul sich etabliert und sich weitere Nutzer finden die es verwenden.

Grüße
Ringo

Oder kann ich die womöglich irgendwie von einer Variable auf die andere verschieben?

Ja, das kann man im Arvchiv Handler machen. Allerdings darf die Zielvariable nicht gelogged werden und auch noch keine geloggten Daten enthalten.

Hallo, wollte nur mal kurz mitteilen das es jetzt erst einmal mit dem Modul funktioniert. Wäre super wenn man die nicht benötigten Werte entsprechen im Modul noch deaktivieren kann.

Danke und Grüße
Ringo

Sehr schön. Deinen Wunsch hab ich schon in der Testung. Aber habs noch nicht veröffentlicht, weils mir noch nicht gefällt! Schieb ich evtl nächste Woche nach!

Soderle… Version 1.1 released. Bitte testen! :slight_smile:

Super Kevin, schaut schon sehr gut aus. Die Werte von Anlagen Laufzeit und Grid Relay Status gibt es aber in meinem Log nicht.

Grüße
Ringo

Habe auch gerade das Update gemacht.

Das GridRelay Status gibt es bei mir im Log. Dafür habe ich keine AC Werte und auch manch andere fehlen in meinem Log.

Interpretiert das Modul den Log Wert „Operation Time“ mit der Option „Wechselrichter Laufzeit(en)“?
Frequenz heißt bei mir im Log Grid Frequency

Vermutlich lasse ich einfach alle Werte drin - sind bei einem Wechselrichter ja nicht sooo viele Variablen.

Das Modul ist klasse!

Gruß,
Torsten

Du hast sehr wohl AC Werte… die heißen dort Pac und liegen bei dir alle auf 6kW.

Irgendwie ist das auch nicht so einfach einzugrenzen. Denn eigentlich müsste es schon eher auf Gerätebasis zusammen gestrichen werden. So wie es aussieht, hast du keinen Sunny Boy, sondern einen 6kW Wechselrichter. Da kommen dann nur die Informationen des einen Gerätes. In der Sunny Boy Variante, kommen Daten vom Gateway und den einzelnen MiniWechselrichtern. Die haben natürlich unterschiedliches Datenaufkommen. Im Datenlog steht dann aber trotzdem alles.

Was will man machen… dampft es auch ein, wie ihr es braucht. Und dann viel Spass beim aufzeichnen der Daten. :slight_smile:
Ich ergänze vorne nochmal, dass es auch mit anderen WR funktioniert. Welches Netzwerk Modul brauch man dafür?

Habe halt nur eine PV Anlage in 2 Strängen auf dem Dach - aber Dein Modul funktioniert damit prima!

Ich habe den SMA Sonny TriPower - der hat das Bluetooth Modul bereits drin :slight_smile:

Gruß,
Torsten