NEWS
json datei für Chart aus vorhandenen DP's erstellen
-
@dos1973 Ja aber das Objekt wie im Debug muss genauso im iobroker erscheinen - das kann nicht sein, dass die axisLabels fehlen. Wie gesagt nur die ersten 10 - muss ich noch bissi arbeiten, weil die List Node erst mal alles ausliest.
-
@mickym
gibt noch ein Problem.das Heutige Datum existiert nicht als DP.
und
die Quelle für den Verbrauch für den Heutigen Tag liegt hier:sourceanalytix.0.0_userdata__0__mqtt__shellies__Pro3_EM__events__rpc__params__em:0__total_act_power.currentYear.consumed.01_currentDay -
@mickym
gibt noch ein Problem.das Heutige Datum existiert nicht als DP.
und
die Quelle für den Verbrauch für den Heutigen Tag liegt hier:sourceanalytix.0.0_userdata__0__mqtt__shellies__Pro3_EM__events__rpc__params__em:0__total_act_power.currentYear.consumed.01_currentDay -
@dos1973 darum kümmern wir uns später - eins nach dem anderen. Hast du jetzt mal überprüft on das Objekt im iobroker Datenpunkt mit dem Debug Fenster in Node Red identisch ist?
-
@mickym ?
kann dir nicht folgen...ich hatte den Root folder ursprünglich in deinem export nicht gewählt...
@dos1973 So tausch mal in der Change Node Analyse den Code wie folgt:
Dann sollten jetzt nur die Tage Datum-1 bis Datum-10 und Verbrauch-1 bis Verbrauch-10 ausgefiltert sein.
Halt nein 20 und 30 sind jetzt auch drin- warte .... - (schlimm wenn man die Daten selbst nicht hat)
So müsste es stimmen:
payload.{"xasisLabels": [_id~>/(Datum-\d$|Datum-10$)/] ? val, "data" : [_id~>/(Verbrauch-\d$|Verbrauch-10$)/] ? val} -
@dos1973 So tausch mal in der Change Node Analyse den Code wie folgt:
Dann sollten jetzt nur die Tage Datum-1 bis Datum-10 und Verbrauch-1 bis Verbrauch-10 ausgefiltert sein.
Halt nein 20 und 30 sind jetzt auch drin- warte .... - (schlimm wenn man die Daten selbst nicht hat)
So müsste es stimmen:
payload.{"xasisLabels": [_id~>/(Datum-\d$|Datum-10$)/] ? val, "data" : [_id~>/(Verbrauch-\d$|Verbrauch-10$)/] ? val} -
@mickym : nicht ganz, es sind 12 Tage, heute fehlt... und die Reihenfolge ist nicht sortiert

- edit:es sind auch nicht die letzten 10, da u.a. auch der 10.10 aufgeführt
@mickym Wie gesagt mit dem heute - da muss der gesamte Flow noch ergänzt werden.
payload.{"xasisLabels": [_id~>/(Datum-(\d|10)$)/] ? val, "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? val}Schau mal ob bis auf heute alles richtig ist - sortieren kommt gleich. Das Dumme ist das Du den 10. Datenpunkt 10 genannt hast. und nicht von 0-9
-
@mickym Wie gesagt mit dem heute - da muss der gesamte Flow noch ergänzt werden.
payload.{"xasisLabels": [_id~>/(Datum-(\d|10)$)/] ? val, "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? val}Schau mal ob bis auf heute alles richtig ist - sortieren kommt gleich. Das Dumme ist das Du den 10. Datenpunkt 10 genannt hast. und nicht von 0-9
-
@dos1973 So tausch mal in der Change Node Analyse den Code wie folgt:
Dann sollten jetzt nur die Tage Datum-1 bis Datum-10 und Verbrauch-1 bis Verbrauch-10 ausgefiltert sein.
Halt nein 20 und 30 sind jetzt auch drin- warte .... - (schlimm wenn man die Daten selbst nicht hat)
So müsste es stimmen:
payload.{"xasisLabels": [_id~>/(Datum-\d$|Datum-10$)/] ? val, "data" : [_id~>/(Verbrauch-\d$|Verbrauch-10$)/] ? val} -
@mickym Warte hab den Fehler.
payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? val, "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? val}Ich hab unten immer xaxisLabels geschrieben.
-
@mickym
es wird wärmer ;-)
es muss aber andersherum... und der 30.10/ 31.10 sind auch nicht in der richtigen reihenfolge.lässt sich das nicht hardcoden, dp-10, dp-9...

-
@dos1973 Ich bin dran. ;) Wie gesagt das Dumme ist dass Du -1 und -10 gemacht hast und damit wird es nach Zeichenketten sortiert und da kommt nun mal 1 und 10 vor 2.
-
@dos1973 Eigentlich
-00, -01, etc. - aber ich wandle es nun in Zahlen um. Dauert halt bissi. -
brauche ich wirklich ein Blockly mit cronjob,
dass meinen DP triggert, damit das nodeRed zb alle 10min läuft :-)
suche noch ein 10min Trigger -
So damit sollte es nun gehen:
payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data} ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id > $r.id}),"data":$sort(data,function($l,$r){$l.id > $r.id})}| ~>|$|{"axisLabels": axisLabels.date,"data":data.val}| -
So damit sollte es nun gehen:
payload.{"axisLabels": [_id~>/(Datum-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "date":val}, "data" : [_id~>/(Verbrauch-(\d|10)$)/] ? {"id": $number((_id~>/(\d|10)$/).match), "val":val}}{"axisLabels":axisLabels,"data":data} ~>|$|{"axisLabels":$sort(axisLabels,function($l,$r){$l.id > $r.id}),"data":$sort(data,function($l,$r){$l.id > $r.id})}| ~>|$|{"axisLabels": axisLabels.date,"data":data.val}|
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden


