NEWS
(gelöst) Alias über Skript von ganzem Folder anlegen.
-
Hallo.
Eine Frage: Wie kann ich mit einem Skript automatisiert alle Datenpunkte in einem Folder (also z.B. in mqtt.1.nuk34444) als alias in "alias.0.Haustuer.nuki" anlegen. Nur alle darunter liegenden Datenpunkte, nicht die den Folder selbst.
Geht das überhaupt?
DANKE -
@manfredhi sagte: alle Datenpunkte in einem Folder (also z.B. in mqtt.1.nuk34444) als alias in "alias.0.Haustuer.nuki" anlegen.
Wenn sich die Datenpunkte direkt unterhalb von "nuk34444" befinden, versuche es mal so:
const src = $('mqtt.1.nuk34444.*'); const dst = 'alias.0.Haustuer.nuki.'; src.each(function(id) { const obj = { type: 'state', common: getObject(id).common, native: {} }; const idDst = dst + id.split('.')[3]; setObject(idDst, obj); }); -
müsste da nicht noch der alias rein?
const obj = { type: 'state', common: { ...getObject(id).common, alias: { id }, }, native: {} }; -
@ticaki sagte: müsste da nicht noch der alias rein?
Ja, du hast recht.
const src = $('mqtt.1.nuk34444.*'); const dst = 'alias.0.Haustuer.nuki.'; src.each(function(id) { const obj = { type: 'state', common: getObject(id).common, native: {} }; obj.common.alias = { id: id }; const idDst = dst + id.split('.')[3]; setObject(idDst, obj); }); -