UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[DISKUSSION] [1.5.3] Diskussion: Auto-Completion für Logik-Editor

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
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

[1.5.3] Diskussion: Auto-Completion für Logik-Editor

#1

Beitrag von alexbeer »

Hallo,
dank dem unermüdlichen Einsatz von u.a. Robert-Mini wird uns der Einsatz von Custom-Logikbausteinen ja schon stark vereinfacht.
Robert hat an der einen oder anderen Stelle erwähnt, dass er seine Logiken lokal im Notepad++ entwickelt.
Ich habe das auch schon versucht, aber bin damit nicht zum Ziel gekommen.

Der Logik-Editor im TWS hat sich in den letzten Versionen ja schon deutlich verbessert und hat auch an Features (z.B. Syntax-Highlighting und Syntax-Prüfung) hinzugewonnen.

Mir würde ein Feature Auto-Completion hier enorm helfen.

Schaut man sich den Quellcode des Custom-Editors an, dann scheint der Open-Source Editor ace zum Einsatz zu kommen. Dieser Editor hat bereits ein Auto-Completion Feature im Bauch: https://github.com/ajaxorg/ace/blob/mas ... etion.html

Mir ist klar, dass es nicht damit getan ist, dieses Feature zu aktivieren... Für den LE-Code müsste es noch eine API geben, gegen die der Editor verproben kann. Eine Beispielimplementierung einer 3rd-party-API-Integration für die Auto-Vervollständigung habe ich hier gefunden: http://next.plnkr.co/edit/6MVntVmXYUbjR ... xt&preview
StefanW hat ja bereits an der einen oder anderen Stelle erwähnt,dass eine TWS (REST-) API in der Pipeline ist - ob diese API auch den LE umfasst, ist mir dabei unbekannt.

Wie würdet ihr ein Feature wie die Auto-Vervollständigung im LE-Editor finden? Würde euch dies den Einstieg für die Umsetzung eigener Logik-Bausteine erleichtern?

VG Alex

Edit: Typos
Zuletzt geändert von Robert_Mini am So Feb 09, 2020 10:18 am, insgesamt 3-mal geändert.
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#2

Beitrag von gbglace »

Für die Generierung der richtigen Schreibweise von Funktionsbegriffen meist recht interessant sowas. Oder gar Variablennamen die im laufenden Code schonmal deklariert wurden.

Noch mehr Doku /als Begriffskatalog außerhalb des "Ingenieurs-Deutsch" wäre aber bestimmt auch sehr hilfreich. Kann da aber noch nur mehr aus der Position des Beobachters sprechen.
Grüße
Göran

#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#3 PBM 3 Kanäle, #4 Modbus-Extension

Ersteller
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#3

Beitrag von alexbeer »

Ja, genau darum geht es mir - aber auch die richtigen Parameter in der richtigen Reihenfolge.
Wenn die LE- API da wäre, könnte man daraus ja auch direkt die Doku generieren 😎
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#4

Beitrag von Robert_Mini »

Hallo Alex!

Spche FR würde ich auch unterstützen!

Im Prinzip nutze ich in Notepad++ folgende Features:
- Markierung der Variable markiert alle identischen Verwendungen im Code (macht der LE auch bereits, aber sehr unscheinbar mit zartem Rahmen!)
- Auto-Complete: Wenn man einen Namen eintippt, schlägt Notepad Vervollständigungen vor

Was fehlt und ich bei dir rauslese, wäre ein Auto-Complete für "Funktionen".
zB ich tippe ["mul und es kommt so wie in Excel ein Vorschlag:
["Multiplexer",["$KonstNull","$KonstEins","$KonstZwei",...],"$Out","$Select"]

wobei immer markiert wird, welches Attribut man gerade tippt.

Im Prinzip mache ich nichts anderes:
- Ich kopiere aus der Knowledgebase die Syntaxbeschreibung (zB ["Multiplexer",["$KonstNull","$KonstEins","$KonstZwei","$KonstDrei"],"$Out","$Select"]) in den Code
- Ich ersetze die Variablen durch Copy/Paste inkl. Auto-Complete mit der richtigen Variable.

Fände ich spitze, aber auch kompliziert (außer es gibt da was fertiges).
Also meine 4+ hättest du, wenn daraus ein FR wird.

Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#5

Beitrag von Robert_Mini »

alexbeer hat geschrieben: Sa Feb 08, 2020 3:47 pm Robert hat an der einen oder anderen Stelle erwähnt, dass er seine Logiken lokal im Notepad++ entwickelt.
Ich habe das auch schon versucht, aber bin damit nicht zum Ziel gekommen.
Ein Frage noch dazu, woran bist du gescheitert?
Ich würde das gerne verstehen, denn ein paar mehr Mitstreiter wären schon nett :-)

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#6

Beitrag von alexbeer »

Hi,
>>>Woran bin ich gescheitert?
Ich habe da mehrere Herausforderungen:
1. Wie heißt die Funktion, das Modul die ich nutzen möchte?
Mir ist der Begriff "Latch" für Wertzuweisung noch nie untergekommen. Gerade habe ich festgestellt, dass der KB Artikel kürzlich massiv erweitert, jetzt ist das verständlich.

2. Wie ist die Syntax?
Bis vor kurzem, war die Syntax von internen Funktionen z.T in der KB, z.T. in zig-Threads verstreut. Die richtige Syntax an der passenden Stelle zu haben, viel mir da schwer.
Jetzt ist zu mindest die KB in diesem Bereich enorm erweitert worden, das ist Klasse.


Zu dem Auto-Completion:
Ich nutze auch gerne Notepad++ - würde aber hier gerne auf den Medienbruch verzichten und die Custom-Logik im LE editieren. Die Auto-Vervollständigung ist im besten Fall dann ein "Abfallprodukt" der offiziellen LE-Doku, bzw kann vom Editor dafür genutzt werden.

Beispiel:
Wenn man in der CV den eingebauten Text-Editor nutzt, dann habe ich da ja auch die Auto-Vervollständigung.
Hier wird m.E. auch die API Docs als Referenz verwendet.
So etwas in der Art schwebt mir auch hier vor.

P.S.
Bevor das ein FR wird, wollte ich das gerne erst einmal grundsätzlich diskutieren. Bzgl der Einbindung in die TWS Architektur habe ich mich an anderer Stelle schon ziemlich vergaloppiert. Da würde ich hier gerne das Schwarmwissen gerne zunächst konsolidieren.

VG Alex
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#7

Beitrag von Robert_Mini »

Verstanden.
Ehrlicherweise sind die beiden Artikel schon seit Monaten in der KB.
Primär wurde die Liste am Anfang des Artikels mit Sprung zum Abschnitt ergänzt.

Bitte noch mehr Hinweise, ich sammle das, um eine Übersicht zu erstellen, welche Klassiker mit welchen Bausteinen vergleichbar sind (zB. Wert zwischenspeichern = LATCH).

Danke und lg
Robert
Zuletzt geändert von Robert_Mini am So Feb 09, 2020 1:57 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#8

Beitrag von alexbeer »

Hi Robert,
nicht dass das missverstanden wird. Das war in keinster Weise als Kritik gemeint.
Ich finde es absolut bemerkenswert, was die anderen Mods und du hier an Zeit investierst.
Den letzten Stand des Artikels, den ich im Kopf hatte, war in etwa wie folgt:
Latch:
... folgt in Kürze ...
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#9

Beitrag von Robert_Mini »

Alles klar!
Keine Sorge - und Kritik ist ja grundsätzlich was Positives.

Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#10

Beitrag von Robert_Mini »

Hallo Alex!

Hab deine Anmerkung zum Anlass genommen und kurz den Custom-Logik Artikel in der KB überarbeitet.
app.php/kb/viewarticle?a=115

Jetzt gibt es auch zu den anderen tbd. (Cron, Statistic, Stopwatch und Localtime) eine Beschreibung.

Bitte mal drüberlesen, ob das verständlich ist.

lg
Robert
Zuletzt geändert von Robert_Mini am So Feb 09, 2020 11:14 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Logikengine & Logik-Editor“