<texit info>
author=Alexander Krause
title=Clever2Link - Dataobjecs/Templates
backgroundtext=Clever2Link
recurse=on
</texit>
Templates/Vorlagen
Die Template Funktion wird hauptsächlich durch das Ordner-Link Objekt realisiert.
Der Grundlegende Ablauf sieht wie folgt aus:
-  Erstellen einer Objektstruktur mit - 
-  Ordnern/Unterordnern 
-  Datenpunkten 
 
-  Erstellen eines Links, außerhalb der Struktur - 
-  target-  Eigenschaft ist die  Objekt-Nummer-  vom Template-Objekt der Objektstruktur (ab Version 1.22.0 dataobjects kann auch auf Objekte mit der Eigenschaft „is“ verwiesen werden) 
 
 
-  Link auflösen 
 
Beispiel: Objektstruktur einer Clever2Link Funktzentrale
dynamische Eigenschaften
Mitunter werden Templates auch innerhalb des gleichen Gerätes benutzt, dies bedeutet, dass die Eigenschaft address unterhalb jedes Links angepasst werden muß.
 
Beispiel
Aufgabe
-  ein iLON hat 30 Datenpunkte mit folgenden Adressen - 
-  Raumname: NVL_name_200 .. NVL_name_210 
-  Sollwert: NVL_setpoint_200 .. NVL_setpoint_210 
-  Istwert: NVL_temperature_200 .. NVL_temperature_210 
 
-  die Datenpunkte sollen nach Raum gruppiert werden, das Template sähe wie folgt aus 
-  es werden nun 10 Links erstellt, welche alle auf das selbe Template verweisen 
 
Problem
Lösung
-  jeder Link besitzt zu der Eigenschaft address eine 2te, welche den Raumindex angibt 
-  rid wird nun für jeden der 10 Links festgelegt, der Name spielt keine Rolle - 
-  1. Link: name=raum[0],rid=0 
-  2. Link: name=raum[1],rid=1 
-  3. Link: name=raum[2],rid=2 
 
-  dynamische Eigenschaften in dem Template benutzen - 
-  name=Name, address=NVL_name_{200+$rid} 
-  name=Sollwert, address=NVL_setpoint_{200+$rid} 
-  name=Istwert, address=NVL_temperature_{200+$rid} 
 
-  beim Auflösen wird nun der Teil `{200+$rid}` durch 200, 201 usw. ersetzt 
 
Syntax dynamischer Addressen
Beispiel
	
	
		| Regulärer Ausdruck | Bedeutung | Beispiel | 
	
	
		| [\w_] | Konstante | 123 abc_123
 | 
	
		| \$([\w_]+) | Variable | $rid $Alter
 | 
	
		| [\+\-\.\/\%] | Operator + Addieren
 - Subtrahieren
 . String-Addieren
 / Division
 % Modulo
 |  | 
	
		| \|(%[\w]+) | Formatierung | |%02d | 
 
Beispiele dynamischer Eigenschaften
Auflösen
-  Objekte, welche im Template vorhanden sind, aber nicht im Link werden neu erzeugt 
-  Objekte, welche nicht im Template sind werden gelöscht 
-  Objekte mit gleichen Namen bleiben erhalten (Objet-Id bleibt gleich)  
-  neue Eigenschaften werden bei vorhandenen Objekten im Link hinzugefügt 
-  alte Eigenschaften werden gelöscht, außer sie beginnen und enden mit einem _