Wie das mit JSONATA etc funktioniert muss ich noch lernen. Aber ich habe dank dir jetzt einen Anhaltspunkt und werde hier mal ausprobieren wie weit ich komme.
Danke dir!
Wie das mit JSONATA etc funktioniert muss ich noch lernen. Aber ich habe dank dir jetzt einen Anhaltspunkt und werde hier mal ausprobieren wie weit ich komme.
Danke dir!
Warum machst Du es da nicht auch mit den Delay, oder splittest das wieder auf drei ELemente auf (nochmal ein split)?
Bei den Historischen Werten erhalte ich Einzelmeldungen und kann die ganz einfach über einen Join-Node in einen packen. Das geht auch wunderbar mit InfluxDB.
Nur beim Forecast geht es nicht aufgrund der Arrays of Arrays, wie du auch bestätigst. Hier - und nur hier - arbeite ich mit dem Delay.
Den nötigen Umbau kriege ich noch nicht hin. Node-Red ist mir noch zu unbekannt und auch die InfluxDB ist noch neu für mich. Daher muss ich mich hier langsam herantasten. Mit dem Delay funktioniert alles, es ist nur nicht so schön.
Ähhh. jaja...aber warum schickst Du denn die Nachricht *nach* den Join in den influx-Node?
In meinem Original ist es jeweils *vor* dem Join...das Join nutze ich nur zu debug Zwecken...
Edit: ansonsten musst Du
den Datensatz umbauenDir mal den influxBatch-Node anschauen, damit es als Array of Arrays klappt..
Ich verwende den Join, um aus den Einzelpayloads einen grossen zu bauen.
Den Batch-Node schaue ich mir an, danke dir!
InfluxDB läuft auf einem älteren Synology 1513+ NAS. Nach etwa 150-200 von 336 Nachrichten erhalte ich einen Timeout. Wenn ich aber hier einen "Delay"-Node einbaue (Nachrichtenlimit von 5 Nachrichten/s), dann läuft es ohne Probleme.
Nachdem du in deinem Flow den Payload setzt führe ich mit einem "Join"-Node die Nachrichten zusammen. Daraus ergibt sich dann folgender Payload:
[[{"value":642.5,"time":1641378600000},{"topic":"pv_estimate"}],[{"value":246.5,"time":1641378600000},{"topic":"pv_estimate10"}],[{"value":1378.7,"time":1641378600000},{"topic":"pv_estimate90"}],
[[{"value":642.5,"time":1641378600000},{"topic":"pv_estimate"}],[{"value":246.5,"time":1641378600000},{"topic":"pv_estimate10"}],[{"value":1378.7,"time":1641378600000},{"topic":"pv_estimate90"}]],
[[{"value":642.5,"time":1641378600000},{"topic":"pv_estimate"}],[{"value":246.5,"time":1641378600000},{"topic":"pv_estimate10"}],[{"value":1378.7,"time":1641378600000},{"topic":"pv_estimate90"}]]]
Das sind also Arrays in Arrays. Der "InfluxDB Out"-Node kann das offenbar nicht richtig verarbeiten. Ich erhalte zwar einen Statuscode 200 zurück, aber in der Datenbank kommt nichts an. Schicke ich die Nachrichten einzeln (dann ist es eine "Array-Ebene" weniger), läuft es problemlos durch. Die Doku vom "InfluxDB Out"-Node beschreibt auch die Arrays mit max. 2 Ebenen.
Es funktioniert jetzt problemlos, einzig das Abfeuern der Einzelnachrichten ist nicht nach meinem Geschmack. Mir fehlt aber noch das KnowHow, um das entsprechend anders zu lösen. Die Suche nach dem Problem (Status 200 und trotzdem keine Daten) hat mich fast verrückt gemacht
@hominidae Ich habe deinen Flow bei mir implementiert und leicht modifiziert, da meine InfluxDB-Instanz die vielen Einzelrequests nicht verarbeiten kann. Daher habe ich die Actuals in einen Request gepackt, beim Forecast ist es mir nicht gelungen. Hier arbeite ich mit einer Drossel. Vielen Dank für deine Vorarbeit! Wäre cool, wenn du das mit Einzelrequest für den Forecast lösen könntest. Aktuell hat er bei mir eine "Array-Ebene" zu viel für den Influx-Node...
JSAnyone Ich habe dein Dashboard bei mir importiert, aber die Daten von Solcast werden nicht ausgegeben (der ganze Rest auch nicht). Ich wollte mir nur abschauen, wie du die Abfrage gebaut hast. Hast du das Datenschema von hominidae 1:1 übernommen? Ich habe zwei Dachflächen separat in Solcast abgebildet und würde die Werte gerne im Total ebenfalls darstellen, was mir aber nicht gelingt.
Danke fürs Teilen eurer Arbeit!