Einbindung vom SolaX Wechselrichter

Auflistung von gewünschten Features, Ausschreibung zur Umsetzung
Peete
Beiträge: 76
Registriert: Mi Feb 24, 2021 9:40 am

Re: Einbindung vom SolaX Wechselrichter

Beitrag von Peete »

Was ich überhaupt nicht verstehe: Der Solax X3 hat einen integrierten LAN Anschluß und Du steckst noch einen extra Solax Pocket LAN Dongle rein.

Der Solax Pocket LAN Dongle ist aus meiner Sicht nur für Solax WR ohne integrierten LAN Anschluß notwendig.
Zum Beispiel haben die einfachen X1 Wechselrichter nur einen CAN Anschluß, aber keinen LAN. Da muss dann der Dongle benutzt werden.

Also den Dongle abziehen!

Bei mir kommuniziert der Solax X3 nur über den integrierten LAN Anschluß mit der Solax Cloud und ich frage über openWB zusätzlich die Register über 502 ab.

Also Dongle ab ;) Das hast Du bisher anscheinend nicht gemacht.
openWB series2 standard+
Peete
Beiträge: 76
Registriert: Mi Feb 24, 2021 9:40 am

Re: Einbindung vom SolaX Wechselrichter

Beitrag von Peete »

Wir brauchen 2 verschiedene Module und zusätzlich stimmt das aktuelle Solax Modul nicht.

Es gibt den Solax X1 und den Solax X3.
Beim X1 ist zum Beispiel die WR Frequenz auf der 7 und beim X3 auf der 109, 113 und 117. Im Dokument ist die 7 = 0x0007 und die 109 = 0x006D.
Da es sich um die Frequenz vom WR handelt und nicht vom EVU, muss die 0x00BD (dez 189) GridFrequency verwendet.

Änderungen im Modul bezug_solax/solax.py

Frequenz:
von

Code: Alles auswählen

frequenz = unsigned16(resp,7) / 100
auf

Code: Alles auswählen

frequenz = unsigned16(resp,189) / 100
Das passt schon mal.


Ich habe hier einen Carlo Gavazzi. Dieser versorgt den Solax mit Daten über RS485.
Davor hängt noch ein SDM630. Dessen Werte hole ich mit einem Raspberry und FHEM über einen RS485 USB Adapter ab.
Somit kann ich schön vergleichen.

Werte, die ich aus dem Solax X3 bekomme (EVU):

FeedinPower_Rphase(X3) = -160
FeedinPower_Sphase(X3) = 70
FeedinPower_Tphase(X3) = 52

Werte, die der SDM630 anzeigt
HA_SDM630M_1:Power_L1__W = 160
HA_SDM630M_1:Power_L2__W = -71
HA_SDM630M_1:Power_L3__W = -52

Welche Werte brauchen wir in openWB, damit das alles gut funktioniert? Ich suche dann die Register raus und übersetze sie in Dezimal.

Komisch ist, dass auf dem Display der openwb series 2 die EVU Werte angezeigt werden, aber über die index.php nicht.

Zu Arauhut seinem Fall. Er hat einen X1 und einen X3. Deshalb brauchen wir 2 verschiedene Module, da die Register andere sind.
Edit: Er hat keinen X1. Hatte ich falsch verstanden. Ich habe ihn angerufen. Nur der X3 Hybrid liefert Daten über 502.

Ist aber auch egal. Wir brauchen 2 Module :)
Zuletzt geändert von Peete am Mo Dez 06, 2021 4:21 pm, insgesamt 1-mal geändert.
openWB series2 standard+
aiole
Beiträge: 7746
Registriert: Mo Okt 08, 2018 4:51 pm
Has thanked: 17 times
Been thanked: 31 times

Re: Einbindung vom SolaX Wechselrichter

Beitrag von aiole »

Danke für Deinen input. Das sieht doch schon mal erbaulich aus.
Peete hat geschrieben: Mo Dez 06, 2021 3:43 pm Komisch ist, dass auf dem Display der openwb series 2 die EVU Werte angezeigt werden, aber über die index.php nicht.
Guck' mal auf die Statusseite im openWB-GUI (rot = EVU-Werte).
HSC
Beiträge: 3941
Registriert: So Jan 10, 2021 8:49 am

Re: Einbindung vom SolaX Wechselrichter

Beitrag von HSC »

Peete hat geschrieben: Mo Dez 06, 2021 3:43 pm Wir brauchen 2 verschiedene Module und zusätzlich stimmt das aktuelle Solax Modul nicht.

Es gibt den Solax X1 und den Solax X3.
Beim X1 ist zum Beispiel die WR Frequenz auf der 7 und beim X3 auf der 109, 113 und 117. Im Dokument ist die 7 = 0x0007 und die 109 = 0x006D.
Da es sich um die Frequenz vom WR handelt und nicht vom EVU, muss die 0x00BD (dez 189) GridFrequency verwendet.

Änderungen im Modul bezug_solax/solax.py

Frequenz:
von

Code: Alles auswählen

frequenz = unsigned16(resp,7) / 100
auf

Code: Alles auswählen

frequenz = unsigned16(resp,189) / 100
Das passt schon mal.


Ich habe hier einen Carlo Gavazzi. Dieser versorgt den Solax mit Daten über RS485.
Davor hängt noch ein SDM630. Dessen Werte hole ich mit einem Raspberry und FHEM über einen RS485 USB Adapter ab.
Somit kann ich schön vergleichen.

Werte, die ich aus dem Solax X3 bekomme (EVU):

FeedinPower_Rphase(X3) = -160
FeedinPower_Sphase(X3) = 70
FeedinPower_Tphase(X3) = 52

Werte, die der SDM630 anzeigt
HA_SDM630M_1:Power_L1__W = 160
HA_SDM630M_1:Power_L2__W = -71
HA_SDM630M_1:Power_L3__W = -52

Welche Werte brauchen wir in openWB, damit das alles gut funktioniert? Ich suche dann die Register raus und übersetze sie in Dezimal.

Komisch ist, dass auf dem Display der openwb series 2 die EVU Werte angezeigt werden, aber über die index.php nicht.

Zu Arauhut seinem Fall. Er hat einen X1 und einen X3. Deshalb brauchen wir 2 verschiedene Module, da die Register andere sind.
Sein 2.WR wird erst noch über einen SDM eingebunden, und zwar siehe hier:viewtopic.php?p=50468#p50468
...und kann vermutlich mit diesen Registern als 2. WR im PV1- Modul eingebunden werden:
download/file.php?id=9183&mode=view
Hier hatte ich zum EVU schon was geschrieben, warum vermutlich zur Zeit keine Leistung kommt und wie sie künftig gelesen werden könnte.
viewtopic.php?p=51779#p51779
VG
Peete
Beiträge: 76
Registriert: Mi Feb 24, 2021 9:40 am

Re: Einbindung vom SolaX Wechselrichter

Beitrag von Peete »

aiole hat geschrieben: Mo Dez 06, 2021 3:53 pm Guck' mal auf die Statusseite im openWB-GUI (rot = EVU-Werte).
Durch die Änderung der Frequenz zeigt er mir nun den Import/Export (Netzbezug).

Im Status erhalte ich bei EVU folgende Werte:


Gesamtleistung [W] 12 (Imp.)
Bezug [kWh] 0,816
Einspeisung [kWh] 2,639
Frequenz [Hz] 49
Schieflast [A] 0

Die Werte für Phase 1 bis 3 sind alle 0.

Ich hab noch mal aufgelistet, wo ich mit meinem Modbus Tool passende Werte auslesen konnte (alles bezogen auf EVU):
Spannung [V] = GridVoltage (0x00BA)
Stromstärke [A] = Liefert der X3 nicht über Modbus
Leistung [W] = FeedinPower_Rphase(X3) / FeedinPower_Sphase(X3) / FeedinPower_Tphase(X3)
Power Faktor = Habe ich noch nicht geprüft.

GridVoltage_R(X3) / GridVoltage_S(X3) / GridVoltage_R(X3) sind die Werte vom WR für das PV Modul.
openWB series2 standard+
Benutzeravatar
arauhut
Beiträge: 118
Registriert: Di Jun 15, 2021 8:07 pm
Wohnort: Kassel
Kontaktdaten:

Re: Einbindung vom SolaX Wechselrichter

Beitrag von arauhut »

aiole hat geschrieben: Mo Dez 06, 2021 3:53 pm .......
Guck' mal auf die Statusseite im openWB-GUI (rot = EVU-Werte).
Meinst Du das ?
2021-12-06 openWB Status EVU
2021-12-06 openWB Status EVU
Grüße aus Kassel - Andreas
openWB series2 standard SW1.9 - Skoda Enyaq iV60 + Renault Zoe + SolaX X3-Hybrid-10.0-T-D + X3-Mic-6.0-T-D Wechselrichter (Gen 3) + HomeAssistant
Benutzeravatar
arauhut
Beiträge: 118
Registriert: Di Jun 15, 2021 8:07 pm
Wohnort: Kassel
Kontaktdaten:

Re: Einbindung vom SolaX Wechselrichter

Beitrag von arauhut »

Peete hat geschrieben: Mo Dez 06, 2021 10:58 am Was ich überhaupt nicht verstehe: Der Solax X3 hat einen integrierten LAN Anschluß und Du steckst noch einen extra Solax Pocket LAN Dongle rein.

Der Solax Pocket LAN Dongle ist aus meiner Sicht nur für Solax WR ohne integrierten LAN Anschluß notwendig.
Zum Beispiel haben die einfachen X1 Wechselrichter nur einen CAN Anschluß, aber keinen LAN. Da muss dann der Dongle benutzt werden.

Also den Dongle abziehen!

Bei mir kommuniziert der Solax X3 nur über den integrierten LAN Anschluß mit der Solax Cloud und ich frage über openWB zusätzlich die Register über 502 ab.

Also Dongle ab ;) Das hast Du bisher anscheinend nicht gemacht.

Bitte korrigiert mich, aber meines Wissens nach
- kommunizieren die WR über die Dongles mit der Cloud,
- kann der SolaX Service-Techniker darüber auf das Gerät zugreifen
- gleicht der 2.WR (X3-Mic-6.0) seine PV Daten mit dem 1.WR (X3-Hybrid-10.0) ab, damit dieser die Ladung des Haus-Speichers steuern kann.

Mein Wunsch ist es natürlich, EVU-Werte, PV-Ladung und Speicherladung ausschließlich in openWB darzustellen.

Sobald das geht, überlege ich mir sicherlich, die Dongles zu entfernen.
Bis dahin stören Sie mich nicht, im Gegenteil, es ist die einzige Möglichkeit, in der Cloud die gesamte PV-Leistung zu sehen.
Grüße aus Kassel - Andreas
openWB series2 standard SW1.9 - Skoda Enyaq iV60 + Renault Zoe + SolaX X3-Hybrid-10.0-T-D + X3-Mic-6.0-T-D Wechselrichter (Gen 3) + HomeAssistant
HSC
Beiträge: 3941
Registriert: So Jan 10, 2021 8:49 am

Re: Einbindung vom SolaX Wechselrichter

Beitrag von HSC »

Soweit ist alles richtig verstanden, die Dongle sind für openWB uninteressant.
Nur
gleicht der 2.WR (X3-Mic-6.0) seine PV Daten mit dem 1.WR (X3-Hybrid-10.0) ab, damit dieser die Ladung des Haus-Speichers steuern kann."
ist so nicht richtig.
Dein 2. WR ist z. Zt. nicht im 1. WR eingebunden.
Die Steuerung für den Speicher erfolgt allein nur über die EVU- Daten vom Hybrid- WR.
Im Prinzip so, wie die openWB die EV- Ladung nur anhand der EVU- Daten steuert. PV- Daten sind nur kosmetischer Natur, wenn EVU vorhanden.
VH
Peete
Beiträge: 76
Registriert: Mi Feb 24, 2021 9:40 am

Re: Einbindung vom SolaX Wechselrichter

Beitrag von Peete »

Ich habe die modules/speicher_solax/solax.py erweitert.
Nun zeigt openWB auch an, wieviel kWh dem Speicher zugeführt und entnommen wurden.

Von

Code: Alles auswählen

#!/usr/bin/python
import sys
# import os
# import time
# import getopt
# import socket
# import struct
# import binascii
from pymodbus.client.sync import ModbusTcpClient

def unsigned16(result, addr):
    return result.registers[addr]

def signed16(result, addr):
    val = result.registers[addr]
    if val > 32767:
        val -= 65535
    return val

ipaddress = str(sys.argv[1])

client = ModbusTcpClient(ipaddress, port=502)

resp=client.read_input_registers(0, 114)

# Batterie Power
value1 = signed16(resp, 22)
f = open('/var/www/html/openWB/ramdisk/speicherleistung', 'w')
f.write(str(value1))
f.close()

# Batterieladezustand
value2 = unsigned16(resp, 28 )
f = open('/var/www/html/openWB/ramdisk/speichersoc', 'w')
f.write(str(value2))
f.close()
das kam noch hinzu:

Code: Alles auswählen

# Batterie entladen
value3 = unsigned16(resp, 32 ) * 100
f = open('/var/www/html/openWB/ramdisk/speicherekwh', 'w')
f.write(str(value3))
f.close()

# Batterie geladen
value4 = unsigned16(resp, 35 ) * 100
f = open('/var/www/html/openWB/ramdisk/speicherikwh', 'w')
f.write(str(value4))
f.close()
Ist das so richtig mit den * 100. Die Werte passen.
Vorher stand es so da:
Speicher: -233 W (0,00 kWh I) (0,00 kWh E) - Ladestand: 20 %
Jetzt:
Speicher: -235 W (0,10 kWh I) (5,90 kWh E) - Ladestand: 20 %

In der Ramdisk sind die Werte wie folgt:
speicherekwh = 5900
speicherikwh = 100
openWB series2 standard+
aiole
Beiträge: 7746
Registriert: Mo Okt 08, 2018 4:51 pm
Has thanked: 17 times
Been thanked: 31 times

Re: Einbindung vom SolaX Wechselrichter

Beitrag von aiole »

arauhut hat geschrieben: Mo Dez 06, 2021 4:45 pm
aiole hat geschrieben: Mo Dez 06, 2021 3:53 pm .......
Guck' mal auf die Statusseite im openWB-GUI (rot = EVU-Werte).
Meinst Du das ? 2021-12-06 openWB Status EVU.jpg
ja
Wieso hast Du da keine Werte?
Antworten