Acthor mit Fenecon, Speicher wird nicht mehr voll

Integration von Heizstäben
AlexSBK
Beiträge: 55
Registriert: Di Sep 06, 2022 1:50 pm

Re: Acthor mit Fenecon, Speicher wird nicht mehr voll

Beitrag von AlexSBK »

Hier nochmal mit mehr Pv Leistung.
IMG_3475.jpeg
(614.1 KiB) Noch nie heruntergeladen
okaegi
Beiträge: 2443
Registriert: Fr Mär 08, 2019 1:57 pm
Has thanked: 2 times
Been thanked: 33 times

Re: Acthor mit Fenecon, Speicher wird nicht mehr voll

Beitrag von okaegi »

Zusammengefasst ist dafür genau der Parametr maximale Speicherladung in Watt vorgesehen. Ich mach mal eine Möglichkeit, dass dieser von aussen mit mqtt gesetzt werden kann.
Bei Alex müsste dieser im laufe vom Tag je nach Ladezustand der Batterie richtig gesetzt werden.
@alex könntest du mal an einen Testlauf an einem Tag machen, wie der Wert gesetzt sein müsste ?
Gruss Oliver
Entwickler- openWB (ehrenamtlich) / Feedback zu Funktionen immer erwünscht..
Smarthomeprobleme siehe hier (update :!: ): viewtopic.php?f=14&t=5923
AlexSBK
Beiträge: 55
Registriert: Di Sep 06, 2022 1:50 pm

Re: Acthor mit Fenecon, Speicher wird nicht mehr voll

Beitrag von AlexSBK »

Hi,
Aktuell bekomme ich den Speicher voll wenn ich 7000-9000watt einstelle.
Wenn ich fems netzdienliche Beladung aktiviere fängt der Wert seitens fems morgens bei 3000watt an und mittags ist er dann unlimitiert was in meinem Fall bis zu 30kw Beladung bedeutet.

Am coolsten wäre wenn smarthome den Wert vom Fems dynamisch als maximale speicherladung setzen würde.

Wenn fems den Wert „unlimitiert“ ausgibt könnte man z.b. ein Maximalwert setzen, z.b.10kw bis 95 oder 100% soc erreicht ist.
AlexSBK
Beiträge: 55
Registriert: Di Sep 06, 2022 1:50 pm

Re: Acthor mit Fenecon, Speicher wird nicht mehr voll

Beitrag von AlexSBK »

Hallo,
Da die Sonne nun wieder höher steht und viel mer PV Ertrag erzeihlt wird, möchte ich nochmal die besprochene Thema angehen.

Vorhanden:
90 Kwp PV Anlage
42 kWh Speicher - Fenecon Home 30
45kw AC Thor Regelung

Der Speicher wird Netzdienlich beladen! Das heisst in den morgenstunden gibt es eine Ladelimmet von ca. 2KW.
Zum Mittag hin wird deses Limit in mehreren Stufen angehoben auf 6-7 kw.

Ab ca. 14 Uhr wird das Limit dann aufgehoben und der Speicher kann dann mit bis zu 30KW beladen werden.

Das Problem ist das Smarthome den Speicher keine Energie zum Beladen übrig lässt. Es wird von 0-45kw sämtlicher Überschuss in den Heizstab geleitet.

Durch Konfiguration der Parameter "maximale Speicherladung" kann ich zwar Energie zum Laden reservieren allerdings ist dieser Wert nicht dynamisch wie Ladekurve vom Fenecon vorgegeben.

Könnt ihr mir vielelicht weiterhelfen...

Gruß Alex
AlexSBK
Beiträge: 55
Registriert: Di Sep 06, 2022 1:50 pm

Re: Acthor mit Fenecon, Speicher wird nicht mehr voll

Beitrag von AlexSBK »

Hi,
ich habe das Problem und die Thematik nun gelöst in dem ich den Wert im Smarthome dynamisch setze.

Skript:

Code: Alles auswählen

import requests
import paho.mqtt.client as mqtt
import logging

# Logging einrichten
logging.basicConfig(level=logging.INFO)

# OpenEMS-Einstellungen
openems_url = "http://10.10.40.253:8084/rest/channel/ctrlGridOptimizedCharge0/DelayChargeMaximumChargeLimit"
openems_username = "x"  # Hier deinen Benutzernamen eintragen, wenn erforderlich
openems_password = "user"

# MQTT-Einstellungen
mqtt_broker_ip = "localhost"
mqtt_topic = "openWB/set/LegacySmartHome/config/get/maxBatteryPower"

def on_connect(client, userdata, flags, reason, properties=None):
    logging.info(f"Verbunden mit Reason {reason}")

def on_publish(client, userdata, mid, reason_code=None, properties=None):
    if reason_code is not None:
        logging.info(f"Nachricht veröffentlicht mit MID {mid} und Reason Code {reason_code}")
    else:
        logging.info(f"Nachricht veröffentlicht mit MID {mid}")

def get_openems_value():
    try:
        response = requests.get(openems_url, auth=(openems_username, openems_password))
        response.raise_for_status()  # Wirft eine Ausnahme, wenn der Statuscode nicht 200 ist
        data = response.json()
        return data["value"]
    except requests.exceptions.RequestException as e:
        logging.error(f"Fehler beim Abrufen des OpenEMS-Werts: {e}")
        return None

def send_mqtt_value(value):
    try:
        client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)
        client.on_connect = on_connect
        client.on_publish = on_publish
        client.connect(mqtt_broker_ip, 1883)
        client.publish(mqtt_topic, value)
        client.disconnect()
    except Exception as e:
        logging.error(f"Fehler beim Senden des MQTT-Werts: {e}")

# Wert abrufen und senden
value = get_openems_value()
if value is not None:
    logging.info(f"OpenEMS-Wert: {value}")
    send_mqtt_value(value)
else:
    logging.error("Kein Wert von OpenEMS erhalten.")
Antworten