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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    209

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

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

[Linux Shell-Skript] WLAN-Wetterstation

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 152 Posters 3.8m Views 134 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SBorgS SBorg

    Mitunter kann ich auch pedantisch 😁 :
    Bild 1.png

    • Sourceanalytix per GitHub auf 0.4.5 hoch ziehen
    • neue Messeinheit anlegen (ich habe es mal Regenmenge genannt)Bild 2.png
    • und beim Objekt dann auswählenBild 3.png
    • Ergebnis siehe oben 😇
    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    wrote on last edited by
    #1209

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

    Mitunter kann ich auch pedantisch

    Servus

    Warum zeigt er bei mir die Werte in minus?

    Bei dir schaut es korrekt aus.

    objects - ioBroker (17).png objects - ioBroker (18).png

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    SBorgS 1 Reply Last reply
    0
    • NegaleinN Negalein

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

      Mitunter kann ich auch pedantisch

      Servus

      Warum zeigt er bei mir die Werte in minus?

      Bei dir schaut es korrekt aus.

      objects - ioBroker (17).png objects - ioBroker (18).png

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      wrote on last edited by
      #1210

      @Negalein Moin, weil ich extra eine "Regenmenge" als neue Kategorie angelegt habe. Das funktioniert aber erst mit der 0.4.5, die dann aber leider das "Null"-Problem beim Übertrag der Werte hat 😞

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

      crunchipC 1 Reply Last reply
      0
      • SBorgS SBorg

        @Negalein Moin, weil ich extra eine "Regenmenge" als neue Kategorie angelegt habe. Das funktioniert aber erst mit der 0.4.5, die dann aber leider das "Null"-Problem beim Übertrag der Werte hat 😞

        crunchipC Away
        crunchipC Away
        crunchip
        Forum Testing Most Active
        wrote on last edited by
        #1211

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

        Null"-Problem beim Übertrag der Werte hat

        gibt es seit der Version 4.x
        ich habe v 0.4.2, da 0.4.5 bei mir Probleme mit meinen angelegten Zählern verursachte und starte die Instanz kurz nach Mitternacht per cron neu, wegen den Null Werten

        umgestiegen von Proxmox auf Unraid

        1 Reply Last reply
        0
        • SBorgS SBorg

          Das ganze entstand aus diesem Thread.
          Damit ist es möglich mit einem Linux-Client die Daten einer WLAN-Wetterstation und/oder mit Hilfe eines Gateways und Zusatzsensoren zu empfangen, aufzubereiten und im ioBroker zur Verfügung zu stellen. Optional können die Daten auch bei AWEKAS.at, OpenSenseMap, Windy und wetter.com zur Verfügung gestellt werden.
          Mein Dank geht an @Latzi für das testen in der Entwicklungsphase und dessen Unterstützung bei der Verfassung der WiKi-Artikel.


          Aktuelle Version auf GitHub: Current Release
          Neue Versionen im Thread sind ab V2.15.0 (Juli 2022) unterschiedlich farblich gekennzeichnet:

          • Beta-Releases haben dann eine rote Versionsnummer
          • stabile Releases haben dann eine grüne Versionsnummer

          Projektseite (inkl. WiKi): https://sborg2014.github.io/WLAN-Wetterstation/
          Da es sich um keinen Adapter handelt, ist dies eine "Vorschaltseite" von GitHub. Nicht das wer auf die Idee kommt von der URL im ioBroker installieren zu wollen 😉
          Zum Download/WiKi geht es dann weiter per View on GitHub

          Bisher geteste Stationen:

          • BRESSER
            • WLAN Farb-Wetter Center mit 5-in-1 Profi-Sensor V (1) @pandor
            • WLAN Comfort Wetterstation mit 7-in-1 Profi-Sensor (1)
          • ChiliTec Funk Wetterstation 12in1 @tege0
          • DNT Weatherscreen PRO @Petersilie
          • Ecowitt
            • GW1000
            • GW2000A
            • GW3000A @MartyBr
            • WS2910 @Nashra
            • WS3800A @hoschi2007
            • WS3900 @Mike77
          • ELV WS980WiFi @sonystar
          • Eurochron EFWS2900 @Latzi, @ilovegym, @SBorg (baugleich mit Ambient Weather WS-2902, Chilitec CTW-902, Sainlogic 10 in 1)
          • Froggit
            • Gateway/USB-Dongle DP1500/DP2000 @Boronsbruder
            • HP1000SE Pro @Stormbringer
            • WH3000 SE @ToxSox, @crunchip
            • WH4000 SE @unltdnetworx, @Glasfaser, @Negalein, @Boronsbruder
            • WH6000 Pro @Mugel80
          • Renkforce WH2600
          • Sainlogic
            • 7 in 1 WiFi WS3500 @tritor, @manu96
            • Profi Wlan Wetterstation FT0300 (1) @XxJooO
          • Ventus W830 @CiroCool, @Rushmed
          (1) Abfrage per DNS-Server wie bspw. PiHole oder dnsmasq

          Bisher unterstütze Zusatzsensoren per Station oder mittels DP1500/DP2000/GW1000/GW2000A - Gateway:

          • bis zu 8 Stück DP35/WN34 Wassertemperatur-Sensoren
          • ein DP40/WH32 (bzw. WH26) Außentemperatur- und Luftfeuchtigkeitssensor
          • bis zu 8 Stück DP50/WH31 Temperatur-/Luftfeuchtigkeit-Sensoren
          • ein DP60/WH57 Blitzsensor
          • bis zu 4 Stück DP70/WH55 Wasserleckage-Sensoren
          • bis zu 16 Stück DP100/WH51 Bodenfeuchte-Sensoren
          • bis zu 4 Stück DP200/WH43 PM2.5 Feinstaub-Sensoren
          • ein DP250/WH45 5-In-1 CO2 / PM2.5 / PM10 / Temperatur / Luftfeuchte Innenraumsensor
          • ein DP300/WS68 Solarunterstütztes Anemometer mit UV-Lichtsensor
          • ein WH31 (bzw. WH25) Sensor
          • ein WH40H Sensor
          • ein WS80 Sensor
          • ein WS90 "Wittboy" Sensor
          • BRESSER (1)
            • bis zu 4 Stück(2) BRESSER Thermo-/Hygro-Sensor 7 Kanal #7009999

          Für den WFC01 hat @Rand nun hier und folgende ein kleines Javascript gebaut, um diesen auch auslesen zu können.

          (1) nicht alle Bresser-Stationen unterstützen Zusatzsensoren! siehe hier
          (2) durch das verwendete Wunderground-Protokoll limitiert

          Die mögliche Anzahl der Zusatzsensoren ist nicht durch das Skript begrenzt, sondern wird vom Display und/oder Gateway bestimmt.

          Es besteht ferner auch die Möglichkeit Stationen (wie bspw. Sainlogic Profi Wlan Wetterstation FT0300) einzubinden die nicht per WS View[+] App konfiguriert werden können und nur ein Web-Interface bieten, dass keine Angabe eines eigenen Wetterdienst-Servers zulässt. Hierfür kann man den Umweg eines eigenen DNS-Servers wie dnsmasq oder Pi-hole gehen. Für Pi-hole hat @XxJooO freundlicherweise hier im Forum eine ausführliche Doku erstellt: klick mich

          Wäre schön wenn sich weitere User mit entsprechenden Modellen melden bei denen es funktioniert (auch wenn es baugleiche sein sollten, so ist man sich wenigstens sicher 😉 )

          Update von einer Vorgängerversion (bei Nutzung per systemd):

          Im Installationsverzeichnis ./ws_updater.sh ausführen.
          Alternativ (falls die aktuell installierte Version kleiner als V2.12.0 ist): im Installationsverzeichnis bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) ausführen

          Update von einer Vorgängerversion (bei Nutzung als cronjob):

          Am besten das laufende Skript mit pkill -9 wetterstation.sh stoppen, wetterstation.sh und -.sub ersetzen (-.conf und -.js nur nach Aufforderung nötig; conf dann neu konfigurieren / js ersetzen und einmalig ausführen), dann entweder

          • direkt am Linux-Client ./wetterstation.sh &
          • oder per Putty oä. nohup ./wetterstation.sh & (erzeugt dabei eine Datei nohup.out)
          • oder reboot des Systemes (Skript wird dann per cronjob wieder gestartet)

          jeweils im Installationsverzeichnis ausführen. Sonst befindet sich ggf. noch das alte Skript im RAM und läuft munter bis zum nächsten Reboot weiter 😉

          Beispiele einer grafischen Umsetzung:
          @Glasfaser: View / zum Beitrag
          View

          @crunchip: Grafana / zum Beitrag
          Grafana

          Wetterstation-Statistik (JS-Addon)

          Statistikmodul als Javascript. Liefert diverse Statistiken:
          Bild 1.png

          Javascript für eine HTML-Tabelle vorheriger Monatswerte ( @liv-in-sky ) :

          Beispiel 1Beispiel 2
          zum Thread

          Neues Projekt PimpMyStation (14.11.2020)

          Google Spreadsheet


          Kein Support per PM/Chat !

          jensfrJ Offline
          jensfrJ Offline
          jensfr
          wrote on last edited by
          #1212

          Tolles Skript. Funktioniert super!

          Darf ich mal ne Frage zum WH3000 SE stellen? Der zeigt bei mir sowas von spät an, dass es regnet. Hat noch jemand das Problem? Kann auch sein das es 2 std. leicht regnet u. es nicht angezeigt wird...

          DAnke.

          R L 2 Replies Last reply
          0
          • jensfrJ jensfr

            Tolles Skript. Funktioniert super!

            Darf ich mal ne Frage zum WH3000 SE stellen? Der zeigt bei mir sowas von spät an, dass es regnet. Hat noch jemand das Problem? Kann auch sein das es 2 std. leicht regnet u. es nicht angezeigt wird...

            DAnke.

            R Offline
            R Offline
            Rushmed
            Most Active
            wrote on last edited by
            #1213

            @jensfr Der geringste Wert den meine Station wahrnimmt sind 0,3 mm Niederschlag, wenn es nur leicht nieselt kann es schon dauern bis da etwas kommt.

            jensfrJ 1 Reply Last reply
            0
            • S Offline
              S Offline
              SteffenTM
              wrote on last edited by
              #1214

              Nabend,
              ich habe seit fast zwei Jahren eine Ventus W830 Wetterstation. Am Anfang hatte ich die Station über Wunderground registriert und über die API in der Instanz die Daten nach iobroker geholt. Hat ohne Problem funktioniert, nur finde ich es schizophren meine eigenen Daten um die halbe Welt zu schicken um sie wieder verwenden zu können. Nachdem ich auf die Möglichkeit mit dem Shell-Skript gestoßen bin habe ich das direkt implementiert. War genau das, was ich gesucht hatte. Seit März läuft das bei mir ohne jedes Problem. Müsste nur mal das Update machen. Läuft bei mir auf nem PI4 mit ner SSD als Datenspeicher.

              L 1 Reply Last reply
              0
              • S SteffenTM

                Nabend,
                ich habe seit fast zwei Jahren eine Ventus W830 Wetterstation. Am Anfang hatte ich die Station über Wunderground registriert und über die API in der Instanz die Daten nach iobroker geholt. Hat ohne Problem funktioniert, nur finde ich es schizophren meine eigenen Daten um die halbe Welt zu schicken um sie wieder verwenden zu können. Nachdem ich auf die Möglichkeit mit dem Shell-Skript gestoßen bin habe ich das direkt implementiert. War genau das, was ich gesucht hatte. Seit März läuft das bei mir ohne jedes Problem. Müsste nur mal das Update machen. Läuft bei mir auf nem PI4 mit ner SSD als Datenspeicher.

                L Offline
                L Offline
                lemuba
                wrote on last edited by
                #1215

                @SBorg

                Hattest Du eigentlich schon Dein Testgelöt von Lucy/Ecowitt erhalten?
                Wollte mal was bei Ecowitt ordern, aber die sind ja anscheinend noch immer im Lockdown/hinten dran mit sehr langen Lieferzeiten... Da kommt auch bald ein Sensor mit einem Wasserdichten Fühler. Wollte dann auch damit meinen Aldi Pool vielleicht etwas smarter machen. Vielleicht ordere ich dann auch den angehenden neuen Luftgütesensor mit CO2 Werten, etc.

                Gruss,

                Matthias

                SBorgS 1 Reply Last reply
                0
                • jensfrJ jensfr

                  Tolles Skript. Funktioniert super!

                  Darf ich mal ne Frage zum WH3000 SE stellen? Der zeigt bei mir sowas von spät an, dass es regnet. Hat noch jemand das Problem? Kann auch sein das es 2 std. leicht regnet u. es nicht angezeigt wird...

                  DAnke.

                  L Offline
                  L Offline
                  lemuba
                  wrote on last edited by lemuba
                  #1216

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

                  Tolles Skript. Funktioniert super!

                  Darf ich mal ne Frage zum WH3000 SE stellen? Der zeigt bei mir sowas von spät an, dass es regnet. Hat noch jemand das Problem? Kann auch sein das es 2 std. leicht regnet u. es nicht angezeigt wird...

                  DAnke.

                  Jo, das ist so Konstruktionsbedingt. Der Löffel mit der 0.3mm Auflösung benötigt eben seine Zeit bis er auslöst... Bei leichtem Grissel verdunsten die Tröpfelchen im Trichter, bzw. werden gar nicht gezählt. Kannst den Trichter eventuell mit Teflon beschichten.

                  http://www.ecowitt.com/news/60.html

                  Aber definitiv kein Ersatz/Lösung für einen reinrassigen Regensensor der beim ersten Tropfen alarmiert. Beispiel:

                  https://www.homematic-ip.com/produkte/detail/homematic-ip-regensensor.html

                  Der Standard Regenmesser einer Wetterstation ist für Bauern und Gärtner 😉 Was der nicht erfasst, kommt auch nicht bei der Wurzel an, aber fast 32mm heute🙂
                  https://www.fitzbek-wetter.de/pwsWDxx/PWS_index2.php

                  Gruss,
                  Matthias

                  1 Reply Last reply
                  0
                  • R Rushmed

                    @jensfr Der geringste Wert den meine Station wahrnimmt sind 0,3 mm Niederschlag, wenn es nur leicht nieselt kann es schon dauern bis da etwas kommt.

                    jensfrJ Offline
                    jensfrJ Offline
                    jensfr
                    wrote on last edited by
                    #1217

                    @Rushmed Danke. Die sollten es gewesen sein. Es war auch schon recht viel Wasser in der Schaufel drin. Muss das nochmal etwas beobachten....

                    1 Reply Last reply
                    0
                    • L lemuba

                      @SBorg

                      Hattest Du eigentlich schon Dein Testgelöt von Lucy/Ecowitt erhalten?
                      Wollte mal was bei Ecowitt ordern, aber die sind ja anscheinend noch immer im Lockdown/hinten dran mit sehr langen Lieferzeiten... Da kommt auch bald ein Sensor mit einem Wasserdichten Fühler. Wollte dann auch damit meinen Aldi Pool vielleicht etwas smarter machen. Vielleicht ordere ich dann auch den angehenden neuen Luftgütesensor mit CO2 Werten, etc.

                      Gruss,

                      Matthias

                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      wrote on last edited by
                      #1218

                      Lese ich immer gerne wenn es funktioniert und natürlich auch wenn es genutzt wird 🙂

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

                      Hattest Du eigentlich schon Dein Testgelöt von Lucy/Ecowitt erhalten?

                      Nö, Stand heute ist noch nichts eingetrudelt. Über "meinen" Zoll dauert es aktuell 3-4 Monate...
                      ...auch wenn man es nicht unbedingt gerne lesen mag, aber ich habe derzeit sowieso noch 1.000 andere Baustellen. Ist im Grunde also auch nicht weiter tragisch 😉

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

                      1 Reply Last reply
                      0
                      • NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        wrote on last edited by
                        #1219

                        Hallo @SBorg

                        Ich möchte gern so eine Statistik erstellen.
                        Mit Sourceanalytic geht zB Temperatur nicht.

                        Hast du eine Idee, wie man die Werte ähnlich Sourceanalytic speichern könnte?
                        WhatsApp Image 2020-09-01 at 19.51.10.jpeg

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        SBorgS 1 Reply Last reply
                        0
                        • NegaleinN Negalein

                          Hallo @SBorg

                          Ich möchte gern so eine Statistik erstellen.
                          Mit Sourceanalytic geht zB Temperatur nicht.

                          Hast du eine Idee, wie man die Werte ähnlich Sourceanalytic speichern könnte?
                          WhatsApp Image 2020-09-01 at 19.51.10.jpeg

                          SBorgS Offline
                          SBorgS Offline
                          SBorg
                          Forum Testing Most Active
                          wrote on last edited by
                          #1220

                          @Negalein Da ich ein Statistik-Fan bin: gefällt mir 😁
                          Pauschal kann/könnte ich die Werte auch zur Verfügung, aber dazu wäre eigentlich eine DB geeigneter (wg. der anfallenden Datemenge; ich müsste zumindest für den aktuellen Monat immer alle Werte aktuell halten. Danach den abgelaufenen Monat in 13 neue Datenpunkte verschieben). Ad hoc müssten sich die Werte aber einfacher aus bspw. InfluxDB ziehen lassen.
                          Ich hatte da mal angefangen (nicht wundern, Wohnzimmer geht nicht mehr so ganz 😉 ) :
                          Bild 1.png
                          Das erweitert und am Monatsende die Werte in DPs geschrieben wären IMO der gangbarste Weg.

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

                          NegaleinN 1 Reply Last reply
                          1
                          • SBorgS SBorg

                            @Negalein Da ich ein Statistik-Fan bin: gefällt mir 😁
                            Pauschal kann/könnte ich die Werte auch zur Verfügung, aber dazu wäre eigentlich eine DB geeigneter (wg. der anfallenden Datemenge; ich müsste zumindest für den aktuellen Monat immer alle Werte aktuell halten. Danach den abgelaufenen Monat in 13 neue Datenpunkte verschieben). Ad hoc müssten sich die Werte aber einfacher aus bspw. InfluxDB ziehen lassen.
                            Ich hatte da mal angefangen (nicht wundern, Wohnzimmer geht nicht mehr so ganz 😉 ) :
                            Bild 1.png
                            Das erweitert und am Monatsende die Werte in DPs geschrieben wären IMO der gangbarste Weg.

                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            wrote on last edited by
                            #1221

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

                            Ad hoc müssten sich die Werte aber einfacher aus bspw. InfluxDB ziehen lassen.

                            Influx läuft bei mir bereits. Da könnt ich alle benötigten DP vom Script mal mitschreiben lassen.

                            Dann stehts bei mir aber schon an. Da bist für den weiteren Weg du meine Hilfe 😉

                            ° Node.js: 20.17.0 NPM: 10.8.2
                            ° Proxmox, Ubuntu 22.04.3 LTS
                            ° Fixer ---> iob fix

                            SBorgS 1 Reply Last reply
                            0
                            • NegaleinN Negalein

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

                              Ad hoc müssten sich die Werte aber einfacher aus bspw. InfluxDB ziehen lassen.

                              Influx läuft bei mir bereits. Da könnt ich alle benötigten DP vom Script mal mitschreiben lassen.

                              Dann stehts bei mir aber schon an. Da bist für den weiteren Weg du meine Hilfe 😉

                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              wrote on last edited by
                              #1222

                              @Negalein Ich muss mal schauen was performanter in der Abfrage ist. Habe mal ein kleines JS "zusammen gehämmert" was die Daten per History (hab aber erst gegen Mittag mit dem sammeln begonnen) zieht:
                              Bild 1.png
                              Macht aktuell nur Min/Max/Durchschnitt und °C über 20°C?

                              Mir war schon klar, dass ich es machen "darf" 😇
                              Daran liegt es auch nicht, nur ist es direkt über das Script viel zu Ressourcen fressend, dass geht per DB/History und JS performanter (und auch einfacher).
                              Dann muss ich mir noch was mit dem Datenmanagement und den Datenpunkten überlegen.

                              • Die Tagestemperaturen sollten so bleiben? Ein 31°C-Tag zählt zu >30 und zu >25 und zu >20 (ja, es war ja auch einer über 20/25°).
                              • soll(te) das 1x täglich (bspw. Mitternacht) aktualisiert werden? Die Datenmenge wären pro Datenpunkt 86400 / 16 = 5.600 DPs die sonst abgefragt werden müssen. Das sollte man nicht im Minutentakt ausführen ^^

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

                              NegaleinN R 2 Replies Last reply
                              0
                              • SBorgS SBorg

                                @Negalein Ich muss mal schauen was performanter in der Abfrage ist. Habe mal ein kleines JS "zusammen gehämmert" was die Daten per History (hab aber erst gegen Mittag mit dem sammeln begonnen) zieht:
                                Bild 1.png
                                Macht aktuell nur Min/Max/Durchschnitt und °C über 20°C?

                                Mir war schon klar, dass ich es machen "darf" 😇
                                Daran liegt es auch nicht, nur ist es direkt über das Script viel zu Ressourcen fressend, dass geht per DB/History und JS performanter (und auch einfacher).
                                Dann muss ich mir noch was mit dem Datenmanagement und den Datenpunkten überlegen.

                                • Die Tagestemperaturen sollten so bleiben? Ein 31°C-Tag zählt zu >30 und zu >25 und zu >20 (ja, es war ja auch einer über 20/25°).
                                • soll(te) das 1x täglich (bspw. Mitternacht) aktualisiert werden? Die Datenmenge wären pro Datenpunkt 86400 / 16 = 5.600 DPs die sonst abgefragt werden müssen. Das sollte man nicht im Minutentakt ausführen ^^
                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                wrote on last edited by
                                #1223

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

                                Mir war schon klar, dass ich es machen "darf"

                                kennst mich doch. 😉 Du bist da der King 😁

                                Daran liegt es auch nicht, nur ist es direkt über das Script viel zu Ressourcen fressend, dass geht per DB/History und JS performanter (und auch einfacher).

                                kein Problem.

                                Die Tagestemperaturen sollten so bleiben? Ein 31°C-Tag zählt zu >30 und zu >25 und zu >20 (ja, es war ja auch einer über 20/25°).

                                genau. Am liebsten so wie am Screenshot. Auch mit den kalten Tagen

                                soll(te) das 1x täglich (bspw. Mitternacht) aktualisiert werden? Die Datenmenge wären pro Datenpunkt 86400 / 16 = 5.600 DPs die sonst abgefragt werden müssen. Das sollte man nicht im Minutentakt ausführen ^^

                                Ja, 1x am Tag sollte reichen. Geht eh nur um Tageswerte

                                ° Node.js: 20.17.0 NPM: 10.8.2
                                ° Proxmox, Ubuntu 22.04.3 LTS
                                ° Fixer ---> iob fix

                                SBorgS 1 Reply Last reply
                                0
                                • NegaleinN Negalein

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

                                  Mir war schon klar, dass ich es machen "darf"

                                  kennst mich doch. 😉 Du bist da der King 😁

                                  Daran liegt es auch nicht, nur ist es direkt über das Script viel zu Ressourcen fressend, dass geht per DB/History und JS performanter (und auch einfacher).

                                  kein Problem.

                                  Die Tagestemperaturen sollten so bleiben? Ein 31°C-Tag zählt zu >30 und zu >25 und zu >20 (ja, es war ja auch einer über 20/25°).

                                  genau. Am liebsten so wie am Screenshot. Auch mit den kalten Tagen

                                  soll(te) das 1x täglich (bspw. Mitternacht) aktualisiert werden? Die Datenmenge wären pro Datenpunkt 86400 / 16 = 5.600 DPs die sonst abgefragt werden müssen. Das sollte man nicht im Minutentakt ausführen ^^

                                  Ja, 1x am Tag sollte reichen. Geht eh nur um Tageswerte

                                  SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  wrote on last edited by
                                  #1224

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

                                  Auch mit den kalten Tagen

                                  Das ist auch easy going und recht einfach umzusetzen, ich habe zum testen aber erst mal nur die 4 Werte genutzt.
                                  Aber egal ob es dann per Influx oder History wird, die Anzahl der "warmen/kalten" Tage ist etwas tricky. Ich möchte eigentlich eine Einzelabfrage umgehen, d.h. zB. für August 19 wären das 31 Tage x 13 Messwerte x Anzahl der Messwerte...
                                  Deswegen wird es wohl auf einen JSON-Datenpunkt hinauslaufen, der dann täglich um die entsprechenden Gradtage erhöht wird. Dann brauche ich die Vorjahresmonatsabfrage immer nur einmalig für den Monat ausführen.
                                  ...mal drüber schlafen 😉

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

                                  NegaleinN 1 Reply Last reply
                                  0
                                  • SBorgS SBorg

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

                                    Auch mit den kalten Tagen

                                    Das ist auch easy going und recht einfach umzusetzen, ich habe zum testen aber erst mal nur die 4 Werte genutzt.
                                    Aber egal ob es dann per Influx oder History wird, die Anzahl der "warmen/kalten" Tage ist etwas tricky. Ich möchte eigentlich eine Einzelabfrage umgehen, d.h. zB. für August 19 wären das 31 Tage x 13 Messwerte x Anzahl der Messwerte...
                                    Deswegen wird es wohl auf einen JSON-Datenpunkt hinauslaufen, der dann täglich um die entsprechenden Gradtage erhöht wird. Dann brauche ich die Vorjahresmonatsabfrage immer nur einmalig für den Monat ausführen.
                                    ...mal drüber schlafen 😉

                                    NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    wrote on last edited by
                                    #1225

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

                                    mal drüber schlafen

                                    Ich werde dich virtuell dabei unterstützen 😂

                                    ° Node.js: 20.17.0 NPM: 10.8.2
                                    ° Proxmox, Ubuntu 22.04.3 LTS
                                    ° Fixer ---> iob fix

                                    SBorgS 2 Replies Last reply
                                    0
                                    • NegaleinN Negalein

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

                                      mal drüber schlafen

                                      Ich werde dich virtuell dabei unterstützen 😂

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #1226

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

                                      Ich werde dich virtuell dabei unterstützen 😂

                                      War auch teilweise erfolgreich, wenn auch mehr Fragen offen sind als ich derzeit Antworten habe. Die Werte ermitteln ist "easy peasy", aber die Statistik hat doch so ihre Fallstricke.
                                      Zumindest läuft es aktuell auf InfluxDB hinaus, da es viele (auch wg. Grafana) eh am laufen haben. History produziert nur zusätzlich eine Menge an Daten, ist deutlich langsamer und ineffizient in der Abfrage zu handeln.
                                      Ich hatte zwar zuvor schon eine tägliche Auswertung angedacht, dass muss aber nun so sein, denn eine monatliche Auswertung würde zu lange dauern. Bei einem Turnus von 16 Sekunden der Wetterstation haben wir ~ 5.600 Messwerte pro Tag pro Unit. Wir bräuchten also die Aussentemperaturwerte, Regenmenge und Windgeschwindigkeit. Eine Abfrage der Tageswerte dauert per Influx aber schon 2-3 Sekunden (die Ermittlung der div. Werte ist dabei so gut wie nicht messbar). Da ist die monatliche Abfrage nicht mehr zu handeln: 3 Sek x 3 Abfragen x 30 Tage = ~fast 5(!) Minuten...
                                      ...also täglich speichern, einlesen, addieren...
                                      ...und so nebenbei mal Gedanken gemacht, wie denn die DPs überhaupt aussehen müssen damit man die dynamisch in der VIS anzeigen kann...

                                      btw: Fragen etc. zum eigentlichen Thread natürlich weiter gerne hier, aber IMHO sind die letzten Posts nicht OT, sondern gehören doch irgendwie zum Thema und es "dürfen" sich auch gerne mehr beteiligen 😉 🙂

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

                                      1 Reply Last reply
                                      1
                                      • NegaleinN Negalein

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

                                        mal drüber schlafen

                                        Ich werde dich virtuell dabei unterstützen 😂

                                        SBorgS Offline
                                        SBorgS Offline
                                        SBorg
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #1227

                                        @Negalein Dann mal ein erster Test. Neues JS anlegen (am besten in einer neuen Instanz, dann knallt es dir nicht im Fehlerfall den eigentlichen JS-Adapter weg. Sollte zwar nicht, aber man weiß ja nie... 😉 ) :

                                        /* Wetterstation-Statistiken 
                                           (c)2020 by SBorg 
                                           V0.0.1 - 05.09.2020   erste Alpha + Min/Max/Durchschnitt/Temp über 20°?
                                           holt die Messwerte aus einer InfluxDB und erstellt eine Statistik
                                          ToDo: vieles ;)
                                          known issues: keine
                                        */
                                        
                                        let werte = [];
                                        let zeitstempel = new Date();
                                        let start = new Date(zeitstempel.getFullYear(),zeitstempel.getMonth(),zeitstempel.getDate(),0,0,0);
                                        start = start.getTime();
                                        let end = new Date(zeitstempel.getFullYear(),zeitstempel.getMonth(),zeitstempel.getDate(),23,59,59);
                                        end = end.getTime();
                                        
                                        sendTo('influxdb.0', 'query', 'select * FROM "javascript.0.Wetterstation.Aussentemperatur" WHERE time >= ' + (start *1000000) + ' AND time <= ' + (end *1000000), function (result) {
                                        
                                            if (result.error) {
                                                console.error('Fehler: '+result.error);
                                            } else {
                                                //console.log('Rows: ' + JSON.stringify(result.result[0]));
                                                for (let i = 0; i < result.result[0].length; i++) {
                                                werte[i] = result.result[0][i].value;
                                                }
                                            }
                                        
                                         /*   const json = JSON.stringify(result.result[0][0]);
                                            const obj = JSON.parse(json);
                                            console.log(obj.ts);
                                            console.log(obj.value); */
                                        
                                            Math.sum = (...werte) => Array.prototype.reduce.call(werte,(a,b) => a+b);
                                            let Durchschnitt = (Math.sum(...werte)/werte.length).toFixed(2);
                                            if (Math.max(...werte) > 20) {console.log('Temperatur lag heute über 20°C');}
                                            console.log('Tiefstwert: ' + Math.min(...werte) + '°C');
                                            console.log('Höchstwert: ' + Math.max(...werte) + '°C');
                                            console.log('Durchschnitt: ' + Durchschnitt + '°C');
                                            console.log('Erster Messwert: ' + new Date(result.result[0][0].ts).toISOString() + ' ***' + result.result[0][0].value);
                                            console.log('Letzter Messwert: ' + new Date(result.result[0][werte.length-1].ts).toISOString() + ' ***' + result.result[0][werte.length-1].value);
                                            console.log('Anzahl Datensätze: ' + werte.length);
                                        });
                                        
                                        function timeConverter(UNIX_timestamp){
                                          let a = new Date(UNIX_timestamp);
                                          let months = ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'];
                                          let year = a.getFullYear();
                                          let month = months[a.getMonth()];
                                          let date = a.getDate();
                                          let hour = a.getHours();
                                          let min = a.getMinutes();
                                          let sec = a.getSeconds();
                                          let time = pad(date) + '. ' + month + ' ' + year + ' ' + pad(hour) + ':' + pad(min) + ':' + pad(sec) ;
                                          return time;
                                        }
                                        
                                        function pad(n) {
                                            return n<10 ? '0'+n : n;
                                        }
                                        
                                        console.log('Daten ab ' + timeConverter(start));
                                        console.log('Daten bis ' + timeConverter(end)); 
                                        
                                        

                                        Anpassen musst du nur #16 ob dein Influx unter Instanz "0" läuft und den DP-Zweig für die Aussentemperatur.
                                        Sollte dann so nach dem starten aussehen:
                                        Bild 1.png
                                        Interessieren würde mich dann

                                        • allgemeine Laufzeit
                                        • dein System (PI, bzw. CPU + RAM)
                                        • sind die Werte plausibel
                                        • speziell gegen ~23:5x Uhr
                                          • Laufzeit
                                          • Anzahl der Datensätze

                                        Wenn der Ansatz so funktioniert werde ich zum "master-Branch" auf GitHub einen "Beta" anlegen, um dort dann das aktuelle JS vor zu halten.

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

                                        NegaleinN 2 Replies Last reply
                                        0
                                        • S Offline
                                          S Offline
                                          skokarl
                                          wrote on last edited by skokarl
                                          #1228

                                          OT

                                          nur für Euch zur Info, Montag Aldi Nord, allerdings nur Online, Gruß Bernd

                                          1.PNG

                                          IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

                                          GlasfaserG 1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          100

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe