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}|


