NEWS
Fragen / Antworten rund um die neue Alias Funktion
-
Tolles Skript, vielen Dank.
Ich habe wo hier mal gelesen, man dürfe im Objekt-Explorer nichts manuell löschen, weil dies das Log vollschreibe. Ist das noch so? Oder kann ich die durch das Skript von @paul53 angelegten Ordner und Datenpunkte im Alias-Ordner bedenkenlos löschen?
-
Wie kann man denn Aliase, die bereits vom Adapter angelegt wurden, also die man sich dann als Alias kopieren kann - auch in Ordner verschieben um die gleiche Ordnerstruktur weiter zu erhalten die man mit manuell angelegten Ordnern estellen kann? Ich kann mir ein Gerät quasi in meine Aliase rüberkopieren, finde aber keine Möglichkeit die in Ordner zu verschieben
-
@heimweh Wenn ich dich richtig verstanden habe, möchtest du die Datenpunkte eines Objektes, z.B. eines Sensors, in Alias verschieben!?
Das wäre völlig am Sinn des Alias vorbei. Die Alias-Funktion soll künftig die Anpassung von Javaskript, Blockly etc überflüssig machen. Während du die Aliase in deinen Scripts verwendest, zeigen die Aliase auf den eigentlichen Datenpunkt. Musst du jetzt mal einen Sensor austauschen, der in einem Script verwendet wird, so musst du lediglich einmal den Alias anpassen mit dem Verweis auf den neuen Datenpunkt und alle Scripte, in denen dieser Datenpunkt verwendet wird funktionieren wieder.
-
Hallo,
ist es möglich für alias read/write eine zuvor angelegte Funktion zu verwenden?
Wenn ja, wie erfolgt der Aufruf?"alias": { "id": "mein.datenpunkt", "read": "test1(val)", "write": "test2(val)" }
Funktioniert leider nicht.
-
@zwer2k sagte: ist es möglich für alias read/write eine zuvor angelegte Funktion zu verwenden?
Woher soll der js-controller die Funktion kennen?
-
@paul53
Der javascript-Adapter könnte die Funktionen beim Start registrieren. Keine Ahnung was alles implementiert ist. -
Auch wenn es nicht nur direkt mit dem Alias zu tun hat: wie kann ich einen eigenen Datenpunkt anlegen, der nur zur späteren Verwendung da ist und nicht auf rot, sondern grün (Ack) stehen bleiben soll?
-
@zwer2k was hat denn der JavaScript Adapter damit zu tun? Alias ist ein Core Feature. Den js Adapter muss man nicht installiert haben ...
-
@zwer2k said in Fragen / Antworten rund um die neue Alias Funktion:
ist es möglich für alias read/write eine zuvor angelegte Funktion zu verwenden?
Nein, ist nicht möglich.
@iobaer said in Fragen / Antworten rund um die neue Alias Funktion:
Auch wenn es nicht nur direkt mit dem Alias zu tun hat: wie kann ich einen eigenen Datenpunkt anlegen, der nur zur späteren Verwendung da ist und nicht auf rot, sondern grün (Ack) stehen bleiben soll?
Beim setzten des Status ack=true setzen. In Admin kannst du dafür auf den Stift drücken, der beim Mausover ober das Statusfeld kommt, da kommt ein Fenster wo du "bestätigt" oder so anhaken kannst, bei setState in Javascript musst du noch ein "true" hinten dran hängen. In Blockly geht das bestimmt auch irgendwie.
-
@iobaer also ja diese Frage hat mir alias nicht dazu tun. Vllt in nem eigene thread auf machen?
Kurz: rot oder grün (also ack false bzw true) hängt davon ab wie du den Wert reinschreibst.
-
@apollon77 sagte in Fragen / Antworten rund um die neue Alias Funktion:
@zwer2k was hat denn der JavaScript Adapter damit zu tun? Alias ist ein Core Feature. Den js Adapter muss man nicht installiert haben ...
JS-Adapter haben vermutlich auch 99,9% der Nutzer installiert. Und die Nutzer die den Adapter nicht installiert haben, haben auch keine Funktion definiert die sie für Alias verwenden könnten.
War aber nur eine Frage ob es überhaupt geht. -
Ich habe gerade ein Problem.
Beim speichern von einem Alias bekomme ich den Fehler:
Fehler beim Parsen des JSON-Quelltexts
error_outlineSyntaxError: Unexpected end of JSON input{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1625824504674, "common": { "name": "l1hak", "role": "", "type": "number", "desc": "Manuell erzeugt", "unit": "%", "min": 0, "max": 100, "def": 0, "read": true, "write": true, "id": "javascript.0.ShellyVerbrauch.SHEM-3#8CAAB561D496#1.Emeter0.heute" }, "native": {}, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "alias.0.l1hak", "type": "state" }
-
@cino Wo ist da ein Alias drin?
-
@cino sagte in: Beim speichern von einem Alias bekomme ich den Fehler:
Das ist kein Alias. Verwende besser den Alias-Manager anstelle den Alias im Tab "Objekte" zu erstellen. Dann passieren weniger Fehler (alias, role, unit, max, write).
Beispiel für einen "Verbrauchs-Alias":{ "type": "state", "common": { "name": "Zählerstand", "role": "value", "type": "number", "read": true, "write": false, "alias": { "id": "s7.0.xyz.Zähler", "read": "val/1000" }, "unit": "kWh" }, "_id": "alias.0.Logo.Zaehler.Stand", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1624382656991, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@apollon77 unter alias.0
-
-
Danke, mit dem Alias Manager hat es geklappt. Ich wusste nicht das es ihn gab.
-
@cino sagte: "id": "javascript.0.ShellyVerbrauch.SHEM-3#8CAAB561D496#1.Emeter0.heute"
Für eigene Datenpunkte verwendet man keinen Alias. Denen verpasst man eine sinnvolle ID ohne "SHEM-3#8CAAB561D496#1".
-
@paul53 das kommt von einem skript der die Vebräuche der Shellys summiert.
-
Es spricht grundsätzlich nichts dagegen Aliase für javascript / eigene Datenpunkte zu machen. Bei Javascript finde ich das sogar ok, weil sich die ID auch ändern kann, wenn man die javascript Instanz mal wechselt oder so (weshalb ich persönlich mittlerweile nur noch ungern mit createState arbeite in Skripten, wenn der State für "außen" irgendwie wichtig sein könnte oder dann auch einen Alias drauf setze und den verwende).