NEWS
[gelöst] Array visualisieren
-
Hallo,
Meine Heizungssteuerung liefert mir die Leistungsdaten (KwH) der letzten Monate in einem Array wie diesem:
[2857.9,2320,2071.3,1047.8,673.1,39.6,2.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2624.3,2620.6,3094.1,2092.3,1858.3,1073.2,179,0,0,0,573.2,633.2,1341.3,0]
Vor zwei Jahren habe ich also 2857 kwh Gas im November verbraucht, im Dezemnber dann 2320, etc.
Diese Werte wollte ich jetzt visualisieren, habe aber keine Ahnung, wie ich das angehen kann. Hat jemand eine Idee? Falls mögich bitte recht detailliert beschreiben.
Vielen Dank im Voraus, vG
Bernhard -
@besc0029 sagte in Array visualisieren:
Diese Werte wollte ich jetzt visualisieren,
in welcher Form?
@besc0029 sagte in Array visualisieren:
Hat jemand eine Idee?
Array über ein Skript aufteilen und in einzelne Datenpunkte schreiben.
-
@besc0029 sagte in Array visualisieren:
or zwei Jahren habe ich also 2857 kwh Gas im November verbraucht, im Dezemnber dann 2320, etc.
da ergibt das array aber keinen sinn - insgesamt sind es um die 35 einträge,. das wären dann keine 2 jahre und was bedeuten die ganzen 0er ?
wenn das geklärt ist, entweder wie @Homoran sagt - über datenpunkte oder evtl eine json daraus machen und das in einer json tabelle als widget direkt anzeigen
-
-
@homoran 15 monate lang sommerpause ?
-
-
@liv-in-sky in der Tat sind die Nuller grundsätzlich die Sommerpause.... Für das letzte Jahr (welches im November letzten Jares beginnt, 2624.3 ff.) stimmt die Zahlenfolge auch. Diesen Sommer war die Heizung drei Monate komplett aus. Warum er davor so viele Nullen hat weiss ich ehrlich gesagt nicht.
Aber wie bekomme ich jetzt (bspw. beginnend ab 2624) die Werte über Blocky in einzelne Datenpunkte. Optimalerweise wäre es ja eine Struktur mit Datenpunktbezeichnungen wie "vor 12 Monaten", "vor 11 Monaten", "vor 10 Monaten", etc. und dann jeweils der Wert. Kann mir da jemand helfen?
Kenne mich mit dem Parsen zu wenig aus.
Danke im voraus.
Bernhard -
@besc0029 in blockly gibt es den Baustein "nimm das ... Element der Liste"
das dann mit aktualisiere in den DP schreiben. -
@homoran bekomm das irgendwie nicht hin. Wenn ich versuche, das Array zu zerlegen, kommt immer der Fehler:
TypeError: Cannot read properties of undefined (reading 'split')
-
bedeutet das:
alles davor weglassen ?
2624.3, vor 13 monaten
2620.6, vor 12 monaten
3094.1, vor 11 monaten
2092.3, vor 10 monaten
1858.3,vor 9monaten
1073.2, vor 8 monaten
179, vor 7monaten
0, vor 6 monaten
0, vor 5 monaten
0, vor 4 monaten
573.2, vor 3 monaten
633.2, vor 2 monaten
1341.3, letztes monat
0 - dieses monatwas machst du dann mit den datenpunkten ? wie willst du das in der vis anzeigen, oder nicht in der vis ? problem - wenn ein neues monat kommt, muss ein neuer dp erstellt werden und alle inhalte verschoben werden - da wäre es besser mit monatsnamen zu arbeiten
-
@besc0029 sagte: Wenn ich versuche, das Array zu zerlegen
Ein Array kann nicht nochmal zerlegt werden. Ist der Datenpunkt mit der Liste vom Typ "array" oder vom Typ "string" (JSON)?
-
@paul53 Ist vom Typ Array
-
@besc0029 sagte in Array visualisieren:
das Array zu zerlegen,
warum konvertierst du es nach String?
Dann ist es kein Array mehr.was kommt denn als debug?
welchen Typ hat der Datenpunkt? -
Das Blockly sieht richtigerweise wohl so aus:
Aber wie gesagt, hab dann immer noch den Konvertierungsfehler
@liv-in-sky : Das Array ist immer gleich lang. Neue Monate werden durch überschreiben der alten angelegt, d.h. die Anzahl der Werte im Array ist stets konstant.
-
@besc0029 sagte: Ist vom Typ Array
Dann teste es mal so:
EDIT: Mit Trigger:
Wert
findet man unter "Trigger". -
-
@liv-in-sky sagte in Array visualisieren:
wenn der dp vom typ array ist:
Deswegen warten wir suf die Ausgaben vom debug Block
-
Hallo,
habs hinbekommen das Array zu zerlegen:
Jetzt weiss ich nur nicht, wie ich das am Besten in eine Visualisierung packe, so dass bspw. jeder Datenpunkt einen Balken im Diagramm darstellt. Wenn ich alle Verbrauchswerte so wie im Debug in unterschiedliche Datenpunkte schreibe, bekomme ich diese ja nicht sinnvoll in eine visuelle Darstellung überführt.
Wenn ich "in Excel" denke, würde ich ne Pivot-Tabelle machen und daraus ne Visualisierung. Im iOBroker fällt mir aber gar nichts ein - nicht zuletzt, weil die historischen Datenpunkte, wie bspw Verbrauch vor 15 Monaten (mein beispiel wertet das Stunden Array aus, es gibt aber auch Monats und Jahres-Arrays) ja nicht sinnvoll erfasst werden wenn ich die über History-Adapter oder InfluxDB schreibe - dort wäre ja das Änderungsdatum stetas der aktuelle Zeitstempel.
BIn für jede Idee dankbar.
VG
Bernhard -
@besc0029 sagte in Array visualisieren:
dort wäre ja das Änderungsdatum stetas der aktuelle Zeitstempel.
BIn für jede Idee dankbar.da die Antwort hierzu ebenfalls noch aussteht, gab es bisher auch keine Hinweise
@homoran sagte in Array visualisieren:@besc0029 sagte in Array visualisieren:
Diese Werte wollte ich jetzt visualisieren,
in welcher Form?
-
eine tabelle bekommst du entweder:
- durch das erstellen eines html codes (z.b. <table>.... )und dem standard html widget
- durch das erstellen eines json's und dann das json widget nutzen
ein balkendiagramm ginge über material-design chart json widget - etwas kompliziert zu erstellen https://github.com/Scrounger/ioBroker.vis-materialdesign#bar-chart