Einbindung vom SolaX Wechselrichter
Re: Einbindung vom SolaX Wechselrichter
Machen wir. Vielen Dank
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
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
Re: Einbindung vom SolaX Wechselrichter
Hallo Lutz,
bei EVU fehlt wirklich auch noch der Faktor 1000 an irgendeiner Stelle zur Berechnung, um auf der Startseite die Tagessumme für Import & Export richtig zu bilden.
Die EVU- Zählerstände im Status sind seit Tagen in openWB i.O. und stammen direkt aus dem SDM630 des 1. Solax-WR.
Die sichtbaren 0,01 kWh sind in Wirklichkeit die abgeschnittenen 19 kWh Tagesdifferenz aus dem Log (csv), lt. Klammerwert aber nur 10 (bzw. 19, da abgeschnitten??) Wh.
Das Gleiche passiert unterm Tagesgraph als Tagessumme Bezug = 0,02 kWh = 20 Wh (scheinbar gerundet oder zetl. Differenz), müssten aber ca. 20 kWh heute sein, da der EVU- Zähler auch vor Update richtig anzeigte und richtig in csv geschrieben wurde.
Es setzt sich sichtbar weiterhin im Tagesgraph fort, da dort der "minimale" Bezug (um Faktor 1000 kleiner) auch nicht abgebildet werden kann.
Analog wird der Faktor auch im EVU- Export fehlen.
Schau bitte nochmal in das Modul oder die Übergaben der EVU- Werte zur TagesSummenberechnung.
Speicher passte schon immer, PV ist seit update heute auch komplett, nur EVU spinnt noch etwas.
@arauhut wird morgen dennoch nochmal eine Zusammenfassung der EVU- Summen, Tageslog- Summe Bezug sowie csv liefern.
VG
bei EVU fehlt wirklich auch noch der Faktor 1000 an irgendeiner Stelle zur Berechnung, um auf der Startseite die Tagessumme für Import & Export richtig zu bilden.
Die EVU- Zählerstände im Status sind seit Tagen in openWB i.O. und stammen direkt aus dem SDM630 des 1. Solax-WR.
Die sichtbaren 0,01 kWh sind in Wirklichkeit die abgeschnittenen 19 kWh Tagesdifferenz aus dem Log (csv), lt. Klammerwert aber nur 10 (bzw. 19, da abgeschnitten??) Wh.
Das Gleiche passiert unterm Tagesgraph als Tagessumme Bezug = 0,02 kWh = 20 Wh (scheinbar gerundet oder zetl. Differenz), müssten aber ca. 20 kWh heute sein, da der EVU- Zähler auch vor Update richtig anzeigte und richtig in csv geschrieben wurde.
Es setzt sich sichtbar weiterhin im Tagesgraph fort, da dort der "minimale" Bezug (um Faktor 1000 kleiner) auch nicht abgebildet werden kann.
Analog wird der Faktor auch im EVU- Export fehlen.
Schau bitte nochmal in das Modul oder die Übergaben der EVU- Werte zur TagesSummenberechnung.
Speicher passte schon immer, PV ist seit update heute auch komplett, nur EVU spinnt noch etwas.
@arauhut wird morgen dennoch nochmal eine Zusammenfassung der EVU- Summen, Tageslog- Summe Bezug sowie csv liefern.
VG
Re: Einbindung vom SolaX Wechselrichter
Vorweg ein Screenshot vom Laden nach einspielen der aktuellen Nightly.
Nach einem schönen Sonnenaufgang, hat diese sogar etwas beigesteuert
PV & Speicher sind nun i.O.
EVU Tagessumme fehlt noch, bzw. steht nur auf 0,01kWh, obwohl 8,1 kWh geladen wurden.
Die Tagesdaten kommen später
Nach einem schönen Sonnenaufgang, hat diese sogar etwas beigesteuert
PV & Speicher sind nun i.O.
EVU Tagessumme fehlt noch, bzw. steht nur auf 0,01kWh, obwohl 8,1 kWh geladen wurden.
Die Tagesdaten kommen später
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
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
Re: Einbindung vom SolaX Wechselrichter
Ja, installierte Version ist: 1.9.255 (2022-02-10 07:49:31 +0100 [6ba478ee] )
Wie kann ich helfen?
Wie kann ich helfen?
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
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
Re: Einbindung vom SolaX Wechselrichter
Keine Rede. Mach ich.
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
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
Re: Einbindung vom SolaX Wechselrichter
So, nun denke ich, dass das SolaX-Modul für 3-phasige Wechselrichter mit Batterie zu gebrauchen ist.
Kleinigkeiten werden sicher noch gefunden werden aber alles in Allem können die Daten und Diagramme gut genutzt werden.
Zur abschließenden Kontrolle hier noch einmal ein paar Screenshots, vielleicht sieht der eine oder andere noch ein paar Ungereimtheiten.....
PS: vielen Dank an alle, die sich intensiv mit meinem Problem auseinandergesetzt haben und es so schnell zu einem tollen Ergebnis gebracht haben.
HSC erinnert mich gerade, dass es genau 3 Monate her ist, dass ich damit ins Forum gegangen bin.
Ich bleib weiter dran, werde jetzt aber erst mal das System nutzen.
Kleinigkeiten werden sicher noch gefunden werden aber alles in Allem können die Daten und Diagramme gut genutzt werden.
Zur abschließenden Kontrolle hier noch einmal ein paar Screenshots, vielleicht sieht der eine oder andere noch ein paar Ungereimtheiten.....
PS: vielen Dank an alle, die sich intensiv mit meinem Problem auseinandergesetzt haben und es so schnell zu einem tollen Ergebnis gebracht haben.
HSC erinnert mich gerade, dass es genau 3 Monate her ist, dass ich damit ins Forum gegangen bin.
Ich bleib weiter dran, werde jetzt aber erst mal das System nutzen.
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
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
Re: Einbindung vom SolaX Wechselrichter
Das ist der letzte Stand, der bei mir seit Dezember funktioniert:LutzB hat geschrieben: ↑Do Jan 27, 2022 8:37 am Wenn die Beschreibung dort viewtopic.php?p=52181#p52181 noch aktuell ist, bitte einen Blick auf den PR #1969 werfen.
https://github.com/snaptec/openWB/pull/1969
Das ist alles ungetestet! Ich bitte um Rückmeldung, ob das so passt.
bezug_solax -> solax.py
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
from pymodbus.factory import ClientDecoder
def unsigned32(result, addr):
low = result.registers[addr]
high = result.registers[addr + 1]
val = low +( high << 16)
return val
def unsigned16 (result, addr):
return result.registers[addr]
def signed16(result, addr):
val = result.registers[addr]
if val > 32767:
val -= 65535
return val
def signed32(result, addr):
val = unsigned32(result, addr)
if val > 2147483647:
val -= 4294967295
return val
ipaddress = str(sys.argv[1])
client = ModbusTcpClient(ipaddress, port=502)
resp=client.read_input_registers(0, 114)
value = signed32(resp, 70)
# for SolaX negative means get power from grid
value = -value
f = open('/var/www/html/openWB/ramdisk/wattbezug', 'w')
f.write(str(value))
f.close()
einspeisung = unsigned32(resp, 72) * 10
f = open('/var/www/html/openWB/ramdisk/einspeisungkwh', 'w')
f.write(str(einspeisung))
f.close()
consumed = unsigned32(resp, 74) * 10
f = open('/var/www/html/openWB/ramdisk/bezugkwh', 'w')
f.write(str(consumed))
f.close()
resp=client.read_input_registers(130, 6)
value2 = signed32(resp, 0)
value2 = -value2
f = open('/var/www/html/openWB/ramdisk/bezugw1', 'w')
f.write(str(value2))
f.close()
value3 = signed32(resp, 2)
value3 = -value3
f = open('/var/www/html/openWB/ramdisk/bezugw2', 'w')
f.write(str(value3))
f.close()
value4 = signed32(resp, 4)
value4 = -value4
f = open('/var/www/html/openWB/ramdisk/bezugw3', 'w')
f.write(str(value4))
f.close()
resp=client.read_input_registers(109, 2)
frequenz = unsigned16(resp,0) / 100
f = open('/var/www/html/openWB/ramdisk/evuhz', 'w')
f.write(str(frequenz))
f.close()
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
valuep = signed16(resp, 22)
f = open('/var/www/html/openWB/ramdisk/speicherleistung', 'w')
f.write(str(valuep))
f.close()
# Batterieladezustand
valuesoc = unsigned16(resp, 28 )
f = open('/var/www/html/openWB/ramdisk/speichersoc', 'w')
f.write(str(valuesoc))
f.close()
# Batterie entladen LSB 29 MSB 30
valuei29 = unsigned16(resp, 29)
valuei30 = unsigned16(resp, 30)
f = open('/var/www/html/openWB/ramdisk/speicherekwh', 'w')
f.write(str((valuei29 + (valuei30 * 65536)) * 100 ) )
f.close()
# Batterie geladen LSB 33 MSB 34
valuei33 = unsigned16(resp, 33)
valuei34 = unsigned16(resp, 34)
f = open('/var/www/html/openWB/ramdisk/speicherikwh', 'w')
f.write(str((valuei33 + (valuei34 * 65536)) * 100 ) )
f.close()
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
from pymodbus.factory import ClientDecoder
ipaddress = str(sys.argv[1])
def unsigned32(result, addr):
low = result.registers[addr]
high = result.registers[addr + 1]
val = low +( high << 16)
return val
def unsigned16 (result, addr):
return result.registers[addr]
def signed16(result, addr):
val = addr
if val > 32767:
val -= 65535
return val
client = ModbusTcpClient(ipaddress, port=502)
resp=client.read_input_registers(10, 2)
pv1 = unsigned16(resp, 0)
pv2 = unsigned16(resp, 1)
f = open('/var/www/html/openWB/ramdisk/pvwatt', 'w')
f.write(str( (pv1 + pv2) * -1 ) ) # Erzeugung negativ
f.close()
resp=client.read_input_registers(80, 4)
client.close()
Code: Alles auswählen
if [[ $pvwattmodul == "wr_kostalpiko" ]] || [[ $pvwattmodul == "wr_siemens" ]] || [[ $pvwattmodul == "wr_rct" ]]|| [[ $pvwattmodul == "wr_solarwatt" ]] || [[ $pvwattmodul == "wr_shelly" ]] || [[ $pvwattmodul == "wr_sungrow" ]] || [[ $pvwattmodul == "wr_huawei" ]] || [[ $pvwattmodul == "wr_powerdog" ]] || [[ $pvwattmodul == "wr_lgessv1" ]]|| [[ $pvwattmodul == "wr_kostalpikovar2" ]] || [[ $pvwattmodul == "wr_solax" ]]; then
usesimpv=1
openWB series2 standard+