Protokoll-Registervariable

Aufkommend der aktuellen Frage bzgl. Enocean kam mir folgender Gedanke:

Wäre es möglich (oder ist es sogar schon?) die RegisterVariable (oder ein ähnliche Konstrukt) unter jeden x-beliebigen Splitter anhängbar zu machen? Ggf. mit dem neuen Feld RegEx Filter?

Das würde es deutlich erleichtern ‚mal eben‘ auf Daten zugreifen zu können, ohne dafür gleich ein vollständiges Modul zu schreiben, sich mit GUIDs zu beschäftigen und den Code nicht mehr auf die Schnelle in der Konsole bearbeiten zu können.

1 „Gefällt mir“

Da die Splitter keine klassischen Streams sondern meistens schon aufgearbeitete Datenkonstruke nutzen wird das wohl nicht so einfach. Zumal man sich dann so oder so mit Aufbau dieser internen Symcon Pakete beschäftigt muss, da sind die Modul Thema eher einfach gegen :smile:
Dann lieber die RegVar um so etwas wie RegEx ergänzen oder halt den Cutter erweitern um ein dynamisches Längenfeld zu ermöglichen.
Michael

Du kannst deinen Wunsch mit einem eigenen PHP Modul abbilden :slight_smile: Ich bin mir nicht sicher ob solch eine Funktion die RegVar total überfrachten würde - die ist ja jetzt schon für viele ein Buch mit sieben Siegeln.

paresy

Das weiß ich alles. Auch schon gemacht. Erhöht aber die Hemmschwelle deutlich. Zudem ist ein Modul nicht so einfach einzuspielen und zu debuggen.

Wenn wir die Argumentation stringend verfolgen, könnte man die RegisterVariable ja auch entfernen? [ich hoffe das nimmt jetzt keiner zu ernst und macht es wirklich]

Gerade, dass der Splitter die Daten schon aufbereitet (Checksumme, Längenfelder, etc.) macht es doch interessant, auf diese Daten auch mit einem ‚mal eben‘ Script zuzugreifen.

Theoretisch wäre das die beste Lösung :slight_smile: Aber aus Abwärtskompatibilitätsgründen nicht relaisierbar.

Initial vielleicht - am Ende überwiegen aber die Vorteile beim Updating/Deployment.

Definitiv. Da Module aber klare Datenfluss Verbindungen haben, wäre das Stand heute nichtmal so einfach möglich einbaubar für die RegVar (ist mir so unter der Dusche aufgefallen…). Da müsste man im Kernel irgendwelche neuen „Wildcard“ GUIDs einbauen, damit die RegVar quasi alles übermittelt bekommt.

paresy

Ich will das doch garnicht verteilen, sondern in genau einem System einsetzen. Sobald man es Teilen möchte, ist das Modul sicherlich der richtige Weg.

Bzgl. Wildcard Guids und ‚alles übermittelt‘, ich könnte mir auch sehrgut eine Art Modulbaukasten innerhalb der Konsole vorstellen. Ich gebe meine GUIDs an (indem ich nur eine x-beliebige Instanz bzw. Splitter oder IO wähle) - das wird dann intern einmalig umgemappt auf die syntaktisch passende GUID, sowie einen Regex und schon kann ich mit den Daten arbeiten.

Nachtrag: Rund ums Thema RegisterVariable möchte ich auch meinen Wunsch von vor 1,5 Jahren nochmal in den Focus rücken:

Sowie 3 Jahren