Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MartyBr @a200 last edited by

      @a200 okay, das setze ich dann mal um.

      Danke für deine Unterstützung 👍

      a200 1 Reply Last reply Reply Quote 0
      • a200
        a200 @MartyBr last edited by

        @martybr du kannst gerne noch weitere Fragen stellen. Ich werde sie beantworten, wenn ich es kann.

        M 1 Reply Last reply Reply Quote 1
        • M
          MartyBr @a200 last edited by

          @a200
          Danke dir. Ich habe die Datei "configs" mit den Infos angelegt und den Dienst Wetterstation neu gestartet.
          Wie kann ich erkenn, ob die Verbindung zu Influx funktioniert?

          a200 1 Reply Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active last edited by

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

            ...oder root mit dem du arbeitest

            Bitte nicht 😉

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

            Wie kann ich erkenn, ob die Verbindung zu Influx funktioniert?

            Spätestens zur vollen Viertelstunde hast du dann Min-/Max.-Temperaturwerte etc.

            1 Reply Last reply Reply Quote 0
            • a200
              a200 @MartyBr last edited by

              @martybr du kannst über den Webbrowser auf die DB zugreifen: http://<ip>:8086

              1. einloggen
              2. links auf "explore" und du solltest unten deine Datenpunkte sehen können
              M 1 Reply Last reply Reply Quote 0
              • M
                MartyBr @a200 last edited by

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

                http://<ip>:8086

                Ich sehe dort jede Menge Datanpunkte. Das sind aber genau die, die ich im ioBroker in Influx logge. Ich habe zum Beispiel "Windrichtung" nicht geloggt. Wird dieser Wert dann über die Wetterstation in Influx geloggt? Ist das überhaupt richtig, dass ich in Iobroker die Werte logge?

                SBorg 1 Reply Last reply Reply Quote 0
                • SBorg
                  SBorg Forum Testing Most Active @MartyBr last edited by

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

                  Ist das überhaupt richtig, dass ich in Iobroker die Werte logge?

                  Ja, denn ich frage nur Werte aus der InfluxDB ab, schreibe aber selbst aktiv nichts hinein.
                  Also alles was du zB. in Grafana möchtest, musst du auch, zumindest kurzfristig, in Influx loggen.

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MartyBr @SBorg last edited by

                    @sborg Okay verstanden.

                    P.S.
                    Das ist eine super Lösung. Ich bin ganz begeistert und werde meine bisherige Wetterstation nun durch diese Lösung ablösen. Ich freue mich schon auf den Rasenfeuchtemesser 😀

                    1 Reply Last reply Reply Quote 0
                    • R
                      Rushmed Most Active last edited by Rushmed

                      Wie stelle ich denn fest ob die Verbindung vom Script zur InfluxDB funktioniert?
                      Ich dachte ja dass das Script dann Werte in die DB schreibt selbst wenn der ioBroker offline ist.

                      SBorg 1 Reply Last reply Reply Quote 0
                      • SBorg
                        SBorg Forum Testing Most Active @Rushmed last edited by

                        @rushmed Wenn hier Daten unter ....Info befüllt sind (alle Werte unter Punkt "4" in der WiKi):
                        Bild 1.png

                        • 24h + "Heute" im Viertelstundentakt
                        • 365 Tage einmalig pro Tag gegen 23:58 Uhr ("Mitternachtjobs")
                        • meteorologischer Sommer nur Juni - August

                        ...und nein, ich schreibe nichts in die Influx. Das Skript ist zwar "bash", aber im Grunde auch nichts anderes wie ein Adapter (der halt dann unter Javascript läuft) von denen auch keiner direkt in die InfluxDB schreibt. Dies handelt alles der InfluxDB-Adapter. Sonst müsste sich der User selbst um bspw. die Retention Policy etc. kümmern oder ich muss das alles abbilden und konfigurierbar machen. Da blickt dann aber kaum noch jemand durch.
                        Da würde ich aber das Rad zum zweiten mal erfinden wollen...
                        Das geht einfacher per ioB-GUI 😉

                        R M 2 Replies Last reply Reply Quote 1
                        • R
                          Rushmed Most Active @SBorg last edited by

                          @sborg Ah ok, da steht bei mir was drin.

                          1 Reply Last reply Reply Quote 0
                          • M
                            MartyBr @SBorg last edited by

                            @sborg
                            Ich habe die 2.11.1 Version laufen und nun auch den DP100 integriert. Es funktioniert fast alles: Es fehlen nur die Datenpunkte

                            Info.Temp_Aussen_24h_max und ..min

                            Bildschirmfoto 2022-03-01 um 16.03.29.png

                            Wo kann der Fehler liegen? Die Wetterstation läuft schon ein paar Tage.

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Rushmed Most Active @MartyBr last edited by

                              @martybr Liegt daran dass du noch keine 365 Tage loggst.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MartyBr @Rushmed last edited by

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

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  Rushmed Most Active @MartyBr last edited by 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 1 Reply Last reply Reply Quote 0
                                  • M
                                    MartyBr @Rushmed last edited by

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

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      Rushmed Most Active @MartyBr last edited by

                                      @martybr Beide Scripte sind aktuell.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MartyBr @Rushmed last edited by

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

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          Rushmed Most Active @MartyBr last edited by

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

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MartyBr @Rushmed last edited by MartyBr

                                            @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
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            906
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2935156
                                            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