NEWS
[Vorlage] Alias per Skript erzeugen
-
ich wollte gestern mal wieder paar Aliases anlegen lassen mit deinem Script hat auch immer wunderbar funktioniert!
Jetzt ist es aber so dass ich ein Fehler bekomme..2021-02-10 21:30:11.239 - info: javascript.0 (1231) script.js.common.Aliases_erstellen_neu: Created Alias-State alias.0.Batterien_Prozent.JanRemote 2021-02-10 21:30:11.239 - warn: javascript.0 (1231) Object alias.0.Batterien_Prozent.JanRemote is invalid: obj.common.custom has an invalid type! Expected "object", received "object" 2021-02-10 21:30:11.240 - warn: javascript.0 (1231) This object will not be created in future versions. Please report this to the developer.
kann gerade nicht den Teil des Scriptes liefern da ich nicht zu hause bin, werde ich nachreichen wenn es benötigt wird.
Ich versteh den Fehler so das er "object" erwartet aber ein "object" bekommt also eigentlich doch richtig oder?Ist ein Zigbee DP der Prozent liefert, gleiche DP werden aber erstellt.
-
@bishop sagte: Jetzt ist es aber so dass ich ein Fehler bekomme.
Was hast Du geändert?
obj.common.custom ist ein leeres Array, also ein "object". Keine Ahnung, weshalb das angemeckert wird. -
createAlias('zigbee.0.90fd9ffffe00cf3d.battery', 'Batterien_Prozent.JanRemote', undefined, undefined, 'number', undefined, undefined, 'JanRemote', 'value.percent', 'per Script erstellt', undefined, undefined, '%', undefined) createAlias('zigbee.0.90fd9ffffe0de910.battery', 'Batterien_Prozent.KimRemote', undefined, undefined, 'number', undefined, undefined, 'KimRemote', 'value.percent', 'per Script erstellt', undefined, undefined, '%', undefined) createAlias('zigbee.0.000b57fffea717ee.battery', 'Batterien_Prozent.EsszimmerRemote', undefined, undefined, 'number', undefined, undefined, 'EsszimmerRemote', 'value.percent', 'per Script erstellt', undefined, undefined, '%', undefined) createAlias('zigbee.0.90fd9ffffe17daf2.battery', 'Batterien_Prozent.SchlafzimmerRemote', undefined, undefined, 'number', undefined, undefined, 'SchlafzimmerRemote', 'value.percent', 'per Script erstellt', undefined, undefined, '%', undefined) createAlias('zigbee.0.00158d00029a9c6d.battery', 'Batterien_Prozent.BWM_Keller', undefined, undefined, 'number', undefined, undefined, 'BWM_Keller', 'value.percent', 'per Script erstellt', undefined, undefined, '%', undefined) createAlias('zigbee.0.00158d0002732ac4.battery', 'Batterien_Prozent.BWM_GaesteWC', undefined, undefined, 'number', undefined, undefined, 'BWM_GaesteWC', 'value.percent', 'per Script erstellt', undefined, undefined, '%', undefined)
ist das so falsch?
-
@bishop sagte: ist das so falsch?
Das ist ein anderes Script (nicht von mir).
-
@paul53
oh.. richtig!wie kann ich dein Script verwenden und mehrerer Aliases damit erstellen lassen?
ich muss doch in deinem Script immer alles abändern wenn ich ein neuen Alias erstellen will oder?
-
@bishop sagte: wie kann ich dein Script verwenden und mehrerer Aliases damit erstellen lassen?
Nur nacheinander einzeln.
@bishop sagte in [Vorlage] Alias per Skript erzeugen:
immer alles abändern wenn ich ein neuen Alias erstellen will oder?
Nur die nötigen Zuweisungen, oftmals nur für idOrigin, idAlias und nameAlias. Das muss auch alles in die Funktionsaufrufe eingegeben werden, ist also nicht schneller aber anfälliger für Fehler, da die genaue Reihenfolge beachtet werden muss.
-
ok, vielen dank werde ich probieren!
-
@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.