> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/german/funktionsblocke/blocks-reference/data-logic/referencing/data-write-local.md).

# Data Write Local

Dieser Funktionsblock speichert eingehende Daten im lokalen Szenariospeicher, sodass andere Blöcke sie später lesen können. Verwenden Sie ihn, wenn Sie einen Wert (Bild, Zahl, Text, Liste usw.) in verschiedenen Teilen Ihres Szenarios persistieren oder einfache Rückkopplungsschleifen erstellen möchten. Hinweis: Dieser Block ermöglicht Schleifen, garantiert jedoch nicht die Reihenfolge oder Integrität des Datenflusses — daher mit Bedacht einsetzen.

## 📥 Eingänge

`Generic`\
Dieser Anschluss akzeptiert beliebige Datentypen zur Speicherung.

## 📤 Ausgänge

Dieser Funktionsblock erzeugt keine Ausgänge.

## 🕹️ Steuerungen

`Data Key`\
Geben Sie einen String-Schlüssel ein, um den gespeicherten Wert zu identifizieren. Verwenden Sie aussagekräftige, eindeutige Namen, damit andere Blöcke die richtigen Daten lesen können.

* Autocomplete hilft beim Auswählen vorhandener lokaler Schlüssel, wenn verfügbar.
* Schlüssel sind einfache Textbezeichnungen; beim Lesen muss die Übereinstimmung exakt sein.

## ⚙️ Funktionsweise

* Wenn der Block ausgeführt wird, wird jeder Wert, der am Eingang `Generic` anliegt, unter dem gewählten `Data Key` im lokalen Szenariospeicher abgelegt.
* Wird kein Wert bereitgestellt, wird nichts geschrieben.
* Der gespeicherte Wert bleibt für andere Blöcke verfügbar, die denselben Schlüssel lesen, bis er überschrieben wird oder das Szenario endet.

## 🎯 Features

* Speichert beliebige Datentypen (Bilder, Zahlen, Listen, Text).
* Einfache, persistente Speicherung innerhalb des laufenden Szenarios.
* Autocomplete für vorhandene lokale Schlüssel zur Reduzierung von Tippfehlern.
* Entwickelt zum schnellen Teilen von Zwischenresultaten und zum Ermöglichen lokaler Schleifen.

## 📝 Nutzung

1. Geben Sie einen aussagekräftigen Namen in `Data Key` ein (z. B. "last\_detection" oder "calibration\_matrix").
2. Verbinden Sie einen produzierenden Block mit dem `Generic`-Eingang, sodass zur Laufzeit ein Wert bereitsteht.
3. Verwenden Sie an anderer Stelle im Szenario einen entsprechenden Lese-Block (z. B. `Data Read Local`), um den Wert mit demselben Schlüssel abzurufen.

## 💡 Tipps und Tricks

* Verwenden Sie klare Schlüssel (z. B. Typ oder Quelle einbeziehen: "camera1\_frame", "threshold\_value"), um unbeabsichtigtes Überschreiben zu vermeiden.
* Um den gespeicherten Wert innerhalb desselben Szenarios wiederzulesen, verwenden Sie `Data Read Local`. Zum Teilen von Daten über Szenarien hinweg nutzen Sie `Data Write Global` und `Data Read Global`.
* Kombinieren Sie mit `Data Memory`, wenn ein Wert unverändert bleiben soll, bis er explizit aktualisiert wird.
* Wenn Sie gespeicherte strukturierte Daten später exportieren möchten, konvertieren Sie sie z. B. mit `Data to JSON` in ein geeignetes Format und speichern Sie dann mit `CSV Export` oder anderen Export-Blöcken.
* Verwenden Sie `Debug Input`, um schnell zu prüfen, was unter einem bestimmten Schlüssel geschrieben wird, während Sie Ihren Flow aufbauen.
* Nutzen Sie `Replace None` vor dem Schreiben, wenn ein Fallback-Wert gespeichert werden soll, falls der Eingang leer ist.

## ✅ Best practices

* Vermeiden Sie die Wiederverwendung desselben Schlüssels für unterschiedliche Datentypen (z. B. Bild vs. Zahl) — bevorzugen Sie eindeutige Schlüssel.
* Halten Sie Schlüssel menschenlesbar, um Debugging und Wartung zu erleichtern.
* Beim Aufbau von Rückkopplungsschleifen: Machen Sie explizit, welche Blöcke denselben Schlüssel lesen und schreiben, um Mehrdeutigkeiten zu reduzieren.

## 🛠️ Fehlersuche

* Kein Wert beim Lesen: Überprüfen Sie die exakte Schreibweise des `Data Key` in Schreib- und Lese-Block.
* Unerwarteter Datentyp: Prüfen Sie, welcher Block zuletzt denselben Schlüssel geschrieben hat, und sorgen Sie für konsistente Datentypen.
* Schwierige Nachverfolgung von Daten: Fügen Sie `Debug Input` oder einen temporären `Data Read Local` hinzu, der mit einem sichtbaren Ausgang verbunden ist, um gespeicherte Werte zu inspizieren.
* Race-Conditions / Reihenfolgeprobleme: Denken Sie daran, dass dieser lokale Speicher die Ausführungsreihenfolge nicht garantiert — gestalten Sie den Flow entsprechend oder strukturieren Sie ihn mit klareren Steuer-/Flussblöcken um.
