Seite 1 von 3

Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Di Jul 11, 2023 2:35 pm
von mtrebes
Hallo in die Runde,

ich habe beim Versuch, die Standalone 2.0 (Version 2023-07-06 18:28:52 +0200 [db321f5ab]) mit dem Wechselrichter zu verbinden, Probleme.

Bestand:
Wechselrichter RCT-Power Storage 6.0 (8,6 kWp S / O)
Batteriespeicher RCT-Power 7,6 kW
Power-Sensor von RCT-Power

MyPV ACTHOR 9s mit Heizstab 6 kW

Alles (samt sonstiger Smart-Home-Geräte) in Home Assistant (HA) integriert. Das läuft soweit auch alles ohne Probleme. Da nun ein E-Auto (Cupra Born) angeschafft wird, kommt bald eine Wallbox (von OpenWB) dazu.

Integration RCT-Komponenten in HA über https://github.com/weltenwort/home-assi ... ntegration
Integration MyPV in HA über https://github.com/zaubererty/homeassistant-mvpv

Der myPV ACTHOR 9s ist meines Wissens nach über Modbus mit dem WR verbunden und holt sich dort die Überschussdaten.

Bei der Einrichtung der Standalone 2.0 kommt bei den Modulen Zähler, WR und Batterie jeweils die Fehlermeldung:
Modulmeldung:
<class 'AttributeError'> 'NoneType' object has no attribute ‚send'

Zum Testen habe ich schon den ACTHOR von myPV ausgeschalten (somit wohl auch keine Kommunikation zu RCT), was aber keine Veränderung bringt – auch nicht mit Neustart von openWB.

Wo könnte der Fehler liegen?
Möchte natürlich vor der Anschaffung einer WB Testen, ob die Konstellation so funktioniert.

Bin für jeden Rat dankbar.

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Di Jul 11, 2023 8:54 pm
von aiole
mtrebes hat geschrieben: Di Jul 11, 2023 2:35 pm Bei der Einrichtung der Standalone 2.0 kommt bei den Modulen Zähler, WR und Batterie jeweils die Fehlermeldung:
Modulmeldung:
<class 'AttributeError'> 'NoneType' object has no attribute ‚send'
Poste bitte Deine Einstellungen (sind im Debug-log enthalten).
Bist Du beim Einrichten nach den neuen Konfig-Videos https://m.youtube.com/@openwbwallbox9101/videos vorgegangen?

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Mi Jul 12, 2023 1:01 pm
von mtrebes
Nach Werkseinstellungen nun nochmal den Zähler und den Wechselrichter hinzugefügt (lt. Video, das ich zuvor leider nicht kannte)...
Batterie und Ladepunkt noch nicht hinzugefügt.

Hier die Daten vom Debug-Log:

Code: Alles auswählen

# ***Start*** 
2023-07-12 14:36:30,103 - {modules.common.component_context:51} - {DEBUG:device0} - Update Komponenten ['RCT Zähler']
2023-07-12 14:36:30,107 - {modules.common.component_context:51} - {DEBUG:device1} - Update Komponenten ['RCT Wechselrichter']
2023-07-12 14:36:30,154 - {modules.common.fault_state:52} - {ERROR:device1} - RCT Wechselrichter: FaultState FaultStateLevel.ERROR, FaultStr <class 'AttributeError'> 'NoneType' object has no attribute 'send', Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/configurable_device.py", line 36, in __call__
    self.__updater(components_list)
  File "/var/www/html/openWB/packages/modules/devices/rct/device.py", line 31, in update_components
    component.update(rct)
  File "/var/www/html/openWB/packages/modules/devices/rct/inverter.py", line 28, in update
    rct_client.read(my_tab)
  File "/var/www/html/openWB/packages/modules/devices/rct/rct_lib.py", line 496, in read
    self.socket.send(stream)
AttributeError: 'NoneType' object has no attribute 'send'

2023-07-12 14:36:30,160 - {modules.common.fault_state:52} - {ERROR:device0} - RCT Zähler: FaultState FaultStateLevel.ERROR, FaultStr <class 'AttributeError'> 'NoneType' object has no attribute 'send', Traceback: 
Traceback (most recent call last):
  File "/var/www/html/openWB/packages/modules/common/configurable_device.py", line 36, in __call__
    self.__updater(components_list)
  File "/var/www/html/openWB/packages/modules/devices/rct/device.py", line 31, in update_components
    component.update(rct)
  File "/var/www/html/openWB/packages/modules/devices/rct/counter.py", line 36, in update
    rct_client.read(my_tab)
  File "/var/www/html/openWB/packages/modules/devices/rct/rct_lib.py", line 496, in read
    self.socket.send(stream)
AttributeError: 'NoneType' object has no attribute 'send'

2023-07-12 14:36:30,173 - {modules.common.component_context:24} - {DEBUG:component1} - Update Komponente ['RCT Wechselrichter']
2023-07-12 14:36:30,208 - {modules.common.component_context:24} - {DEBUG:component0} - Update Komponente ['RCT Zähler']
2023-07-12 14:36:30,293 - {control.counter:138} - {INFO:MainThread} - Verbleibende Ströme an Zähler 0: [35.0, 35.0, 35.0]A
2023-07-12 14:36:30,294 - {control.counter:161} - {INFO:MainThread} - Verbleibende Leistung an Zähler 0: 50000W
2023-07-12 14:36:30,309 - {control.data:307} - {INFO:MainThread} - bat_all_data
BatAllData(config=Config(configured=False), get=Get(soc=0, daily_exported=0, daily_imported=0, imported=0, exported=0, power=0), set=Set(charging_power_left=0, switch_on_soc_reached=False))
2023-07-12 14:36:30,310 - {control.data:308} - {INFO:MainThread} - cp_all_data
AllChargepointData(get=AllGet(daily_imported=0, daily_exported=0, power=0, imported=0, exported=0))
2023-07-12 14:36:30,310 - {control.data:337} - {INFO:MainThread} - cpt0
CpTemplateData(autolock=Autolock(active=False, plans={}, wait_for_charging_end=False), id=0, max_current_multi_phases=32, max_current_single_phase=32, name='Standard Ladepunkt-Vorlage', rfid_enabling=False, valid_tags=[])
2023-07-12 14:36:30,311 - {control.data:337} - {INFO:MainThread} - counter0
CounterData(config=Config(max_currents=[35, 35, 35], max_total_power=50000), get=Get(powers=[0.0, 0.0, 0.0], currents=[0.0, 0.0, 0.0], voltages=[230.0, 230.0, 230.0], power_factors=[0.0, 0.0, 0.0], unbalanced_load=0, frequency=0, daily_exported=0, daily_imported=0, imported=0, exported=0, fault_state=2, fault_str="<class 'AttributeError'> 'NoneType' object has no attribute 'send'", power=0), set=Set(error_counter=504, reserved_surplus=0, released_surplus=0, raw_power_left=50000, raw_currents_left=[35.0, 35.0, 35.0], surplus_power_left=0, state_str=''))
2023-07-12 14:36:30,311 - {control.data:312} - {INFO:MainThread} - counter_all_data
CounterAllData(config=Config(reserve_for_not_charging=True), get=Get(hierarchy=[{'id': 0, 'type': 'counter', 'children': [{'id': 1, 'type': 'inverter', 'children': []}]}]), set=Set(loadmanagement_active=False, home_consumption=0, invalid_home_consumption=0, daily_yield_home_consumption=0, disengageable_smarthome_power=0))
2023-07-12 14:36:30,312 - {control.data:337} - {INFO:MainThread} - ct0
ChargeTemplateData(name='Standard-Ladeprofil-Vorlage', disable_after_unplug=False, prio=False, load_default=False, time_charging=TimeCharging(active=False, plans={}), chargemode=Chargemode(selected='stop', pv_charging=PvCharging(min_soc_current=10, min_current=0, feed_in_limit=False, min_soc=0, max_soc=100), scheduled_charging=ScheduledCharging(plans={}), instant_charging=InstantCharging(current=10, limit=Limit(selected='none', amount=1000, soc=50))))
2023-07-12 14:36:30,313 - {control.data:337} - {INFO:MainThread} - ev0
EvData(set=Set(ev_template=EvTemplate(data=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=32, battery_capacity=82000, nominal_difference=1, keep_charge_active_duration=40), et_num=0), soc_error_counter=0), control_parameter=ControlParameter(required_current=0, required_currents=[0.0, 0.0, 0.0], phases=0, prio=False, timestamp_switch_on_off=None, timestamp_auto_phase_switch=None, timestamp_perform_phase_switch=None, submode=<Chargemode.STOP: 'stop'>, chargemode=<Chargemode.STOP: 'stop'>, used_amount_instant_charging=0, imported_at_plan_start=0, current_plan=None, state=0), charge_template=0, ev_template=0, name='Standard-Fahrzeug', tag_id=[], get=Get(soc=0, soc_timestamp='', force_soc_update=False, range=0, fault_state=0, fault_str=''))
2023-07-12 14:36:30,316 - {control.data:337} - {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=32, battery_capacity=82000, nominal_difference=1, keep_charge_active_duration=40)
2023-07-12 14:36:30,318 - {control.data:316} - {INFO:MainThread} - general_data
GeneralData(chargemode_config=ChargemodeConfig(instant_charging=InstantCharging(phases_to_use=1), 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=50, switch_off_delay=60, switch_off_soc=40, switch_off_threshold=50, switch_on_delay=30, switch_on_soc=60, switch_on_threshold=1500), scheduled_charging=ScheduledCharging(phases_to_use=0), time_charging=TimeCharging(phases_to_use=1), 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, price_kwh=0.3, range_unit='km', ripple_control_receiver=RippleControlReceiver(configured=False, r1_active=False, r2_active=False))
2023-07-12 14:36:30,322 - {control.data:317} - {INFO:MainThread} - general_data-display
local
2023-07-12 14:36:30,326 - {control.data:318} - {INFO:MainThread} - graph_data
GraphData(config=Config(duration=120))
2023-07-12 14:36:30,331 - {control.data:319} - {INFO:MainThread} - optional_data
OptionalData(et=Et(active=False, config=EtConfig(max_price=0, provider={}), get=EtGet(price=0, price_list=[])), int_display=InternalDisplay(active=False, on_if_plugged_in=True, pin_active=False, pin_code='0000', standby=60, theme=<modules.display_themes.cards.config.CardsDisplayTheme object at 0x7186f5c8>), led=Led(active=False), rfid=Rfid(active=False))
2023-07-12 14:36:30,333 - {control.data:337} - {INFO:MainThread} - pv1
PvData(config=Config(max_ac_out=6000), get=Get(currents=[0.0, 0.0, 0.0], daily_exported=0, monthly_exported=0, yearly_exported=0, exported=0, fault_state=2, fault_str="<class 'AttributeError'> 'NoneType' object has no attribute 'send'", power=0))
2023-07-12 14:36:30,335 - {control.data:321} - {INFO:MainThread} - pv_all_data
PvAllData(config=Config(configured=True), get=Get(daily_exported=0, monthly_exported=0, yearly_exported=0, exported=0, power=0))
2023-07-12 14:36:30,336 - {control.data:337} - {INFO:MainThread} - system
{'update_in_progress': False, 'perform_update': False, 'ip_address': '192.168.178.154', 'current_commit': '2023-07-06 18:28:52 +0200 [db321f5ab]', 'current_branch': 'master', 'current_branch_commit': '2023-07-06 18:28:52 +0200 [db321f5ab]', 'current_missing_commits': [], 'boot_done': True, 'datastore_version': 14, 'dataprotection_acknowledged': True, 'usage_terms_acknowledged': True, 'debug_level': 10, 'module_update_completed': True, 'release_train': 'master', 'version': '2.0.0', 'lastlivevaluesJson': {'timestamp': 1689165380, 'time': '14:36:20', 'house-power': 0.0, 'charging-all': 0.0, 'pv-all': -0.0}}
2023-07-12 14:36:30,337 - {control.data:350} - {INFO:MainThread} - device0
{'name': 'RCT', 'type': 'rct', 'id': 0, 'configuration': {'ip_address': '192.168.178.42'}}
2023-07-12 14:36:30,337 - {control.data:352} - {INFO:MainThread} - component0
{'name': 'RCT Zähler', 'type': 'counter', 'id': 0, 'configuration': {}}
2023-07-12 14:36:30,337 - {control.data:350} - {INFO:MainThread} - device1
{'name': 'RCT', 'type': 'rct', 'id': 1, 'configuration': {'ip_address': '192.168.178.42'}}
2023-07-12 14:36:30,338 - {control.data:352} - {INFO:MainThread} - component1
{'name': 'RCT Wechselrichter', 'type': 'inverter', 'id': 1, 'configuration': {}}
2023-07-12 14:36:30,338 - {control.data:324} - {INFO:MainThread} - 

2023-07-12 14:36:30,338 - {control.algorithm.algorithm:25} - {INFO:MainThread} - # Algorithmus
2023-07-12 14:36:30,339 - {control.algorithm.algorithm:31} - {INFO:MainThread} - **Mindestrom setzen**
2023-07-12 14:36:30,343 - {control.algorithm.algorithm:33} - {INFO:MainThread} - **Sollstrom setzen**
2023-07-12 14:36:30,345 - {control.counter:211} - {INFO:MainThread} - Überschuss zur PV-geführten Ladung: 115.0W
2023-07-12 14:36:30,346 - {control.counter:470} - {DEBUG:MainThread} - Zähler 0: Begrenzung der verbleibenden Leistung auf 115.0W
2023-07-12 14:36:30,347 - {control.algorithm.algorithm:39} - {INFO:MainThread} - **PV-geführten Strom setzen**
2023-07-12 14:36:30,350 - {control.process:23} - {INFO:MainThread} - # Ladung starten.
2023-07-12 14:36:30,357 - {control.counter:186} - {INFO:MainThread} - 0W reservierte EVU-Leistung, 0W freigegebene EVU-Leistung
2023-07-12 14:36:30,559 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=update, args=(), kwargs={})
2023-07-12 14:36:30,627 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=smarthome_handler, args=(), kwargs={})
2023-07-12 14:36:35,655 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=smarthome_handler, args=(), kwargs={})
2023-07-12 14:36:40,670 - {schedule:660} - {DEBUG:MainThread} - Running job Job(interval=1, unit=minutes, do=handler10Sec, args=(), kwargs={})
2023-07-12 14:36:40,671 - {root:64} - {INFO:MainThread} - # ***Start***

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Mi Jul 12, 2023 1:12 pm
von aiole
Gibt es unter "Status" Fehlermeldungen bei EVU und WR?
Läuft das auf RPi4? Der wird offiziell nicht supportet - nur RPi3 und 3+

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Mi Jul 12, 2023 1:23 pm
von mtrebes
Sowohl bei EVU als auch bei WR steht im Status folgende Meldung

Modulmeldung:
<class 'AttributeError'> 'NoneType' object has no attribute 'send'


openWB läuft auf einer Standalone von openWB – müsste ein RPi 3+ sein
Home-Assistant läuft auf einem RPi 4, beide in einem Netzwerk

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Mi Jul 12, 2023 3:00 pm
von aiole
Ah - wegen Deiner Signatur - RPi4 also nur für HA

Genau die Meldung ist das Problem. Muss sich Lena/Lutz mal ansehen.
Unterhalb des GERÄTES hast Du auch die KOMPONENTE(N) angeordnet und immer schön GESPEICHERT?

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Mi Jul 12, 2023 6:08 pm
von mtrebes
Ja Komponenten EVU (RCT-Speicher) und WR (RCT-Wechselrichter) hinzugefügt – mit der entsprechender IP-Adresse.
Gespeichert wurde auch.

Auch nach einem Neustart sind die Einträge noch vorhanden ;)
...der Fehler jedoch auch noch:(

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Do Jul 13, 2023 10:56 am
von mtrebes
Würde es evtl. Sinn machen, mit der Software-Version 1.9 zu testen, ob der RCT-Zähler erkannt wird?
Wenn ja, kann mir jemand zu diesem Zweck ein Image mit der Version 1.9 zur Verfügung stellen?

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Do Jul 13, 2023 5:05 pm
von aiole
Von 1.9 gibt es leider kein frei verfügbares Images. Wegen Einführung SW2 und Urlaubszeit ist gerade Hochbetrieb bei openWB. Also Geduld oder nach der Github-Anleitung snaptec/openwb für 1.9 vorgehen.

Re: Kommunikation RCT-Power zu Open WB 2.0

Verfasst: Mi Aug 02, 2023 9:46 pm
von saschak0791
Ich habe genau das gleiche Problem.
Gibt es hier mittlerweile einen Lösungsansatz?
Der Support konnte mir bisher nicht wirklich helfen.
Mit der Software Version 1.9 lief alles tadellos mit RCT.
Bei 2.0 gibt es bei mir nur Probleme.
Wäre gut wenn es hier eine Lösung gäbe wenn man offiziell die Unterstützung dieser Komponenten anbietet.