NEWS
JSON in Blockly verarbeiten und Namen von Ordnern übernehmen
-
Servus.
Ich bin dabei, meine VIS für VIS-2 zu überarbeiten. Da manches (noch) nicht funktioniert, möchte ich sehr vieles mit den "BASIC" Widgets machen.
Für meine Adapterliste (Anzahl mit Namen, möglichen Updates etc.) möchte ich folgendes per Blockly erstellen.
Für Updates habe ich anhand
Servus.Ich bin dabei, meine VIS für VIS-2 zu überarbeiten. Da manches (noch) nicht funktioniert, möchte ich sehr vieles mit den "BASIC" Widgets machen.
Für meine Adapterliste (Anzahl mit Namen, möglichen Updates etc.) möchte ich folgendes per Blockly erstellen.
Für Updates habe ich anhand
der updateList boolsche Datenpunkte anlegen lassen.
Funktioniert soweit.Was mir partout nicht gelingen will ist, aus der updateJson die mögliche Versionsnummer in zu extrahieren.
Sämtliche Versuche mit
- JSON nach Object
- Erzeuge Liste aus Text
- Teilliste erzeugen
- ....
schlugen hier fehl bzw lieferten kein vernünftiges Ergebnis.
Wie kann ich das realisieren bzw. habt ihr einen Tipp für mich?
Zweites Problem:
In system.adapter sind (als Ordner) alle installierten Dokumente aufgelistet.
Ich möchte diese in Datenpunkte als Namen extrahieren.
Desweiteren hätte ich gerne die Version der Adapter angezeigt. Wo finde ich diese? -
@hausbaer sagte: Version der Adapter angezeigt. Wo finde ich diese?
Im Objekt "system.adapter.Adaptername" unter common.version.
-
@paul53 Dachte ich auch. Da ist sie aber nicht.
-
@hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:
@paul53 Dachte ich auch. Da ist sie aber nicht.
Ist sie doch - hier vom Admin Adapter
Du musst auf die Eigenschaften des Ordners gehen und nicht auf Instanzen. In name steht der Name.
-
@mickym Ist sie doch.
Da muss ich aber gleich weiterfragen: Wie komme ich da mit blockly ran?
-
@hausbaer sagte: Wie komme ich da mit blockly ran?
Expertenmodus im ID-Selektor aktivieren und
-
@hausbaer sagte: aus der updateJson die mögliche Versionsnummer in zu extrahieren.
Prinzip:
So kann man eine JSON-Liste erzeugen:
-
@paul53 Ach, so einfach? Und ich hampel schon seit gestern mit irgendwelchen Verkünstelungen rum....
Um das ganze ein bisschen smoother zu machen:
Gibts die Möglichkeit, das für alle Adapter auf einmal (via Liste) auszulesen?Gedanklich etwa so:
anstelle von
-
@hausbaer sagte: für alle Adapter auf einmal (via Liste) auszulesen?
Siehe JSON-Liste erzeugen.
Es wird DP "updatesList" für die Adapternamen und DP "updatesJson" für die Versionen verwendet. -
@paul53 Ich sitz entweder aufm Schlauch - oder hab mich nicht klar ausgedrückt.
Ich möchte von ALLEN Adaptern, die hier aufgelistet sind
verschiedene Information in Blockly verarbeiten.
MIt
muss ich aber JEDEN EINZELNEN Adapter händisch unter der Object ID auswählen.
Ergibt ungefähr 60 - 80 mal die Abfrage.Hier war mein Gedanke, ob ich nicht das entsprechende Attribut ALLER Adapter in eine Liste in einem Schritt auslesen kann, da der
Ordner "system" wie auch "adapter" keine Objektinfos hinterlegt haben. Ich habe keine Möglichkeit gefunden, diese auszuwählen.Edit:
Es müsste erstmal eine Liste der vorhandenen Adapter erzeugt werden; mit dieser könnte man dann weiter arbeiten.Bei
hingegen greife ich doch Werte einer bereits vorhandenen Liste ab, oder nicht? -
@hausbaer sagte: greife ich doch Werte einer bereits vorhandenen Liste ab, oder nicht?
Richtig, das ist die Liste der aktualisierbaren Adapter unter "admin.0.info"
@hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:
ob ich nicht das entsprechende Attribut ALLER Adapter in eine Liste in einem Schritt auslesen kann
Das funktioniert nicht, da man für einen Selektor mit Wildcards (*) Datenpunkte benötigt. Adapter (unter "system.adapter") haben (meist) keine Datenpunkte, sondern erst die Instanzen. Außerdem stellt Blockly kein getObject(id) mit einer konstruierbaren ID zur Verfügung. Dafür benötigt man eine JS-Funktion mit Ergebnis.
EDIT: Folgendes Blockly funktioniert nur mit Adaptern, die eine Instanz 0 haben:
Inhalt der Funktion getObj(id):
return getObject(id);
-
@paul53 sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:
Expertenmodus im ID-Selektor aktivieren
Nur zur Sicherheit. Du meinst die Schaltfläche "Expertenmodus umschalten" im tab objects?
-
@hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen:
Du meinst die Schaltfläche "Expertenmodus umschalten" im tab objects?
nein!
Expertenmodus einschalten im ID SelectorWenn du den Block anklickst, geht die ID-Selector Box auf, in der du den Datenpunkt auswählen kannst. Dort den Expertenmodus aktivieren!