KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Erfahrungsbericht] [V4.5 IP4] Nutzung von KI (LLM) für Dokumentation und Custom-Logiken

User-Geschichten zu erfolgreichen Projekten wie Migrationen vom Wiregate, Eigenbauten, usw.
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

jhaeberle
Reactions:
Beiträge: 208
Registriert: Do Aug 24, 2023 11:07 am
Wohnort: Raum Augsburg
Hat sich bedankt: 86 Mal
Danksagung erhalten: 40 Mal

#71

Beitrag von jhaeberle »

Das ist die Gefahr… das geht so schnell und liefert so umfangreiche Ergebnisse mit KI, ausserdem klingt es soooo gut und professionel, da tendiert man dazu, es nicht genau anzugucken… bei Code merkst du das dann, wenn der nicht läuft, aber hier…???
TWS 3500XL, ID: 1409 (VPN offen, Reboot nach Rücksprache)

eib-eg
Reactions:
Beiträge: 560
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1560 Mal
Danksagung erhalten: 358 Mal

#72

Beitrag von eib-eg »

Werde am Abend mal wider weitermachen
Wenn jemand fertige und funktionierende costemlogik hat und zum AI lernen gerne bereitstellen würde, einfach per pn schicken oder in die WhatsApp oder Telegram Gruppen beitreten
Da ist meine Handynummer zum weiterleiten
Die AI hat auch geschrieben das sie zum Vergleich funktionierende Codes bräuchte um ihre eigene Fehler zu vermeiden.

So
Weitermachen mit Arbeit.
TW 2600_99 seit 1.1.2018 / VPN zu

eib-eg
Reactions:
Beiträge: 560
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1560 Mal
Danksagung erhalten: 358 Mal

#73

Beitrag von eib-eg »

Update: Timberwolf Custom Logic Referenz V4.2 - Negation, Trigger, KB-Limits & mehr geklärt!)

Hallo liebe Timberwolf Community,

hier ist ein Update zu unserer umfassenden Custom Logic Referenzdatei, die ursprünglich hier vorgestellt wurde: [Link zum V4.1 Beitrag: viewtopic.php?p=62155#p62155]

Gemeinsam mit der Community (insbesondere durch intensives Testen und Feedback von eib-eg / Georg) und dem Studium der Knowledge Base (großer Dank an die Autoren @Robert_Mini , @S. Kolbinger , @Robosoc ) sowie der Analyse von Beispiellogiken (Danke an @Dragonos2000 ) haben wir die Referenzdatei weiterentwickelt und viele wichtige Details geklärt. Das Ergebnis ist die Version V4.2.

Die Reise zu V4.2 – Was wir gelernt haben:

Der Weg von V4.1 zu V4.2 war sehr lehrreich! Wir sind auf einige Fallstricke gestoßen und konnten wichtige Punkte klären, die oft zu Fehlern oder unerwartetem Verhalten führen können:

1. Die Negation (Logisches NICHT): DAS GROSSE LERN-HIGHLIGHT!

Unsere V4.1 verwendete einen Workaround (Comparator vs $KonstFalse), da wir Probleme mit anderen Methoden hatten.

Nach wertvollem Feedback aus Richtung Entwicklung und gezielten neuen Tests konnten wir die Verwirrung auflösen:

JA, das Minuszeichen (-) funktioniert für die logische Negation! Aber nur im richtigen Kontext: Direkt vor einer booleschen Variable innerhalb der Input-Liste [...] von Logikmodulen wie And, Or etc. (Beispiel: [ "And", ["-$InputBool"] ... ]).

Für die robuste Prüfung "Ist ein Wert (bool/float) FALSCH?" (also numerisch 0) ist weiterhin der Comparator (Mode 0) gegen die Konstante $Konst0_float die beste Methode.

Die V4.2 verwendet jetzt konsequent das - Zeichen für die Negation in Modul-Inputs und erklärt beide Methoden im überarbeiteten Tipp #15.

2. ASTRO_local braucht einen Trigger: Ein wichtiger Praxistipp aus der KB: Das Standard-Astro-Modul muss extern getriggert werden (z.B. jede Minute), sonst liefert es keine aktuellen Werte (siehe Tipp #18).

3. Trigger-Option u (Update only): Die KB hat bestätigt, wie essenziell diese Option ist, um Mehrfachausführungen oder Fehler durch Zwischenzustände zu vermeiden, wenn Objekte mehrfach verwendet werden (siehe Tipp #19).

4. KB-Einschränkungen zu I/O-Variablen: Es gibt zwei wichtige Regeln aus der KB, die wir nun aufgenommen haben, um Probleme zu vermeiden (Tipp #20 und #21):

Keine Variable darf gleichzeitig Input und Output sein.

Namen von I/O-Variablen dürfen nicht Teil voneinander sein (z.B. $Input und $Input2 ist verboten).

5. Klarheit bei Modul-Details & Implementierung:

Nicht alle UI-Module sind Custom-Module: Wir mussten feststellen, dass einige Logikzellen, die man im UI auswählen kann (wie RS-FlipFlop oder Addition), im Custom Logic JSON nicht direkt mit diesem Namen funktionieren. Sie müssen mit Basismodulen nachgebaut werden. V4.2 enthält nun funktionierende Nachbauten für diese Beispiele (siehe Tipp #3, #25).

Stringcompare-Parameter: Es hat sich bestätigt, dass der Modus-Parameter (z.B. "E", "I") für Stringcompare als Variable aus dem Level-Block übergeben werden muss, nicht als direktes String-Literal im Modulaufruf (siehe Tipp #24 und Beispiel).

Monoflop: Die 8 verschiedenen Modi sind jetzt im Tipp #22 genauer beschrieben.

Regex: Liefert den gesamten Match ($Match) und bis zu 5 Capture Groups ($MatchGroup1-$MatchGroup5) - Beispiel angepasst (Tipp #23).

Was ist neu in der V4.2 Datei?

Alle oben genannten Erkenntnisse sind in die Tipps & Häufige Fehler eingeflossen.

Die Beispiele für Astro, Monoflop, Regex, Stringcompare wurden präzisiert/korrigiert.

Funktionierende Nachbauten für RS-FlipFlop (mit Persistenz) und Addition (mit Polynomial) wurden hinzugefügt.

Ein Bool -> Text-Nachbau mit Multiplexer wurde hinzugefügt.

Das Pattern "Zeitlich begrenzte Ausgabe" wurde als Beispiel ergänzt.

Die Nennung der Kollaborateure und das Datum wurden aktualisiert.

Der Code wurde erfolgreich im TWS V4.1.1 gespeichert.

Ziel:

Diese Referenzdatei soll weiterhin als Nachschlagewerk für die Syntax und als verbesserter Kontext für AI-Assistenten dienen, um euch (und die AI) noch besser bei der Erstellung von Custom Logics unterstützen zu können.

Der Code für V4.2:
Timberwolf Custom Logic - Umfassender Referenzcodeblock (V4.2).txt

{
// ==========================================================================
// Timberwolf Custom Logic - Umfassender Referenzcodeblock (V4.2 - 2025-05-05)
// ==========================================================================
// Zweck: Demonstriert Syntax und Verwendung einer breiten Palette von Modulen.
// Soll als erweiterte Referenz für AI-Assistenten und Benutzer dienen.
// Fokus: Darstellung der Vielfalt, korrekte Syntax, häufige Fehler, wichtige Muster.
// Basis: V4.1, erweitert um Erkenntnisse aus KB-Artikeln & intensivem Testen.
// Kollaborateure:
// - eib-eg / Georg (Input, Testing & KB Insights!)
// - Robert_Mini (Umfangreiche KB-Artikel)
// - S. Kolbinger (KB-Artikel)
// - Robosoc (KB-Artikel)
// - Dragonos2000 (Beispiel Logikbaustein)
// Inspirationsquelle für SM/Sequencer: Hans Martin (Bewässerungs-Logik im Forum)
// ==========================================================================
// ANLEITUNG:
// - Dieser Code kann als Basis und Nachschlagewerk für eigene Projekte dienen.
// - Er kann einer AI (wie ChatGPT, Claude) als Kontext gegeben werden,
// um bessere Hilfe bei spezifischen TWS Custom Logic Fragen zu erhalten.
// (Siehe Forenbeitrag: viewtopic.php?t=5822 )
// - **WICHTIG:** Die offizielle Knowledge Base (KB) unter app.php/kb/index
// enthält die detailliertesten Beschreibungen der einzelnen Module! Diese Referenz hier
// dient als Ergänzung und zeigt Beispiele im Kontext.
// - Teste Beispiele immer sorgfältig, bevor du sie produktiv einsetzt!
// ==========================================================================
// WICHTIGE TIPPS & HÄUFIGE FEHLER (V4.2 - Aktualisiert & Erweitert):
// --------------------------------------------------------------------------
// 1. KOMMASETZUNG: Fehlerquelle #1!
// a) KEIN Komma nach dem LETZTEN Element in einem Array [...]. (Level, Module, Input, Output)
// b) EIN Komma ZWISCHEN den Hauptblöcken (`Level`], `"Module"`, etc.). Fehler oft erst im nächsten Block!
// c) KEIN Komma nach dem letzten Key-Value-Paar im Hauptobjekt (`}`).
// 2. UNDEFINIERTE VARIABLEN: Jede `$Variable` muss im "Level"-Block definiert sein.
// 3. UNBEKANNTE MODULE: Namen exakt (Groß/Kleinschreibung!). Nicht alle in der UI gelisteten "Logikzellen" sind direkt als Custom-Modul verfügbar (z.B. RS-FlipFlop, Addition müssen nachgebaut werden). Prüfe die tatsächlich funktionierenden Modulnamen.
// 4. DATENTYPEN: Auf korrekte Typen achten (float, integer, bool, string). String braucht Längenangabe (z.B. `,64`).
// 5. LATCH-MODI & TRIGGER: Mode 0 (Pegel) mit `$KonstTrue` als Trigger ist häufig für Persistenz über Zyklen. Mode 1 (Flanke) für Event-basierte Speicherung.
// 6. STATEFUL MODULE & PERSISTENZ: `Latch`, `PID`, `Monoflop`, `Hobbs`, `Ramp`, `Statemachine` etc. speichern Zustände. Sie müssen korrekt initialisiert werden (Default-Werte im Level-Block!).
// 7. `_Alt` SUFFIX PATTERN: Für Persistenz eigener Zustände (Zähler, FF, etc.): Berechne neuen Wert in `$Calc_X_Neu`, schreibe per `Latch` (Mode 0, Trigger `$KonstTrue`) in `$State_X_Alt`. Im nächsten Zyklus steht der alte Wert in `$State_X_Alt` zur Verfügung.
// 8. AUSFÜHRUNGSREIHENFOLGE: Module oben nach unten. Ergebnis nur von Modulen *darüber* nutzbar. Der TWS "Dispatcher" liefert Werte sequenziell an Ziele (siehe Tipp 19).
// 9. PARSER-EMPFINDLICHKEIT: Kommentare an "ungewöhnlichen" Stellen (direkt vor `]`) vermeiden. Im Zweifel sparsam kommentieren.
// 10. `CalcFormula`: Die Formel (z.B. "X1 + X2") MUSS in einer String-Variable im `$Level`-Block stehen! Der Modulaufruf referenziert dann diese Variable.
// 11. `Comparator` PARAMETER: Struktur des Schwellwert-Parameters hängt vom Modus ab!
// - Modi mit *einem* Schwellwert (0-5): Parameter ist die Variable direkt (z.B. `$Schwelle`).
// - Modi mit *zwei* Schwellwerten (Hysterese Mode 6/7): Parameter ist ein Array (z.B. `["$Unten", "$Oben"]`).
// -> Falsche Struktur führt zu "Level index has wrong type" Fehlern! (Siehe auch offizielle Modi 0-7 in der KB).
// 12. `$Error?` VARIABLE: Definiere `["$Error?", "bool", false]` im Level und `["Err","Fehler","$Error?","ce"]` im Output. Der Server setzt `$Error?` auf TRUE, wenn zur Laufzeit ein Fehler auftritt (z.B. Division durch Null). ESSENZIELL fürs Debugging!
// 13. LOGIK PAUSIERT (Gelber Rand): Eine Logik mit gelbem Rand im TWS-Editor ist pausiert und wird NICHT ausgeführt. Aktivieren nicht vergessen (Button unten rechts im Editor)!
// 14. COPY/PASTE FEHLER: Unsichtbare Zeichen oder falsche Zeilenenden können den Parser stören. Code im Zweifel über einfachen Texteditor (Notepad etc.) bereinigen.
// 15. NEGATION (Logisches NICHT - KORRIGIERT!): Es gibt kein `Not`-Modul. Die Methode hängt vom Kontext ab:
// a) **INNERHALB VON MODUL-INPUTS (Empfohlen für Logik):** Verwende das Minuszeichen (`-`) direkt vor der booleschen Variable im Input-Array `[...]` von Logikmodulen (`And`, `Or`, `Xor`, etc.). Dies führt die logische Negation (true <-> false) korrekt durch.
// * **Beispiel:** `[ "And", ["$InputA", "-$InputB"], "$Output" ]` (Negiert `$InputB`)
// b) **ROBUSTE PRÜFUNG "IST FALSCH?" (Für Bool/Float):** Um robust zu prüfen, ob ein Wert (Boolean oder Float) logisch `false` (d.h. numerisch 0) ist, verwende `Comparator` Mode `0` (Gleichheit `==`) gegen die Konstante `$Konst0_float`.
// * **Beispiel:** `[ "Comparator", "$AnyInput", "$IsFalseBool", "$Konst0_float", 0 ]`
// * *(Hinweis: Der frühere Workaround mit `$KonstFalse` ist nicht empfohlen, da er bei Float-Inputs unzuverlässig ist.)*
// 16. `$VAR<Inhibit?>`: Empfohlener Name für den boolschen Input des `Break`-Moduls (oder anderer Steuer-Eingänge). Typ `u` ist hier sinnvoll.
// 17. `Statemachine` Persistenz: Der Zustand der SM muss i.d.R. persistent gespeichert werden (`_Alt` Pattern mit `Latch`).
// 18. `ASTRO_local` TRIGGER: Das Standard-Astro-Modul (`ASTRO_local`), das die Server-Koordinaten nutzt, hat keine sich ändernden Inputs und **benötigt einen externen Trigger** (z.B. Zeitintervall via `Clocksignal` oder `Cron`), damit es regelmäßig neue Werte berechnet und ausgibt!
// 19. TRIGGER-OPTION `u` (Update only): Wenn dasselbe Objekt an mehrere Inputs derselben Logik geht, oder wenn mehrere Logiken vom selben Objekt getriggert werden und deren Ausgänge weiterverarbeitet werden, **MUSS** die Trigger-Option `u` für alle außer dem *letzten* betroffenen Input verwendet werden! Sonst kommt es zu Mehrfachausführungen mit Zwischenzuständen. Siehe KB Artikel zu Triggerverhalten/Dispatcher.
// 20. KEINE I/O-VARIABLEN-WIEDERVERWENDUNG: Eine Variable darf **nicht** gleichzeitig im `"Input"`- *und* im `"Output"`-Block derselben Logik aufgeführt sein. Zum Durchschleifen zwei Variablen + `Latch`/`Multiplexer` verwenden. (KB-Einschränkung)
// 21. KEINE TEILSTRING-NAMEN FÜR I/O-VARIABLEN: Variablennamen im `"Input"`- oder `"Output"`-Block dürfen **nicht Teil voneinander** sein (z.B. `$Input` und `$Input2` ist **verboten**; `$Input1` und `$Input2` ist OK). Dies betrifft nur I/O-Variablen, nicht interne `$Calc_` oder `$State_`. (KB-Einschränkung wg. UI-Handling).
// 22. `Monoflop` MODI (0-7): Beachte die 8 Modi für unterschiedliches Trigger- (Pegel, steigend, fallend, beide Flanken) und Retrigger-Verhalten (retriggerbar/nicht retriggerbar). Siehe Modul-Beispiel unten.
// 23. `Regex` OUTPUTS: Liefert `$HasMatch`, den gesamten `$Match` und bis zu 5 Capture Groups (`$MatchGroup1` bis `$MatchGroup5`).
// 24. `Stringcompare` MODI:** Der Modus (z.B. "E", "e", "S"...) muss als **Variable** übergeben werden, nicht als Literal! Siehe Beispiel und KB. (Mögliche Modi: E=ExactCS, e=ExactCIS, S=StartCS, s=StartCIS, I=IncludesCIS, i=IncludesCS?).
// 25. DEDIZIERTE MODULE NUTZEN (wo möglich): Für Standardaufgaben (z.B. String-Vergleich/-Konvertierung) gibt es oft vorinstallierte Logikzellen im UI, die intern eventuell optimierter sind oder spezielle Module nutzen. Wenn diese nicht als Custom-Modul direkt verfügbar sind (wie `Addition`), baue sie mit Basismodulen nach (`Polynomial`, `Comparator`, `Multiplexer`, etc.).
// ==========================================================================
// ENTHALTENE MODUL-BEISPIELE (V4.2 - Auswahl & Kurzbeschreibung):
// --------------------------------------------------------------------------
// - Logik: And/Or/Xor, **RS-FlipFlop(Nachbau!)**, Comparator(Syntax!), Multiplexer/BinaryMultiplexer
// - Arithmetik: **Addition(Nachbau mit Poly!)**, CalcFormula(Syntax!), Polynomial, Ratio(Null-Schutz!), Limiter, Step
// - Timing: Monoflop(Timer, **Modi erklärt!**), HobbsMeter/Stopwatch, Clocksignal/Cron/Localtime
// - Zustand/Sequenz: Latch(Persistenz), Statemachine, $Error?, Break
// - System/Filter: PID_awu, Lowpass, Ramp
// - String/Typen: **Stringcompare(Modi, Parameter!)**, **KONVERTIERE bool->Text(Nachbau!)**, HEX->INT, Printf (String format), **Regex(Outputs erweitert!)**
// - Sonstige: Astro(**Trigger/Varianten erklärt!**), Interpolation, Statistic
// - Patterns: **Zeitlich begrenzte Ausgabe**
// (KONKATENIERE entfernt, da Umsetzung unklar)
// ==========================================================================
// STAND & LIZENZ:
// --------------------------------------------------------------------------
// Stand: 2025-05-05 (V4.2) - Basierend auf V4.1, Community-Beispielen, KB-Artikeln & Tests.
// TOLL Lizenz ("Timberwolf Open Logikblock License"): https://wrgt.news/TOLL. Keine Garantie.
// ==========================================================================

}




Wir hoffen, diese aktualisierte Version ist nützlich für euch! Feedback und weitere Erkenntnisse sind natürlich immer willkommen.

Viele Grüße,

eib-eg / Georg & die AI 😉
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
TW 2600_99 seit 1.1.2018 / VPN zu

AndererStefan
Reactions:
Beiträge: 261
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 138 Mal
Danksagung erhalten: 161 Mal

#74

Beitrag von AndererStefan »

AndererStefan hat geschrieben: Do Mai 01, 2025 6:35 pm Hi,

ich habe heute zum ersten Mal etwas mit dem von euch entwickelten Prompt und Gemini herumprobiert.

Es ist wirklich beeindruckend. Mir fiel spontan „Jede hinreichend fortschrittliche Technologie ist von Magie nicht zu unterscheiden.“ ein.

Ich hatte versucht eine Logik mit einer RegEx zu erstellen. - Es hat nicht funktioniert. Erst gab es Syntax-Fehler, dann Probleme beim Speichern der Logik. Gemini hat den Code dann immer weiter ausgedünnt und schloss letztlich damit, dass da ein Fehler im RegEx vom TWS sein müsse.

Da ich weiß, dass das gar nicht sein kann ;) hab ich ihm den Beispielcode der Standard RegEx geben und Gemini gebeten anhand dessen nach dem Fehler zu suchen.

Es folgten ein paar Erkenntnisse zur RegEx Anwendung, die er sich im LLM-Hinweis Block ergänzt hat.

Code: Alles auswählen

    *   **Regex [Doku-Ergänzung/Fehlerquelle]**
        *   **Explizite String-Länge:** Bei Verwendung des `Regex`-Moduls müssen **alle beteiligten String-Variablen** (Input-String, Regex-Formel-Variable, Match-Output, Group-Outputs) im `Level`-Array mit einer **expliziten und ausreichend großen Länge** deklariert werden (z.B. `string,512`). Die Standardlänge reicht oft nicht aus und kann zu Speicherfehlern führen.
        *   **Regex-Übergabe:** Es ist stabiler, die Regex-Formel über eine `Input`-Variable (Trigger `u`) an das `Regex`-Modul zu übergeben, anstatt direkt eine Variable aus dem `Level`-Array im Modulaufruf zu verwenden.
Die Logik lief auch einmal kurzzeitig, aber das war leider nicht reproduzierbar. Leider verstehe ich die Logik nicht, um den Fehler oder die Ergänzungen zu verstehen oder beurteilen zu können. Vielleicht mag jemand mit mehr Kompetenz mal versuchen sich eine RegEx Filterung erstellen zu lassen.

Der Gesamtprozess an sich, die Konsistenzprüfung und Meta-Kommunikation ist jedenfalls extrem beeindruckend!

VG Stefan
Hi, ich habe nochmal mit dem Prompt auf dem alten Stand gespielt und dabei zwei Dinge festgestellt:
1) ChatGPT (das o3 Modell) reagiert und denkt gar nicht so sehr anders als gemini 2.5. Mit der zusätzlichen Code-Referenz und meiner Hilfe ;) haben bei ein lauffähigen Code hinbekommen. Interessanterweise hatte Chat GPT den ordentlicheren Code, aber Gemini die bessere RegEx.
2) bestimmte Sonderzeichen sind ein Problem. Z.B: muss in einer Regularexpression "</sagt>" der "/" durch ein "\" escaped werden, d.h. "<\/sagt". Das Chat-Fenster mit seiner Markdown-Formatierung kann das aber nicht. Daraus wird dann "<\\/sagt>" (übrigens auch im *.txt) was beim Kopieren in die TWS-Logik dann wiederum nicht funktioniert. Dies erklärt wahrscheinlich auch meine Probleme beim Reproduzieren der Ergebnisse!

Viele Grüße
Stefan

PS: Die KI-geschriebenen Forenbeiträge klingen etwas befremdlich...
Zuletzt geändert von AndererStefan am Di Mai 06, 2025 1:58 am, insgesamt 1-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

eib-eg
Reactions:
Beiträge: 560
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1560 Mal
Danksagung erhalten: 358 Mal

#75

Beitrag von eib-eg »

Timberwolf Custom Logic Referenz V4.6.2 - Stringcompare-Modi, Regex-Fallstricke, neue Module & mehr!

Hallo liebe Timberwolf Community,

hier ist ein weiteres Update zu unserer umfassenden Custom Logic Referenzdatei, die wir kontinuierlich erweitern. Der letzte Stand war V4.2, vorgestellt hier: [viewtopic.php?t=5822&start=70#p62183]

Dank weiterer intensiver Analyse von Standard-Logikbausteinen des Timberwolf Servers (ein großes Dankeschön an eib-eg / Georg für die Bereitstellung der JSON-Daten und die unermüdliche Testarbeit!), dem Studium der Knowledge Base und wertvollem Feedback aus der Community (insbesondere die Regex-Erfahrungen von AndererStefan) konnten wir viele neue Details aufdecken und bestehendes Wissen präzisieren. Das Ergebnis ist die Version V4.6.2 unserer Referenzdatei.

Die wichtigsten neuen Erkenntnisse und Erweiterungen in V4.6.2:

1. Stringcompare-Modi (Großes Update & Wichtiger Hinweis!):

Wir haben die Bedeutung der Modus-Buchstaben (E/e, S/s, I/i) für exakte Vergleiche, "Beginnt mit" und "Beinhaltet" sowie deren Verhalten bezüglich Groß-/Kleinschreibung (Case-Sensitive/Insensitive) detailliert entschlüsselt.

WICHTIGER HINWEIS / POTENZIELLER BUG: Bei der Analyse wurde festgestellt, dass die Standard-UI-Logik "PRÜFE 2 Strings auf ÄHNLICHEN START CIS" (Case-Insensitive) aktuell (Stand 08/2024) fälschlicherweise den Modus für einen Case-Sensitive-Vergleich ("S") verwendet. Dies führt zu unerwartetem Verhalten, wenn man sich auf die CIS-Funktionalität dieses Bausteins verlässt. Details und die korrekten Modi sind in Tipp #24 der Referenzdatei dokumentiert.

2. Regex-Modul (Detaillierte Tipps & Fehlerquellen):

Basierend auf Community-Feedback (Danke, Stefan!) haben wir die Tipps zum Regex-Modul (Tipp #23) erheblich erweitert:

Explizite String-Längen: Alle beteiligten Strings (Input, Pattern, Match, Groups) benötigen ausreichend große, explizite Längenangaben im Level-Block, um Fehler zu vermeiden.

Sonderzeichen & Escaping: Eine Erinnerung an das korrekte Escapen von Regex-Sonderzeichen (z.B. / zu \/).

WARNUNG bei Copy&Paste aus Markdown: Markdown-Formatierungen (in Chats, Foren) können Backslashes verdoppeln (\ wird zu \\), was im TWS-Editor zu ungültigen Regex-Patterns führt. Patterns immer im reinen Texteditor oder direkt im TWS-Editor prüfen!

3. Cron-Syntax mit Sekunden (Erweiterung):

Das Cron-Modul im Timberwolf Server unterstützt eine 6-Felder-Syntax, bei der das erste Feld die Sekunden darstellt (S M H DOM M DOW). Dies ermöglicht sekundengenaue Cronjobs (siehe Tipp #27).

4. Neue Module identifiziert und dokumentiert (Tipp #28):

Concat: Zum Verbinden von Strings.

BinaryDemultiplexer: Zum Zerlegen von Integer-Werten in einzelne Bits.

Wakeup: Für einmalige Alarme zu einem bestimmten Unix-Zeitstempel.

SendToSimple: Zum Senden von Systembenachrichtigungen.

SendExplicit (mit Output-Typ x): Zum Senden von Werten (oft nur TRUE), ohne den vorherigen Zustand des Outputs zu überschreiben, wenn die Bedingung nicht erfüllt ist.

Triggered: Erkennt, ob eine Variable im aktuellen Logikdurchlauf verändert/getriggert wurde (Hinweis von TWS-Entwickler ms20de).

5. Weitere Präzisierungen:

Localtime-Modi: Klare Unterscheidung der zwei Verwendungsarten (aktuelle Zeit vs. Timestamp-Konvertierung, Tipp #26).

VAR<Name!>-Pattern: Das Muster für UI-generierte Arrays als Modul-Inputs (Tipp #29).

Implizite Persistenz: Beobachtungen und eine Warnung zur Zustandshaltung ohne Latch (Tipp #30).

JSON Pfad-Selektoren: Hinweis zur Bracket-Notation für Schlüssel mit Leerzeichen (Tipp #31).

Output-Typen: Ergänzung von x und ct (Tipp #32).

Was ist neu in der V4.6.2 Datei?

Alle oben genannten Erkenntnisse sind in die umfangreichen "Wichtigen Tipps & Häufige Fehler" eingeflossen.

Der Code-Teil wurde überarbeitet, um die Vollständigkeit der V4.2-Beispiele beizubehalten und gleichzeitig klare, funktionierende Beispiele für die neuen Module und Konzepte zu integrieren.

Die Datei wurde erfolgreich im Timberwolf Server gespeichert und ist somit syntaktisch korrekt.

Ziel:
Diese Referenzdatei (jetzt V4.6.2) soll weiterhin als umfassendes Nachschlagewerk für die Syntax und als verbesserter Kontext für AI-Assistenten dienen, um euch (und die AI) noch besser bei der Erstellung von Custom Logics unterstützen zu können.

Der Code für V4.6.2:


TWS_CustomLogic_Reference_V4.6.2.txt


Wir hoffen, diese aktualisierte und erweiterte Version ist für viele von euch nützlich! Feedback, weitere Erkenntnisse und Korrekturen sind wie immer herzlich willkommen, um diese Ressource gemeinsam weiter zu verbessern.

Viele Grüße,

eib-eg / Georg & die lernende AI
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
TW 2600_99 seit 1.1.2018 / VPN zu

AndererStefan
Reactions:
Beiträge: 261
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 138 Mal
Danksagung erhalten: 161 Mal

#76

Beitrag von AndererStefan »

Hi,

bei mir steht gemini ai studio nicht mehr zur Verfügung. Das Angebot war auch einfach zu gut. - Ist das bei euch auch weg?

Sonnige Grüße
Stefan
Zuletzt geändert von AndererStefan am So Mai 11, 2025 6:34 pm, insgesamt 2-mal geändert.
TWS 3500XL ID:1486, VPN aktiv, Reboot nach Rücksprache

eib-eg
Reactions:
Beiträge: 560
Registriert: Fr Sep 14, 2018 5:03 pm
Hat sich bedankt: 1560 Mal
Danksagung erhalten: 358 Mal

#77

Beitrag von eib-eg »

Gemini AI Studio nicht mehr verfügbar?

Hallo Stefan,

bezüglich deiner Frage zum Gemini AI Studio:

Ich habe die Information, dass Google das "Gemini AI Studio" kürzlich in "Google AI Studio" umbenannt hat. Das ist Teil einer Konsolidierung und Neuausrichtung ihrer KI-Entwickler-Tools.

Das könnte erklären, warum es unter dem alten Namen nicht mehr direkt auffindbar ist oder Links eventuell nicht mehr wie gewohnt funktionieren.

Die neue Adresse sollte sein:
https://aistudio.google.com

Die Funktionalität ist im Kern dieselbe geblieben – es ist weiterhin die webbasierte Umgebung, um mit den Gemini-Modellen zu experimentieren, Prompts zu entwickeln und API-Keys zu verwalten. Oft werden bei solchen Umbenennungen die Plattformen sogar noch ausgebaut.

Solche Namensänderungen sind in der schnelllebigen Tech- und KI-Welt leider keine Seltenheit und können manchmal für Verwirrung sorgen.

Vielleicht hilft dir diese Info weiter!

Viele Grüße von uns beiden
Zuletzt geändert von eib-eg am So Mai 11, 2025 11:32 pm, insgesamt 1-mal geändert.
TW 2600_99 seit 1.1.2018 / VPN zu

Ersteller
Franky
Reactions:
Beiträge: 175
Registriert: Di Dez 24, 2024 1:24 pm
Hat sich bedankt: 78 Mal
Danksagung erhalten: 93 Mal

#78

Beitrag von Franky »

Also https://aistudio.google.com/ tuts bei mir zum Glück noch .... ;-)
Timberwolf 3500L ID:1642; Support-VPN für ElabNET ist an.

AndererStefan
Reactions:
Beiträge: 261
Registriert: Sa Mär 02, 2024 11:04 am
Hat sich bedankt: 138 Mal
Danksagung erhalten: 161 Mal

#79

Beitrag von AndererStefan »

Nope, bei mir geht es nicht mehr.

Ich hatte den Tab mit den Prompts ja sogar noch offen. Beim Abschicken einer weiteren Eingabe in den Chat kam dann ein Fehler beim verarbeiten.

Nach einem Reload der Seite lande ich bei ai.google.dev wo mir erklärt wird in welchen Ländern und welchen Bedingungen ai studio verfügbar ist.

(Ich bin DE, kein VPN, ganz normaler DSL anbieter)

Vorhin konnte ich einmal kurz den Chat aufblitzen sehen sehen bevor die Weiterleitung zur doku geladen wurde.

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

Ersteller
Franky
Reactions:
Beiträge: 175
Registriert: Di Dez 24, 2024 1:24 pm
Hat sich bedankt: 78 Mal
Danksagung erhalten: 93 Mal

#80

Beitrag von Franky »

wow, das ist beängstigend, bei mir chrome, linux, Glasfaser Telekom
https://aistudio.google.com/
angemeldet (!) mit einem x beliebigen Gmail account, wo allerdings Zahlungsinformationen hinterlegt sind, geht es noch
Timberwolf 3500L ID:1642; Support-VPN für ElabNET ist an.
Antworten

Zurück zu „Erfolgsgeschichten“