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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      G.Hawk @Neuschwansteini last edited by

      @ilovegym
      Ach so ich habe Influx 1.x
      Muss ich dann 2.0 erstmal installieren und 1.x deinstallieren?
      Ich habe bei Bucket jetzt iobroker eingegeben jetzt habe ich Werte in den Datenpunkten.

      Sollte man denn auf 2.0 wechseln?
      Ich habe neulich den IObroker neu aufgegesetzt und beim Rücksichern der Influx Daten gab es Probleme so dass ich nicht rücksichern konnte, da er dauernd gesagt hat, dass es die Datenbank schon gibt.

      Neuschwansteini 1 Reply Last reply Reply Quote 0
      • Neuschwansteini
        Neuschwansteini @G.Hawk last edited by

        @g-hawk Hi, siehe in der Anleitung von hier

        G 1 Reply Last reply Reply Quote 0
        • G
          G.Hawk @Neuschwansteini last edited by

          Ok. Brauche ich denn zwingend 2.0? Ich habe ein 32 bit System. (Pi 4)
          Seltsam ist nur, dass die Tagestemperaturwerte im Moment zwar angezeigt werden, nur bei min und max steht das gleiche, das sich auch mit steigender bzw sinkender Temperatur ändert.

          Chris76e 1 Reply Last reply Reply Quote 0
          • Chris76e
            Chris76e @G.Hawk last edited by

            @g-hawk

            ist bei mir auch so, nutze influxdb2 und neuste scripte.

            G 1 Reply Last reply Reply Quote 0
            • G
              G.Hawk @Chris76e last edited by

              OK, dann liegt es wohl nicht an Influx.

              Gibt es da schon eine Lösung?
              Bei Influx zeigt er alle Änderungen nur bleibt der höchste bzw. niedrigste Wert nicht stehen.

              1 Reply Last reply Reply Quote 0
              • G
                Gelbwichtel last edited by

                @g-hawk Ich komme zu den gleichen Schlussfolgerungen. Die Datenpunkte sind korrekt angelegt, und in der InfluxDB können diese korrekt abgefragt werden. InfluxDB ist V2 Script das aktuellste.
                Das Problem dürfte in wetterstation.sub in der Funktion minmaxheute() liegen.
                Wird anstelle von FLUXSTART=$(date +%Y-%m-%d --date="-1 day")"T${ZULU}:00:00Z"
                mit FLUXSTART="-1d" gearbeitet werden die Werte sauber abgestellt. Was jetzt genau an der Berechnung oder am Parameter für influx falsch ist, muss ich noch genauer untersuchen.

                G 1 Reply Last reply Reply Quote 0
                • G
                  Gelbwichtel @Gelbwichtel last edited by Gelbwichtel

                  @gelbwichtel
                  muss mich revidieren. Schlussfolgerung und Test war nicht korrekt. Hatte vor Aufruf meines Test auf minmaxheute das setup nicht durchlaufen. Werte werden gesetzt, wenn das Skript "richtig" gestartet wird. Ich muss mir mal meine cronjobs genauer ansehen.

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    G.Hawk @Gelbwichtel last edited by

                    @gelbwichtel
                    Ich kann nicht ganz folgen. Soll ich irgendwas ändern oder was testen?
                    Oder muss ich Influx 2.0 installieren und damit verbunden ein 64 bit System installieren?

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

                      @chris76e Du verwechselst da zwei Sachen. Statistik-JS-Skript macht alles was mit Statistik zu tun hat. WLAN-Shell-Skript alles mit dem Thema Wetterstation.
                      Die 24h / Heute Min-Max-Werte liegen alle unter ...Wetterstation..., kommen also rein vom WLAN-Skript. Das macht an der Stelle nichts weiter als eine InfluxDB-Abfrage.

                      Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert: systemctl restart wetterstation

                      G Chris76e 3 Replies Last reply Reply Quote 0
                      • G
                        G.Hawk @SBorg last edited by

                        @sborg
                        Hallo
                        Habe ich getestet. Es stehen in min und max immer die gleichen Werte etwas zeitversetzt zu der aktuellen Außentemperatur.

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

                          @g-hawk Solange du ein 32Bit System nutzt kannst du auch nur Influx 1.8 nutzen. Erst mittels 64Bit lässt sich ein InfluxDB 2.7 nutzen. Wenn du so erst mal weiter machen willst, kannst du die letzte V2.x.x (unter releases zu finden) nutzen.
                          Von der Funktion ist die mit der aktuellen V3.0.0 noch identisch. Über kurz oder lang (eher kurz) wirst du aber um 64Bit nicht herumkommen, da schon einiges unter 32 Bit nicht mehr supported wird.

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

                          Habe ich getestet. Es stehen in min und max immer die gleichen Werte etwas zeitversetzt zu der aktuellen Außentemperatur.

                          So wie ich das sehe hast du doch aktuell keine korrekte Influx-Installation? Wenn du noch eine 1er hast kann die mit der aktuellen V3 des WLAN-Skriptes nicht funktionieren, da die mittels Flux die Influx abfragt was die 1.8 nicht kann. Da kommt irgendwas an Daten, nur nichts vernünftiges 😉

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            G.Hawk @SBorg last edited by

                            @sborg
                            Ok. Dann werde ich morgen den Tag mal nutzen und ein 64 Bit System installieren.
                            Danke für die Info.

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

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

                              Du solltest einfach mal versuchen ob es nach einem Restart ev. wieder funktioniert: systemctl restart wetterstation

                              Habe ich gemacht, änderts sich aber nichts. Unter javascript.0.Wetterstation.Info.Temp_Aussen_Heute_min und max kommen immer dieselben werte rein, und bei javascript.0.Wetterstation.Info.Temp_Aussen_24h_min und max keine Werte. Habe das Display von der Wetterstation auch einmal neugestartet.....

                              
                              chris@ioBroker:~$ systemctl status wetterstation
                              ● wetterstation.service - Service für ioBroker Wetterstation
                                   Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                   Active: active (running) since Tue 2023-05-16 19:12:51 CEST; 21min ago
                                 Main PID: 967052 (wetterstation.s)
                                    Tasks: 5 (limit: 21048)
                                   Memory: 2.7M
                                      CPU: 38.877s
                                   CGroup: /system.slice/wetterstation.service
                                           ├─967052 /bin/bash /home/chris/wetterstation.sh
                                           ├─983892 /bin/bash /home/chris/wetterstation.sh
                                           ├─983893 timeout 38 nc -nlvw 1 -p 1080
                                           ├─983894 tail -1
                                           └─983895 nc -nlvw 1 -p 1080
                              
                              Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden.
                              Mai 16 19:12:51 ioBroker wetterstation.sh[967069]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded!
                              Mai 16 19:15:28 ioBroker wetterstation.sh[969312]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                              Mai 16 19:15:29 ioBroker wetterstation.sh[969315]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                              Mai 16 19:30:09 ioBroker wetterstation.sh[980843]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                              Mai 16 19:30:09 ioBroker wetterstation.sh[980846]: jq: error (at <stdin>:0): Cannot iterate over null (null)
                              chris@ioBroker:~$
                              
                              
                              Boronsbruder SBorg 2 Replies Last reply Reply Quote 0
                              • G
                                G.Hawk @SBorg last edited by

                                @sborg
                                Alles neu gemacht. 64bit. Läuft einwandfrei. 👍🏻

                                1 Reply Last reply Reply Quote 0
                                • Boronsbruder
                                  Boronsbruder @Chris76e last edited by

                                  @chris76e

                                  Mai 16 19:12:51 ioBroker wetterstation.sh[967063]: /home/chris/wetterstation.conf: Zeile 67: DATUM: Kommando nicht gefunden.
                                  

                                  Du hast auf jedenfall einen Fehler in der Config.
                                  Ob der ursächlich für die anderen ist, kann ich aber nicht sagen

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

                                    Jupp 😉

                                    @chris76e Schau mal in deiner "conf" bei Zeile #67, da hast du wohl aus versehen die Raute gelöscht

                                     # Datum = .....
                                    

                                    Dann sicherheitshalber Skript stoppen systemctl stop wetterstation, kurz warten und wieder starten systemctl start wetterstation.

                                    Daraus könnten die vier weiteren Fehler resultieren, zumindest kommen die genau zu jeder vollen Viertelstunde und genau da wird "Minmax24h" und "...heute" berechnet. Sind die nun weg, dürfte auch alles funktionieren 😉

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

                                      @sborg

                                      habe das geändert kein Fehler mehr, aber immer noch dasselbe. Hab auch mal die DP´s gelöscht und über das Script neu anlegen lassen. Hat auch nicht geholfen.

                                      chris@ioBroker:~$ systemctl status wetterstation
                                      ● wetterstation.service - Service für ioBroker Wetterstation
                                           Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                           Active: active (running) since Wed 2023-05-17 10:30:07 CEST; 45min ago
                                         Main PID: 628054 (wetterstation.s)
                                            Tasks: 5 (limit: 21048)
                                           Memory: 2.8M
                                              CPU: 1min 28.219s
                                           CGroup: /system.slice/wetterstation.service
                                                   ├─628054 /bin/bash /home/chris/wetterstation.sh
                                                   ├─666172 /bin/bash /home/chris/wetterstation.sh
                                                   ├─666173 timeout 38 nc -nlvw 1 -p 1080
                                                   ├─666174 tail -1
                                                   └─666175 nc -nlvw 1 -p 1080
                                      
                                      Mai 17 10:30:07 ioBroker wetterstation.sh[628071]: Connection to 192.168.0.21 8087 port [tcp/*] succeeded!
                                      
                                      
                                      SBorg Boronsbruder 2 Replies Last reply Reply Quote 0
                                      • SBorg
                                        SBorg Forum Testing Most Active @Chris76e last edited by

                                        @chris76e Keine Fehler mehr ist schon mal gut. Ev. klemmt es an der Influx-Konnektivität. Kleiner Test im Installationsverzeichnis stehend:

                                        • sudo systemctl stop wetterstation
                                        • . ./wetterstation.conf
                                        • . ./wetterstation.sub
                                        • minmax24h DEBUG

                                        Bild 001.png

                                        Danach Service wieder starten systemctl start wetterstation

                                        Chris76e 1 Reply Last reply Reply Quote 0
                                        • Boronsbruder
                                          Boronsbruder @Chris76e last edited by Boronsbruder

                                          @chris76e

                                          Verdammt, wegen dir ist mir jetzt aufgefallen, dass ich das selbe Problem habe....

                                          @SBorg
                                          Bei mir liegt es sowie es aussieht am https

                                          lvl=info msg="http: TLS handshake error from 172.17.0.1:53300: local error: tls: bad record MAC" log_id=0hrT8bdl000 service=http
                                          

                                          ich hab in der .sub bei der Influxquery den -k Parameter hinzugefügt (weil ich ein selbstsigniertes Zertifikat verwende) und schon geht es
                                          Zeile 1213

                                                  local TMP_DATA=$(curl -sk --request POST "${INFLUX_WEB}://${INFLUX_API}/api/v2/query?org=${INFLUX_ORG}" --header 'Content-Type: application/vnd.flux' \
                                          
                                          SBorg 1 Reply Last reply Reply Quote 1
                                          • Chris76e
                                            Chris76e @SBorg last edited by Chris76e

                                            @sborg

                                            Dann kommt das hier

                                            chris@ioBroker:~$ sudo systemctl stop wetterstation
                                            [sudo] Passwort für chris:
                                            chris@ioBroker:~$ . ./wetterstation.conf
                                            chris@ioBroker:~$ . ./wetterstation.sub
                                            chris@ioBroker:~$ minmax24h DEBUG
                                            Testing InfluxDB... min/max Aussentemperatur 24h: °C °C
                                            
                                            

                                            hier ist mal meine wetterstation.conf, eventuell ist da ein Fehler???

                                            ### Settings V3.0.0 -----------------------------------------------------------
                                             #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
                                              debug=false
                                            
                                             #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden?
                                              RESET_KOMFEHLER=false
                                            
                                             #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
                                              logging=false
                                            
                                             #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx]
                                              IPP=192.168.0.21:8087
                                            
                                             #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt
                                              RESTAPI_URL=http://192.168.0.21:8093
                                              RESTAPI_USER=RestAPI
                                              RESTAPI_PW=xxxxx
                                            
                                             #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=DNS / default: 2
                                              WS_PROTOKOLL=2
                                            
                                             #Anzahl der vorhandenen Zusatzsensoren Froggit, Ecowitt und Bresser / default: 0
                                              ANZAHL_WH31=0
                                              ANZAHL_WS90=0
                                              ANZAHL_DP10=0
                                              ANZAHL_DP35=0
                                              ANZAHL_DP40=0
                                              ANZAHL_DP50=0
                                              ANZAHL_DP60=0
                                              ANZAHL_DP70=0
                                              ANZAHL_DP100=0
                                              ANZAHL_DP200=0
                                              ANZAHL_DP250=0
                                              ANZAHL_DP300=0
                                              ANZAHL_7009999=0
                                            
                                             #Protokoll (HTTP oder HTTPS) / default: HTTP
                                              WEB=HTTP
                                            
                                             #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten
                                              WEB_IGN_SSL_ERROR=false
                                            
                                             #User-Authentifizierung falls benutzt; sonst leer lassen
                                              AUTH_USER=
                                              AUTH_PASS=
                                            
                                             #Port der Wetterstation
                                              WS_PORT=1080
                                            
                                             #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden)
                                              WS_POLL=16
                                            
                                             #Name/ID der Wetterstation
                                              WS_ID=ZuHause
                                            
                                             #wo sollen die Datenobjekte abgelegt werden
                                              PRE_DP=javascript.0.Wetterstation
                                            
                                             #InfluxDB-Konfiguration für Influx V1.x.x / ohne InfluxDB alles leer lassen
                                              #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
                                               INFLUX_API=192.168.0.23:8086
                                              #Bucket, Token und Organisation der InfluxDB
                                               INFLUX_BUCKET=iobroker
                                               INFLUX_TOKEN=6mBq1PkKwMWsHGRMS_qtSYH1e2dho2kOu_36JRr873i8FyCwcd81uieH9ZnbJ437CowkICe0837Ye_UXKGyF0w
                                               INFLUX_ORG=iobroker
                                            
                                             #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen")
                                             # DATUM = 28.04.2020 13:12
                                             # UNIX  = 1588074964
                                             # DIFF  = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen
                                            
                                              LAST_RAIN=DIFF
                                            
                                             #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text"
                                             # zweistellig wird ggf. mit einer führenden "0" aufgefüllt
                                             # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig
                                             # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59)
                                             #
                                             # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden
                                             #
                                             # Auswahl                            | Ausgabe im Datenpunkt
                                             # ----------------------------------------------------------------------------
                                             # [0] = h Std. mm Min. ss Sek.       | 68 Std. 02 Min. 15 Sek.
                                             # [1] = h:mm                         | 68:02
                                             # [2] = d Tag/e h Std.               | 2 Tage 20 Std.
                                             # [3] = d Tag/e, h Std, m Min        | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0)
                                            
                                              SONNENSCHEIN_TXTFORMAT=3
                                            
                                            
                                              #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)?
                                               WETTERCOM_ID=
                                               WETTERCOM_PW=
                                            
                                            
                                             #Daten an Wunderground.com senden? [true/false] / default: false
                                               #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen.
                                               WUNDERGROUND_UPDATE=false
                                            
                                             #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an
                                             #windy/OpenSenseMap/wetter.com übertragen? [true/false] / default: false
                                              USE_AVG_WIND=false
                                            
                                             #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false
                                             #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt
                                              FIX_AUSSENTEMP=false
                                            
                                            
                                            
                                            
                                             #############################################################################################
                                             ###    openSenseMap - Einstellungen (nur nötig falls openSenseMap benutzt werden soll)    ###
                                             ###                                                                                       ###
                                             ###    Für die Registrierung muss "openSenseMap" auf "false" eingestellt sein!            ###
                                             ###    Erst wenn auch Sensoren angelegt wurden, darf auf "true" umgestellt werden!        ###
                                             #############################################################################################
                                            
                                              #openSenseMap aktivieren [true/false] / default: false
                                               openSenseMap=false
                                            
                                              #SenseBox-User
                                               senseBox_USER=
                                            
                                              #SenseBox-Password
                                               senseBox_PWD=
                                            
                                              #ID der senseBox (24-stellig)
                                               senseBox_ID=
                                            
                                              #Security-Token der Box
                                               BOX_TOKEN=
                                            
                                            
                                            
                                              ### Die restlichen Einstellungen für OpenSenseMap werden vom System generiert/benutzt ######
                                              ### Änderungen sind hier nicht nötig, außer man weiß ganz genau was man tut! ###############
                                            
                                              #Sensor-IDs (wird automatisch anhand der Sensoren erzeugt)
                                               SENSEBOX_IDSENSOR=()
                                            
                                              #Sensor-Bezeichnung (Reihenfolge muss zur Sensor-ID identisch sein!)
                                               SENSEBOX_IDNAME=("Temperatur" "Luftfeuchte" "Luftdruck relativ" "Luftdruck absolut" "Taupunkt" "gefühlte Temperatur" "Sonnenstrahlung" "Windgeschwindigkeit" "Windrichtung" "UV-Index" "Regenrate")
                                            
                                              #Messwertezuordnung (Reihenfolge muss zur Sensor-ID identisch sein!)
                                               SENSEBOX_IDMESSWERT=(1 5 10 9 2 3 16 6 8 17 11)
                                             #Sensorendefinitionen
                                               ICONS=(osem-thermometer osem-humidity osem-barometer osem-barometer osem-thermometer osem-thermometer osem-brightness osem-particulate-matter osem-particulate-matter osem-brightness osem-umbrella)
                                               UNITS=('°C' '%H' 'hPa' 'hPa' '°C' '°C' 'W/m²' 'km/h' '°' 'Index' 'mm/h')
                                            
                                             #############################################################################################
                                             ###    openSenseMap - Ende der Einstellungen    #############################################
                                             #############################################################################################
                                            
                                            
                                            
                                             #############################################################################################
                                             ###    Windy - Einstellungen (nur nötig falls Windy benutzt werden soll)                  ###
                                             #############################################################################################
                                            
                                              #Windy aktivieren [true/false] / default: false
                                               use_windy=false
                                            
                                              #Windy API-Key
                                               windy_APIKey=
                                            
                                              #Station [number: 0 - 2147483647] / default: 0
                                               windy_Station=
                                            
                                              #Name der Station [Text]
                                               windy_Name=
                                            
                                              #Latitude/Breitengrad der Station
                                               windy_Latitude=
                                            
                                              #Longitude/Längengrad der Station
                                               windy_Longitude=
                                            
                                              #Elevation/Höhe ÜNN
                                               windy_Elevation=
                                            
                                              #Montagehöhe Temperatursensor über Boden
                                               windy_Tempheight=
                                            
                                              #Montagehöhe Windsensor über Boden
                                               windy_Windheight=
                                            
                                             #############################################################################################
                                             ###    Windy - Ende der Einstellungen    ####################################################
                                             #############################################################################################
                                            
                                             #############################################################################################
                                             ###    AWEKAS - Einstellungen (nur nötig falls AWEKAS benutzt werden soll)                ###
                                             #############################################################################################
                                            
                                              #AWEKAS aktivieren [true/false] / default: false
                                               use_awekas=true
                                            
                                              #AWEKAS Login Username und Passwort
                                               AWEKAS_USER=xxxx
                                               AWEKAS_PW=jxxxx
                                            
                                             #############################################################################################
                                             ###    AWEKAS - Ende der Einstellungen    ###################################################
                                             #############################################################################################
                                            
                                            ###  Ende Usereinstellungen
                                            ###EoF
                                            
                                            
                                            SBorg 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            903
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            143
                                            5478
                                            3304164
                                            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