Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 153 Kommentatoren 3.8m Aufrufe 134 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M MartyBr

    @rushmed Ich dachte, dass sind die Tageshöchst- oder Tagesmindesttemperaturen. Dann lasse ich das mal weitere 363 Tage laufen :innocent:

    R Offline
    R Offline
    Rushmed
    Most Active
    schrieb am zuletzt editiert von Rushmed
    #3577

    @martybr Sorry, meine aussage bezog sich auf die DPs mit 365t.
    Bei mir siehts so aus, ich hab aber vor Kurzem alle Daten zurückgesetzt.
    49934952-d9a6-40da-a38f-17f0c436d189-grafik.png

    Edit: Ich seh gerade, da stimmt was nicht mit den heutigen min-, max-Werten
    e20710f4-0cb4-405a-a16c-03407abd0f7c-grafik.png

    M 1 Antwort Letzte Antwort
    0
    • R Rushmed

      @martybr Sorry, meine aussage bezog sich auf die DPs mit 365t.
      Bei mir siehts so aus, ich hab aber vor Kurzem alle Daten zurückgesetzt.
      49934952-d9a6-40da-a38f-17f0c436d189-grafik.png

      Edit: Ich seh gerade, da stimmt was nicht mit den heutigen min-, max-Werten
      e20710f4-0cb4-405a-a16c-03407abd0f7c-grafik.png

      M Offline
      M Offline
      MartyBr
      schrieb am zuletzt editiert von
      #3578

      @rushmed Vielleicht ist da ein Problem in dem Script. Welcher Version setzt du ein?

      Gruß
      Martin


      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
      Raspeberry mit USB Leseköpfen für Smartmeter
      Homematic und Homematic IP

      R 1 Antwort Letzte Antwort
      0
      • M MartyBr

        @rushmed Vielleicht ist da ein Problem in dem Script. Welcher Version setzt du ein?

        R Offline
        R Offline
        Rushmed
        Most Active
        schrieb am zuletzt editiert von
        #3579

        @martybr Beide Scripte sind aktuell.

        M 1 Antwort Letzte Antwort
        0
        • R Rushmed

          @martybr Beide Scripte sind aktuell.

          M Offline
          M Offline
          MartyBr
          schrieb am zuletzt editiert von
          #3580

          @rushmed
          Ich setze die 2.11.1 ein. Welche zwei Scripte setzt du ein? Auch das Statistik-Script?

          Gruß
          Martin


          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
          Raspeberry mit USB Leseköpfen für Smartmeter
          Homematic und Homematic IP

          R 1 Antwort Letzte Antwort
          0
          • M MartyBr

            @rushmed
            Ich setze die 2.11.1 ein. Welche zwei Scripte setzt du ein? Auch das Statistik-Script?

            R Offline
            R Offline
            Rushmed
            Most Active
            schrieb am zuletzt editiert von
            #3581

            @martybr
            wetterstation-statistik.js V1.0.1
            wetterstation.sh V2.11.1

            M 1 Antwort Letzte Antwort
            0
            • R Rushmed

              @martybr
              wetterstation-statistik.js V1.0.1
              wetterstation.sh V2.11.1

              M Offline
              M Offline
              MartyBr
              schrieb am zuletzt editiert von MartyBr
              #3582

              @rushmed
              Ich habe nun auch das Statistik-Script in der aktuellen Version 1.0.1 installiert. Es liefert leider immer den Fehler

              Fehler beim Lesen der InfluxDB: Invalid call
              

              Hast du den String in

                //InfluxDB abfragen (Regen +1min Startverzögerung wg. ev. Ungenauigkeit der Systemzeit des Wetterstation-Displays)
                          sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query', 
                          'select * FROM "' + WET_DP + '.Aussentemperatur" WHERE time >= ' + (start *1000000) + ' AND time <= ' + (end *1000000)
                           + '; select * FROM "' + WET_DP + '.Wind_max" WHERE time >= '  + (start *1000000) + ' AND time <= ' + (end *1000000)
                           + '; select * FROM "' + WET_DP + '.Regen_Tag" WHERE time >= ' + ((start+72000) *1000000) + ' AND time <= ' + (end *1000000)
                       , function (result) {
                           //Anlegen der Arrays + befüllen mit den relevanten Daten
                          if (result.error) {
                             console.error('Fehler beim Lesen der InfluxDB: '+result.error);
                             Statusmeldung('Fehler beim Lesen der InfluxDB: '+result.error);
                          } else {
                              //console.log('Rows: ' + JSON.stringify(result.result[2]));
                              for (let i = 0; i < result.result[0].length; i++) { temps[i] = result.result[0][i].value; }
                              for (let i = 0; i < result.result[1].length; i++) { wind[i] = result.result[1][i].value; }
                              for (let i = 0; i < result.result[2].length; i++) { regen[i] = result.result[2][i].value; }
                          }    
              

              auf InfluxDB V2 angepasst?

              Edit:
              Habe folgende Log-Einträge:

              
              javascript.0
              2022-03-02 09:18:07.870	info	Stop script script.js.Wetterstation.Statistik_Wetterstation
              
              javascript.0
              2022-03-02 09:16:00.189	warn	TypeError: Reduce of empty array with no initial value at Array.reduce (<anonymous>) at Object.cb (script.js.Wetterstation.Statistik_Wetterstation:741:43) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5809:71) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:322:37) at processImmediate (internal/timers.js:464:21)
              
              javascript.0
              2022-03-02 09:16:00.185	warn	States system pmessage io.messagebox.system.adapter.javascript.0 {"command":"query","message":{"result":[],"error":"Invalid call"},"from":"system.adapter.influxdb.0","callback":{"message":"select * FROM \"0_userdata.0.Wetterstation.Aussentemperatur\" WHERE time >= 1646089200000000000 AND time <= 1646175599000000000; select * FROM \"0_userdata.0.Wetterstation.Wind_max\" WHERE time >= 1646089200000000000 AND time <= 1646175599000000000; select * FROM \"0_userdata.0.Wetterstation.Regen_Tag\" WHERE time >= 1646089272000000000 AND time <= 1646175599000000000","id":1,"ack":true,"time":1646208960014},"_id":61369237} Reduce of empty array with no initial value
              
              javascript.0
              2022-03-02 09:16:00.184	error	script.js.Wetterstation.Statistik_Wetterstation: Fehler beim Lesen der InfluxDB: Invalid call
              
              influxdb.0
              2022-03-02 09:16:00.158	error	queries: Error: 3 Error happened while processing 3 queries
              
              influxdb.0
              2022-03-02 09:16:00.158	warn	Error in query " select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1646089272000000000 AND time <= 1646175599000000000": HttpError: error @1:2-1:8: undefined identifier selecterror @1:11-1:15: undefined identifier FROMerror @1:55-1:60: undefined identifier WHEREerror @1:61-1:65: (v:A) => time is not Equatableerror @1:89-1:92: undefined identifier ANDerror @1:93-1:97: (v:A) => time is not Equatable
              
              influxdb.0
              2022-03-02 09:16:00.151	warn	Error in query " select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1646089200000000000 AND time <= 1646175599000000000": HttpError: error @1:2-1:8: undefined identifier selecterror @1:11-1:15: undefined identifier FROMerror @1:54-1:59: undefined identifier WHEREerror @1:60-1:64: (v:A) => time is not Equatableerror @1:88-1:91: undefined identifier ANDerror @1:92-1:96: (v:A) => time is not Equatable
              
              influxdb.0
              2022-03-02 09:16:00.141	warn	Error in query "select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1646089200000000000 AND time <= 1646175599000000000": HttpError: error @1:1-1:7: undefined identifier selecterror @1:10-1:14: undefined identifier FROMerror @1:61-1:66: undefined identifier WHEREerror @1:67-1:71: (v:A) => time is not Equatableerror @1:95-1:98: undefined identifier ANDerror @1:99-1:103: (v:A) => time is not Equatable
              

              Gruß
              Martin


              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
              Raspeberry mit USB Leseköpfen für Smartmeter
              Homematic und Homematic IP

              1 Antwort Letzte Antwort
              0
              • SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #3583

                Die 365Tage lassen wir mal außen vor, da muss man halt schon mindestens ein Jahr loggen ;)
                Da aber "Heute" und "letzte 24h" im 15 Minuten-Raster generiert werden, liegen diese spätestens zur nächsten vollen (00, 15, 30 oder 45) Viertelstunde vor.
                "Heute" ist allerdings um Mitternacht ein Sonderfall, da bedingt durch die Usereinstellungen wie viel Datenpunkte im RAM gehalten werden sollen, es nicht sichergestellt ist, dass wirklich schlag 0:00 Uhr auch schon ein Wert der Außentemperatur vorliegt (für "letzte 24h" wird immer mal ein Wert vorliegen, notfalls steht dann halt "(null)" da). Es könnte dann also sein, dass bis zum nächsten Update um 0:15 Uhr oftmals kein Messwert vorliegt/angezeigt wird.
                Deswegen wird, falls kein Min-/Max-Wert ermittelt werden konnte, einfach die aktuelle Außentemperatur angezeigt. Würde in dem Fall ja stimmen, denn wenn ich nur einen Messwert habe, stellt der Min-, Max- und Durchschnittstemperatur gleichermaßen dar. Erst wenn ich einen davon abweichenden Messwert erhalte sind die drei unterschiedlich.

                Lange Rede, kurzer Sinn. Das Fehlerbild zeigt eindeutig, das ihr keine Verbindung zur InfluxDB habt, deswegen sind die "24h" nur "(null)" (=kein Wert gelesen) und die Min-/Max-Temp identisch, da er auch hier nix aus der InfluxDB lesen konnte aber dann dafür die akt. Außentemperatur nutzt...

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  MartyBr
                  schrieb am zuletzt editiert von
                  #3584

                  @sborg Das ist ja genau die Frage. Mit dem folgenden Code kann ich auf dem Influx-Server die Daten abrufen:

                  influx query 'from(bucket:"iobroker") |> range(start:-15m) |> filter(fn: (r) => r._measurement == "proxmox.0.node_pve.cpu")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                  

                  Da bekomme ich auch Ergebnisse. Ich habe nun versucht, den Code im Statistik-Script anzupassen. Ich bekomme leider immer wieder Script Fehler:

                             //InfluxDB abfragen (Regen +1min Startverzögerung wg. ev. Ungenauigkeit der Systemzeit des Wetterstation-Displays)
                              sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query', 
                              ' FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Aussentemperatur")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                               + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Wind_max")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                               + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Regen_Tag")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                           , function (result) {
                               //Anlegen der Arrays + befüllen mit den relevanten Daten
                              if (result.error) {
                                 console.error('Fehler beim Lesen der InfluxDB: '+result.error);
                                 Statusmeldung('Fehler beim Lesen der InfluxDB: '+result.error);
                              } else {
                                  //console.log('Rows: ' + JSON.stringify(result.result[2]));
                                  for (let i = 0; i < result.result[0].length; i++) { temps[i] = result.result[0][i].value; }
                                  for (let i = 0; i < result.result[1].length; i++) { wind[i] = result.result[1][i].value; }
                                  for (let i = 0; i < result.result[2].length; i++) { regen[i] = result.result[2][i].value; }
                              }            
                  

                  Vielleicht kann mir hier ein Fachmann helfen?

                  Gruß
                  Martin


                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                  Raspeberry mit USB Leseköpfen für Smartmeter
                  Homematic und Homematic IP

                  J 1 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    @martybr Da muss ich erst mal selbst schauen, offiziell wird aktuell nur 1.x unterstützt. Für die 2er habe ich noch keine Zeit gefunden zu migrieren.

                    R Offline
                    R Offline
                    Rushmed
                    Most Active
                    schrieb am zuletzt editiert von
                    #3585

                    Ich nutze InfluxDB 2.1.1.
                    In der Conf habe ich die Zugangsdaten zu meiner auf V1 gemappten DB eingetragen die ich auch für den Zugriff mit Grafana nutze.

                     #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen
                      #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
                       INFLUX_API=192.168.178.20:8086
                      #Name, User und Passwort der InfluxDB-Datenbank
                       INFLUX_DB=ioBroker_db
                       INFLUX_USER=USERNAME
                       INFLUX_PASSWORD=PASSWORD
                    

                    Reichen denn diese Zugangsdaten wirklich?
                    Um mit Grafana auf die gemappte DB zugreifen zu können muss zusätzlich:
                    13251bf0-7696-4bbd-83f5-130f7be00371-grafik.png
                    eingestellt werden, wobei Value = Token MYTOKEN ist.

                    M 1 Antwort Letzte Antwort
                    0
                    • R Rushmed

                      Ich nutze InfluxDB 2.1.1.
                      In der Conf habe ich die Zugangsdaten zu meiner auf V1 gemappten DB eingetragen die ich auch für den Zugriff mit Grafana nutze.

                       #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen
                        #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
                         INFLUX_API=192.168.178.20:8086
                        #Name, User und Passwort der InfluxDB-Datenbank
                         INFLUX_DB=ioBroker_db
                         INFLUX_USER=USERNAME
                         INFLUX_PASSWORD=PASSWORD
                      

                      Reichen denn diese Zugangsdaten wirklich?
                      Um mit Grafana auf die gemappte DB zugreifen zu können muss zusätzlich:
                      13251bf0-7696-4bbd-83f5-130f7be00371-grafik.png
                      eingestellt werden, wobei Value = Token MYTOKEN ist.

                      M Offline
                      M Offline
                      MartyBr
                      schrieb am zuletzt editiert von
                      #3586

                      @rushmed Ich habe es genauso gemacht. Die Datenbank habe ich auf V1 gemalt und
                      influx v1 dbrp list
                      hat das erfolgreiche Mapping gezeigt.
                      Setzt du das unveränderte Statistik-Script ein?

                      Gruß
                      Martin


                      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                      Raspeberry mit USB Leseköpfen für Smartmeter
                      Homematic und Homematic IP

                      R 1 Antwort Letzte Antwort
                      0
                      • M MartyBr

                        @rushmed Ich habe es genauso gemacht. Die Datenbank habe ich auf V1 gemalt und
                        influx v1 dbrp list
                        hat das erfolgreiche Mapping gezeigt.
                        Setzt du das unveränderte Statistik-Script ein?

                        R Offline
                        R Offline
                        Rushmed
                        Most Active
                        schrieb am zuletzt editiert von
                        #3587

                        @martybr ja

                        M 1 Antwort Letzte Antwort
                        0
                        • R Rushmed

                          @martybr ja

                          M Offline
                          M Offline
                          MartyBr
                          schrieb am zuletzt editiert von
                          #3588

                          @rushmed Und es liefert Werte? Bei mir bricht es ab.
                          Ich habe keine Idee mehr :disappointed:

                          Gruß
                          Martin


                          Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                          Raspeberry mit USB Leseköpfen für Smartmeter
                          Homematic und Homematic IP

                          R 1 Antwort Letzte Antwort
                          0
                          • M MartyBr

                            @rushmed Und es liefert Werte? Bei mir bricht es ab.
                            Ich habe keine Idee mehr :disappointed:

                            R Offline
                            R Offline
                            Rushmed
                            Most Active
                            schrieb am zuletzt editiert von
                            #3589

                            @martybr Du hast Recht. Ich hab das voll übersehen. Die Werte sind noch von vor meine Umstellung auf Influx2.

                            M 1 Antwort Letzte Antwort
                            0
                            • R Rushmed

                              @martybr Du hast Recht. Ich hab das voll übersehen. Die Werte sind noch von vor meine Umstellung auf Influx2.

                              M Offline
                              M Offline
                              MartyBr
                              schrieb am zuletzt editiert von
                              #3590

                              @rushmed
                              Du kannst den Status hier ablesen:

                              0_userdata.0.Statistik.Wetter.Control.Statusmeldung

                              Gruß
                              Martin


                              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                              Raspeberry mit USB Leseköpfen für Smartmeter
                              Homematic und Homematic IP

                              R 1 Antwort Letzte Antwort
                              0
                              • M MartyBr

                                @rushmed
                                Du kannst den Status hier ablesen:

                                0_userdata.0.Statistik.Wetter.Control.Statusmeldung

                                R Offline
                                R Offline
                                Rushmed
                                Most Active
                                schrieb am zuletzt editiert von
                                #3591

                                @martybr Fehler beim Lesen der InfluxDB: Invalid call

                                M 1 Antwort Letzte Antwort
                                0
                                • R Rushmed

                                  @martybr Fehler beim Lesen der InfluxDB: Invalid call

                                  M Offline
                                  M Offline
                                  MartyBr
                                  schrieb am zuletzt editiert von
                                  #3592

                                  @rushmed Wie bei mir. Das Script scheint nur bei Influx Version 1 zu laufen. Ich hatte weiter oben mal einen Versuch eingestellt, die Abfrage auf Influx Version zu ändern. Bekommen aber immer einen Error beim Speichern.
                                  Die Abfragen hatte ich mir aus der Weboberfläche Influx geholt. Dort funktionieren sie und liefern Daten.
                                  Ich komme da mit dem Script nicht weiter, vielleicht kann sich das jemand mal anschauen.

                                  Gruß
                                  Martin


                                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                  Raspeberry mit USB Leseköpfen für Smartmeter
                                  Homematic und Homematic IP

                                  SBorgS 1 Antwort Letzte Antwort
                                  0
                                  • M MartyBr

                                    @rushmed Wie bei mir. Das Script scheint nur bei Influx Version 1 zu laufen. Ich hatte weiter oben mal einen Versuch eingestellt, die Abfrage auf Influx Version zu ändern. Bekommen aber immer einen Error beim Speichern.
                                    Die Abfragen hatte ich mir aus der Weboberfläche Influx geholt. Dort funktionieren sie und liefern Daten.
                                    Ich komme da mit dem Script nicht weiter, vielleicht kann sich das jemand mal anschauen.

                                    SBorgS Offline
                                    SBorgS Offline
                                    SBorg
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #3593

                                    @martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                                    Ich hatte weiter oben mal einen Versuch eingestellt, die Abfrage auf Influx Version zu ändern. Bekommen aber immer einen Error beim Speichern.

                                    Das wird auch so nicht funktionieren, da du die Syntax eines Influx-Querys nicht 1:1 in den "sendTo" des Javascript-Adapters übernehmen kannst. Der kann damit schlichtweg nichts anfangen.

                                    Ich habe aktuell leider keine Zeit mir das selbst anzuschauen, da es nur mit "kleinen" Anpassungen auch nicht getan ist.

                                    LG SBorg ( SBorg auf GitHub)
                                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                    1 Antwort Letzte Antwort
                                    0
                                    • M MartyBr

                                      @sborg Das ist ja genau die Frage. Mit dem folgenden Code kann ich auf dem Influx-Server die Daten abrufen:

                                      influx query 'from(bucket:"iobroker") |> range(start:-15m) |> filter(fn: (r) => r._measurement == "proxmox.0.node_pve.cpu")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                      

                                      Da bekomme ich auch Ergebnisse. Ich habe nun versucht, den Code im Statistik-Script anzupassen. Ich bekomme leider immer wieder Script Fehler:

                                                 //InfluxDB abfragen (Regen +1min Startverzögerung wg. ev. Ungenauigkeit der Systemzeit des Wetterstation-Displays)
                                                  sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query', 
                                                  ' FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Aussentemperatur")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                   + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Wind_max")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                   + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Regen_Tag")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                               , function (result) {
                                                   //Anlegen der Arrays + befüllen mit den relevanten Daten
                                                  if (result.error) {
                                                     console.error('Fehler beim Lesen der InfluxDB: '+result.error);
                                                     Statusmeldung('Fehler beim Lesen der InfluxDB: '+result.error);
                                                  } else {
                                                      //console.log('Rows: ' + JSON.stringify(result.result[2]));
                                                      for (let i = 0; i < result.result[0].length; i++) { temps[i] = result.result[0][i].value; }
                                                      for (let i = 0; i < result.result[1].length; i++) { wind[i] = result.result[1][i].value; }
                                                      for (let i = 0; i < result.result[2].length; i++) { regen[i] = result.result[2][i].value; }
                                                  }            
                                      

                                      Vielleicht kann mir hier ein Fachmann helfen?

                                      J Offline
                                      J Offline
                                      jostereo
                                      schrieb am zuletzt editiert von jostereo
                                      #3594

                                      @martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                                      @sborg Das ist ja genau die Frage. Mit dem folgenden Code kann ich auf dem Influx-Server die Daten abrufen:

                                      influx query 'from(bucket:"iobroker") |> range(start:-15m) |> filter(fn: (r) => r._measurement == "proxmox.0.node_pve.cpu")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                      

                                      Da bekomme ich auch Ergebnisse. Ich habe nun versucht, den Code im Statistik-Script anzupassen. Ich bekomme leider immer wieder Script Fehler:

                                                 //InfluxDB abfragen (Regen +1min Startverzögerung wg. ev. Ungenauigkeit der Systemzeit des Wetterstation-Displays)
                                                  sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query', 
                                                  ' FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Aussentemperatur")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                   + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Wind_max")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                   + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Regen_Tag")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                               , function (result) {
                                                   //Anlegen der Arrays + befüllen mit den relevanten Daten
                                                  if (result.error) {
                                                     console.error('Fehler beim Lesen der InfluxDB: '+result.error);
                                                     Statusmeldung('Fehler beim Lesen der InfluxDB: '+result.error);
                                                  } else {
                                                      //console.log('Rows: ' + JSON.stringify(result.result[2]));
                                                      for (let i = 0; i < result.result[0].length; i++) { temps[i] = result.result[0][i].value; }
                                                      for (let i = 0; i < result.result[1].length; i++) { wind[i] = result.result[1][i].value; }
                                                      for (let i = 0; i < result.result[2].length; i++) { regen[i] = result.result[2][i].value; }
                                                  }            
                                      

                                      Vielleicht kann mir hier ein Fachmann helfen?

                                      Ich habe das Statistikscript glaube ich für InfluxDB 2.0 angepasst.

                                      Dafür benutze ich folgendes Flux Command. Ist die entsprechende Anpassung zu dem bestehenden Command für Version 1.0

                                      'from(bucket: "iobroker") |> range(start: ' + (start / 1000) + ', stop: ' + (end / 1000) + ') |> filter(fn: (r) => r["_measurement"] == "' + WET_DP + '.Aussentemperatur") |> filter(fn: (r) => r["_field"] == "value");' +
                                              'from(bucket: "iobroker") |> range(start: ' + (start / 1000) + ', stop: ' + (end / 1000) + ') |> filter(fn: (r) => r["_measurement"] == "' + WET_DP + '.Wind_max") |> filter(fn: (r) => r["_field"] == "value");' +
                                              'from(bucket: "iobroker") |> range(start: ' + ((start + 72000) / 1000) + ', stop: ' + (end / 1000) + ') |> filter(fn: (r) => r["_measurement"] == "' + WET_DP + '.Regen_Tag") |> filter(fn: (r) => r["_field"] == "value")'
                                      

                                      Ich bin der Meinung das das Script bei mir richtig funktioniert, allerdings habe ich das nicht bis ins Detail an den Messwerten überprüft. Die Messwerte werden allerdings geschrieben und auch vollständig berechnet.

                                      Vielleicht kannst du den FLUX Command auch mal bei dir einbauen und dann testen ob es für dich läuft.

                                      Influx Bucket heißt bei mir "iobroker", müsste natürlich notfalls angepasst werden.

                                      Ich hatte damals längere Zeit damit verbracht die Zeitangaben entsprechende anzupassen, da der Timestamp Vergleich wohl in FLUX anders läuft als in V 1.0.

                                      Gruß,

                                      jostereo

                                      M 1 Antwort Letzte Antwort
                                      2
                                      • J jostereo

                                        @martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                                        @sborg Das ist ja genau die Frage. Mit dem folgenden Code kann ich auf dem Influx-Server die Daten abrufen:

                                        influx query 'from(bucket:"iobroker") |> range(start:-15m) |> filter(fn: (r) => r._measurement == "proxmox.0.node_pve.cpu")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                        

                                        Da bekomme ich auch Ergebnisse. Ich habe nun versucht, den Code im Statistik-Script anzupassen. Ich bekomme leider immer wieder Script Fehler:

                                                   //InfluxDB abfragen (Regen +1min Startverzögerung wg. ev. Ungenauigkeit der Systemzeit des Wetterstation-Displays)
                                                    sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query', 
                                                    ' FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Aussentemperatur")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                     + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Wind_max")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                     + '; FROM(bucket:"iobroker")' |> range(start:-1h) |> filter(fn: (r) => r["_measurement"] == WET_DP +".Regen_Tag")|> pivot(rowKey:["_time"], columnKey: ["_field"], valueColumn: "_value")'
                                                 , function (result) {
                                                     //Anlegen der Arrays + befüllen mit den relevanten Daten
                                                    if (result.error) {
                                                       console.error('Fehler beim Lesen der InfluxDB: '+result.error);
                                                       Statusmeldung('Fehler beim Lesen der InfluxDB: '+result.error);
                                                    } else {
                                                        //console.log('Rows: ' + JSON.stringify(result.result[2]));
                                                        for (let i = 0; i < result.result[0].length; i++) { temps[i] = result.result[0][i].value; }
                                                        for (let i = 0; i < result.result[1].length; i++) { wind[i] = result.result[1][i].value; }
                                                        for (let i = 0; i < result.result[2].length; i++) { regen[i] = result.result[2][i].value; }
                                                    }            
                                        

                                        Vielleicht kann mir hier ein Fachmann helfen?

                                        Ich habe das Statistikscript glaube ich für InfluxDB 2.0 angepasst.

                                        Dafür benutze ich folgendes Flux Command. Ist die entsprechende Anpassung zu dem bestehenden Command für Version 1.0

                                        'from(bucket: "iobroker") |> range(start: ' + (start / 1000) + ', stop: ' + (end / 1000) + ') |> filter(fn: (r) => r["_measurement"] == "' + WET_DP + '.Aussentemperatur") |> filter(fn: (r) => r["_field"] == "value");' +
                                                'from(bucket: "iobroker") |> range(start: ' + (start / 1000) + ', stop: ' + (end / 1000) + ') |> filter(fn: (r) => r["_measurement"] == "' + WET_DP + '.Wind_max") |> filter(fn: (r) => r["_field"] == "value");' +
                                                'from(bucket: "iobroker") |> range(start: ' + ((start + 72000) / 1000) + ', stop: ' + (end / 1000) + ') |> filter(fn: (r) => r["_measurement"] == "' + WET_DP + '.Regen_Tag") |> filter(fn: (r) => r["_field"] == "value")'
                                        

                                        Ich bin der Meinung das das Script bei mir richtig funktioniert, allerdings habe ich das nicht bis ins Detail an den Messwerten überprüft. Die Messwerte werden allerdings geschrieben und auch vollständig berechnet.

                                        Vielleicht kannst du den FLUX Command auch mal bei dir einbauen und dann testen ob es für dich läuft.

                                        Influx Bucket heißt bei mir "iobroker", müsste natürlich notfalls angepasst werden.

                                        Ich hatte damals längere Zeit damit verbracht die Zeitangaben entsprechende anzupassen, da der Timestamp Vergleich wohl in FLUX anders läuft als in V 1.0.

                                        Gruß,

                                        jostereo

                                        M Offline
                                        M Offline
                                        MartyBr
                                        schrieb am zuletzt editiert von MartyBr
                                        #3595

                                        @jostereo Super, das teste ich sofort. Ich gebe dir dann Rückmeldung.

                                        Edit: 15:17 Uhr
                                        Änderung Script funktioniert. Nun kann auch eine Influxdb Version2 ausgelesen werden.

                                        Kleiner Schönheitsfehler: Ich musste in der letzten Zeile das Semikolon entfernen.

                                        Herzlichen Dank
                                        :+1:

                                        Gruß
                                        Martin


                                        Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                        Raspeberry mit USB Leseköpfen für Smartmeter
                                        Homematic und Homematic IP

                                        J 1 Antwort Letzte Antwort
                                        0
                                        • M MartyBr

                                          @jostereo Super, das teste ich sofort. Ich gebe dir dann Rückmeldung.

                                          Edit: 15:17 Uhr
                                          Änderung Script funktioniert. Nun kann auch eine Influxdb Version2 ausgelesen werden.

                                          Kleiner Schönheitsfehler: Ich musste in der letzten Zeile das Semikolon entfernen.

                                          Herzlichen Dank
                                          :+1:

                                          J Offline
                                          J Offline
                                          jostereo
                                          schrieb am zuletzt editiert von
                                          #3596

                                          @martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                                          @jostereo Super, das teste ich sofort. Ich gebe dir dann Rückmeldung.

                                          Edit: 15:17 Uhr
                                          Änderung Script funktioniert. Nun kann auch eine Influxdb Version2 ausgelesen werden.

                                          Kleiner Schönheitsfehler: Ich musste in der letzten Zeile das Semikolon entfernen.

                                          Herzlichen Dank
                                          :+1:

                                          Habe es oben mit dem Semikolon geändert.

                                          Hatte das FLUX Command zu Debug Zwecken bei mir einer Variablen zu gewiesen, deswegen war am Ende noch das Semikolon.

                                          Bin gespannt ob die Werte bei dir auch soweit passen.

                                          Gruß,

                                          M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          674

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe