NEWS
[Vorlage] Alias per Skript erzeugen
-
@paul Ich habe Dein Script verwendet um ca. 100 alias per Script zu erzeugen.
Es kommt vor, dass ich diese Aliases updaten möchte, weil sich irgendetwas geändert hat.
Leider kann ich bestehende Aliases nicht überschreiben, so dass ich sie immer manuell löschen muss, was bei 100 Aliases nicht mehr gut funktioniert.Wäre es möglich, dass man per Script einen Alias löscht und dann wieder neu anlegt?
-
@marty56 du wirst ja nicht alle 100 gleichzeitig ändern, oder? wenn du eines ändern willst, lösch es aus dem objektbaum und leg es neu an. das kann man auch mit 5, oder 10 machen. wo ist da das problem? im script müsstest du ja auch angeben welchen alias du löschen möchtest...
-
@da_woody
Dieser umständliche Weg war mir natürlich klar, deshalb ja meine AnfrageAber ja, es gibt durchaus Problemstellungen, wo ich alle neuanlegen will.
Man kann auch nicht alle Aliases auf einmal löschen.
-
@marty56 said in [Vorlage] Alias per Skript erzeugen:
Man kann auch nicht alle Aliases auf einmal löschen.
?nein?
-
wenn ich den erstellten Alias DP lösche und ich ihn dann neu erstellen möchte bekomme ich.
javascript.0 2021-02-13 09:47:11.248 warn (1231) script.js.common.Alias_erstellen_paul53: alias.0.Batterien_Prozent.SwitchButton schon vorhanden !
wo muss ich den rauslöschen?
Der DP ist nicht mehr vorhanden im Objectbaum -
@bishop sagte in [Vorlage] Alias per Skript erzeugen:
wenn ich den erstellten Alias DP lösche und ich ihn dann neu erstellen möchte bekomme ich.
einmal admin neu starten (nicht stoppen, nur neu starten mit dem Pfeilkreis)
-
@marty56 sagte: Wäre es möglich, dass man per Script einen Alias löscht und dann wieder neu anlegt?
Man kann das Script durch Auskommentieren von 3 Zeilen so ändern, dass es überschreibt: Im Orginal Zeilen 29, 30 und 73.
Anschließend nicht vergessen, die Änderung rückgängig zu machen! -
@bishop sagte: Der DP ist nicht mehr vorhanden im Objectbaum
Die Javascript-Instanz neu starten, damit der Datenpunkt auch im Instanz-Puffer gelöscht wird.
-
@paul53
danke geht -
@paul53 da ich neugierig bin (auskommentieren der 3 zeilen), hab ich das script nochmal kopiert und neu unter scripte eingefügt (firefox). daraufhin haben die zeilen zahlen überhaupt nicht mehr gestimmt. es wurde einfach überall eine leerzeile eingefügt (153 zeilen). das ganze mit chrome am selben PC (Win10) und siehe da, nur mehr 76 zeilen!
ist nur als warnung gedacht, falls jemand da was bemängelt... -
@da_woody sagte: es wurde einfach überall eine leerzeile eingefügt
Das passiert nur mit Firefox.
-
@paul53 hab ich ja geschrieben... seltsam ist das allemal...
-
@paul53 Danke funktioniert super.
-
Beim Erzeugen für den alias eines Homematic Temperaturfühlers bekomme ich
javascript.0 2021-02-16 09:34:13.603 warn (6593) This object will not be created in future versions. Please report this to the developer. javascript.0 2021-02-16 09:34:13.603 warn (6593) Object alias.0.AS_Thermo_TEMPERATURE is invalid: obj.common.custom has an invalid type! Expected "object", received "object"
Bei allen meinen Datenpunkten ist
custom = [];Mir ist nicht klar, was ich hier eintragen soll
Dieselbe Ausgabe bekomme ich beim Strommessgerät.
-
-
-
-
@marty56 sagte: is invalid: obj.common.custom has an invalid type! Expected "object", received "object"
Ändere Zeile 23 in
custom = {}; // verhindert doppelte Ausführung von history, ...
Die neuen Versionen des js-controller unterscheiden zwischen array und und object, das kein Array ist.
-
@bishop
du hast ja auch das Script von CruziX benutzt wenn ich das richtig sehe, hatte eben die gleichen Fehler hab dann
Zeile 172obj.common.custom = []; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
in
obj.common.custom = {}; // Damit die Zuordnung zu iQontrol, Sql etc. nicht übernommen wird
also die [] gegen die {} getauscht
dann sollte es wieder gehen, kannst du ja mal Testen, hab sonst von Javascript keine ahnung.
einfach mal ausprobiert und es ging
hat mich gerade @Paul53 drauf gebracht Danke dafürGruß Michael
-
Danke, funktioniert