NEWS
[Vorlage] Alias per Skript erzeugen
-
@da_woody said in [Vorlage] Alias per Skript erzeugen:
@homecineplexx sagte in [Vorlage] Alias per Skript erzeugen:
keine lust
ist mal keine gute einstellung...
aber, warum legst du den DP nicht in userdate.0 an und machst dann einen alias davon?das ist vielleicht eine gute Idee....ab und zu ist man so verbissen in eine Idee, dass man das rundherum nicht sieht...danke
-
let obj = getObject('enum.functions.' + gewerk) obj.common.members.push(idDst); setObject('enum.functions.' + gewerk, obj);
das setzen des Gewerks (Function) mit setObject funktioniert ! - aber wie kann ich es via script wieder entfernen?
bei dem Versuch mit delete object löscht es mir das komplette Gewerk -
@cbmod das script in allen ehren, aber warum verwendest du nicht den Alias Manager?
-
@cbmod sagte: wie kann ich es via script wieder entfernen?
Objekt einlesen, Element im Array obj.common.members löschen und Objekt schreiben.
@da_woody sagte in [Vorlage] Alias per Skript erzeugen:
warum verwendest du nicht den Alias Manager?
Ja, mittlerweile gibt es Adapter zum Alias erzeugen.
-
@paul53 ich denke, du kannst damit leben. ich hab ja auch mit deinem script angefangen, darum "in allen ehren"
mit dem adapter ist aber auch das bearbeiten der aliase viel einfacher...
trotzdem danke für dein script damals! -
@da_woody sagte: ich denke, du kannst damit leben.
Ja, natürlich. Ich verwende auch den Alias-Manager.
-
@da_woody Mit dem Alias Manager kann ich auch mit EINEM Mausklick, in meinem Fall, 90 Aliase erstellen?
Kann ich eigentlich den Teil mit "nameAlias" mit mehreren Aliasen füllen? Ich möchte, dass einige Geräte in zwei Funktionen aufgenommen werden.
-
@fuxxz2 mit einem mausklick? wie stellst du dir das vor?
in meinem Fall, 90 Aliase erstellen?
90? sparsamst hast du 4-6 aliase pro gerät, außer du willst nur schalten und keine anderen infos.
du musst dir mal eine struktur überlegen. dann nimmst du ein gerät in deinen objekten, z.b.
trägst da deine struktur ein
suchst dir die DP aus, die du brauchst und bekommst
-
@da_woody Ich muss dann wohl leider mit dem Umstand leben, der Einzige zu sein, der mit dem Alias-Manager so gar nicht klar kommt.
Egal was ich da drin mache, danach geht bei mir immer gar nix mehr. Da hilft meist nur, alle Aliase löschen und dann das Script für Aliase erstellen einmal neu zu starten. Dann habe ich zumindest alles wieder daErstelle ich nun einen Alias automatisch, ein Shelly z.B.
Dann kann ich irgendwie keine Ordner anlegen, zudem möchte ich einfach nur den shelly.0.SHSW-1#40F5201DDADA#1.Relay0.Switch Datenpunkt als Alias.
Und zwar in diesem Format:
alias.0.Licht.KZ-Spiel_Wandlampe
Bei einem Sonoff das gleiche Spiel, er nennt den Alias dann XX POWER
Das heißt, obwohl ich nur einen Datenpunkt als Alias pro Gerät möchte, muss ich manuell den Ordner anpassen und den Namen.
Daher zu meiner ursprünglichen Frage:
Kann ich eigentlich den Teil mit "nameAlias" mit mehreren Aliasen füllen? Ich möchte, dass einige Geräte in zwei Funktionen aufgenommen werden. -
@fuxxz2
wo ist das problem? hab gerade testweise ein raumlicht (shelly1) genommen. ist der selbe wie der:
funktioniert astrein... -
@da_woody Wenn ich eine ID auswähle, zb. shelly.0.SHSW-1#40F5201DDADA#1.Relay0
Dann schlägt erzeugt er folgenden Alias
alias.0.Channel Relay0.SwitchDer Alias sollte aber alias.0.Licht.KZ-Wandlampe sein
-
@fuxxz2
eintragen als pfad. einfach nur
den switch anhaken. die anderen musst du wegnehmen die automatisch hakerl haben... ergebniss:
-
@da_woody Also müsste ich dann bei jedem Alias den Ordner anpassen, oder kann ich ihm irgendwie sagen, dass er direkt in einem Unterordner den Alias erstellen soll?
Übrigens erstellt er nun diesen hier
alias.0.Licht1.KZ-Wandlampe.Switch
Ziel wäre
alias.0.Licht1.KZ-Spiel_Wandlampe
Zudem legt er einen falschen Typ an, es kommt direkt eine Meldung im Log
2022-10-23 14:26:51.567 warn Object alias.0.Licht1.Switch is invalid: obj.common.min has an invalid type! Expected "number", received "string" -
@fuxxz2 logischer weise musst du für deinen alias jeweils den pfad angeben. wie sollte das sonst funzen?
je gerät den pfad und die gewünschten DPs.
wenn da alias.0.Licht1.KZ-Wandlampe.Switch angelegt wird, hast du wo was falsches eingetragen. du siehst ja, bei mir klappert das.
die warn meldung passt auch nicht mit deinem alias zusammen...
so als pfadbeispiele:
ist mein system, einige wollen andere pfade... -
@da_woody said in [Vorlage] Alias per Skript erzeugen:
@fuxxz2 logischer weise musst du für deinen alias jeweils den pfad angeben. wie sollte das sonst funzen?
z.B. hier aus dem Edit Alias Menü einen Button mit Automatisch Alias erstellen
wenn da alias.0.Licht1.KZ-Wandlampe.Switch angelegt wird, hast du wo was falsches eingetragen. du siehst ja, bei mir klappert das.
die warn meldung passt auch nicht mit deinem alias zusammen...Ich stelle ja gar nix ein, ist ja ein automatisch erstellter Alias. Danach kommt dann direkt der Eintrag ins Log
-
@fuxxz2 ok, gerade nochmal getestet. das warn kommt bei mir auch. solange da kein error kommt, dürfte das schnuppe sein. fuktionieren tut der alias auf jeden fall.
vllt äußerst sich da noch ein wissender dazu... -
Moin, bin eben auf dein Script gestoßen. Kurze Frage. Kann ich das Script auch nutzen um einem bestehenden Alias ein neues Ziel zuzuweisen? Also das beim Ausführen des Scripts der bestehende Alias überschrieben wird?
-
@jojo58 sagte: Kann ich das Script auch nutzen um einem bestehenden Alias ein neues Ziel zuzuweisen?
Nein. Das lässt sich doch sehr einfach im Tab "Objekte" erledigen.
-
@paul53
Das weiß ich und schade. Es geht um einen anderen Thread den ich hier offen habe, da müsste ich einen Alias über Blockly oder Script ändern. -
Hi,
perfekt genau das was ich suche um jetzt nach fast 5 Jahren ioBroker komplett auf Alias umzusteigen.
hab das Script grad mal ausprobiert und es legt den Punkt an so wie ich möchte.
Allerdings taucht er dann nicht unter "Geräte" auf.
Unter Objects ist er da und wird auch im Lovelace usw erkannt wenn ich n Raum hinzufüge.Wovon Hängt das ab, ob der Alias unter Geräte auftaucht?
LG
Nils