Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. InfluxDB mit Tages PV Vorhersage füllen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    InfluxDB mit Tages PV Vorhersage füllen

    This topic has been deleted. Only users with topic management privileges can see it.
    • N
      NetFritz last edited by

      Hallo
      Ich lese die PV-Forecast Stunden Daten von https://api.forecast.solar aus.
      Ich habe die Daten in den Objekten abgelegt.
      Siehe hier:
      Forecast.png
      Nun möchte ich diese Stunden Daten in eine InfluxDB schreiben.
      Dazu muss Value und Zeit in die DB geschrieben werden.
      Dargestellt werden soll das mit Grafana.
      Wie kann ich die Daten in die DB schreiben?
      Gruß NetFritz

      H 1 Reply Last reply Reply Quote 0
      • BBTown
        BBTown last edited by BBTown

        hast Du denn bereits InfluxDB und Grafana installiert sowie die InfluxDB erfolgreich per Adapter im ioBroker integriert?

        Ein Datenpunkt schreibt in die Datenbank, indem Du beim Datenpunkt ganz rechts aussen auf den Schraubenschlüssel klickst und die Aufzeichnung "aktiverst".
        Du solltes zudem unbedingt bei "speichern als" eine genaue Zuweisung des Formats angeben (z.B. "Numerisch")

        fa4a4dfb-9b02-47d5-9451-7e3c6c9557f7-grafik.png

        1 Reply Last reply Reply Quote 0
        • N
          NetFritz last edited by

          Hallo
          InfluxDB und Grafana ist installiert und die Datenpunkte werden auch in die DB geschrieben.
          Das nützt mir aber nichts,
          Es soll alle Datenpunkte aus meinen Bild in einen anderen Datenpunkt geschrieben werden, mit Wert und DatumUhrzeit, nach 00:00 Uhr.
          So das Grafana nach 00:00 Uhr eine Kurve anzeigt.
          Ich habe das bis jetzt mit einem Perl-Script in einer Schleife so gemacht.

          system("curl -i -XPOST 'http://192.168.2.74:8086/write?db=pv_db' --data-binary 'test pv_voraussage=$pv_voraussage $r_time'");
          

          Gruß NetFritz

          BBTown 1 Reply Last reply Reply Quote 0
          • BBTown
            BBTown @NetFritz last edited by

            @NetFritz warum legst Du nicht einfach einen weiteren Datenpunkt an und läßt um 00:00h per Script die Summe der zu addierenden Datnpunkte dort reinschreiben?
            Diesen eneun Datenpunkt schreibst Du dann in die InfluxDB

            1 Reply Last reply Reply Quote 0
            • N
              NetFritz last edited by

              Hallo
              Das geht nicht.
              Ich will nicht die Summe der einzelnen Werte in die die DB schreiben,
              sondern für jede Uhrzeit den Wert.
              Das ergiebt dann in Grafana eine Kurve wie ein Berg.
              Gruß NetFritz

              BBTown 1 Reply Last reply Reply Quote 0
              • BBTown
                BBTown @NetFritz last edited by

                @NetFritz dann haben wir hier ein "Sender/Empfänger" Problem zwischen uns beiden.
                Im ersten Post fragst Du "Wie kann ich die Daten in die DB schreiben?", meine Antwort hierauf war falsch ..... als nächstes heisst es bei dir "alle Datenpunkte aus meinen Bild in einen anderen Datenpunkt", aber eine Summe soll es nicht sein ... ich gebe zu, ich verstehe dich nicht!!

                1 Reply Last reply Reply Quote 0
                • N
                  NetFritz last edited by

                  Hallo
                  Vielleicht kennst Du dich mit der InfluxDB bei dieser Anwendung nicht aus.
                  Ist nicht böse gemeint.
                  Man schreibt im allgemeinen in die DB nur den Wert, die Uhrzeit wird dann
                  automatisch von InfluxDB dazu geschrieben.
                  Man kann aber auch den Wert und eine Uhrzeit in die DB schreiben.
                  So schreibt man in einem Rutsch zB
                  06:00 den Wert 0 rein
                  07:00 den Wert 100
                  08:00 den Wert 200
                  09:00 300
                  10:00 400
                  11:00 500
                  12:00 600
                  13:00 500
                  14:00 400
                  15:00 300
                  16:00 200
                  17:00 100
                  18:00 0
                  Das ergiebt dann eine Kurve wie ein Berg.
                  Mit dem Adapter wird das wohl nicht gehen.
                  Das wird warscheinlich nur mit einem Script gehen.
                  Gesucht wird ein Script das in die InfluxDB schreiben kann.
                  Gruß NetFritz

                  BBTown 1 Reply Last reply Reply Quote 0
                  • BBTown
                    BBTown @NetFritz last edited by

                    @NetFritz sagte in InfluxDB mit Tages PV Vorhersage füllen:

                    Vielleicht kennst Du dich mit der InfluxDB bei dieser Anwendung nicht aus.

                    da wirst Du recht haben 😎

                    1 Reply Last reply Reply Quote 0
                    • N
                      NetFritz last edited by

                      Hallo
                      Ich bin immer noch dran um die InfuxDB mit values und Time zu füllen.
                      Habe mir jetzt mal unter ioBroker.influxdb
                      angesehen.
                      Da gibt es die Möglichkeit write.Point

                      ###writePoint Writes a point to a series - requires database user privileges
                      
                      var point = { attr : value, time : new Date()};
                      writePoint(seriesName, point, options, callback) { }
                      

                      Kann man mit time ein belibiges Datum-Zeit oder Timstring eintragen?

                      Kann man nach der conf vom iobroker-influx dann writePoint aufrufen?
                      Gruß NetFritz

                      1 Reply Last reply Reply Quote 0
                      • N
                        NetFritz last edited by

                        Hallo
                        Habe mal ein Script auf Basis von node-influx erstellt.

                        var influx = require('influx')
                        
                        var client = influx({
                        
                          // single-host configuration
                          host : '192.168.2.107',
                          port : 8086, // optional, default 8086
                          protocol : 'http', // optional, default 'http'
                          database : 'iobroker'
                        })
                        var value = 1111122331;
                        var seriesName = "forecast";
                        
                        var point = { attr : value, time : new Date('2019-04-22 17:00:00')};
                        
                        client.writePoint(seriesName, point);
                        

                        Das Script läuft und trägt die Daten in der InfluxDB ein.
                        Auch der Zeitspempel wird so eingetragen.
                        Gehe ich aber bei und ändere ich das Datum auf ein Tag in die Zukunft
                        dann wird nichts mehr eingetragen.
                        Muss man irgendwo was einstellen, das es auch für die Zukunft (nächster Tag) geht?
                        Gruß NetFritz

                        1 Reply Last reply Reply Quote 0
                        • N
                          NetFritz last edited by

                          Hallo
                          Zur Info.
                          Die Daten werden nun in die InfluxDB eingetragen.
                          Die verflixte DB Abfrage mit Port:8083 hat mich durcheinander gebracht.
                          Frage ich mit "SELECT * FROM forecast" die DB ab, dann wird in der Abfrage
                          immer nur bis zur aktuellen Uhrzeit angezeigt.
                          Als ich die Abfrage in Grafa eingetragen habe ist unter Today der ganze Tag
                          zu sehen.
                          Stelle ich unter Time range Das Datum von Heute bis Morgen ein,
                          Dann sind auch Heute und Morgen in Grafana zu sehen.
                          Gruß NetFritz

                          1 Reply Last reply Reply Quote 0
                          • H
                            hofmachr @NetFritz last edited by

                            @NetFritz hallo, ich würde gerne die PV Produktion für den nächsten Tag berechnen - bin aber KEIN Techniker. Wie bekommst du diese werte aus dem API von forecast.solar - kannst du das script / blockly sharen ?

                            1 Reply Last reply Reply Quote 2
                            • H
                              hacki11 last edited by hacki11

                              Ich bin auch gerade dabei die Forecasts von Ertragsberechnungen in die Hausautomatisierung zu integrieren.

                              Ich schreibe die forecast.solar Daten mit Telegraf direkt in die InfluxDB ohne über IOBroker zu gehen.
                              Hier meine Config für die Telegraf Input:

                              [[inputs.http]]
                                urls = [
                                  "https://api.forecast.solar/estimate/watts/<lat>/<lon>/<degree>/<az>/<kwp>?time=utc"
                                ]
                              
                                headers = {"accept" = "text/csv", "X-Delimiter" = "|", "X-Separator" = ";"}
                              
                                data_format = "csv"
                                name_override = "pvForecastWatts"
                                interval = "3600s"
                                csv_header_row_count = 0
                                csv_column_names = ["time","value"]
                                csv_delimiter = ";"
                                csv_timestamp_column = "time"
                                csv_timestamp_format = "2006-01-02T15:04:05-07:00"
                              
                              [[inputs.http]]
                                urls = [
                                  "https://api.forecast.solar/estimate/watthours/<lat>/<lon>/<degree>/<az>/<kwp>?time=utc"
                                ]
                              
                                headers = {"accept" = "text/csv", "X-Delimiter" = "|", "X-Separator" = ";"}
                              
                                data_format = "csv"
                                name_override = "pvForecastWattHours"
                                interval = "3600s"
                                csv_header_row_count = 0
                                csv_column_names = ["time","value"]
                                csv_delimiter = ";"
                                csv_timestamp_column = "time"
                                csv_timestamp_format = "2006-01-02T15:04:05-07:00"
                              
                              
                              [[inputs.http]]
                                urls = [
                                  "https://api.forecast.solar/estimate/watthours/day/<lat>/<lon>/<degree>/<az>/<kwp>?time=utc"
                                ]
                              
                                headers = {"accept" = "text/csv", "X-Delimiter" = "|", "X-Separator" = ";"}
                              
                                data_format = "csv"
                                name_override = "pvForecastWattHoursDay"
                                interval = "3600s"
                                csv_header_row_count = 0
                                csv_column_names = ["time","value"]
                                csv_column_types = []
                                csv_delimiter = ";"
                                csv_timestamp_column = "time"
                                csv_timestamp_format = "2006-01-02T15:04:05-07:00"
                              
                              G 1 Reply Last reply Reply Quote 0
                              • G
                                geka79 @hacki11 last edited by

                                @hacki11
                                leider bekomme ich Telegraf nicht zum laufen... gibt es ein passende Quelle, wo man sich schlau machen könnte?
                                Ich versuchs schon eine Weile, leider ohne Erfolg... 😞

                                danke

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  stenmic @geka79 last edited by

                                  @geka79
                                  Falls es jemand von euch braucht, ich schreibe mit Java Value und Time in die Datenbank.

                                  Hier ein Beispiel:

                                  sendTo('influxdb.0', 'storeState', {id: 'Temperaturen.Außen.Tagesdurchschnitt2', state: {ts: (new Date().getTime()) - 86400000, val: getState("javascript.0.Aussentemperaturen.Tagesdurchschnitt.Durchschnitt").val, ack: true, from: "javascript.0", q: 0}});
                                  

                                  Gruß

                                  1 Reply Last reply Reply Quote 0
                                  • moppel2810
                                    moppel2810 last edited by

                                    Hallo Leute, ich versuche seit Tagen die Werte aus dem pv.forecast Adapter in grafana darzustellen und schaffe es nicht. Wie bekomm ich die Werte aus dem Adapter in grafana? Gibt es da ein Schritt für Schritt Anleitung?

                                    P 1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    417
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    7
                                    16
                                    3097
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo