NEWS
Fragen / Antworten rund um die neue Alias Funktion
-
Ich möchte zwei Datenpunkte miteinander verbinden. Jedoch invertiert.
Zwei vorhandene Datenpunkte kann man per Script verknüpfen und dabei den Wert negieren.
const id1 = '...'; const id2 = '...'; const jsi = 'system.adapter.javascript.' + instance; on({id: [id1, id2], change: 'ne', fromNe: jsi}, function(dp) { if(dp.id == id1) setState(id2, !dp.state.val); else setState(id1, !dp.state.val); });
-
@paul53
Dachte es geht vielleicht auch mit einem Alias.... -
Ich habe mich versucht in die alias Funktion einzulesen. Dabei habe tue ich mir recht schwer. Vielleicht könnt ihr mir etwas auf die Sprünge helfen.
Ich will für den Datenpunkt (true/false) „sonoff.0.DVES_94436F.POWER“ den Alias „meine-datenpunkte.0.Alias.Licht_Bad_EG“ verwenden. Beide sollen immer den gleichen Wert haben, egal welcher von beiden gesteuert wird.
Dazu habe ich folgende Fragen:
Wie lautet der Code den ich bei dem sonoff Datenpunkt unter RAW eingeben muss?
Muss bei dem Alias Datenpunkt auch etwas unter RAW eingegeben werden?
-
Edit:
Ich erstelle einen Alias für mein Thermostat mit dem "Setpoint" und der aktuellen Temperatur.Wie auf dem folgendem Bild ist der Alias mit dem "Type = thermostat" und "states = 2" erstellt.
Soweit passt das alles und lässt sich schnell editieren, wenn ein Gerät ausgetauscht werden muss.
Was ich nicht verstehe....wie erstelle ich einen weiteren Punkt, wie z.B. Batteriestatus, der dann auch als dritter "state" im selben Fenster auftaucht? -
@saeft_2003 sagte:
Alias „meine-datenpunkte.0.Alias.Licht_Bad_EG“ verwenden.
Das ist kein Alias. Alias-Datenpunkte funktionieren nur unter "alias.0" , z.B. "alias.0.EG.Bad.Licht".
@saeft_2003 sagte in Fragen / Antworten rund um die neue Alias Funktion:
Wie lautet der Code den ich bei dem sonoff Datenpunkt unter RAW eingeben muss?
Der Sonoff-Datenpunkt wird nicht verändert.
@saeft_2003 sagte in Fragen / Antworten rund um die neue Alias Funktion:
Muss bei dem Alias Datenpunkt auch etwas unter RAW eingegeben werden?
-
Danke die deutsche Doku kannte ich noch nicht. alias.0 habe ich nicht, muss das angelegt werden?
-
@saeft_2003 sagte:
alias.0 habe ich nicht, muss das angelegt werden?
Doch, hast Du. Wenn es noch keine Alias-Datenpunkte gibt, hat das Objekt "alias.0" noch nicht das Ordnersymbol und man findet es weit unten.
-
Ahh OK das könnte sein, weit unten habe ich nicht geschaut. Ich werde das ganze heute Abend testen. Schon mal vielen Dank soweit.
-
Hallo Forum,
ich bin ein noch recht junges Mitglied in der ioBroker-Scene und bin fleißig am Testen und Einrichten meines Smarthomes.
Bei dem Adapter "ALIASE" ist mir bei der Erstellung der Datenpunkt und beim Testen aufgefallen, das es eine sehr schöne Funktion wäre, wenn man auf dem "ALIAS"-Datenpunkt mit einem Mausklick den ORIGINAL Datenpunkt in der OBJEKT-Anzeige sehen könnte (oder umgekehrt). Dieses wäre bei der Fehlersuche (evt ist der Datenpunkt umbenannt oder ähnliches) sehr hilfreich.
Vielleicht gibt es diese Funktion ja schon bereits, allderdings habe ich es bisher nicht gefunden oder gelesen.
Vielen Dank an alle fleißigen Helfer.
cu perry -
@perry sagte:
Bei dem Adapter "ALIASE"
Den Adapter kenn ich noch nicht. Gibt es einen Link (Github) zum Adapter ?
-
@paul53 sagte in Fragen / Antworten rund um die neue Alias Funktion:
Den Adapter kenn ich noch nicht. Gibt es einen Link (Github) zum Adapter ?
Guten Morgen Forum,
vielleicht falsch ausgedrückt ... ich meine natürlich "die neue Alias Funktion" ... ich hoffe ich bin in dem richtigem Forum -
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.