NEWS
[gelöst]Datenpunkt aus Json in CCU2 Variable schreiben?
-
Ich habe eine Tabelle und möchte das Erste Datum und Uhrzeit in eine CCU2 Variable schreiben.
Ich hab zwar schon mit Blocky gearbeitet aber hier bleibe ich hängen.
Der Inhalt der Tabelle (liegt als Objekt vor) schaut dabei so aus:[{"Datum":"7.1","Start":"16:17","Saugzeit":"11 min","Fläche":"12.37 m²","Error":0,"Ende":true},{"Datum":"7.1","Start":"16:14","Saugzeit":"0 min","Fläche":"0 m²","Error":0,"Ende":false},{"Datum":"7.1","Start":"15:49","Saugzeit":"12 min","Fläche":"7.63 m²","Error":0,"Ende":true},{"Datum":"6.1","Start":"07:00","Saugzeit":"8 min","Fläche":"14.64 m²","Error":0,"Ende":false},{"Datum":"4.1","Start":"07:00","Saugzeit":"44 min","Fläche":"46.37 m²","Error":0,"Ende":true},{"Datum":"1.1","Start":"07:00","Saugzeit":"46 min","Fläche":"51.15 m²","Error":0,"Ende":true},{"Datum":"30.12","Start":"12:14","Saugzeit":"57 min","Fläche":"54.34 m²","Error":0,"Ende":true},{"Datum":"28.12","Start":"11:21","Saugzeit":"52 min","Fläche":"55.09 m²","Error":0,"Ende":true},{"Datum":"28.12","Start":"11:04","Saugzeit":"16 min","Fläche":"3.99 m²","Error":0,"Ende":false},{"Datum":"26.12","Start":"07:00","Saugzeit":"9 min","Fläche":"13.21 m²","Error":8,"Ende":false},{"Datum":"24.12","Start":"07:00","Saugzeit":"25 min","Fläche":"27.49 m²","Error":0,"Ende":true},{"Datum":"23.12","Start":"16:58","Saugzeit":"38 min","Fläche":"35.17 m²","Error":0,"Ende":true},{"Datum":"23.12","Start":"11:24","Saugzeit":"54 min","Fläche":"57.24 m²","Error":0,"Ende":true},{"Datum":"21.12","Start":"07:00","Saugzeit":"49 min","Fläche":"53.05 m²","Error":0,"Ende":true},{"Datum":"19.12","Start":"07:00","Saugzeit":"44 min","Fläche":"46.46 m²","Error":0,"Ende":true},{"Datum":"17.12","Start":"07:00","Saugzeit":"59 min","Fläche":"52.08 m²","Error":0,"Ende":true},{"Datum":"14.12","Start":"07:00","Saugzeit":"45 min","Fläche":"49.58 m²","Error":0,"Ende":true},{"Datum":"12.12","Start":"11:58","Saugzeit":"43 min","Fläche":"25.72 m²","Error":0,"Ende":true},{"Datum":"12.12","Start":"11:53","Saugzeit":"3 min","Fläche":"1.91 m²","Error":0,"Ende":true},{"Datum":"12.12","Start":"11:29","Saugzeit":"24 min","Fläche":"13.2 m²","Error":0,"Ende":false}]
Vielen Dank für die Unterstützung.
-
@chemieka sagte:
das Erste Datum und Uhrzeit in eine CCU2 Variable schreiben.
let obj = JSON.parse(json)[0]; setState(idSV, obj.Datum + '. ' + obj.Start);
-
Das schaut so einfach aus aber wo muss ich rein schreiben aus welchen Adapter und Objekt er die Daten nehmen soll und wo sie wieder hin sollen?
Wie gesagt ich bekomme maximal Blocky etwas selber hin. Bei einem richtigen Script müsstest du weiter ausholen bitte. -
@chemieka sagte:
Der Inhalt der Tabelle (liegt als Objekt vor)
Du hast nicht geschrieben: Wo. In einem Datenpunkt ?
-
die Tabelle liegt im Adapter mihome-vacuum.0.history.allTableJSON
und soll in eine Variable hm-rega.0.7466 -
@chemieka
Neues Script erstellen (Javascript-Instanz):const idJson = 'mihome-vacuum.0.history.allTableJSON'; const idSV = 'hm-rega.0.7466'; function json2sv(json) { let obj = JSON.parse(json)[0]; setState(idSV, obj.Datum + '. ' + obj.Start); } json2sv(getState(idJson).val); // Script start on(idJson, function(dp) { // Wertänderung json2sv(dp.state.val); });
-
@paul53 sagte in Datenpunkt aus Json Tabelle in CCU2 Variable schreiben?:
const idJson = 'mihome-vacuum.0.history.allTableJSON'; const idSV = 'hm-rega.0.7466'; function json2sv(json) { let obj = JSON.parse(json)[0]; setState(idSV, obj.Datum + '. ' + obj.Start); } json2sv(getState(idJson).val); // Script start on(idJson, function(dp) { // Wertänderung json2sv(dp.state.val); });
OK das habe ich. Wie könnte ich es starten lassen? Tägliche Timer?
-
@chemieka sagte:
Wie könnte ich es starten lassen? Tägliche Timer?
Nein, das Script aktivieren und schon geht es los: Einmal bei Start und dann wird bei jeder Änderung des JSON-Inhalts getriggert.
-
Das ist ja Klasse die Daten sind in der Variable.
Also ehrlich mir ist das ein Rätzel, ihr seit Künstler.
Vielen Dank.