NEWS
json teilen
-
@paul53 jetzt funktioniert es. Vielen Dank für die Hilfe
-
@paul53 zu früh gefreut. In den 2. Datenpunkt werden nur 3 Datensätze geschrieben.
-
@wolfgangkt sagte: In den 2. Datenpunkt werden nur 3 Datensätze geschrieben.
Ändere Zeile 8:
for(let i = 30; i < arr.length; i++) {
-
@paul53 jetzt funktionierts. Besten Dank Dank nochmal.
-
@wolfgangkt Hier noch eine etwas kürzere Alternative:
const idJson = '0_userdata.0.testjson'; // Original const idJson1 = '0_userdata.0.json1'; // Teil 1 const idJson2 = '0_userdata.0.json2'; // Teil 2 on({ id: idJson, change: 'ne' }, (obj) => { const arr = JSON.parse(obj.state.val); setState(idJson1, JSON.stringify(arr.slice(0, 30)), true); setState(idJson2, JSON.stringify(arr.slice(30)), true); });
-
@haus-automatisierung Danke, kann ich auch nochmal probieren. Das Script von @paul53 funktioniert einwandfrei. Die 2 Tabellen in der VIS laufen schon zu meiner Zufriedenheit.
-
@wolfgangkt sagte: kann ich auch nochmal probieren.
Dann lass das Parsen in Zeile 6 weg (Datenpunkt liefert bereits ein Array).
-
@paul53 eine Frage hätte ich noch. Wie kann ich aus Original json bestimme Werte herausfiltern z.B alle Wassermelder und in einen eigenen Datenpunkt schreiben.
-
@wolfgangkt z.B. mit Filter-Funktionen
arr.filter(v => v.Device.startsWith('Wassermelder'));
Also
setState(idJson1, JSON.stringify(arr.filter(v => v.Device.startsWith('Wassermelder'))), true);
-
@haus-automatisierung Super
Vielen Dank. Klappt einwandfrei.