NEWS
Objektbaum mit Werte kopieren [gelöst]
-
Hallo Zusammen,
ich bin gerade dabei meine Datenpunkte von javascript.0 auf 0_userdata.0 zu migrieren.
Gibt es eine Möglichkeit einen Objektbaum mit Unterobjekten zu kopieren?z.B. javascript.0.Verbrauchszaehler -> userdata.0.Verbrauchszaehler
Ohne Werte habe ich es bereits hingekriegt, indem ich den Objektbaum als JSON exportiert und wieder importiert habe. Hier fehlen mir aber leider die Werte der Datenpunkte.
lg
Martin
-
@marting sagte: Hier fehlen mir aber leider die Werte der Datenpunkte.
Wo sollen die Werte auch herkommen? Sie werden meist durch Skripte in eigene Datenpunkte geschrieben.
-
@marting sagte in Objektbaum mit Werte kopieren:
indem ich den Objektbaum als JSON exportiert und wieder importiert habe. Hier fehlen mir aber leider die Werte der Datenpunkte.
Jetzt musst Du nur noch alle relevanten Scripte anpassen und die in die neuen Datenpunkte schreiben lassen.
Dann kannst Du die DP injavascript.0
löschen -
@paul53
Ich würde sie gerne kopieren. Ich protokolliere den Stromverbrauch. Leider kann ich die Werte nicht neu schreiben lassen.
Ideal wäre es, wenn es möglich wäre Datenpunkte mit Werte zu kopieren.
Es sind insg. 2000 Datenpunkte. Manuell wäre dies ein sehr hoher Aufwand. -
@codierknecht
ich würde gerne die Werte kopieren. In den Datenpunkte liegt der Stromverbrauch meiner einzelnen Aktoren. Möchte diese Werte nicht verlieren.
Die werde werden mit folgenden Skript erstellt:
https://github.com/hdering/homematic_verbrauchszaehler/blob/master/Zaehlerstande_protokollieren.js -
-
@marting sagte: ich würde gerne die Werte kopieren.
Versuche es mal damit:
const idsSrc = $('javascript.0.Verbrauchszaehler.*'); idsSrc.each(function(id) { let idDst = id.replace('javascript', '0_userdata'); setState(idDst, getState(id).val, true); });
Anschließend das Skript anpassen!
var instance = '0'; var instanz = 'javascript.' + instance + '.'; // Pfad innerhalb der Instanz var pfad = 'Verbrauchszaehler.';
ändern in
var instanz = ''; // Pfad innerhalb der Instanz var pfad = '0_userdata.0.Verbrauchszaehler.';
-