SolarEdge-Anbindung funktioniert nur teilweise [gelöst]
SolarEdge-Anbindung funktioniert nur teilweise [gelöst]
Hallo zusammen,
ich möchte voranschicken, daß ich vor diesem Post so ziemlich alle Posts in diesem Forum gelesen habe, die mit SolarEdge zusammenhängen.
Wir betreiben seit etwa einem halben Jahr eine OpenWB Custom, und die funktioniert soweit super.
Jetzt wird unsere SolarEdge-PV fertig, so daß ich natürlich gerne fürs PV-Überschußladen in der Open -WB das Auslesen der Daten aus der SolarEdge-Anlage aktivieren möchte.
Hier kurz die bisherigen Fakten:
SolarEdge-WR ist ein SE10K-RWB48; per LAN im gleichen Netz wie die OpenWB. Modbus TCP ist aktiviert.
IP ist in Open WB korrekt eingestellt; Port in SE ist 1502; auch so in OpenWB eingestellt.
Der SE-Zähler steckt in einem SolarEdge-Backup-Interface, das per Kabel am WR hängt.
Zusätzlich ist eine SE-Batterie verbaut; ebenfalls per Kabel am WR.
SE-seitig funktioniert auch alles bestens; sämtliche Stromflüsse sind in der die SE-App angezeigt.
Vom Solarteur habe ich die Zugangsdaten für die SetApp bekommen; Zugriff klappt auch. Firmware ist up to date.
In der SetApp ist der Zähler an RS485-1 als Multi-Gerät angeschlossen, und hat die Modbus-ID 2 bekommen. Als Zähler-ID habe ich in oWB "1" eingestellt; SE-seitig konnte ich dafür keine Einstellmöglichkeit finden.
Der WR soll ja wohl immer die Modbus-ID 1 haben; das konnte ich nirgends sehen oder einstellen.
Die Batterie sollte demnach an RS485-2 als SE Master mit Modbus-ID 3 hängen.
Das ist alles so auch in OpenWB eingestellt.
Komischerweise werden mir aber in OpenWB nur Daten vom WR und der Batterie angezeigt. Und noch merkwürdiger ist, daß sich diese "Kein Fehler"-Meldungen der beiden Komponenten alle paar Sekunden mit zwei verschiedenen Fehlermeldungen abwechseln. Dementsprechend sieht auch das Diagramm aus.
Hat jemand eine Idee, woran dieses Verhalten liegen kann ? Und warum die Kommunikation mit dem Zähler nicht funktioniert ?
Danke vielmals vorab !
Arnd
ich möchte voranschicken, daß ich vor diesem Post so ziemlich alle Posts in diesem Forum gelesen habe, die mit SolarEdge zusammenhängen.
Wir betreiben seit etwa einem halben Jahr eine OpenWB Custom, und die funktioniert soweit super.
Jetzt wird unsere SolarEdge-PV fertig, so daß ich natürlich gerne fürs PV-Überschußladen in der Open -WB das Auslesen der Daten aus der SolarEdge-Anlage aktivieren möchte.
Hier kurz die bisherigen Fakten:
SolarEdge-WR ist ein SE10K-RWB48; per LAN im gleichen Netz wie die OpenWB. Modbus TCP ist aktiviert.
IP ist in Open WB korrekt eingestellt; Port in SE ist 1502; auch so in OpenWB eingestellt.
Der SE-Zähler steckt in einem SolarEdge-Backup-Interface, das per Kabel am WR hängt.
Zusätzlich ist eine SE-Batterie verbaut; ebenfalls per Kabel am WR.
SE-seitig funktioniert auch alles bestens; sämtliche Stromflüsse sind in der die SE-App angezeigt.
Vom Solarteur habe ich die Zugangsdaten für die SetApp bekommen; Zugriff klappt auch. Firmware ist up to date.
In der SetApp ist der Zähler an RS485-1 als Multi-Gerät angeschlossen, und hat die Modbus-ID 2 bekommen. Als Zähler-ID habe ich in oWB "1" eingestellt; SE-seitig konnte ich dafür keine Einstellmöglichkeit finden.
Der WR soll ja wohl immer die Modbus-ID 1 haben; das konnte ich nirgends sehen oder einstellen.
Die Batterie sollte demnach an RS485-2 als SE Master mit Modbus-ID 3 hängen.
Das ist alles so auch in OpenWB eingestellt.
Komischerweise werden mir aber in OpenWB nur Daten vom WR und der Batterie angezeigt. Und noch merkwürdiger ist, daß sich diese "Kein Fehler"-Meldungen der beiden Komponenten alle paar Sekunden mit zwei verschiedenen Fehlermeldungen abwechseln. Dementsprechend sieht auch das Diagramm aus.
Hat jemand eine Idee, woran dieses Verhalten liegen kann ? Und warum die Kommunikation mit dem Zähler nicht funktioniert ?
Danke vielmals vorab !
Arnd
Zuletzt geändert von PV-Arnd am Sa Mai 25, 2024 8:47 am, insgesamt 1-mal geändert.
Re: SolarEdge-Anbindung funktioniert nur teilweise
Solaredge hat manchmal auch den Port 502. Solaredge stellt die Modbus-Kommunikation nach ein paar Minuten ein, wenn keine Abfrage erfolgt, dann einfach den Wechslerichter aus- und einschalten.
Tesla Model Y, VW E-Up, 2x openWB, Solaredge-PV 15,5 kWp ONO, BYD LVS 32 kWh und 3-phasige Victron Multiplus-II 5000 mit Victron DC-PV 7,2 kWp NNW, Daikin Wärmepumpe.
Re: SolarEdge-Anbindung funktioniert nur teilweise
Ah, das mit dem Logauszug hatte ich überlesen. Sorry.
Ich hoffe, daß ich an alle sonstigen Angabe gedacht habe.
Log poste ich heute abend; bin gerade auf Schicht. Danke erstmal !
Ich hoffe, daß ich an alle sonstigen Angabe gedacht habe.
Log poste ich heute abend; bin gerade auf Schicht. Danke erstmal !
Re: SolarEdge-Anbindung funktioniert nur teilweise
Hallo,
ich habe auch einen SolarEdge-Wechselrichter der via Modbus an die OpenWB angebunden ist.
Bei mir haben der SolarEdge-Wechselrichter und der SolarEdge Zähler beide die Modbus ID 2. Vielleicht magst du das mal ausprobieren? Anbei ein Screenshot davon: Wenn ich beim Wechselrichter die Modbus ID 1 einstelle, erhalte ich die selbe Fehlermeldung wie du: "No Response received form the remote unit/Unable to decode response". Das wirft meine Modbus-Kommunikation dann auch ziemlich durcheinander und ich musste den Wechselrichter am Ende kurz vom Strom trennen. Vielleicht verschwindet durch obige Korrektur ja auch dein sporadischer Kommunikationsfehler?
Ansonsten sei noch der Hinweis wiederholt, dass immer nur ein Gerät auf den Modbus zugreifen kann. Solltest du z.B. noch einen Homeassistant laufen haben, dann brauchst du einen Modbus-Proxy.
ich habe auch einen SolarEdge-Wechselrichter der via Modbus an die OpenWB angebunden ist.
Bei mir haben der SolarEdge-Wechselrichter und der SolarEdge Zähler beide die Modbus ID 2. Vielleicht magst du das mal ausprobieren? Anbei ein Screenshot davon: Wenn ich beim Wechselrichter die Modbus ID 1 einstelle, erhalte ich die selbe Fehlermeldung wie du: "No Response received form the remote unit/Unable to decode response". Das wirft meine Modbus-Kommunikation dann auch ziemlich durcheinander und ich musste den Wechselrichter am Ende kurz vom Strom trennen. Vielleicht verschwindet durch obige Korrektur ja auch dein sporadischer Kommunikationsfehler?
Ansonsten sei noch der Hinweis wiederholt, dass immer nur ein Gerät auf den Modbus zugreifen kann. Solltest du z.B. noch einen Homeassistant laufen haben, dann brauchst du einen Modbus-Proxy.
Re: SolarEdge-Anbindung funktioniert nur teilweise
Nein, kein zweiter Modbus-Zugreifer vorhanden; zumindest nicht soweit ich weiß.
Ich will zwar demnächst noch eine SolarEdge-KNX-Schnittstelle einsetzen, aber das ist Zukunftsmusik, und dann bräuchte ich in der Tat so einen Modbus-Proxy.
Und Danke für die Idee mit den IDs 2 und 2. Hat leider keine Verbessung gebracht. ABER: Ich habe mal Modbus-IDs 1und 1 für Wechselrichter und Zähler ausprobiert, plus den Speicher in der Struktur im Lastmanagement eine Stufe "tiefer" unter den WR verschoben, und jetzt bekomme ich Daten vom Zähler, und zwar scheinbar durchgehend, und zumindest sporadisch auch vom WR. Das dies beim WR mal geht, und dann wieder nicht, wundert mich am Meisten.
Hier ist jetzt der MainLog zum aktuellen Zustand:
Und hier die aktuellen Screenshots:
Ich will zwar demnächst noch eine SolarEdge-KNX-Schnittstelle einsetzen, aber das ist Zukunftsmusik, und dann bräuchte ich in der Tat so einen Modbus-Proxy.
Und Danke für die Idee mit den IDs 2 und 2. Hat leider keine Verbessung gebracht. ABER: Ich habe mal Modbus-IDs 1und 1 für Wechselrichter und Zähler ausprobiert, plus den Speicher in der Struktur im Lastmanagement eine Stufe "tiefer" unter den WR verschoben, und jetzt bekomme ich Daten vom Zähler, und zwar scheinbar durchgehend, und zumindest sporadisch auch vom WR. Das dies beim WR mal geht, und dann wieder nicht, wundert mich am Meisten.
Hier ist jetzt der MainLog zum aktuellen Zustand:
Code: Alles auswählen
2024-05-22 22:02:03,852 - {control.data:266} - {INFO:MainThread} - ev4
EvData(set=Set(soc_error_counter=56), charge_template=2, ev_template=2, name='VW ID Buzz', tag_id=[], get=Get(soc=0, soc_timestamp=1716406617.029669, force_soc_update=False, range=0, fault_state=2, fault_str="<class 'TypeError'> ('cannot unpack non-iterable bool object',)"))
2024-05-22 22:02:03,861 - {control.data:266} - {INFO:MainThread} - ev1
EvData(set=Set(soc_error_counter=0), charge_template=0, ev_template=0, name='Standard-Fahrzeug', tag_id=[], get=Get(soc=None, soc_timestamp=None, force_soc_update=False, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:03,865 - {control.data:266} - {INFO:MainThread} - et0
EvTemplateData(name='Standard-Fahrzeug-Vorlage', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=17000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:03,865 - {control.data:266} - {INFO:MainThread} - et1
EvTemplateData(name='Fahrzeugprofil Hyundai Ioniq 5', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=17000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:03,867 - {control.data:266} - {INFO:MainThread} - et2
EvTemplateData(name='Fahrzeugprofil ID Buzz', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=22000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:03,869 - {control.data:245} - {INFO:MainThread} - general_data
GeneralData(chargemode_config=ChargemodeConfig(instant_charging=InstantCharging(phases_to_use=3), pv_charging=PvCharging(bat_prio=True, charging_power_reserve=200, control_range=[0, 230], feed_in_yield=15000, phase_switch_delay=7, phases_to_use=1, rundown_power=1000, rundown_soc=70, switch_off_delay=60, switch_off_soc=70, switch_off_threshold=50, switch_on_delay=30, switch_on_soc=80, switch_on_threshold=1500), scheduled_charging=ScheduledCharging(phases_to_use=0), time_charging=TimeCharging(phases_to_use=3), unbalanced_load_limit=18, unbalanced_load=False), control_interval=10, extern_display_mode='local', extern=False, external_buttons_hw=False, grid_protection_active=False, grid_protection_configured=True, grid_protection_random_stop=0, grid_protection_timestamp='', mqtt_bridge=False, prices=Prices(bat=0, cp=0, grid=0.00047999999999999996, pv=0), range_unit='km', ripple_control_receiver=RippleControlReceiver(get=RippleControlReceiverGet(fault_state=0, fault_str='Kein Fehler.', override_value=100), module=None, overrice_reference=<OverrideReference.CHARGEPOINT: 'chargepoint'>))
2024-05-22 22:02:03,872 - {control.data:246} - {INFO:MainThread} - general_data-display
local
2024-05-22 22:02:03,873 - {control.data:247} - {INFO:MainThread} - graph_data
GraphData(config=Config(duration=120))
2024-05-22 22:02:03,874 - {control.data:248} - {INFO:MainThread} - optional_data
OptionalData(et=Et(get=EtGet(fault_state=0, fault_str='Kein Fehler.', prices={})), int_display=InternalDisplay(active=True, on_if_plugged_in=True, pin_active=False, pin_code='0000', standby=60, theme=<modules.display_themes.cards.config.CardsDisplayTheme object at 0x6c07dd00>), led=Led(active=False), rfid=Rfid(active=True))
2024-05-22 22:02:03,875 - {control.data:266} - {INFO:MainThread} - pv4
PvData(config=Config(max_ac_out=10000), get=Get(currents=[0.0, 0.0, 0.0], daily_exported=28279.0, monthly_exported=0, yearly_exported=0, exported=1162414.9, fault_state=0, fault_str='Kein Fehler.', power=-1415.1))
2024-05-22 22:02:03,882 - {control.data:250} - {INFO:MainThread} - pv_all_data
PvAllData(config=Config(configured=True), get=Get(daily_exported=28279.0, fault_str='Kein Fehler.', fault_state=0, monthly_exported=0, yearly_exported=0, exported=1162414.9, power=-1415.1))
2024-05-22 22:02:03,883 - {control.data:266} - {INFO:MainThread} - system
{'update_in_progress': False, 'perform_update': False, 'ip_address': '192.168.101.182', 'current_commit': '2024-03-19 06:56:08 +0100 [a6b648645]', 'current_branch': 'Release', 'current_branch_commit': '2024-03-19 06:56:08 +0100 [a6b648645]', 'current_missing_commits': [], 'boot_done': True, 'datastore_version': 38, 'dataprotection_acknowledged': True, 'usage_terms_acknowledged': True, 'debug_level': 10, 'release_train': 'master', 'version': '2.1.3-Patch.1', 'lastlivevaluesJson': {'timestamp': 1716408113, 'time': '22:01:53', 'grid': 0.023, 'house-power': 1.291, 'charging-all': 0.0, 'pv-all': 1.415, 'cp1-power': 0.0, 'ev4-soc': 0, 'bat-all-power': 0.0, 'bat-all-soc': 0}, 'module_update_completed': True}
2024-05-22 22:02:03,884 - {control.data:279} - {INFO:MainThread} - device1
{'name': 'SolarEdgeAnlage', 'type': 'solaredge', 'id': 1, 'configuration': {'port': 1502, 'ip_address': '192.168.101.187'}}
2024-05-22 22:02:03,885 - {control.data:281} - {INFO:MainThread} - component2
{'name': 'SolarEdge Zähler', 'type': 'counter', 'id': 2, 'configuration': {'modbus_id': 1, 'meter_id': 1}}
2024-05-22 22:02:03,885 - {control.data:281} - {INFO:MainThread} - component3
{'name': 'SolarEdge Speicher', 'type': 'bat', 'id': 3, 'configuration': {'modbus_id': 3}}
2024-05-22 22:02:03,887 - {control.data:281} - {INFO:MainThread} - component4
{'name': 'SolarEdge Wechselrichter', 'type': 'inverter', 'id': 4, 'configuration': {'modbus_id': 1}}
2024-05-22 22:02:03,901 - {control.data:253} - {INFO:MainThread} -
2024-05-22 22:02:03,901 - {control.algorithm.algorithm:25} - {INFO:MainThread} - # Algorithmus
2024-05-22 22:02:03,903 - {control.algorithm.algorithm:30} - {INFO:MainThread} - **Mindestrom setzen**
2024-05-22 22:02:03,905 - {control.algorithm.algorithm:32} - {INFO:MainThread} - **Sollstrom setzen**
2024-05-22 22:02:03,908 - {control.counter:236} - {DEBUG:MainThread} - Damit der Speicher hochregeln kann, muss unabhängig vom eingestellten Regelmodus Bezug erzeugt werden.
2024-05-22 22:02:03,909 - {control.counter:217} - {INFO:MainThread} - Überschuss zur PV-geführten Ladung: -123.0W
2024-05-22 22:02:03,910 - {control.counter:484} - {DEBUG:MainThread} - Zähler 2: Begrenzung der verbleibenden Leistung auf -123.0W
2024-05-22 22:02:03,918 - {control.algorithm.algorithm:43} - {INFO:MainThread} - **Keine Leistung für PV-geführtes Laden übrig.**
2024-05-22 22:02:03,919 - {control.process:23} - {INFO:MainThread} - # Ladung starten.
2024-05-22 22:02:03,933 - {modules.common.component_context:25} - {DEBUG:set current cp1} - Update Komponente ['Ladepunkt']
2024-05-22 22:02:03,978 - {control.counter:193} - {INFO:MainThread} - 0W reservierte EVU-Leistung, 0W freigegebene EVU-Leistung
2024-05-22 22:02:04,576 - {modules.common.fault_state:49} - {ERROR:device1} - SolarEdge Wechselrichter: FaultState FaultStateLevel.ERROR, FaultStr <class 'Exception'> ("modules.common.modbus <class 'Exception'> modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer",), Traceback:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 91, in __read_registers
raise Exception(__name__+" "+str(response))
Exception: modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/devices/solaredge/device.py", line 129, in update
self.components[component].update()
File "/var/www/html/openWB/packages/modules/devices/solaredge/inverter.py", line 35, in update
self.store.set(self.read_state())
File "/var/www/html/openWB/packages/modules/devices/solaredge/inverter.py", line 40, in read_state
power = self._read_scaled_int16(40083, 1)[0] * -1
File "/var/www/html/openWB/packages/modules/devices/solaredge/scale.py", line 24, in scaled_reader
client.read_holding_registers(address, [type] * count + [ModbusDataType.INT_16], unit=modbus_id)
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 120, in read_holding_registers
return self.__read_registers(
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 103, in __read_registers
raise Exception(__name__+" "+str(type(e))+" " + str(e)) from e
Exception: modules.common.modbus <class 'Exception'> modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer
2024-05-22 22:02:05,299 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=smarthome_handler, args=(), kwargs={})
2024-05-22 22:02:10,313 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=smarthome_handler, args=(), kwargs={})
2024-05-22 22:02:10,315 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=handler10Sec, args=(), kwargs={})
2024-05-22 22:02:10,316 - {root:75} - {INFO:MainThread} - # ***Start***
2024-05-22 22:02:10,357 - {modules.devices.solaredge.device:123} - {DEBUG:device1} - Start device reading {'component2': <modules.devices.solaredge.counter.SolaredgeCounter object at 0x6c146940>, 'component3': <modules.devices.solaredge.bat.SolaredgeBat object at 0x6c146700>, 'component4': <modules.devices.solaredge.inverter.SolaredgeInverter object at 0x6c1ac448>}
2024-05-22 22:02:10,358 - {modules.common.component_context:25} - {DEBUG:set values cp1} - Update Komponente ['Ladepunkt']
2024-05-22 22:02:10,362 - {modules.common.component_context:25} - {DEBUG:device1} - Update Komponente ['SolarEdge Zähler']
2024-05-22 22:02:13,369 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [125, 177, -129, 77], Scale 0
2024-05-22 22:02:13,401 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [19, 12, 12], Scale -1
2024-05-22 22:02:13,421 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [23609, 23374, 23577, 0, 0, 0, 0], Scale -2
2024-05-22 22:02:13,440 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [4995], Scale -2
2024-05-22 22:02:13,460 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [-3459, 1790, 109], Scale -2
2024-05-22 22:02:13,493 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [1291312, 462410, 483361, 377015, 713429, 219438, 258543, 266922], Scale 0
2024-05-22 22:02:13,494 - {modules.common.store._api:26} - {DEBUG:device1} - Raw data CounterState(currents=[-1.9000000000000001, 1.2000000000000002, -1.2000000000000002], powers=[-177.0, 129.0, -77.0], voltages=[236.09, 233.74, 235.77], power_factors=[-0.34590000000000004, 0.17900000000000002, 0.0109], imported=713429.0, exported=1291312.0, power=-125.0, frequency=49.95)
2024-05-22 22:02:13,498 - {modules.common.component_context:25} - {DEBUG:device1} - Update Komponente ['SolarEdge Speicher']
2024-05-22 22:02:13,695 - {helpermodules.utils._thread_handler:26} - {ERROR:MainThread} - device1 konnte nicht innerhalb des Timeouts die Werte abfragen, die abgefragten Werte werden nicht in der Regelung verwendet.
2024-05-22 22:02:13,696 - {modules.common.utils.component_parser:25} - {ERROR:MainThread} - Keine aktuellen Werte für Gerät 'SolarEdgeAnlage'(1) der Komponente 'SolarEdge Speicher'(3) verfügbar.
2024-05-22 22:02:13,852 - {modules.common.utils.component_parser:25} - {ERROR:MainThread} - Keine aktuellen Werte für Gerät 'SolarEdgeAnlage'(1) der Komponente 'SolarEdge Wechselrichter'(4) verfügbar.
2024-05-22 22:02:13,856 - {modules.common.component_context:25} - {DEBUG:update values cp1} - Update Komponente ['Ladepunkt']
2024-05-22 22:02:13,882 - {modules.common.utils.component_parser:25} - {ERROR:MainThread} - Keine aktuellen Werte für Gerät 'SolarEdgeAnlage'(1) der Komponente 'SolarEdge Zähler'(2) verfügbar.
2024-05-22 22:02:14,015 - {control.counter:145} - {INFO:MainThread} - Verbleibende Ströme an Zähler 2: [18.9, 15.8, 15.8]A
2024-05-22 22:02:14,020 - {control.counter:168} - {INFO:MainThread} - Verbleibende Leistung an Zähler 2: 11977.0W
2024-05-22 22:02:14,031 - {control.chargepoint.chargepoint:83} - {INFO:MainThread} - LP 1: Keine Ladung, da kein Auto angesteckt ist.
2024-05-22 22:02:14,036 - {modules.common.simcount._simcount:38} - {DEBUG:MainThread} - Previous state: SimCounterState(timestamp=1716408123.7826931, power=1291.1, imported=25395.747644842602, exported=0)
2024-05-22 22:02:14,039 - {modules.common.simcount._calculate:11} - {DEBUG:MainThread} - time passed: 0.00284835, power1: 1291.1, power2: 1291.1
2024-05-22 22:02:14,043 - {modules.common.simcount._calculate:27} - {DEBUG:MainThread} - power did not change sign. Total energy: 3.67751
2024-05-22 22:02:14,045 - {modules.common.simcount._simcount:53} - {DEBUG:MainThread} - imported: 3.67751 Wh, exported: 0 Wh, new state: SimCounterState(timestamp=1716408134.0367634, power=1291.1, imported=25399.42515321512, exported=0)
2024-05-22 22:02:14,050 - {control.data:266} - {INFO:MainThread} - bat3
BatData(get=Get(currents=[0.0, 0.0, 0.0], soc=41, daily_exported=2243.0, daily_imported=122.0, imported=122.01, exported=2629.11, fault_state=2, fault_str='<class \'Exception\'> ("modules.common.modbus <class \'Exception\'> modules.common.modbus Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response",)', power=147.0))
2024-05-22 22:02:14,053 - {control.data:236} - {INFO:MainThread} - bat_all_data
BatAllData(config=Config(configured=True), get=Get(soc=0, daily_exported=2254.0, daily_imported=120.0, fault_str='Bitte die Statusmeldungen der Speicher prüfen.', fault_state=2, imported=120.85, exported=2629.11, power=0), set=Set(charging_power_left=0, regulate_up=True, switch_on_soc_reached=False))
2024-05-22 22:02:14,057 - {control.data:237} - {INFO:MainThread} - cp_all_data
AllChargepointData(get=AllGet(daily_imported=0.0, daily_exported=0.0, power=0, imported=1113770.02, exported=0))
2024-05-22 22:02:14,060 - {control.data:266} - {INFO:MainThread} - cp1
ChargepointData(control_parameter=ControlParameter(chargemode='stop', current_plan=None, failed_phase_switches=0, imported_at_plan_start=None, imported_instant_charging=None, limit=None, phases=0, prio=False, required_current=0, required_currents=[0.0, 0.0, 0.0], state=0, submode='stop', timestamp_auto_phase_switch=None, timestamp_perform_phase_switch=None, timestamp_switch_on_off=None), get=Get(charge_state=False, connected_vehicle=ConnectedVehicle(config=ConnectedConfig(average_consumption=17, charge_template=0, chargemode='stop', current_plan=0, ev_template=0, priority=False, time_charging_in_use=False), info=ConnectedInfo(id=0, name='Ladepunkt'), soc=0), currents=[0.0, 0.0, 0.0], daily_imported=0.0, daily_exported=0.0, evse_current=0, exported=0, fault_str='Kein Fehler.', fault_state=0, imported=1113770.02, phases_in_use=0, plug_state=False, power=0, rfid_timestamp=None, rfid=None, soc=None, soc_timestamp=None, state_str='Keine Ladung, da kein Auto angesteckt ist.', vehicle_id=None, voltages=[233.18, 235.98, 235.59]), set=Set(change_ev_permitted=[True, ''], charging_ev=-1, charging_ev_prev=-1, current=0, energy_to_charge=0, loadmanagement_available=True, log=Log(chargemode_log_entry='_', costs=0, imported_at_mode_switch=0, imported_at_plugtime=0, imported_since_mode_switch=0, imported_since_plugged=0, range_charged=0, time_charged='00:00', timestamp_start_charging=None, ev=-1, prio=False, rfid=None), manual_lock=True, phases_to_use=3, plug_state_prev=False, plug_time=None, required_power=0, rfid=None, target_current=0, charging_ev_data=<control.ev.Ev object at 0x6c1a3130>), config=Config(configuration={'mode': 'series', 'ip_address': 'localhost', 'duo_num': 0}, ev=3, name='Open WB custom Garagenzufahrt', type='internal_openwb', template=0, connected_phases=3, phase_1=1, auto_phase_switch_hw=1, control_pilot_interruption_hw=1, id=1))
2024-05-22 22:02:14,061 - {control.data:266} - {INFO:MainThread} - cpt0
CpTemplateData(autolock=Autolock(active=False, plans={}, wait_for_charging_end=False), id=0, max_current_multi_phases=16, max_current_single_phase=16, name='Standard Ladepunkt-Vorlage', rfid_enabling=True, valid_tags=['0002039300', '0009539314'])
2024-05-22 22:02:14,069 - {control.data:266} - {INFO:MainThread} - counter2
CounterData(config=Config(max_currents=[17, 17, 17], max_total_power=12000), get=Get(powers=[-70.0, 68.0, 25.0], currents=[-1.9, 1.2, 1.2], voltages=[236.27, 234.16, 236.01], power_factors=[-0.14, 0.1, 0.06], unbalanced_load=0, frequency=49.97, daily_exported=0.0, daily_imported=0.0, imported=713428.0, exported=1291311.0, fault_state=0, fault_str='Kein Fehler.', power=23.0), set=Set(error_counter=0, reserved_surplus=0, released_surplus=0, raw_power_left=11977.0, raw_currents_left=[18.9, 15.8, 15.8], surplus_power_left=0, state_str=''))
2024-05-22 22:02:14,071 - {control.data:241} - {INFO:MainThread} - counter_all_data
CounterAllData(config=Config(reserve_for_not_charging=False), get=Get(hierarchy=[{'id': 2, 'type': 'counter', 'children': [{'id': 1, 'type': 'cp', 'children': []}, {'id': 4, 'type': 'inverter', 'children': [{'id': 3, 'type': 'bat', 'children': []}]}]}]), set=Set(loadmanagement_active=False, home_consumption=1291.1, invalid_home_consumption=0, daily_yield_home_consumption=24726.0, imported_home_consumption=25399.42515321512, disengageable_smarthome_power=0))
2024-05-22 22:02:14,081 - {control.data:266} - {INFO:MainThread} - ct0
ChargeTemplateData(name='Standard-Ladeprofil-Vorlage', disable_after_unplug=False, prio=False, load_default=False, et=Et(active=False, max_price=0.0002), time_charging=TimeCharging(active=False, plans={'0': TimeChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), time=['06:00', '07:00'], name='Zeitladen-Standard', current=16, limit=Limit(selected='none', amount=1000, soc=50))}), chargemode=Chargemode(selected='instant_charging', pv_charging=PvCharging(min_soc_current=10, min_current=0, feed_in_limit=False, min_soc=0, max_soc=100), scheduled_charging=ScheduledCharging(plans={'0': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00')}), instant_charging=InstantCharging(current=10, limit=Limit(selected='none', amount=1000, soc=50))))
2024-05-22 22:02:14,084 - {control.data:266} - {INFO:MainThread} - ct1
ChargeTemplateData(name='Ladeprofil Ioniq 5', disable_after_unplug=True, prio=True, load_default=False, et=Et(active=False, max_price=0.0002), time_charging=TimeCharging(active=False, plans={'1': TimeChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), time=['06:00', '07:00'], name='Zeitladen-Standard', current=16, limit=Limit(selected='none', amount=1000, soc=50)), '2': TimeChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), time=['06:00', '07:00'], name='Zeitladen-Standard', current=16, limit=Limit(selected='none', amount=1000, soc=50))}), chargemode=Chargemode(selected='instant_charging', pv_charging=PvCharging(min_soc_current=10, min_current=6, feed_in_limit=False, min_soc=20, max_soc=101), scheduled_charging=ScheduledCharging(plans={'1': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00')}), instant_charging=InstantCharging(current=16, limit=Limit(selected='none', amount=1000, soc=50))))
2024-05-22 22:02:14,086 - {control.data:266} - {INFO:MainThread} - ct2
ChargeTemplateData(name='Lade-Profil ID Buzz', disable_after_unplug=False, prio=True, load_default=False, et=Et(active=False, max_price=0.0002), time_charging=TimeCharging(active=False, plans={}), chargemode=Chargemode(selected='instant_charging', pv_charging=PvCharging(min_soc_current=6, min_current=6, feed_in_limit=False, min_soc=20, max_soc=101), scheduled_charging=ScheduledCharging(plans={'2': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00'), '3': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00')}), instant_charging=InstantCharging(current=16, limit=Limit(selected='none', amount=1000, soc=80))))
2024-05-22 22:02:14,088 - {control.data:266} - {INFO:MainThread} - ev0
EvData(set=Set(soc_error_counter=0), charge_template=0, ev_template=0, name='Standard-Fahrzeug', tag_id=[], get=Get(soc=None, soc_timestamp=None, force_soc_update=True, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:14,088 - {control.data:266} - {INFO:MainThread} - ev3
EvData(set=Set(soc_error_counter=0), charge_template=1, ev_template=1, name='Hyundai Ioniq 5', tag_id=['0002039300', '0009539314'], get=Get(soc=None, soc_timestamp=None, force_soc_update=True, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:14,090 - {control.data:266} - {INFO:MainThread} - ev4
EvData(set=Set(soc_error_counter=56), charge_template=2, ev_template=2, name='VW ID Buzz', tag_id=[], get=Get(soc=0, soc_timestamp=1716406617.029669, force_soc_update=False, range=0, fault_state=2, fault_str="<class 'TypeError'> ('cannot unpack non-iterable bool object',)"))
2024-05-22 22:02:14,091 - {control.data:266} - {INFO:MainThread} - ev1
EvData(set=Set(soc_error_counter=0), charge_template=0, ev_template=0, name='Standard-Fahrzeug', tag_id=[], get=Get(soc=None, soc_timestamp=None, force_soc_update=False, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:14,092 - {control.data:266} - {INFO:MainThread} - et0
EvTemplateData(name='Standard-Fahrzeug-Vorlage', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=17000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:14,094 - {control.data:266} - {INFO:MainThread} - et1
EvTemplateData(name='Fahrzeugprofil Hyundai Ioniq 5', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=17000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:14,095 - {control.data:266} - {INFO:MainThread} - et2
EvTemplateData(name='Fahrzeugprofil ID Buzz', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=22000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:14,096 - {control.data:245} - {INFO:MainThread} - general_data
GeneralData(chargemode_config=ChargemodeConfig(instant_charging=InstantCharging(phases_to_use=3), pv_charging=PvCharging(bat_prio=True, charging_power_reserve=200, control_range=[0, 230], feed_in_yield=15000, phase_switch_delay=7, phases_to_use=1, rundown_power=1000, rundown_soc=70, switch_off_delay=60, switch_off_soc=70, switch_off_threshold=50, switch_on_delay=30, switch_on_soc=80, switch_on_threshold=1500), scheduled_charging=ScheduledCharging(phases_to_use=0), time_charging=TimeCharging(phases_to_use=3), unbalanced_load_limit=18, unbalanced_load=False), control_interval=10, extern_display_mode='local', extern=False, external_buttons_hw=False, grid_protection_active=False, grid_protection_configured=True, grid_protection_random_stop=0, grid_protection_timestamp='', mqtt_bridge=False, prices=Prices(bat=0, cp=0, grid=0.00047999999999999996, pv=0), range_unit='km', ripple_control_receiver=RippleControlReceiver(get=RippleControlReceiverGet(fault_state=0, fault_str='Kein Fehler.', override_value=100), module=None, overrice_reference=<OverrideReference.CHARGEPOINT: 'chargepoint'>))
2024-05-22 22:02:14,099 - {control.data:246} - {INFO:MainThread} - general_data-display
local
2024-05-22 22:02:14,099 - {control.data:247} - {INFO:MainThread} - graph_data
GraphData(config=Config(duration=120))
2024-05-22 22:02:14,100 - {control.data:248} - {INFO:MainThread} - optional_data
OptionalData(et=Et(get=EtGet(fault_state=0, fault_str='Kein Fehler.', prices={})), int_display=InternalDisplay(active=True, on_if_plugged_in=True, pin_active=False, pin_code='0000', standby=60, theme=<modules.display_themes.cards.config.CardsDisplayTheme object at 0x6c1671a8>), led=Led(active=False), rfid=Rfid(active=True))
2024-05-22 22:02:14,100 - {control.data:266} - {INFO:MainThread} - pv4
PvData(config=Config(max_ac_out=10000), get=Get(currents=[0.0, 0.0, 0.0], daily_exported=28279.0, monthly_exported=0, yearly_exported=0, exported=1162414.9, fault_state=2, fault_str='<class \'Exception\'> ("modules.common.modbus <class \'Exception\'> modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer",)', power=-1415.1))
2024-05-22 22:02:14,101 - {control.data:250} - {INFO:MainThread} - pv_all_data
PvAllData(config=Config(configured=True), get=Get(daily_exported=28279.0, fault_str='Bitte die Statusmeldungen der Wechselrichter prüfen.', fault_state=2, monthly_exported=0, yearly_exported=0, exported=1162414.9, power=0))
2024-05-22 22:02:14,101 - {control.data:266} - {INFO:MainThread} - system
{'update_in_progress': False, 'perform_update': False, 'ip_address': '192.168.101.182', 'current_commit': '2024-03-19 06:56:08 +0100 [a6b648645]', 'current_branch': 'Release', 'current_branch_commit': '2024-03-19 06:56:08 +0100 [a6b648645]', 'current_missing_commits': [], 'boot_done': True, 'datastore_version': 38, 'dataprotection_acknowledged': True, 'usage_terms_acknowledged': True, 'debug_level': 10, 'release_train': 'master', 'version': '2.1.3-Patch.1', 'lastlivevaluesJson': {'timestamp': 1716408123, 'time': '22:02:03', 'grid': 0.023, 'house-power': 1.291, 'charging-all': 0.0, 'pv-all': 1.415, 'cp1-power': 0.0, 'ev4-soc': 0, 'bat-all-power': 0.0, 'bat-all-soc': 0}, 'module_update_completed': True}
2024-05-22 22:02:14,102 - {control.data:279} - {INFO:MainThread} - device1
{'name': 'SolarEdgeAnlage', 'type': 'solaredge', 'id': 1, 'configuration': {'port': 1502, 'ip_address': '192.168.101.187'}}
2024-05-22 22:02:14,102 - {control.data:281} - {INFO:MainThread} - component2
{'name': 'SolarEdge Zähler', 'type': 'counter', 'id': 2, 'configuration': {'modbus_id': 1, 'meter_id': 1}}
2024-05-22 22:02:14,102 - {control.data:281} - {INFO:MainThread} - component3
{'name': 'SolarEdge Speicher', 'type': 'bat', 'id': 3, 'configuration': {'modbus_id': 3}}
2024-05-22 22:02:14,103 - {control.data:281} - {INFO:MainThread} - component4
{'name': 'SolarEdge Wechselrichter', 'type': 'inverter', 'id': 4, 'configuration': {'modbus_id': 1}}
2024-05-22 22:02:14,103 - {control.data:253} - {INFO:MainThread} -
2024-05-22 22:02:14,103 - {control.algorithm.algorithm:25} - {INFO:MainThread} - # Algorithmus
2024-05-22 22:02:14,104 - {control.algorithm.algorithm:30} - {INFO:MainThread} - **Mindestrom setzen**
2024-05-22 22:02:14,106 - {control.algorithm.algorithm:32} - {INFO:MainThread} - **Sollstrom setzen**
2024-05-22 22:02:14,108 - {control.counter:236} - {DEBUG:MainThread} - Damit der Speicher hochregeln kann, muss unabhängig vom eingestellten Regelmodus Bezug erzeugt werden.
2024-05-22 22:02:14,108 - {control.counter:217} - {INFO:MainThread} - Überschuss zur PV-geführten Ladung: -123.0W
2024-05-22 22:02:14,112 - {control.counter:484} - {DEBUG:MainThread} - Zähler 2: Begrenzung der verbleibenden Leistung auf -123.0W
2024-05-22 22:02:14,114 - {control.algorithm.algorithm:43} - {INFO:MainThread} - **Keine Leistung für PV-geführtes Laden übrig.**
2024-05-22 22:02:14,116 - {control.process:23} - {INFO:MainThread} - # Ladung starten.
2024-05-22 22:02:14,125 - {modules.common.component_context:25} - {DEBUG:set current cp1} - Update Komponente ['Ladepunkt']
2024-05-22 22:02:14,155 - {control.counter:193} - {INFO:MainThread} - 0W reservierte EVU-Leistung, 0W freigegebene EVU-Leistung
2024-05-22 22:02:15,403 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=smarthome_handler, args=(), kwargs={})
2024-05-22 22:02:16,508 - {modules.common.fault_state:49} - {ERROR:device1} - SolarEdge Speicher: FaultState FaultStateLevel.ERROR, FaultStr <class 'Exception'> ("modules.common.modbus <class 'Exception'> modules.common.modbus Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response",), Traceback:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 91, in __read_registers
raise Exception(__name__+" "+str(response))
Exception: modules.common.modbus Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/devices/solaredge/device.py", line 129, in update
self.components[component].update()
File "/var/www/html/openWB/packages/modules/devices/solaredge/bat.py", line 35, in update
self.store.set(self.read_state())
File "/var/www/html/openWB/packages/modules/devices/solaredge/bat.py", line 38, in read_state
power, soc = self.get_values()
File "/var/www/html/openWB/packages/modules/devices/solaredge/bat.py", line 49, in get_values
soc = self.__tcp_client.read_holding_registers(
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 120, in read_holding_registers
return self.__read_registers(
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 103, in __read_registers
raise Exception(__name__+" "+str(type(e))+" " + str(e)) from e
Exception: modules.common.modbus <class 'Exception'> modules.common.modbus Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
2024-05-22 22:02:16,510 - {modules.common.component_context:25} - {DEBUG:device1} - Update Komponente ['SolarEdge Wechselrichter']
2024-05-22 22:02:17,515 - {modules.common.fault_state:49} - {ERROR:device1} - SolarEdge Wechselrichter: FaultState FaultStateLevel.ERROR, FaultStr <class 'Exception'> ("modules.common.modbus <class 'Exception'> modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer",), Traceback:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 91, in __read_registers
raise Exception(__name__+" "+str(response))
Exception: modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/var/www/html/openWB/packages/modules/devices/solaredge/device.py", line 129, in update
self.components[component].update()
File "/var/www/html/openWB/packages/modules/devices/solaredge/inverter.py", line 35, in update
self.store.set(self.read_state())
File "/var/www/html/openWB/packages/modules/devices/solaredge/inverter.py", line 40, in read_state
power = self._read_scaled_int16(40083, 1)[0] * -1
File "/var/www/html/openWB/packages/modules/devices/solaredge/scale.py", line 24, in scaled_reader
client.read_holding_registers(address, [type] * count + [ModbusDataType.INT_16], unit=modbus_id)
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 120, in read_holding_registers
return self.__read_registers(
File "/var/www/html/openWB/packages/modules/common/modbus.py", line 103, in __read_registers
raise Exception(__name__+" "+str(type(e))+" " + str(e)) from e
Exception: modules.common.modbus <class 'Exception'> modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer
2024-05-22 22:02:20,418 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=smarthome_handler, args=(), kwargs={})
2024-05-22 22:02:20,421 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=handler10Sec, args=(), kwargs={})
2024-05-22 22:02:20,422 - {root:75} - {INFO:MainThread} - # ***Start***
2024-05-22 22:02:20,491 - {modules.devices.solaredge.device:123} - {DEBUG:device1} - Start device reading {'component2': <modules.devices.solaredge.counter.SolaredgeCounter object at 0x6c146940>, 'component3': <modules.devices.solaredge.bat.SolaredgeBat object at 0x6c146700>, 'component4': <modules.devices.solaredge.inverter.SolaredgeInverter object at 0x6c1ac448>}
2024-05-22 22:02:20,493 - {modules.common.component_context:25} - {DEBUG:set values cp1} - Update Komponente ['Ladepunkt']
2024-05-22 22:02:20,496 - {modules.common.component_context:25} - {DEBUG:device1} - Update Komponente ['SolarEdge Zähler']
2024-05-22 22:02:23,501 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [-58, 38, -97, 0], Scale 0
2024-05-22 22:02:23,520 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [20, 14, 12], Scale -1
2024-05-22 22:02:23,549 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [23622, 23349, 23579, 0, 0, 0, 0], Scale -2
2024-05-22 22:02:23,691 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [4995], Scale -2
2024-05-22 22:02:23,731 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [-2939, 5389, -2109], Scale -2
2024-05-22 22:02:23,752 - {modules.devices.solaredge.scale:16} - {DEBUG:device1} - Registers [1291312, 462410, 483361, 377015, 713429, 219438, 258544, 266922], Scale 0
2024-05-22 22:02:23,752 - {modules.common.store._api:26} - {DEBUG:device1} - Raw data CounterState(currents=[-2.0, 1.4000000000000001, 1.2000000000000002], powers=[-38.0, 97.0, -0.0], voltages=[236.22, 233.49, 235.79], power_factors=[-0.2939, 0.5389, -0.2109], imported=713429.0, exported=1291312.0, power=58.0, frequency=49.95)
2024-05-22 22:02:23,754 - {modules.common.component_context:25} - {DEBUG:device1} - Update Komponente ['SolarEdge Speicher']
2024-05-22 22:02:23,827 - {helpermodules.utils._thread_handler:26} - {ERROR:MainThread} - device1 konnte nicht innerhalb des Timeouts die Werte abfragen, die abgefragten Werte werden nicht in der Regelung verwendet.
2024-05-22 22:02:23,828 - {modules.common.utils.component_parser:25} - {ERROR:MainThread} - Keine aktuellen Werte für Gerät 'SolarEdgeAnlage'(1) der Komponente 'SolarEdge Speicher'(3) verfügbar.
2024-05-22 22:02:23,838 - {modules.common.utils.component_parser:25} - {ERROR:MainThread} - Keine aktuellen Werte für Gerät 'SolarEdgeAnlage'(1) der Komponente 'SolarEdge Wechselrichter'(4) verfügbar.
2024-05-22 22:02:23,838 - {modules.common.component_context:25} - {DEBUG:update values cp1} - Update Komponente ['Ladepunkt']
2024-05-22 22:02:23,848 - {modules.common.utils.component_parser:25} - {ERROR:MainThread} - Keine aktuellen Werte für Gerät 'SolarEdgeAnlage'(1) der Komponente 'SolarEdge Zähler'(2) verfügbar.
2024-05-22 22:02:23,973 - {control.counter:145} - {INFO:MainThread} - Verbleibende Ströme an Zähler 2: [18.9, 15.8, 15.8]A
2024-05-22 22:02:23,974 - {control.counter:168} - {INFO:MainThread} - Verbleibende Leistung an Zähler 2: 11977.0W
2024-05-22 22:02:23,996 - {control.chargepoint.chargepoint:83} - {INFO:MainThread} - LP 1: Keine Ladung, da kein Auto angesteckt ist.
2024-05-22 22:02:24,008 - {modules.common.simcount._simcount:38} - {DEBUG:MainThread} - Previous state: SimCounterState(timestamp=1716408134.0367634, power=1291.1, imported=25399.42515321512, exported=0)
2024-05-22 22:02:24,009 - {modules.common.simcount._calculate:11} - {DEBUG:MainThread} - time passed: 0.00276977, power1: 1291.1, power2: 1291.1
2024-05-22 22:02:24,010 - {modules.common.simcount._calculate:27} - {DEBUG:MainThread} - power did not change sign. Total energy: 3.57605
2024-05-22 22:02:24,011 - {modules.common.simcount._simcount:53} - {DEBUG:MainThread} - imported: 3.57605 Wh, exported: 0 Wh, new state: SimCounterState(timestamp=1716408144.0079434, power=1291.1, imported=25403.00120611766, exported=0)
2024-05-22 22:02:24,013 - {control.data:266} - {INFO:MainThread} - bat3
BatData(get=Get(currents=[0.0, 0.0, 0.0], soc=41, daily_exported=2243.0, daily_imported=122.0, imported=122.01, exported=2629.11, fault_state=2, fault_str='<class \'Exception\'> ("modules.common.modbus <class \'Exception\'> modules.common.modbus Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response",)', power=147.0))
2024-05-22 22:02:24,015 - {control.data:236} - {INFO:MainThread} - bat_all_data
BatAllData(config=Config(configured=True), get=Get(soc=0, daily_exported=2254.0, daily_imported=120.0, fault_str='Bitte die Statusmeldungen der Speicher prüfen.', fault_state=2, imported=120.85, exported=2629.11, power=0), set=Set(charging_power_left=0, regulate_up=True, switch_on_soc_reached=False))
2024-05-22 22:02:24,016 - {control.data:237} - {INFO:MainThread} - cp_all_data
AllChargepointData(get=AllGet(daily_imported=0.0, daily_exported=0.0, power=0, imported=1113770.02, exported=0))
2024-05-22 22:02:24,018 - {control.data:266} - {INFO:MainThread} - cp1
ChargepointData(control_parameter=ControlParameter(chargemode='stop', current_plan=None, failed_phase_switches=0, imported_at_plan_start=None, imported_instant_charging=None, limit=None, phases=0, prio=False, required_current=0, required_currents=[0.0, 0.0, 0.0], state=0, submode='stop', timestamp_auto_phase_switch=None, timestamp_perform_phase_switch=None, timestamp_switch_on_off=None), get=Get(charge_state=False, connected_vehicle=ConnectedVehicle(config=ConnectedConfig(average_consumption=17, charge_template=0, chargemode='stop', current_plan=0, ev_template=0, priority=False, time_charging_in_use=False), info=ConnectedInfo(id=0, name='Ladepunkt'), soc=0), currents=[0.0, 0.0, 0.0], daily_imported=0.0, daily_exported=0.0, evse_current=0, exported=0, fault_str='Kein Fehler.', fault_state=0, imported=1113770.02, phases_in_use=0, plug_state=False, power=0, rfid_timestamp=None, rfid=None, soc=None, soc_timestamp=None, state_str='Keine Ladung, da kein Auto angesteckt ist.', vehicle_id=None, voltages=[232.52, 236.43, 235.12]), set=Set(change_ev_permitted=[True, ''], charging_ev=-1, charging_ev_prev=-1, current=0, energy_to_charge=0, loadmanagement_available=True, log=Log(chargemode_log_entry='_', costs=0, imported_at_mode_switch=0, imported_at_plugtime=0, imported_since_mode_switch=0, imported_since_plugged=0, range_charged=0, time_charged='00:00', timestamp_start_charging=None, ev=-1, prio=False, rfid=None), manual_lock=True, phases_to_use=3, plug_state_prev=False, plug_time=None, required_power=0, rfid=None, target_current=0, charging_ev_data=<control.ev.Ev object at 0x6c19b988>), config=Config(configuration={'mode': 'series', 'ip_address': 'localhost', 'duo_num': 0}, ev=3, name='Open WB custom Garagenzufahrt', type='internal_openwb', template=0, connected_phases=3, phase_1=1, auto_phase_switch_hw=1, control_pilot_interruption_hw=1, id=1))
2024-05-22 22:02:24,020 - {control.data:266} - {INFO:MainThread} - cpt0
CpTemplateData(autolock=Autolock(active=False, plans={}, wait_for_charging_end=False), id=0, max_current_multi_phases=16, max_current_single_phase=16, name='Standard Ladepunkt-Vorlage', rfid_enabling=True, valid_tags=['0002039300', '0009539314'])
2024-05-22 22:02:24,022 - {control.data:266} - {INFO:MainThread} - counter2
CounterData(config=Config(max_currents=[17, 17, 17], max_total_power=12000), get=Get(powers=[-70.0, 68.0, 25.0], currents=[-1.9, 1.2, 1.2], voltages=[236.27, 234.16, 236.01], power_factors=[-0.14, 0.1, 0.06], unbalanced_load=0, frequency=49.97, daily_exported=0.0, daily_imported=0.0, imported=713428.0, exported=1291311.0, fault_state=0, fault_str='Kein Fehler.', power=23.0), set=Set(error_counter=0, reserved_surplus=0, released_surplus=0, raw_power_left=11977.0, raw_currents_left=[18.9, 15.8, 15.8], surplus_power_left=0, state_str=''))
2024-05-22 22:02:24,025 - {control.data:241} - {INFO:MainThread} - counter_all_data
CounterAllData(config=Config(reserve_for_not_charging=False), get=Get(hierarchy=[{'id': 2, 'type': 'counter', 'children': [{'id': 1, 'type': 'cp', 'children': []}, {'id': 4, 'type': 'inverter', 'children': [{'id': 3, 'type': 'bat', 'children': []}]}]}]), set=Set(loadmanagement_active=False, home_consumption=1291.1, invalid_home_consumption=0, daily_yield_home_consumption=24726.0, imported_home_consumption=25403.00120611766, disengageable_smarthome_power=0))
2024-05-22 22:02:24,029 - {control.data:266} - {INFO:MainThread} - ct0
ChargeTemplateData(name='Standard-Ladeprofil-Vorlage', disable_after_unplug=False, prio=False, load_default=False, et=Et(active=False, max_price=0.0002), time_charging=TimeCharging(active=False, plans={'0': TimeChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), time=['06:00', '07:00'], name='Zeitladen-Standard', current=16, limit=Limit(selected='none', amount=1000, soc=50))}), chargemode=Chargemode(selected='instant_charging', pv_charging=PvCharging(min_soc_current=10, min_current=0, feed_in_limit=False, min_soc=0, max_soc=100), scheduled_charging=ScheduledCharging(plans={'0': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00')}), instant_charging=InstantCharging(current=10, limit=Limit(selected='none', amount=1000, soc=50))))
2024-05-22 22:02:24,031 - {control.data:266} - {INFO:MainThread} - ct1
ChargeTemplateData(name='Ladeprofil Ioniq 5', disable_after_unplug=True, prio=True, load_default=False, et=Et(active=False, max_price=0.0002), time_charging=TimeCharging(active=False, plans={'1': TimeChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), time=['06:00', '07:00'], name='Zeitladen-Standard', current=16, limit=Limit(selected='none', amount=1000, soc=50)), '2': TimeChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), time=['06:00', '07:00'], name='Zeitladen-Standard', current=16, limit=Limit(selected='none', amount=1000, soc=50))}), chargemode=Chargemode(selected='instant_charging', pv_charging=PvCharging(min_soc_current=10, min_current=6, feed_in_limit=False, min_soc=20, max_soc=101), scheduled_charging=ScheduledCharging(plans={'1': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00')}), instant_charging=InstantCharging(current=16, limit=Limit(selected='none', amount=1000, soc=50))))
2024-05-22 22:02:24,033 - {control.data:266} - {INFO:MainThread} - ct2
ChargeTemplateData(name='Lade-Profil ID Buzz', disable_after_unplug=False, prio=True, load_default=False, et=Et(active=False, max_price=0.0002), time_charging=TimeCharging(active=False, plans={}), chargemode=Chargemode(selected='instant_charging', pv_charging=PvCharging(min_soc_current=6, min_current=6, feed_in_limit=False, min_soc=20, max_soc=101), scheduled_charging=ScheduledCharging(plans={'2': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00'), '3': ScheduledChargingPlan(active=False, frequency=Frequency(selected='daily', once=['2021-11-01', '2021-11-05'], weekly=[False, False, False, False, False, False, False]), current=14, name='Zielladen-Standard', limit=ScheduledLimit(selected='amount', amount=1000, soc_limit=90, soc_scheduled=80), time='07:00')}), instant_charging=InstantCharging(current=16, limit=Limit(selected='none', amount=1000, soc=80))))
2024-05-22 22:02:24,035 - {control.data:266} - {INFO:MainThread} - ev0
EvData(set=Set(soc_error_counter=0), charge_template=0, ev_template=0, name='Standard-Fahrzeug', tag_id=[], get=Get(soc=None, soc_timestamp=None, force_soc_update=True, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:24,037 - {control.data:266} - {INFO:MainThread} - ev3
EvData(set=Set(soc_error_counter=0), charge_template=1, ev_template=1, name='Hyundai Ioniq 5', tag_id=['0002039300', '0009539314'], get=Get(soc=None, soc_timestamp=None, force_soc_update=True, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:24,039 - {control.data:266} - {INFO:MainThread} - ev4
EvData(set=Set(soc_error_counter=56), charge_template=2, ev_template=2, name='VW ID Buzz', tag_id=[], get=Get(soc=0, soc_timestamp=1716406617.029669, force_soc_update=False, range=0, fault_state=2, fault_str="<class 'TypeError'> ('cannot unpack non-iterable bool object',)"))
2024-05-22 22:02:24,040 - {control.data:266} - {INFO:MainThread} - ev1
EvData(set=Set(soc_error_counter=0), charge_template=0, ev_template=0, name='Standard-Fahrzeug', tag_id=[], get=Get(soc=None, soc_timestamp=None, force_soc_update=False, range=None, fault_state=0, fault_str='Kein Fehler.'))
2024-05-22 22:02:24,041 - {control.data:266} - {INFO:MainThread} - et0
EvTemplateData(name='Standard-Fahrzeug-Vorlage', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=17000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:24,042 - {control.data:266} - {INFO:MainThread} - et1
EvTemplateData(name='Fahrzeugprofil Hyundai Ioniq 5', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=17000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:24,046 - {control.data:266} - {INFO:MainThread} - et2
EvTemplateData(name='Fahrzeugprofil ID Buzz', max_current_multi_phases=16, max_phases=3, phase_switch_pause=2, prevent_phase_switch=False, prevent_charge_stop=False, control_pilot_interruption=False, control_pilot_interruption_duration=4, average_consump=22000, min_current=6, max_current_single_phase=16, battery_capacity=77000, efficiency=90, nominal_difference=1, keep_charge_active_duration=40)
2024-05-22 22:02:24,048 - {control.data:245} - {INFO:MainThread} - general_data
GeneralData(chargemode_config=ChargemodeConfig(instant_charging=InstantCharging(phases_to_use=3), pv_charging=PvCharging(bat_prio=True, charging_power_reserve=200, control_range=[0, 230], feed_in_yield=15000, phase_switch_delay=7, phases_to_use=1, rundown_power=1000, rundown_soc=70, switch_off_delay=60, switch_off_soc=70, switch_off_threshold=50, switch_on_delay=30, switch_on_soc=80, switch_on_threshold=1500), scheduled_charging=ScheduledCharging(phases_to_use=0), time_charging=TimeCharging(phases_to_use=3), unbalanced_load_limit=18, unbalanced_load=False), control_interval=10, extern_display_mode='local', extern=False, external_buttons_hw=False, grid_protection_active=False, grid_protection_configured=True, grid_protection_random_stop=0, grid_protection_timestamp='', mqtt_bridge=False, prices=Prices(bat=0, cp=0, grid=0.00047999999999999996, pv=0), range_unit='km', ripple_control_receiver=RippleControlReceiver(get=RippleControlReceiverGet(fault_state=0, fault_str='Kein Fehler.', override_value=100), module=None, overrice_reference=<OverrideReference.CHARGEPOINT: 'chargepoint'>))
2024-05-22 22:02:24,049 - {control.data:246} - {INFO:MainThread} - general_data-display
local
2024-05-22 22:02:24,050 - {control.data:247} - {INFO:MainThread} - graph_data
GraphData(config=Config(duration=120))
2024-05-22 22:02:24,051 - {control.data:248} - {INFO:MainThread} - optional_data
OptionalData(et=Et(get=EtGet(fault_state=0, fault_str='Kein Fehler.', prices={})), int_display=InternalDisplay(active=True, on_if_plugged_in=True, pin_active=False, pin_code='0000', standby=60, theme=<modules.display_themes.cards.config.CardsDisplayTheme object at 0x6c189238>), led=Led(active=False), rfid=Rfid(active=True))
2024-05-22 22:02:24,052 - {control.data:266} - {INFO:MainThread} - pv4
PvData(config=Config(max_ac_out=10000), get=Get(currents=[0.0, 0.0, 0.0], daily_exported=28279.0, monthly_exported=0, yearly_exported=0, exported=1162414.9, fault_state=2, fault_str='<class \'Exception\'> ("modules.common.modbus <class \'Exception\'> modules.common.modbus Modbus Error: [Input/Output] [Errno 104] Connection reset by peer",)', power=-1415.1))
2024-05-22 22:02:24,053 - {control.data:250} - {INFO:MainThread} - pv_all_data
PvAllData(config=Config(configured=True), get=Get(daily_exported=28279.0, fault_str='Bitte die Statusmeldungen der Wechselrichter prüfen.', fault_state=2, monthly_exported=0, yearly_exported=0, exported=1162414.9, power=0))
2024-05-22 22:02:24,053 - {control.data:266} - {INFO:MainThread} - system
{'update_in_progress': False, 'perform_update': False, 'ip_address': '192.168.101.182', 'current_commit': '2024-03-19 06:56:08 +0100 [a6b648645]', 'current_branch': 'Release', 'current_branch_commit': '2024-03-19 06:56:08 +0100 [a6b648645]', 'current_missing_commits': [], 'boot_done': True, 'datastore_version': 38, 'dataprotection_acknowledged': True, 'usage_terms_acknowledged': True, 'debug_level': 10, 'release_train': 'master', 'version': '2.1.3-Patch.1', 'lastlivevaluesJson': {'timestamp': 1716408134, 'time': '22:02:14', 'grid': 0.023, 'house-power': 1.291, 'charging-all': 0.0, 'pv-all': -0.0, 'cp1-power': 0.0, 'ev4-soc': 0, 'bat-all-power': 0.0, 'bat-all-soc': 0}, 'module_update_completed': True}
2024-05-22 22:02:24,055 - {control.data:279} - {INFO:MainThread} - device1
{'name': 'SolarEdgeAnlage', 'type': 'solaredge', 'id': 1, 'configuration': {'port': 1502, 'ip_address': '192.168.101.187'}}
2024-05-22 22:02:24,056 - {control.data:281} - {INFO:MainThread} - component2
{'name': 'SolarEdge Zähler', 'type': 'counter', 'id': 2, 'configuration': {'modbus_id': 1, 'meter_id': 1}}
2024-05-22 22:02:24,057 - {control.data:281} - {INFO:MainThread} - component3
{'name': 'SolarEdge Speicher', 'type': 'bat', 'id': 3, 'configuration': {'modbus_id': 3}}
2024-05-22 22:02:24,058 - {control.data:281} - {INFO:MainThread} - component4
{'name': 'SolarEdge Wechselrichter', 'type': 'inverter', 'id': 4, 'configuration': {'modbus_id': 1}}
2024-05-22 22:02:24,059 - {control.data:253} - {INFO:MainThread} -
Und hier die aktuellen Screenshots:
-
- Beiträge: 7747
- Registriert: Mo Okt 08, 2018 4:51 pm
- Has thanked: 18 times
- Been thanked: 33 times
Re: SolarEdge-Anbindung funktioniert nur teilweise
Bei Kollegen mit SE wird meist
* Modbus-ID (= Geräte-ID im SE) = 1 und
* Meter-ID = 2 verwendet.
Letzlich muss man sein SE-System genau nach den dort eingestellten ID's in openWB "nachkonfigurieren".
Zum Schluss unter Lastmanagement testen, wie der Speicher in Bezug auf den WR angeordnet wird (parallel oder unter dem WR).
* Modbus-ID (= Geräte-ID im SE) = 1 und
* Meter-ID = 2 verwendet.
Letzlich muss man sein SE-System genau nach den dort eingestellten ID's in openWB "nachkonfigurieren".
Zum Schluss unter Lastmanagement testen, wie der Speicher in Bezug auf den WR angeordnet wird (parallel oder unter dem WR).
Re: SolarEdge-Anbindung funktioniert nur teilweise
Hi,
dann fallen mir noch folgende Ideen ein:
dann fallen mir noch folgende Ideen ein:
- Check noch mal mit der SetApp, ob auch wirklich die neuste Firmware auf dem Wechselrichter installiert ist.
- In der OpenWB unter "Einstellungen" -> "Allgemein" kannst du unter Hardware das "Geschwindigkeit Regelintervall" testweise auf langsam setzen. Dann sollten weniger Anfragen über den Modbus an den Wechselrichter gehen.
Re: SolarEdge-Anbindung funktioniert nur teilweise
Bei meiner Solaredge haben beide Komponenten (Zähler und Wechselrichter) die Modbus ID 1, da alles über den WR abgefragt wird. Der Zähler meldet anscheinend seine Daten an den WR und der dann alles an die openWB.
Gruß,
Stefan
Gruß,
Stefan
2x openWB series2 standard+, PV 7,23 kWp mit WR SolarEdge SE8K und EVU SolarEdge A-V-400Y-3MTR-S, BEV Mercedes EQA 350 4MATIC (07/2023)