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.
    • V
      viper4iob @SBorg last edited by

      @sborg
      Ich habs jetzt auch einfach so gemacht.
      Die Logik von AWEKAS verstehe ich nicht so ganz, aber es funktioniert.
      Vielleicht kannst du ja im README einen Hinweis für den AWEKAS Upload hinterlegen, dass man das dort zwingend angeben muss, damit der Wert stimmt. Und damit ist es erst mal erledigt.

      Ich musste am Anfang, als ich die Wetterstation in Betrieb genommen habe, auch diesen Wert manuell anpassen, weil default der relative Wert dem absoluten entsprochen hat.
      Genau den gleichen Diffenrenz-Wert habe ich jetzt einfach bei AWEKAS auch eingetragen.
      Ich hatte auch die Logik mit Höhe geteilt durch 8 angewendet, musste es aber nochmal etwas anpassen, weil mir anderen Quellen von Wetterdaten eine leichte Abweichung angezeigt haben.
      Ich bin auf etwa 320m, durch 8 ist 40 hPa Differenz. Aktuell nutze ich 37,5 und das haut im Vergleich mit anderen Quellen ungefähr hin, auch jetzt mit den Vergleichswerten, die man in AWEKAS anzeigen lassen kann.

      Negalein T 2 Replies Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @SBorg last edited by Negalein

        @sborg

        von wo holt er sich javascript.0.Wetterstation.Regen_Tag?

        Durch Stromausfall heute um 12:30 steht jetzt in javascript.0.Wetterstation.Regen_Tag der Wert von gestern.
        Natürlich dann auch in Awekas.

        Kann ich den irgendwo editieren?
        In Awekas gehts, wird aber dann natürlich gleich wieder überschrieben.


        Edit: konnte den Wert mit der Windows-App WeatherSmart for WiFi editieren und in die Wetterstation (Display) neu schreiben!!

        SBorg 1 Reply Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @viper4iob last edited by

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

          Die Logik von AWEKAS verstehe ich nicht so ganz, aber es funktioniert.

          doch, die Logik passt schon.

          Es wird der Absolute übertragen.
          Wichtig ist aber auch der Relative (für Wetterdienste).

          Ich muss noch forschen, wie ich beide angezeigt bekomm.
          Bei meinem Cousin zB
          3e39dda0-51fc-4f7a-8db7-2e0b17af07f1-image.png

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

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

            @sborg

            von wo holt er sich javascript.0.Wetterstation.Regen_Tag?

            Hat sich zwar erledigt, aber der kommt so direkt von der Station/Gateway.

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

            Ich muss noch forschen, wie ich beide angezeigt bekomm.

            Ich glaube nicht, dass du da etwas einstellen kannst (ich kenne zumindest nix, nur Luftdruck pauschal AN/AUS).
            Im Datenstring gibt es zwar diese Parameter dafür "&absbaromin=x.xx&baromin=x.xx", der "baromin" (relative) funktioniert auch, der "absbaromin" wird aber kpl. ignoriert (wird deswegen auch in der Beta nicht geschickt).
            Kannst ihn mal testweise bei dir aktivieren: fast am Ende der *.sub wird der AWEKAS-String gebaut ("local AWEKAS_URL=...").
            Füge da mal vor if [ $debug == "true" ]; then in eine neue Zeile ein:

             AWEKAS_URL+="&absbaromin=${BAROMABSIN}"
            

            Speichern und Service neu starten, vielleicht klappt es ja bei dir 😉

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

              @homer

              --add-host iobrokerNAS1:xxx.xxx.xxx.xxx
              

              wobei xxx.xxx.xxx.xxx die IP deines Containers ist...

              Die Frage würde ich wenn dann eher mal hier stellen, da das in den Bereich Docker auf Synology gehört?

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

                @sborg Ich habe die neue Version aus dem Stable laufen. Kann es sein, dass die Tagesminimum- und -maximumwerte nicht mehr richtig angezeigt werden?

                Screenshot (7).jpg

                Negalein SBorg 2 Replies Last reply Reply Quote 0
                • Negalein
                  Negalein Global Moderator @Gezi70 last edited by

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

                  dass die Tagesminimum- und -maximumwerte nicht mehr richtig angezeigt werden?

                  funktioniert hier

                  b03a4593-b6d6-4d81-bb97-42c6cd9ccc44-image.png

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

                    @gezi70 Die Daten werden aus der InfluxDB ausgelesen. Ev. lief aus irgendeinem Grund genau vor einem Jahr das Skript, der ioB... mal länger nicht? --> dann wurde nichts aufgezeichnet und er kann auch nix auslesen

                    Falls du Grafana nutzt (bzw. es jetzt immer noch nicht funktioniert) scroll doch mal ein Jahr backwards ob da Temperaturmesswerte für "Außen" vorliegen.

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

                      @sborg da liegt nix, ich musste das ganze System neu aufsetzen. Mir geht es eigentlich "nur" um die Tages min- und max Werte. Wann werden diese Punkte befüllt? Ich habe ständig in beiden Datenpunkten gleiche Werte: und zwar den des Maximums. Ist mir gestern aufgefallen, als meine Frau meinte, dass es früh minus elf Grad hatte, aber die Werte auf meiner Vis immer das gleiche anzeigen: das jeweilige Maximum des entsprechenden Zeitpunktes. Auch im Skript, bzw. halt in den Objekten. Ich habe auch alles gestern Abend nochmal gelöscht und per Hand frisch aus dem Stable angelegt.

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

                        @gezi70 Beide minmax ("heute" und "letzte 24h") werden turnusmäßig alle volle 15 Minuten (xx:00 Uhr, xx:15...xx:45 Uhr) erzeugt.
                        Da beides eine Influx-Abfrage ist klemmt es womöglich da bei dir: loggen der Temperatur bzw. Zugang zur InfluxDB (IP, Port, User, Passwort).

                        G XxJooO 2 Replies Last reply Reply Quote 0
                        • G
                          Gezi70 @SBorg last edited by

                          @sborg
                          Ich hatte wahrscheinlich einen größeren Fehler in der influxdb. Die und Grafana habe ich gestern abend vollständig platt gemacht und wieder aufgesetzt. Jetzt stimmen die Werte wieder. 😉 Der Hinweis auf die influxdb kam aber aus einem anderen Teil des Forums, ich hatte auch Probleme mit dem Backitup - Adapter. Da hing vermutlich noch das alte System mit drin.

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

                            @sborg,

                            hallo, nach der Neuinstallation habe ich gerade eben mal das Log-File aus der Nacht angesehen, um zu schauen, was wetterstation-statistik.js so meldet und finde leider das hier:

                            2023-01-22 01:03:00.022  - info: javascript.0 (572) script.js.DasWetter.Wetter_Statistik: Auswertung durchgeführt...
                            2023-01-22 01:03:00.165  - warn: influxdb.0 (557) Error in query "select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1674255600000000000 AND time <= 1674341999000000000": HttpError: error @1:1-1:7: undefined identifier select
                            
                            error @1:10-1:14: undefined identifier FROM
                            
                            error @1:61-1:66: undefined identifier WHERE
                            
                            error @1:67-1:71: (v: A) => time (function) is not Equatable
                            
                            error @1:67-1:71: (v: A) => time (function) is not Comparable
                            
                            error @1:95-1:98: undefined identifier AND
                            
                            error @1:99-1:103: (v: A) => time (function) is not Equatable
                            
                            error @1:99-1:103: (v: A) => time (function) is not Comparable
                            2023-01-22 01:03:00.171  - warn: influxdb.0 (557) Error in query " select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1674255600000000000 AND time <= 1674341999000000000": HttpError: error @1:2-1:8: undefined identifier select
                            
                            error @1:11-1:15: undefined identifier FROM
                            
                            error @1:54-1:59: undefined identifier WHERE
                            
                            error @1:60-1:64: (v: A) => time (function) is not Equatable
                            
                            error @1:60-1:64: (v: A) => time (function) is not Comparable
                            
                            error @1:88-1:91: undefined identifier AND
                            
                            error @1:92-1:96: (v: A) => time (function) is not Equatable
                            
                            error @1:92-1:96: (v: A) => time (function) is not Comparable
                            2023-01-22 01:03:00.176  - warn: influxdb.0 (557) Error in query " select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1674255672000000000 AND time <= 1674341999000000000": HttpError: error @1:2-1:8: undefined identifier select
                            
                            error @1:11-1:15: undefined identifier FROM
                            
                            error @1:55-1:60: undefined identifier WHERE
                            
                            error @1:61-1:65: (v: A) => time (function) is not Equatable
                            
                            error @1:61-1:65: (v: A) => time (function) is not Comparable
                            
                            error @1:89-1:92: undefined identifier AND
                            
                            error @1:93-1:97: (v: A) => time (function) is not Equatable
                            
                            error @1:93-1:97: (v: A) => time (function) is not Comparable
                            2023-01-22 01:03:00.177  - error: influxdb.0 (557) queries: Error: 3 Error happened while processing 3 queries
                            2023-01-22 01:03:00.185  - error: javascript.0 (572) script.js.DasWetter.Wetter_Statistik: Fehler beim Lesen der InfluxDB: Invalid call
                            2023-01-22 01:03:00.186  - warn: javascript.0 (572) 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 >= 1674255600000000000 AND time <= 1674341999000000000; select * FROM \"0_userdata.0.Wetterstation.Wind_max\" WHERE time >= 1674255600000000000 AND time <= 1674341999000000000; select * FROM \"0_userdata.0.Wetterstation.Regen_Tag\" WHERE time >= 1674255672000000000 AND time <= 1674341999000000000","id":3,"ack":true,"time":1674345780022},"_id":13128843} Reduce of empty array with no initial value
                            2023-01-22 01:03:00.187  - warn: javascript.0 (572) TypeError: Reduce of empty array with no initial value
                               at Array.reduce (<anonymous>:null:null)
                               at Object.cb (script.js.DasWetter.Wetter_Statistik:184:43)
                               at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5291:71)
                               at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:322:37)
                               at processImmediate (node:internal/timers:466:21)
                            
                            

                            Kurzer Hinweis, woher das kommt?

                            Geloggt wird ja.

                            Screenshot 2023-01-22 154852.jpg

                            Auch Regen_Tag wird geloggt. Hat das mit influxdb in der Version 2 zu tun? Kann ich das irgendwie prüfen?

                            Vielen dank!!!

                            Jo

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

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

                              Hat das mit influxdb in der Version 2 zu tun? Kann ich das irgendwie prüfen?

                              Schon selbst beantwortet 😉
                              V2 wird nicht supportet. Such mal hier im Thread, da müsste es zwei, drei Treffer geben wie man die Abfrage für InfluxDB V2 abändert, dann geht es wieder.

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

                                Da keine offensichtlichen Fehler aufgetreten sind:

                                Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.21.0

                                • + Support für AWEKAS
                                • ~ fix fehlende Regenwerte wenn nur der WS90 ohne weitere Außeneinheit benutzt wird / Issue #51

                                Wie immer zu finden im GitHub


                                Update-Routine von Vorgängerversion:

                                • aktuellen WS-Updater nutzen (Download falls älter als V2.12.1: wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)
                                • ./ws_updater.sh im Installationsverzeichnis ausführen
                                • Menüpunkt "4" wählen und die Fragen beantworten
                                • wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neuer Datenpunkt .Info.Awekas_at); bei aktivierter Rest-API wird der Datenpunkt automatisch im ioB angelegt (1)

                                (1) es empfiehlt sich danach den Simple-API-Adapter neu zu starten (entweder per WebIF oder einfach iob restart simple-api.0)


                                Update ist optional.

                                Die Release-Version ist nicht mit dem letzten Beta-Release identisch! Betatester tauschen bitte die ".sh" und ".sub" aus und restarten den Service.

                                1 Reply Last reply Reply Quote 3
                                • T
                                  tritor @viper4iob last edited by tritor

                                  @viper4iob

                                  wo gebe ich bei awekas die Differenz für den Luftdruck ein?

                                  wobei ich mal davon ausgehe, daß zumindes die Differenz zwischen rel. und abs. Lufdruck bei mir ok ist.

                                  Seehöhe: 194m
                                  Rel. 1029.12 hPa
                                  abs. 1005.52 hPa

                                  Grüße
                                  Gernot

                                  Negalein 1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @tritor last edited by

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

                                    wo gebe ich bei awekas die Differenz für den Luftdruck ein?

                                    Mein Awekas
                                    --> Benutzerdaten ändern
                                    --> Wetterstation
                                    a69d0084-5b74-46d6-bc98-067ed0643e03-image.png

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

                                      Neue Beta-Version des Wetterstation WLAN-Skriptes auf GitHub V2.22.0

                                      (Beta-Releases lassen sich nicht! über den ws_updater.sh installieren, nur die *.conf lässt sich mit dem ws_updater.beta ggf. patchen [s.u.])

                                      • + Support für Bresser Thermo-Hygro-7Ch-Sensor #7009999 / Issue #53

                                      Wie immer zu finden im GitHub


                                      Update-Routine:

                                      • wetterstation.sh, wetterstation.sub und ws_updater.beta (muss "ausführbar" sein chmod +x ws_updater.beta) ersetzen bzw. kopieren
                                      • wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (nur nötig wenn man auch einen entsprechenden Sensor der Firma Bresser im Einsatz hat) (1)
                                      • ./ws_updater.beta --patch im Installationsverzeichnis ausführen und ev. Hinweise beachten
                                      • nun mittels [sudo] systemctl restart wetterstation den Service neu starten

                                      (1) es empfiehlt sich danach den Simple-API-Adapter neu zu starten (entweder per WebIF oder einfach iob restart simple-api.0)


                                      Da es ein reines Funktions-Betarelease ist, ergibt der Einsatz dieser Version nur einen Vorteil wenn man auch Sensor/en der Firma Bresser nutzt. Trotzdem wäre ein Test nicht schlecht, da ich den Sensortyp nicht "einfach" hinzufügen konnte und weitere Änderungen vornehmen musste. Es könnte also durchaus sein, dass ich dabei eine andere Funktion oä. "gegrillt" habe (speziell Zusatz-Sensoren des Typs DP100) 😉

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

                                        Servus zusammen!
                                        Bei mir läuft die Script Vers: 1.3.0
                                        In den Objekten für Werte Vorjahres_Monat steht bei mir überall {"ack":true}
                                        Aber erst seit heute. Die Januar Werte passten noch.
                                        Wenn ich aber unter Data 02/2022 schau, steht da alles soweit gut drin:

                                        [{"Tiefstwert":-7.77,"Hoechstwert":15.77,"Temp_Durchschnitt":3.6,"Max_Windboe":47.96,"Max_Regenmenge":8.6,"Regenmenge_Monat":78.1,"warme_Tage":0,"Sommertage":0,"heisse_Tage":0,"Frost_Tage":44,"kalte_Tage":39,"Eistage":1,"sehr_kalte_Tage":0}]
                                        

                                        Läuft hier iwas falsch, oder werden de Werte erst heute Nacht richtig berechnet/übernommen?

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

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

                                          Läuft hier iwas falsch, oder werden de Werte erst heute Nacht richtig berechnet/übernommen?

                                          Ja und nein 😉

                                          Für die aktuellen Daten neues JS anlegen (Datenverzeichnis ggf. anpassen [Zeile #1]) und einmalig ausführen, dann sollten die Daten da sein:

                                              const PRE_DP='0_userdata.0.Statistik.Wetter';  //Speicherort der Statistikdaten
                                              const monatsdatenpunkt='.Data.2022.02';        //.Data.Jahr.Monat
                                          
                                              
                                                  let VorJahr = getState(PRE_DP+monatsdatenpunkt).val;
                                                  VorJahr = JSON.parse(VorJahr.substring(1, VorJahr.length-1));
                                                  
                                                  setState(PRE_DP+'.Vorjahres_Monat.Tiefstwert', VorJahr.Tiefstwert, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.Hoechstwert', VorJahr.Hoechstwert, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.Temperatur_Durchschnitt', VorJahr.Temp_Durchschnitt, true); 
                                                  setState(PRE_DP+'.Vorjahres_Monat.Max_Windboe', VorJahr.Max_Windboe, true); 
                                                  setState(PRE_DP+'.Vorjahres_Monat.Max_Regenmenge', VorJahr.Max_Regenmenge, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.Regenmenge_Monat', VorJahr.Regenmenge_Monat, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.warme_Tage', VorJahr.warme_Tage, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.Sommertage', VorJahr.Sommertage, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.heisse_Tage', VorJahr.heisse_Tage, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.Frost_Tage', VorJahr.Frost_Tage, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.kalte_Tage', VorJahr.kalte_Tage, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.Eistage', VorJahr.Eistage, true);
                                                  setState(PRE_DP+'.Vorjahres_Monat.sehr_kalte_Tage', VorJahr.sehr_kalte_Tage, true);
                                                  setState(PRE_DP + '.Vorjahres_Monat.Wuestentage', VorJahr.Wuestentage, true);
                                                  setState(PRE_DP + '.Vorjahres_Monat.Tropennaechte', VorJahr.Tropennaechte, true);
                                                  setState(PRE_DP + '.Vorjahres_Monat.Regentage', VorJahr.Regentage, true);
                                          

                                          Wenn das funktioniert hat die V1.3.1 von GitHub laden und nutzen.


                                          btw.: das müsste jeden betreffen, genereller Fehler

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

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

                                            Jop, ging, nur Regentage, Tropennächte und Wüstentage ned. Aber die wurden da bei mir noch ned aufgezeichnet. Hab die letzten Tage erst von ner alten Version geupdated

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            848
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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