NEWS
[gelöst] Verständnisfrage Alias-Funktion
-
@paul53,
ahh, wenn ich bei der History des Alias den Haken bei "Nur Änderungen aufzeichnen" rausnehme und dafür unter "trotzdem gleiche Werte aufzeichnen" was anderes als 0 eintrage dann geht´s auch bei mir. Das war mein Fehler, ich dachte hier kann ich auf Änderungen reagieren. OK ein Problem weniger.Hmm..., ich erstelle meine Aliase über das Script von Dir, das du als Vorlage --> hier gepostet hast. Muss ich im Script noch was anderes angeben als den Original- und Alias-Datenpunkt??
-
@paul53,
ahh, wenn ich bei der History des Alias den Haken bei "Nur Änderungen aufzeichnen" rausnehme und dafür unter "trotzdem gleiche Werte aufzeichnen" was anderes als 0 eintrage dann geht´s auch bei mir. Das war mein Fehler, ich dachte hier kann ich auf Änderungen reagieren. OK ein Problem weniger.Hmm..., ich erstelle meine Aliase über das Script von Dir, das du als Vorlage --> hier gepostet hast. Muss ich im Script noch was anderes angeben als den Original- und Alias-Datenpunkt??
-
Und da steige ich nicht durch!
Ich habe zum Testen eine Temperatur von meiner Heizung im Original-DP 'javascript.0.eBus.Heizung.ui_OutsideTemp', diesen möchte ich im Alias-DP 'alias.0.Aussentemperatur_Nord_Test' quasi spiegeln. Mit deinem Script zum Anlegen von Datenpunkten habe ich diesen Alias erzeugt. Wenn ich nun mit einem Testscript
den Alias abfrage erhalte ich folgende Log-Ausgabe:
Das aber nur solange bis ich den JS-Controller neu starte, dann kommt die Warnung nicht mehr
-
Und da steige ich nicht durch!
Ich habe zum Testen eine Temperatur von meiner Heizung im Original-DP 'javascript.0.eBus.Heizung.ui_OutsideTemp', diesen möchte ich im Alias-DP 'alias.0.Aussentemperatur_Nord_Test' quasi spiegeln. Mit deinem Script zum Anlegen von Datenpunkten habe ich diesen Alias erzeugt. Wenn ich nun mit einem Testscript
den Alias abfrage erhalte ich folgende Log-Ausgabe:
Das aber nur solange bis ich den JS-Controller neu starte, dann kommt die Warnung nicht mehr
@Steff sagte:
javascript.0 2019-12-07 17:04:50.409 info (3850) script.js.common.AAA_Alias-abfragen: Alias-ID hat Inhalt: null
Dann hat der JS-Controller noch keinen Zustand in den Alias geschrieben. Wahrscheinlich muss das Original erst einmal aktualisiert werden (Änderung des Zeitstempels) ?
@Steff sagte in Verständnisfrage Alias-Funktion:
javascript.0 2019-12-07 17:04:50.408 info (3850) script.js.common.AAA_Alias-abfragen: Original-ID hat Typ: string
Es sollte eine Wandlung in common.type: "number" erfolgen (Skript Zeile 8).
-
@Steff sagte:
javascript.0 2019-12-07 17:04:50.409 info (3850) script.js.common.AAA_Alias-abfragen: Alias-ID hat Inhalt: null
Dann hat der JS-Controller noch keinen Zustand in den Alias geschrieben. Wahrscheinlich muss das Original erst einmal aktualisiert werden (Änderung des Zeitstempels) ?
@Steff sagte in Verständnisfrage Alias-Funktion:
javascript.0 2019-12-07 17:04:50.408 info (3850) script.js.common.AAA_Alias-abfragen: Original-ID hat Typ: string
Es sollte eine Wandlung in common.type: "number" erfolgen (Skript Zeile 8).
@paul53 sagte in Verständnisfrage Alias-Funktion:
Dann hat der JS-Controller noch keinen Zustand in den Alias geschrieben. Wahrscheinlich muss das Original erst einmal aktualisiert werden (Änderung des Zeitstempels) ?
Die Temperatur ändert sich nur sehr langsam, der Zeitstempel ändert sich schon, jedoch ist die letzte Wert-Änderung schon einige Zeit her.

Unter Objekte wird aber ein Wert angezeigt, nur halt eben bei der Script abfrage nicht, deshalb bin ich da etwas ratlos!
Die 7,56°C sollten ja aber im Script ausgegeben werden - oder nicht? -
@paul53 sagte in Verständnisfrage Alias-Funktion:
Dann hat der JS-Controller noch keinen Zustand in den Alias geschrieben. Wahrscheinlich muss das Original erst einmal aktualisiert werden (Änderung des Zeitstempels) ?
Die Temperatur ändert sich nur sehr langsam, der Zeitstempel ändert sich schon, jedoch ist die letzte Wert-Änderung schon einige Zeit her.

Unter Objekte wird aber ein Wert angezeigt, nur halt eben bei der Script abfrage nicht, deshalb bin ich da etwas ratlos!
Die 7,56°C sollten ja aber im Script ausgegeben werden - oder nicht?@Steff sagte in Verständnisfrage Alias-Funktion:
Die 7,56°C sollten ja aber im Script ausgegeben werden - oder nicht?
Habe es gerade getestet: Bei mir wurde mit getState() von dem frisch angelegten Datenpunkt der Wert 0 geliefert, der falsch ist. Nach Neustart der Javascript-Instanz wird der richtige Wert eingelesen.
Das hängt damit zusammen, dass die JS-Instanz alle Objekte und Zustände puffert und getState() auf die Puffer zugreift. Erst ein Neustart der JS-Instanz aktualisiert die Puffer mit den Objekten des JS-Controllers. -
@paul53,
habe gerade nochmals einen Alias erstellt auf einen Datenpunkt, der sich öfters ändert. Aber auch da ist beim Testscript die 0 bzw. 'null' im Log.Zitat @paul53
Das hängt damit zusammen, dass die JS-Instanz alle Objekte und Zustände puffert und getState() auf die Puffer zugreift. Erst ein Neustart der JS-Instanz aktualisiert die Puffer mit den Werten des JS-Controllers.Das heißt also nach dem Anlegen eines Alias muss der JS-Controller oder vielmehr die JS-Instanz (sorry - habe das oben nicht explizit geschrieben) neu gestartet werden. Oder bin ich da immer noch falsch?
-
@paul53,
habe gerade nochmals einen Alias erstellt auf einen Datenpunkt, der sich öfters ändert. Aber auch da ist beim Testscript die 0 bzw. 'null' im Log.Zitat @paul53
Das hängt damit zusammen, dass die JS-Instanz alle Objekte und Zustände puffert und getState() auf die Puffer zugreift. Erst ein Neustart der JS-Instanz aktualisiert die Puffer mit den Werten des JS-Controllers.Das heißt also nach dem Anlegen eines Alias muss der JS-Controller oder vielmehr die JS-Instanz (sorry - habe das oben nicht explizit geschrieben) neu gestartet werden. Oder bin ich da immer noch falsch?
-
@Steff sagte:
nach dem Anlegen eines Alias mussdie JS-Instanz neu gestartet werden.
Wenn der neue Alias in einem Skript verwendet werden soll, muss erst die JS-Instanz neu gestartet werden. Das gilt nicht nur für einen Alias.
@paul53 sagte in Verständnisfrage Alias-Funktion:
Wenn der neue Alias in einem Skript verwendet werden soll, muss erst die JS-Instanz neu gestartet werden. Das gilt nicht nur für einen Alias.
OK, und wieder was dazugelernt. Für was gilt das noch?
-
@paul53 sagte in Verständnisfrage Alias-Funktion:
Wenn der neue Alias in einem Skript verwendet werden soll, muss erst die JS-Instanz neu gestartet werden. Das gilt nicht nur für einen Alias.
OK, und wieder was dazugelernt. Für was gilt das noch?
-
@Steff sagte in Verständnisfrage Alias-Funktion:
Für was gilt das noch?
Das gilt auch für eigene Datenpunkte, die nicht per createState() erzeugt wurden, und nach meiner Erfahrung vor Allem auch für enums bzw. deren Zuweisung.
@paul53 sagte in Verständnisfrage Alias-Funktion:
Das gilt auch für eigene Datenpunkte, die nicht per createState() erzeugt wurden, und nach meiner Erfahrung vor Allem auch für enums bzw. deren Zuweisung.
OK, muss ich mal beobachten.
@paul53 ich danke dir für die ganzen Erläuterungen, du hast mich mal wieder ein Stückchen weitergebracht!!
Gruß Steffen
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden