Hauptversion V 4.5 - Awakening Beast veröffentlicht

Bild

Verehrte Nutzer des Timberwolf Servers. Wir haben die neue Hauptversion 4.5 für alle Modelle des Timberwolf Servers freigegeben.

Diese neue Version enthält insgesamt 24 neue Funktionen, 72 größere Verbesserungen und 28 wichtige Fehlerkorrekturen


Darunter die Timberwolf VISU in modernisiertem Look mit vielen Erweiterungen wie Rollladen-Widget, Detailseiten mit 20 Schaltern / Werten, Tabellen & Logs, verbessertertem Verknüpfungsassistent, Secure KNX im Busmonitor sowie Dekodierung weiterer DPT, komplett überarbeitete Darstellung der phys. Einheiten, einem stark erweitertem Logik Manager mit grafischer Darstellung der Logik Zellen, einer Unterstützung für HTTP-/REST-API als Server, dem Im- und Export von Geräteprofilen im MQTT sowie HTTP-/REST-API Manager und viele weitere Detailverbesserungen inkl. Lizenzmanagement.

Foren Diskussion: viewtopic.php?f=8&t=6050

Release Notes im Wiki: https://elabnet.atlassian.net/wiki/x/AYBLyQ

[DISKUSSION] [V4.5] Entwicklung einer Batterie-Steuerung (work-in-progress)

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

Ersteller
AndererStefan
Beiträge: 355
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 173 Mal
Danksagung erhalten: 219 Mal

#11

Beitrag von AndererStefan »

Ahhh Fehler gefunden, es lag nicht direkt an der Logik. Die Lade/Entlademodi heißen in MQTT bei diesem Gerät Input und Output mode. Wennndie Logik charge und discharge schickt kann das natürlich nicht funktionieren. Die Verwirrung wird perfekt wenn man es in der Visu rihtig gemacht hat.

@StefanW : DANKE, dass man Logik, Visu und alles auch mal eben per Handy von unterwegs machen kann! :bow-yellow:
Es ist zwar fummelig klein und manches geht nur im Quermodus (ihr empfehlt min. ein Tablet, daher alles fein) aber es geht gut.


VG Stefan
Zuletzt geändert von AndererStefan am Di Sep 30, 2025 10:22 am, insgesamt 1-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

pbm
Beiträge: 232
Registriert: Mo Dez 02, 2019 10:20 pm
Wohnort: Hannover
Hat sich bedankt: 152 Mal
Danksagung erhalten: 144 Mal

#12

Beitrag von pbm »

AndererStefan hat geschrieben: Mo Sep 29, 2025 11:22 pm 1) Kann ich mit dem TWS aus der Leistung die Energie integrieren? Gibt es da eine fertige Logik?

schau dir diese Custom-Logik mal an: viewtopic.php?p=60153&hilit=integral#p60153
Schöne Grüße
Peer

TWS 2400 #466 // Wartungs-VPN: aktiv // Reboot: nach Rücksprache

Ersteller
AndererStefan
Beiträge: 355
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 173 Mal
Danksagung erhalten: 219 Mal

#13

Beitrag von AndererStefan »

Moin,

habt ihr eine Idee, wie ich vernüftig in der Logik ein „Notaus“ umsetze?

Mein Ziel ist bei einem Ausfall des Messwerts vom Stromzähler/Smartmeter, das Laden- und Entladen auf 0 zu setzen und gegen „wiedereinschalten“ zu blockieren.

Der häufigste Eintrittsfall wird vermutlich ein Geräteneustart, Strom- oder Netzwerkausfall sein. Ein Freigabe Button in der Visu wäre daher sinnvoll.

Ich habe derzeit einen Watchdog auf Basis eines Monoflops. Es tickt ein Timer runter der mit jedem Trigger durch den Messwert resettet wird. Läuft der Timer ab, wird eine Variable als false gesetzt. Ist die Variable false wird am Ende des Skriptes Lade- und Entladeleistung mit 0 überschrieben.

Mir fehlt noch die „Sicherung gegen wiedereinschalten.“ Kann ich aus der Logik heraus die Logik anhalten wie mit dem pause-Button?

Ich habe auch schon einen Inhibit-Eingang und einem „Break-Block“ am Anfang des Codes. Der Eingang wird über die Visu gesteuert. Wäre es klug aus dem Skript heraus auf den Inhibit-Eingang zu schreiben (Zirkelbezug)?

VG
Stefan
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

Ersteller
AndererStefan
Beiträge: 355
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 173 Mal
Danksagung erhalten: 219 Mal

#14

Beitrag von AndererStefan »

N'abend,

dann beantworte ich mir die Frage mal selber:
Ich nutze eine Statemachine für die Unterscheidung der Betriebsmodi Standby, Laden und Entladen. Nach etwas Überlegen kam ich dann auch darauf, dass es am übersichtlichsten und nachvolziehbarsten wäre, die Statemachine einfach um einen Zustand "Fehler" zu ergänzen.

Ich halte den aktuellen Stand der Logik nun für Fortgeschritten genug, um den hier zu teilen. Die Logik ist von einem LLM entwickelt, aber ich habe (im Rahmen meiner Möglichkeiten) den gesamten Code geprüft, nachvollzogen und getestet. Ich kann aber trotz aller Sorgfalt nicht ausschließen, dass darin noch Fehler enthalten sind. Der Code ist auch über die Zeit gewachsen und daher von der Struktur/Nomenklatur nicht ganz optimal. Da jede größere Änderung auch wieder potenzielle Fehler einbauen kann, habe ich auf größere "Aufräumaktionen" verzichtet.

Funktionsbeschreibung:
Ziel ist die Steuerung einer AC-gekoppelten Batterie (über MQTT) um diese mit PV-Überschuss zu laden und nachts ohne PV-Produktion zu entladen um den Netzbezug zu reduzieren. Ziel war mit einer möglichst einfachen Logik und wenig Aufwand/Invest einen vernüftigen Effekt zu erzielen. Wenn meine Abschätzungen passen, bekomme ich auf diese Weise ca. 270 Zyklen pro Jahr hin, was zu einer Amortisation in 6-7 Jahren führt und dem guten Gefühl, immer etwas Notfallstrom gespeichert zu haben.

Die Steuerung ist grundsätzlich universell gedacht, aber drei Aspekte waren bei der Konzeption maßgeblich:
1.) Die PV-Anlage hat einen im Verhältnis zur Batterie sehr hohe Produktionsleistung und die Batterie ist auf die nächtliche Grundlast dimensioniert.
2.) Der Messwert am Bilanzpunkt (Zähler) misst nur im Minutentakt. Daraus ergibt sich die Implikation immer auf Einspeiseüberschuss und einen Restbezug zu regeln um auf "der sicheren Seite zu liegen" anstelle auf 0-Einspeisung/Bezug.
3.) Niedrige Lade- und Entladeleistungen haben einen schlechten Wirkungsgrad. Bevor die Batterie in den ineffizienzen Bereichen läuft, lieber einspeisen, bzw. Strom beziehen. Wegen 1.) verliere ich dadurch wenig bis nichts.

Die Regelung erfolgt gedämpft: Um hektische Schwankungen und Übersteuern zu reduzieren, wird die Lade-/Entladeleistung bei jedem Ausführungszyklus schrittweise erhöht. Fällt der Überschuss oder der Bedarf jedoch plötzlich weg, wird die Leistung sofort reduziert, um ungewollte Einspeisung oder Netzbezug zu verhindern.

Es gibt 4 Zustände:
  • Laden starten: Nur, wenn genügend PV-Überschuss vorhanden ist, um die minimale Ladeleistung zu erbringen UND gleichzeitig die gewünschte Mindesteinspeisung ins Netz aufrechtzuerhalten.
  • Laden stoppen: Wenn der PV-Überschuss dafür nicht mehr ausreicht ODER der Lade-Stopp SOC erreicht ist. (macht die Batterie selber, aber es sah "doof" aus, wenn die Logik laden will, die Batterie aber auf Standby geht.)
  • Entladen starten: Nur, wenn keine PV-Produktion UND ein signifikanter Netzbezug besteht (mindestens minimale Entladeleistung + minimaler Netzbezug).
  • Entladen stoppen: Wenn der Hausverbrauch zu niedrig wird, die PV-Produktion einsetzt ODER der Entlade-Stopp SOC erreicht ist.
  • Fehler: Falls der Messwert eine gewisse Zeit nicht aktualisiert wird, Laden/Entladen auf 0 W und auf Quittierung des Fehlers warten.

Anforderungsbeschreibung der KI
► Text zeigen
TWS Custom Logic für eine Batterie-Steuerung, KI-basiert erstellt (MetaPrompt_v2.2, PROJEKT-VERSION: 1.4.9)
► Text zeigen
Ich freue mich über Anmerkungen, Ideen und gefundene Fehler ;)

VG
Stefan
Zuletzt geändert von AndererStefan am Mo Okt 06, 2025 9:34 pm, insgesamt 1-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache
Antworten

Zurück zu „Logikengine & Logik-Editor“