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.
    • 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

                                  736
                                  Online

                                  31.9k
                                  Users

                                  80.1k
                                  Topics

                                  1.3m
                                  Posts

                                  7
                                  16
                                  3107
                                  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