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.
    • R
      Rand @Negalein last edited by

      @SBorg

      Hallo, habe kürzlich endlich meine Lieferung aus USA bekommen und möchte jetzt nach und nach mein GW1000 und die ganzen Sensoren einbinden.
      Habe also heute nach Github Anleitung das Skript installiert und passend zum GW1000 per WS View konfiguriert.

      Es scheinen auch Daten zu kommen welche allerdings nicht korrekt gelesen zu werden scheinen...

      ./wetterstation.sh --debug
      Connection to 192.168.y.z 8087 port [tcp/*] succeeded!
      Listening on 0.0.0.0 1080
      Connection received on 192.168.y.z 39356
      
      
      Messwerteblock:
      
      
      Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)!
      
      Temperatur Innen        :  °C
      Temperatur Aussen       :  °C
      Taupunkt                :  °C
      Chill-Faktor            :  °C
      Luftfeuchte Innen       :  %
      Luftfeuchte Aussen      :  %
      Windgeschwindkeit       :  km/h
      Windböengeschwindkeit   :  km/h
      max. Windböe            :  km/h
      Windrichtung            :  °
      Windrichtung            :
      Luftdruck absolut       :  hPa
      Luftdruck relativ       :  hPa
      Regenrate               :  mm/h
      Regenstatus             :
      Regen seit Regenbeginn  :  mm
      Regen Stunde            :  mm
      Regen Tag               :  mm
      Regen Woche             :  mm
      Regen Monat             :  mm
      Regen Jahr              :  mm
      Regen Gesamt            :  mm
      Sonnenstrahlung         :  W/m²
      UV-Index                :
      Zeitstempel             :
      Firmware                :
      Batteriestand:          :
      Gateway-Modell          :
      
      Zusatzsensoren:
      
      
      
      Datenstring für ioBroker:
      
      
      
      DATA von Wetterstation:
      PASSKEY=totalgeheim&stationtype=GW1000A_V1.6.3&dateutc=2019-08-22+08:25:11&tempinf=72.0&humidityin=54&baromrelin=28.928&baromabsin=28.928&freq=868M&model=GW1000_Pro
      
      
      Debug VAR:
      Installationsverzeichnis: /home/iobroker
      IPP: 192.168.y.z:8087        WS_PORT: 1080           WS_POLL: 30             PRE_DP: javascript.0.Wetterstation
      WEB: HTTP               WS_PROT: Ecowitt        DP50/100: 4 | 0
      Script-Version: V2.1.0  Config-Version: V2.1.0  Sub-Version: V2.1.0
      
      Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
      
      

      WS_ID kann ich in WS View nicht setzen da ich das Ecowitt Protokoll ausgewählt habe, an Sensoren habe ich nur einen WH31A (DP50) und das GW aktiv aktuell.
      Das Datum scheint noch nicht zu stimmen, aber ich nehme nicht an das das abgeglichen wird...

      Zwischenzeitlich hatte ich auch noch folgende Fehler:

      Connection to 192.168.y.z 8087 port [tcp/*] succeeded!
      Listening on 0.0.0.0 1080
      Connection received on 192.168.y.z 35888
      (standard_in) 12: syntax error
      /home/iobroker/wetterstation.sub: line 365: [: : integer expression expected
      /home/iobroker/wetterstation.sub: line 366: [: : integer expression expected
      /home/iobroker/wetterstation.sub: line 367: [: : integer expression expected
      /home/iobroker/wetterstation.sub: line 368: [: : integer expression expected
      /home/iobroker/wetterstation.sub: line 369: [: : integer expression expected
      
      

      Ich habe schon mal versucht im Thread herauszulesen ob denn der GW1000 überhaupt kompatibel ist aber konnte nichts genaues finden (ausser den Verweis auf die Node Red Alternative).
      Am Ende suche ich etwas was mit allen möglichen Sensoren läuft (inc Blitzsensor und Ultrasonic Windsensor) ... ist das mit dem Skript machbar oder wäre da die Node Red Lösung sinnvoller?

      Danke

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

        @rand Ich nutze auch die GW1000 mit der gleichen Firmware: GW1000A_V1.6.3 und einen DP50 dazu. Bei mir läuft alles und wir sollte es auch bei dir hinkriegen.

        Als erstes solltest du in der WS App die Zeitzone und den Hacken für Auto adjust.
        Live Data -> More -> Device Settings

        Wenn du nur einen DS50 hast, wieso hast du 4 konfiguriert?

        Wenn du das eingestellt hast, dann ändere in wetterstation.sub die Zeile: 221
        von
        if [ "$STRLEN" -gt "400" ] && [[ "$DATA" =~ "PASSKEY=" ]]; then return 0; else return 1; fi
        in
        if [ "$STRLEN" -gt "200" ] && [[ "$DATA" =~ "PASSKEY=" ]]; then return 0; else return 1; fi

        Mach also aus 400 eine 200

        Das sollte vorerst helfen.

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

          @a200

          Hi,
          danke für die schnelle Antwort.
          Braucht Auto Adjust im GW einen Internetzugang? Da dürfte die FW im Weg stehen dann... Aber ich schaue mal 🙂

          DP50 - weil im Endausbau 4 Stück da sein werden, daher war ich bequem und habe das gleich mal konfiguriert.
          Wenn das allerdings Fehler verursacht dann passe ich das flugs an, das ist ja kein Thema...

          Edit - Autoadjust ist an (default), steht aber auf dem falschen Datum... das heisst er sucht irgendeinen Timeserver im Inet den er bei mir natürlich erstmal nicht erreicht...

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

            @rand Die WS braucht Zugang zu einem Timeserver und ohne Internet wird es schwierig sein. Es geht nur mit Tricks und DNS umleitung.

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

              @a200

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

              @rand Die WS braucht Zugang zu einem Timeserver und ohne Internet wird es schwierig sein. Es geht nur mit Tricks und DNS umleitung.

              DNS Umleitung wäre ja trivial wenn der Server bekannt ist?
              Kann ich doch dann einfach an meinen eigenen NTP umleiten... mal das Log anschauen

              Edit
              Er versucht ne ganze Menge...
              8df85b04-8a1a-4794-8bc8-9433dec9ca0f-image.png

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

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

                @a200

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

                @rand Die WS braucht Zugang zu einem Timeserver und ohne Internet wird es schwierig sein. Es geht nur mit Tricks und DNS umleitung.

                DNS Umleitung wäre ja trivial wenn der Server bekannt ist?
                Kann ich doch dann einfach an meinen eigenen NTP umleiten... mal das Log anschauen

                PiHole ist da ganz praktisch. Hast du den Wert auf 200 gesetzt?

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

                  @a200

                  PiHole ist da ganz praktisch. Hast du den Wert auf 200 gesetzt?

                  Ja, tut aber noch nicht.
                  Aber mag noch an der Zeit liegen

                  Edit

                  Connection received on 192.168.y.z10545
                  (standard_in) 12: syntax error
                  /home/iobroker/wetterstation.sub: line 365: [: : integer expression expected
                  /home/iobroker/wetterstation.sub: line 366: [: : integer expression expected
                  /home/iobroker/wetterstation.sub: line 367: [: : integer expression expected
                  /home/iobroker/wetterstation.sub: line 368: [: : integer expression expected
                  /home/iobroker/wetterstation.sub: line 369: [: : integer expression expect
                  

                  kommt auch noch

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

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

                    @a200

                    PiHole ist da ganz praktisch. Hast du den Wert auf 200 gesetzt?

                    Ja, tut aber noch nicht.
                    Aber mag noch an der Zeit liegen

                    Edit

                    Connection received on 192.168.y.z10545
                    (standard_in) 12: syntax error
                    /home/iobroker/wetterstation.sub: line 365: [: : integer expression expected
                    /home/iobroker/wetterstation.sub: line 366: [: : integer expression expected
                    /home/iobroker/wetterstation.sub: line 367: [: : integer expression expected
                    /home/iobroker/wetterstation.sub: line 368: [: : integer expression expected
                    /home/iobroker/wetterstation.sub: line 369: [: : integer expression expect
                    

                    kommt auch noch

                    das kommt, weil die Regenmenge nicht übertragen wird und auf der einige Berechnungen basieren. Wenn die Regenmenge kommt, dann verschwinden auch diese Fehler:

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

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

                      das kommt, weil die Regenmenge nicht übertragen wird und auf der einige Berechnungen basieren. Wenn die Regenmenge kommt, dann verschwinden auch diese Fehler:

                      Ah ok, dann ignoriere ich das erstmal.

                      Zeit sieht etwas komplizierter aus bzw es gibt noch sekundäre "Probleme" mit der FW...
                      https://www.wxforum.net/index.php?topic=40437.msg417925#msg417925

                      Sieht so aus als müsste ich da erstmal etwas basteln.

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        Rand @Rand last edited by

                        @a200
                        So, hat etwas gedauert bis ich die beiden FWs in Sync hatte für den NTP Redirect...

                        Musste Zeile 221 auch noch kleiner setzen da mit dem einen Sensor die Länge nur 185 Zeichen war

                        Datenstring für ioBroker:
                        javascript.0.Wetterstation.Innentemperatur=22.50&javascript.0.Wetterstation.Innenfeuchtigkeit=55&javascript.0.Wetterstation.Druck_absolut=978.09&javascript.0.Wetterstation.Druck_relativ=978.09&javascript.0.Wetterstation.Zeitstempel=21.01.2021%2000:18:58&javascript.0.Wetterstation.Info.FW_Version=GW1000A_V1.6.3&javascript.0.Wetterstation.Info.Wetterstation_Gateway=GW1000_Pro&javascript.0.Wetterstation.Regenstatus=&javascript.0.Wetterstation.UV_Belastung=&javascript.0.Wetterstation.Windrichtung_Text=
                        
                        
                        DATA von Wetterstation:
                        PASSKEY=SECRET&stationtype=GW1000A_V1.6.3&dateutc=2021-01-20+23:18:58&tempinf=72.5&humidityin=55&baromrelin=28.883&baromabsin=28.883&freq=868M&model=GW1000_Pro
                        
                        
                        Debug VAR:
                        Installationsverzeichnis: /home/iobroker
                        IPP: 192.168.y.z:8087        WS_PORT: 1080           WS_POLL: 30             PRE_DP: javascript.0.Wetterstation
                        WEB: HTTP               WS_PROT: Ecowitt        DP50/100: 1 | 0
                        Script-Version: V2.1.0  Config-Version: V2.1.0  Sub-Version: V2.1.0
                        
                        

                        Sieht ja schon mal ganz gut aus, danke sehr.
                        Funktionieren alle bekannten/verfügbaren 868MhZ Sensoren mit dem Skript oder sind da noch welche zu implementieren?

                        SBorg 1 Reply Last reply Reply Quote 0
                        • A
                          amiethaner last edited by

                          ich komm hier noch ned ganz klar... wie kann ich denn innerhalb des Freds hier suchen?
                          Meine DNT zeigt mir am Display die richtige uhrzeit an - 06:58 die Daten kommen aber mit dem Zeitstempel 05:58 an.
                          Kann ich das iwie / iwo ändern?

                          Glasfaser a200 2 Replies Last reply Reply Quote 0
                          • Glasfaser
                            Glasfaser @amiethaner last edited by

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

                            wie kann ich denn innerhalb des Freds hier suchen?

                            In User Einstellung aktivieren :

                            1.JPG

                            STRG + F

                            2.JPG

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              amiethaner @Glasfaser last edited by

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

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

                              wie kann ich denn innerhalb des Freds hier suchen?

                              In User Einstellung aktivieren :

                              1.JPG

                              STRG + F

                              2.JPG

                              Danke dir! Dann muss ich evtl manche Frage ned zum 1000, mal stellen hier

                              1 Reply Last reply Reply Quote 0
                              • B
                                banza last edited by

                                Frage zum Statistik-Script, ich möchte mir die Rekordwerte mit Tag anzeigen lassen, laut Skript müsste die Zeile

                                let REKORDWERTE_AUSGABEFORMAT="[WERT] im [MONAT] [JAHR]"; 
                                

                                mit [TAG] ergänzt werden. Der Datenpunkt wird dann aber so geschrieben: 9.88 °C am [Tag] Januar 2021

                                und das Log zeigt folgendes:

                                2021-01-21 01:03:00.287 - warn: javascript.0 (23874) You are assigning a number to the state "0_userdata.0.Wetterstation.Statistik.Rekordwerte.Temperatur_Spitzenhoechstwert" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions.
                                2021-01-21 01:03:00.290 - warn: javascript.0 (23874) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1416:20)
                                2021-01-21 01:03:00.291 - warn: javascript.0 (23874) at Rekordwerte (script.js.common.wetterstation-statistik:562:9)
                                2021-01-21 01:03:00.291 - warn: javascript.0 (23874) at Object.cb (script.js.common.wetterstation-statistik:265:5)
                                2021-01-21 01:03:00.292 - warn: javascript.0 (23874) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5297:71)
                                2021-01-21 01:03:00.292 - warn: javascript.0 (23874) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41)
                                2021-01-21 01:03:00.293 - warn: javascript.0 (23874) at runCallback (timers.js:705:18)
                                2021-01-21 01:03:00.293 - warn: javascript.0 (23874) at tryOnImmediate (timers.js:676:5)
                                2021-01-21 01:03:00.293 - warn: javascript.0 (23874) at processImmediate (timers.js:658:5)
                                2021-01-21 01:03:00.294 - warn: javascript.0 (23874) at process.topLevelDomainCallback (domain.js:126:23)
                                2021-01-21 01:03:05.501 - warn: influxdb.0 (23336) Error on writePoint("{"value":"9.88 °C am [Tag] Januar 2021","time":"2021-01-21T00:03:05.341Z","from":"system.adapter.javascript.0","q":0,"ack":true}): Error: {"error":"partial write: field type conflict: input field \"value\" on measurement \"0_userdata.0.Wetterstation.Statistik.Rekordwerte.Temperatur_Spitzenhoechstwert\" is type string, already exists as type float dropped=1"}
                                / "{\"error\":\"partial write: field type conflict: input field \\\"value\\\" on measurement \\\"0_userdata.0.Wetterstation.Statistik.Rekordwerte.Temperatur_Spitzenhoechstwert\\\" is type string, already exists as type float dropped=1\"}\n"
                                2021-01-21 01:03:05.510 - warn: influxdb.0 (23336) Add 0_userdata.0.Wetterstation.Statistik.Rekordwerte.Temperatur_Spitzenhoechstwert to conflicting Points (1 now)
                                
                                SBorg 1 Reply Last reply Reply Quote 0
                                • a200
                                  a200 @amiethaner last edited by

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

                                  ich komm hier noch ned ganz klar... wie kann ich denn innerhalb des Freds hier suchen?
                                  Meine DNT zeigt mir am Display die richtige uhrzeit an - 06:58 die Daten kommen aber mit dem Zeitstempel 05:58 an.
                                  Kann ich das iwie / iwo ändern?

                                  1. Was zeigt dein wetterstation.sh --debug?
                                  2. Hast du in der WS-App die richtige Zeitzone ausgewählt?
                                  3. Hat dein Rechner auf dem wetterstation.sh läuft die richtige Uhrzeit?

                                  Je nachdem (WS, Firmware, Protokoll) wird die Uhrzeit unterschiedlich übertragen (Timestamp in unterschiedlichen Variationen, now, u.ä.). Aber das kann man aus den Debug-Daten sehen.

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

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

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

                                    ich komm hier noch ned ganz klar... wie kann ich denn innerhalb des Freds hier suchen?
                                    Meine DNT zeigt mir am Display die richtige uhrzeit an - 06:58 die Daten kommen aber mit dem Zeitstempel 05:58 an.
                                    Kann ich das iwie / iwo ändern?

                                    1. Was zeigt dein wetterstation.sh --debug?
                                    2. Hast du in der WS-App die richtige Zeitzone ausgewählt?
                                    3. Hat dein Rechner auf dem wetterstation.sh läuft die richtige Uhrzeit?

                                    Je nachdem (WS, Firmware, Protokoll) wird die Uhrzeit unterschiedlich übertragen (Timestamp in unterschiedlichen Variationen, now, u.ä.). Aber das kann man aus den Debug-Daten sehen.

                                    Zeit, Zeitzone, autom. Sync (funktioniert) und autom. Sommerzeit sind eingestellt. Am PC passt auch alles, aber im Debug sieht man das es dort auch "falsch" kommt.
                                    Kann es sein das die Station UTC sendet, und dur das Display und WU usw das umrechnet?

                                    a200 SBorg 2 Replies Last reply Reply Quote 0
                                    • a200
                                      a200 @amiethaner last edited by

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

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

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

                                      ich komm hier noch ned ganz klar... wie kann ich denn innerhalb des Freds hier suchen?
                                      Meine DNT zeigt mir am Display die richtige uhrzeit an - 06:58 die Daten kommen aber mit dem Zeitstempel 05:58 an.
                                      Kann ich das iwie / iwo ändern?

                                      1. Was zeigt dein wetterstation.sh --debug?
                                      2. Hast du in der WS-App die richtige Zeitzone ausgewählt?
                                      3. Hat dein Rechner auf dem wetterstation.sh läuft die richtige Uhrzeit?

                                      Je nachdem (WS, Firmware, Protokoll) wird die Uhrzeit unterschiedlich übertragen (Timestamp in unterschiedlichen Variationen, now, u.ä.). Aber das kann man aus den Debug-Daten sehen.

                                      Zeit, Zeitzone, autom. Sync (funktioniert) und autom. Sommerzeit sind eingestellt. Am PC passt auch alles, aber im Debug sieht man das es dort auch "falsch" kommt.
                                      Kann es sein das die Station UTC sendet, und dur das Display und WU usw das umrechnet?

                                      Das kann ich dir sagen, wenn ich sehe, was die WS sendet. Wenn sie "now" schickt, dann ist es schon i.O. Anderenfalls muss noch UCT umgerechnet werden. Siehe wetterstation.sub Ab Zeile 295

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

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

                                        Funktionieren alle bekannten/verfügbaren 868MhZ Sensoren mit dem Skript oder sind da noch welche zu implementieren?

                                        Alle wahrscheinlich nicht, da es bestimmt noch "unbekannte" gibt 😉
                                        Aktuell fehlt noch der DP60. Hier liegt der passende String vom Sensor zwar schon vor, aber es gab halt noch keine auswertbare Daten. Dauert also noch bis zum nächsten Gewitter bei jemandem der auch einen DP60 hat und dann einen String mit Daten zur Verfügung stellen kann.

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

                                          Neue Version des Wetterstation-Statistik-Addons auf GitHub V0.2.1

                                          • ~Bugfixing Rekordwerte Sitzenhöchst-/-tiefstwert

                                          Wie immer zu finden im GitHub (wetterstation-statistik.js)

                                          Update empfohlen, da sonst die Temperatur-Rekordwerte nicht korrekt gesetzt werden können.

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

                                          Frage zum Statistik-Script

                                          Bitte auch updaten, fixed das Problem.

                                          SBorg B 3 Replies Last reply Reply Quote 1
                                          • SBorg
                                            SBorg Forum Testing Most Active @amiethaner last edited by

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

                                            Kann es sein das die Station UTC sendet, und dur das Display und WU usw das umrechnet?

                                            Wenn du mit Station die Außenheit meinst, nein, die sendet überhaupt keine Uhrzeit, lediglich Messwerte. Das Display macht dann aus den Daten den hier hinlänglich ( 😉 ) bekannten Datenstring und schreibt es dann dank NTP-Kontakt (Zeitserver) in eine korrekte Uhrzeit, zumindest in UTC. Diese kann man dann in eine "richtige" dank der Zeitzone umrechnen. Du schreibst zwar Zeitzone ist korrekt, mich würde aber vom Datenempfangs-PC ein timedatectl interessieren (2. Befehl falls nicht Europe/Berlin) :
                                            Bild 1.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            568
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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