NEWS
UNSOLVED [gelöst]Datenpunkte in alias.0 lassen sich nicht löschen
-
Hallo,
bin am probieren und habe mit dem Script von paul53 versucht einen Datenpunkt im alias.0 zu erstellen. Nun sind Datenpunkte vorhanden die sich aber nicht mehr löschen lassen. Ich bekomme zwar eine Warnung das alles gelöscht wird, es passiert aber nicht. javascript.0 wurde gestoppt, admin.0 wurde neu gestartet, javascript.0 wurde neu gestartet.
Auch der Raspberry wurde nach vorherigen Stopp des IOBroker neu gestartet.Hier ein Bild:
Hier das Script:
// Original-Datenpunkt const idOrigin = 'hm-rpc.0.NEQ1489711.4.ACTUAL_TEMPERATURE'; // Alias-Datenpunkt const idAlias = 'HK-Christopher'; var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk; // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich nameAlias = '1_OG.Christopher.HK-Christopher.ACTUAL_TEMPERATURE'; desc = 'per Script erstellt'; // typeAlias = 'boolean'; // oder 'number' // read = "val < 20 ? true : false"; // Erkennung "Aus" --> false erfolgt automatisch // write = "val ? 'Ein' : 'Aus'"; // role = 'indicator'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // unit = '%'; // nur für Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) // custom = []; // verhindert doppelte Ausführung von history, ... // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten ! // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten ! function createAlias(idSrc, idDst) { if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn'); else { var obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; obj.common.alias.id = idSrc; if(typeAlias) obj.common.type = typeAlias; if(obj.common.read !== false && read) obj.common.alias.read = read; if(obj.common.write !== false && write) obj.common.alias.write = write; if(nameAlias) obj.common.name = nameAlias; if(role) obj.common.role = role; if(desc) obj.common.desc = desc; if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit) obj.common.unit = unit; if(states) obj.common.states = states; if(custom && obj.common.custom) obj.common.custom = custom; obj.native = {}; setObject(idDst, obj); if(raum && getObject('enum.rooms.' + raum)) { let obj = getObject('enum.rooms.' + raum) obj.common.members.push(idDst); setObject('enum.rooms.' + raum, obj); } if(gewerk && getObject('enum.functions.' + gewerk)) { let obj = getObject('enum.functions.' + gewerk) obj.common.members.push(idDst); setObject('enum.functions.' + gewerk, obj); } } } createAlias(idOrigin, 'alias.0.' + idAlias);
Wie bekomme ich die DP wieder weg??
Gruß
Bernd -
@Berlon Leg Mal bitte in den Ordnern mit dem Plus oben neue Datenpunkte an mit irgendeinem Namen und dann probier Mal den Überordner zu löschen.
-
@Berlon sagte:
Wie bekomme ich die DP wieder weg??
Den Datenpunkt selektieren und löschen. Man kann nur Objekte löschen - keine Ordner.
-
@paul53
Hat so funktioniert. Konnte den Ordner löschen. -
@paul53
habe bei mir auch 2 leere Ordner, die ich gerne weg haben möchte. Kann man die nicht entfernen? -
hat doch nach Neustart funktioniert ...
-
Ich habe eben diesen Thread gefunden und versuche auch schon ewig diesen Ordner in meiner Objekte-Struktur weg zu bekommen. Habe auch schon wie oben beschrieben einen neuen Datenpunkt über das Plus angelegt. Diesen kann ich auch löschen aber alias -> 0 bleibt bestehen.
Gibt es die Möglichkeit hier irgendwo im Dateisystem von IoB den Eintrag zu löschen?
-
@peoples
Das ist der Stammordner für Aliase. Der gehört zum System und wird nicht gelöscht!