Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Diagramm für Wettervorhersage

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Diagramm für Wettervorhersage

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      anno171986 last edited by Homoran

      @mcu Das ist nun wiederum eine textuelle Darstellung, die ich schon habe.

      Bild: (http://www.heit-tech.de/wetter/bergneustadt/mini_currentt.gif)
      sowas würde ich gerne für die VORHERSAGE haben. Und die Vorhersage habe ich in Datenpunkten von dem Adapter "daswetter"

      • Ordner
        Datenpunkt Temp (z.B. 5 Grad)
        Datenpunkt Uhrzeit (02:00)
      • Ordner
        Datenpunkt Temp (z.B. 7 Grad)
        Datenpunkt Uhrzeit (05:00)
      • Ordner
        Datenpunkt Temp (z.B. 8 Grad)
        Datenpunkt Uhrzeit (08:00)
      • Ordner
        Datenpunkt Temp (z.B. 10 Grad)
        Datenpunkt Uhrzeit (11:00)
      • Ordner
        Datenpunkt Temp (z.B. 12 Grad)
        Datenpunkt Uhrzeit (14:00)
      • Ordner
        Datenpunkt Temp (z.B. 10 Grad)
        Datenpunkt Uhrzeit (17:00)
      • Ordner
        Datenpunkt Temp (z.B. 7 Grad)
        Datenpunkt Uhrzeit (20:00)
      • Ordner
        Datenpunkt Temp (z.B. 5 Grad)
        Datenpunkt Uhrzeit (23:00)
      M 1 Reply Last reply Reply Quote 0
      • A
        anno171986 last edited by

        @sigi234 Falls du das hier meinst
        GIF
        Das ist eine Darstellung der Vergangenheit, ich möchte die Darstellung der Zukunft. Die werte habe ich halt nicht mit Zeitstempel in der Datenbank, das ist das Problem.

        1 Reply Last reply Reply Quote 0
        • M
          MCU @anno171986 last edited by

          @anno171986
          Nur die Temperatur oder auch andere Werte?

          Für einen Tag oder direkt mehrere?

          1e075548-2143-4c58-b708-d5e620fc4d94-image.png

          A 1 Reply Last reply Reply Quote 0
          • A
            anno171986 @MCU last edited by anno171986

            @mcu
            EDIT: ist doch noch zu früh. Nicht richtig geguckt. Wie hast du das umgesetzt? Temperatur und Niederschlag wäre meine Ziel.

            Original:
            Sieht gut aus. Ich kenne und nutze den eChart Adapter auch. Aber auch da ist das Problem, das er die Werte aus der Datenbank bekommt die aus einem Datenpunkt dort eingetragen wurden. Die Werte werden bei Änderung mit dem dann aktuellen Zeitpunkt der Änderung in die Datenbank geschrieben. Das geht jedoch nur, für Vergangenheit bzw aktuelle Werte. Ich möchte jedoch die Zukunft darstellen.

            Erstens habe ich nicht nur einen Datenpunkt, sondern 8 Datenpunktpaare und zweitens ist der Zeitpunkt der Änderung nicht gleich der Zeit, die ich auf der X-Achse anzeigen möchte. D.h. der Datenpunkt der Temperaturvorhersage (z.b. für heute 20 Uhr) Ändert sich zu einer anderen Zeit (z.b. heute 8 Uhr und nochmal um 15 Uhr). Wenn ich den Datenpunkt also mit dem SQL Adapter loggen lassen, wird er die Temperatur für 20.Uhr um 8 Uhr und um 15 Uhr anzeigen. Ich möchte einmal am Tag
            (z.b. frühs um 6 Uhr) alle Vorhersagen nehmen und daraus entsprechend ein Diagramm erstellen.

            Eine Lösung wäre z.b. wenn ich per Skript Daten in die Datenbank eintragen kann und ich den Zeitstempel so manipulieren, dass er nicht den Zeitstempel der änderung da rein schreibt, sondern den für wann diese Temperatur gilt (in der Zukunft). Das habe ich jedoch noch keinen Ansatz, wie das gehen kann.

            M 1 Reply Last reply Reply Quote 0
            • M
              MCU @anno171986 last edited by MCU

              @anno171986 Script ist fertig. Muss ich noch dokumentieren. Also mehrere Tage?Andere Werte?
              Im Script sind

              Temperatur
              Luftfeuchtigkeit
              Wind
              UV Index
              Regenmenge
              Luftdruck

              Für einen Tag day1

              1 Tag -> heute Abend
              Mehrere Tage -> dauert ein wenig

              A 1 Reply Last reply Reply Quote 1
              • A
                anno171986 @MCU last edited by

                @mcu ich nehme es so, wie es dir am besten passt. Ich hatte mir gedacht immer nur einen Tag in ein Diagramm, aber vlt dann auch die Vorschau für in x Tagen (also für in 2 bis 5 Tagen).

                M 1 Reply Last reply Reply Quote 0
                • M
                  MCU @anno171986 last edited by

                  @anno171986
                  Dann schau es Dir mal an.
                  https://mcuiobroker.gitbook.io/jarvis-infos/tipps/scripte-blockly-javascript/javascript/history-adapter/daswetter-futurehistory

                  A 2 Replies Last reply Reply Quote 1
                  • A
                    anno171986 @MCU last edited by

                    @mcu schonmal Recht vielen Dank. Habe mir jetzt erstmal nur die Beschreibung angeguckt, werde es heute nicht mehr testen können. Geht es nur mit dem History Adapter/DB oder auch mit SQL?

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @anno171986 last edited by

                      @anno171986
                      Zurzeit nur history.0.
                      Bin noch dabei es für andere Adapter (influxdb, sql) und unterschiedliche Instanzen vorzubereiten.

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        anno171986 @MCU last edited by

                        @mcu setzt du das mit SQL zeitnah um? Dann muss ich nicht extra einen neuen Adapter und evtl neue Datenbank anlegen.
                        Da ich auch noch einen Fehler mit canvas habe, kann ich das Diagramm wahrscheinlich eh nicht per telegram schicken, was mein Ziel ist, daher ist zeitnah relativ weit gefasst.

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MCU @anno171986 last edited by MCU

                          @anno171986 Doku aktualisieren. Ist umgesetzt, schon gestern.
                          Programm Version 1.0.6

                          A 2 Replies Last reply Reply Quote 1
                          • A
                            anno171986 @MCU last edited by

                            @mcu super, ich hatte wie gesagt noch keine Zeit zum testen, ich hoffe heute Abend

                            1 Reply Last reply Reply Quote 0
                            • A
                              anno171986 @MCU last edited by

                              @mcu Hallo, ich habe es jetzt das erste Mal ausprobiert. Es kallp schonmal soweit, dass die Datenpunkte gesetzt werden.

                              Ich nutze daswetter.0.NextDaysDetailed.Location_1.Day_1.Hour_1.hour_value, das habe ich auch angepasst. Dort ist jedoch .Hour_8, das maximum, da nur alle 3 Stunden Werte vorhanden sind. Dazu bekomme ich im Log bekomme ich jetzt den Fehler:

                              javascript.0
                              	2022-11-19 20:29:55.157	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.157	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.157	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.157	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.156	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.155	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.155	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.155	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.154	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_22.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.155	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.155	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_23.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.153	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.153	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.154	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.153	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.152	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_21.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.153	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.151	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.151	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.152	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.151	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.150	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_20.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.151	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.149	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.149	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.150	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.149	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.149	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.148	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.147	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.147	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.147	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_19.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.146	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.146	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.146	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.145	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_18.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.142	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.141	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.141	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.140	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_17.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.141	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.141	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.139	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.139	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.139	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.138	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_16.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.139	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.137	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.137	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.137	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.138	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.136	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_15.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.136	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.137	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.137	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.136	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.135	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                              javascript.0
                              	2022-11-19 20:29:55.136	warn	at processTimers (node:internal/timers:502:7)
                              javascript.0
                              	2022-11-19 20:29:55.135	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_14.uv_index_value" not found (3)
                              javascript.0
                              	2022-11-19 20:29:55.134	warn	at listOnTimeout (node:internal/timers:559:17)
                              javascript.0
                              	2022-11-19 20:29:55.135	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                              javascript.0
                              	2022-11-19 20:29:55.134	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                              javascript.0
                              	2022-11-19 20:29:55.134	warn	at processTimers (node:internal/timers:502:7)
                              

                              Und dann noch einen Fehler bezüglich doppelter Einträge in der DB:

                              sql.0
                              	2022-11-19 20:29:58.507	error	Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (32, 1669071600000, 14, 0, 8, 0);: Error: Duplicate entry '32-1669071600000' for key 'PRIMARY' (id: 0_userdata.0.daswetter.futureWind)
                              sql.0
                              	2022-11-19 20:29:58.488	error	Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (31, 1669071600000, 0, 0, 8, 0);: Error: Duplicate entry '31-1669071600000' for key 'PRIMARY' (id: 0_userdata.0.daswetter.futureUV_Index)
                              sql.0
                              	2022-11-19 20:29:58.481	error	Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (32, 1669068000000, 17, 0, 8, 0);: Error: Duplicate entry '32-1669068000000' for key 'PRIMARY' (id: 0_userdata.0.daswetter.futureWind)
                              sql.0
                              	2022-11-19 20:29:58.464	error	Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (31, 1669068000000, 0, 0, 8, 0);: Error: Duplicate entry '31-1669068000000' for key 'PRIMARY' (id: 0_userdata.0.daswetter.futureUV_Index)
                              sql.0
                              	2022-11-19 20:29:58.459	error	Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (32, 1669057200000, 16, 0, 8, 0);: Error: Duplicate entry '32-1669057200000' for key 'PRIMARY' (id: 0_userdata.0.daswetter.futureWind)
                              sql.0
                              	2022-11-19 20:29:58.456	error	Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (28, 1669071600000, 94, 0, 8, 0);: Error: Duplicate entry '28-1669071600000' for key 'PRIMARY' (id: 0_userdata.0.daswetter.futureHumidity)
                              
                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @anno171986 last edited by MCU

                                @anno171986 Was hast du in den DP eingetragen?
                                0_userdata.0.daswetter.daswetterDP

                                Zeig bitte die Datenstruktur von
                                daswetter.0.NextDaysDetailed.Location_1.Day_1

                                A 2 Replies Last reply Reply Quote 0
                                • A
                                  anno171986 @MCU last edited by anno171986

                                  @mcu daswetter.0.NextDaysDetailed.Location_1.Day_1

                                  Es geht ja soweit. Das Problem ist nur, dass er nicht bei daswetter.0.NextDaysDetailed.Location_1.Day_1.Hour_8.hour_value aufhört, sondern bis daswetter.0.NextDaysDetailed.Location_1.Day_1.Hour_24.hour_value weiter sucht, die es aber ab daswetter.0.NextDaysDetailed.Location_1.Day_1.Hour_9.hour_value nicht mehr gibt. Deibne Unterscheidung ob Werte für jede, oder nur jede 3 Stunden da sind, scheint nicht ganz zu funktionieren, jedenfalls für daswetter.0.NextDaysDetailed.Location_1 nicht

                                  M 1 Reply Last reply Reply Quote 0
                                  • A
                                    anno171986 @MCU last edited by

                                    @mcu hier erstmal das Ergebnis, dass es funktioniert:
                                    Diagramm.PNG

                                    Und hier die Struktur:
                                    Struktur.PNG

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @anno171986 last edited by

                                      @anno171986 Das kann es eigentlich nicht, da er nur die Hour-Werte liest, die auch da sind!

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        anno171986 @MCU last edited by

                                        @mcu Habe es gerade nochmal durchlaufen lassen;

                                        javascript.0
                                        	2022-11-19 20:59:52.338	warn	at processTimers (node:internal/timers:502:7)
                                        javascript.0
                                        	2022-11-19 20:59:52.338	warn	at listOnTimeout (node:internal/timers:559:17)
                                        javascript.0
                                        	2022-11-19 20:59:52.338	warn	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2396:34)
                                        javascript.0
                                        	2022-11-19 20:59:52.338	warn	at Object.<anonymous> (script.js.common.DasWetter_Vorhersage:44:9)
                                        javascript.0
                                        	2022-11-19 20:59:52.338	warn	at getWeatherData (script.js.common.DasWetter_Vorhersage:451:44)
                                        javascript.0
                                        	2022-11-19 20:59:52.337	warn	getState "daswetter.0.NextDaysDetailed.Location_1.Day_3.Hour_20.uv_index_value" not found (3)
                                        

                                        Bei uv_index_value scheint er bis 24 zu suchen.

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          MCU @anno171986 last edited by

                                          @anno171986 Du hast die Dir Version (detailed) ausgesucht, die ich nicht getestet hatte. Hole mir gerade die Daten. Mal sehen.

                                          A 2 Replies Last reply Reply Quote 0
                                          • A
                                            anno171986 @MCU last edited by

                                            @mcu Alles gut. Soweit funktioniert es ja, dass sind jetzt Details. Ich habe jetzt noch ein viel größeres Problem zu lösen. Ich versuche mir das Diagramm per Telegram schicken zu lassen, da kommt dann leider folgender Fehler;

                                            Cannot find required modules: Error: The module '/opt/iobroker/node_modules/canvas/build/Release/canvas.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 72. This version of Node.js requires NODE_MODULE_VERSION 93. Please try re-compiling or re-installing the module (for instance, using `npm rebuild` or `npm install`).
                                            

                                            Habe schon ziemlich viele Tipps aus dem Netz versucht, aber alles ohne Erfolg.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            384
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            40
                                            2348
                                            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