NEWS
json datei für Chart aus vorhandenen DP's erstellen
-
@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}| -
fast :-)

von links nach rechts aufsteigend.
manchmal kann ich ja code "interpretieren" aber hier sehe ich nur Bahnhof.
@dos1973 Dann dreh einfach mal das größer Zeichen um - keine Ahnung - warum das so ist.
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}| -
@dos1973 Dann dreh einfach mal das größer Zeichen um - keine Ahnung - warum das so ist.
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}| -
@dos1973 Ich hab den Code nochmal gepostet
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}| -
@dos1973 Ich hab den Code nochmal gepostet
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}| -
@dos1973 Ok dann sag nochmal woher Du den holst und wie sieht der vom value her aus.
sourceanalytix.0.0_userdata__0__mqtt__shellies__Pro3_EM__events__rpc__params__em:0__total_act_power.currentYear.consumed.01_currentDayBzw. muss ich eigentlich nicht wissen - Du holst einfach einen Zahlenwert irgendwoher?
-
@dos1973 Ok dann sag nochmal woher Du den holst und wie sieht der vom value her aus.
sourceanalytix.0.0_userdata__0__mqtt__shellies__Pro3_EM__events__rpc__params__em:0__total_act_power.currentYear.consumed.01_currentDayBzw. muss ich eigentlich nicht wissen - Du holst einfach einen Zahlenwert irgendwoher?
-
Ok bin fertig:
Einfach diese 3 Nodes noch einfügen.

In der get-Node "Verbrauch heute" halt noch den richtigen Pfad zum Datenpunkt einfügen.

Und zum Schluß kann ich immer nur wieder sagen, lernt JSONATA mit diesem Tool - so erstelle ich ja meine Ausdrücke auch, in dem ich diese Stück für Stück zusammensetze. Hier kannst Du ausprobieren, welche Teile welche Auswirkungen haben: https://try.jsonata.org/Dcmx04fzH
-
Ok bin fertig:
Einfach diese 3 Nodes noch einfügen.

In der get-Node "Verbrauch heute" halt noch den richtigen Pfad zum Datenpunkt einfügen.

Und zum Schluß kann ich immer nur wieder sagen, lernt JSONATA mit diesem Tool - so erstelle ich ja meine Ausdrücke auch, in dem ich diese Stück für Stück zusammensetze. Hier kannst Du ausprobieren, welche Teile welche Auswirkungen haben: https://try.jsonata.org/Dcmx04fzH
-
Ok - verstehe zwar wieder nicht warum aber dann tausch einfach in der letzten Change Node (Ergänze Graph) die beiden Parameter in der append Funktion.
$.payload~>|$|{"axisLabels":$append(axisLabels,$$.date)}| ~>|$.graphs|{"data":$append(data,$$.val_today)}|Also in der letzten Node.
-
Ich denke, wenn Du es mir kurz bestätigst, dass ich dann alles wieder löschen kann?
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


