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.
    • Nashra
      Nashra Most Active Forum Testing @a200 last edited by

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

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

      Wat is denn OSEM?

      https://opensensemap.org/

      Ah, danke....nur in der Bude hocken bekommt mir wohl nicht 😂

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

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

        Wo ist der Einwurfschlitz

        hier ziemlich in der Mitte ist ein gelber Schlitz mit schwarzer Schrift 😉

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

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

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

          Wo ist der Einwurfschlitz

          hier ziemlich in der Mitte ist ein gelber Schlitz mit schwarzer Schrift 😉

          Den hatte ich letztes Jahr schon genutzt wo @SBorg angefangen hat und eine Station brauchte 😛
          aber Du hast recht, man könnte mal wieder was nachschieben für diese tolle Arbeit die er leistet.
          Es soll sich jetzt keiner angegriffen fühlen, aber eh ihr anderen, gebt euch mal einen Ruck und macht mit
          bei einer kleinen Spende. 😉

          Nachtrag: Kaffeespende ist raus ☕

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

            DANKE an die drei Spender 🙂
            ...aber so war der Joke mit der Kaffeekasse nicht gemeint 😉

            Ich habe jetzt mal mein Grafana-Dashboard " 'n wenck" (="ein wenig") umgebaut. Zum einen brauchte ich Platz für den Hitzeindex, zum anderen ging mir die Anzeige des Stat-Panels auf den S*ck...
            Herausgekommen ist dabei:
            Bild 1.png

            Große Schrift und Verlauf 😁
            Realisiert mit dem "Blendstat @farski" - Plugin (wer es nicht kennt: klick mich )
            Da kann man wieder alles einstellen wie gehabt. "Wermutstropfen" (siehe Bild): wird in der Übersicht als "Unsigned" tituliert, aber Wayne... 😉

            Die Tage werde ich dann auch die V2.5.0 offiziell releasen, da sie stable läuft.
            Dann kann man auch über "Wünsch dir was..." reden, auch wenn es dann erst mal bei PimpMyStation weitergehen wird.

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

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

              DANKE an die drei Spender 🙂
              ...aber so war der Joke mit der Kaffeekasse nicht gemeint 😉

              Selber schuld 😛

              Ich habe jetzt mal mein Grafana-Dashboard " 'n wenck" (="ein wenig") umgebaut. Zum einen brauchte ich Platz für den Hitzeindex, zum anderen ging mir die Anzeige des Stat-Panels auf den S*ck...
              Herausgekommen ist dabei:
              Bild 1.png

              Puh, da müßte ich auch mal wieder ran, so sieht's zurzeit aus
              wetterstation-februar.PNG
              und ich sollte influxdb mal auf unbegrenzt stellen damit die Werte vom letzten Jahr auch stimmen 🙂

              Die Tage werde ich dann auch die V2.5.0 offiziell releasen, da sie stable läuft.
              Dann kann man auch über "Wünsch dir was..." reden, auch wenn es dann erst mal bei PimpMyStation weitergehen wird.

              👍

              R Neuschwansteini 2 Replies Last reply Reply Quote 0
              • R
                Rushmed Most Active @Nashra last edited by

                @nashra Wo kommt denn "Regenvorschau 26 Stunden" her?

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

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

                  @nashra Wo kommt denn "Regenvorschau 26 Stunden" her?

                  Puh, jetzt mußte ich selber erstmal suchen 😁
                  Das ist ein Skript von @pix in Verbindung mit dem Weatherunderground-Adapter

                  /* Wunderground Regen
                  {1}
                  Abfrage des Weatherunderground Adapters im Bereich Vorhersage,
                  wann der nächste Regen erwartet wird.
                  {1}
                  Findet in den forecastHourly-Datenpunkt den ersten Regen-Eintrag
                  Ausgabe in Text ("kein Regen", "X Stunden (X% [Wahrscheinlichkeit])")
                  {1}
                  {1}
                  {1}
                  
                  http://forum.iobroker.net/viewtopic.php?f=21&t=3447#p31858
                  
                  {1}
                  01.08.2016 erstellt von Pix unter Nutzung des obigen Skriptes
                  28.06.2017 Korrekturen
                  12.07.2017 Fehler abfangen und Typ Variable auf String geändert
                  06.03.2019 Code optimiert
                             berücksichtigt Niederschlag in der aktuellen Stunde (Stunde 0)
                  11.06.2019 auf neue Datenpunkte angepasst für weatherground-Adapter (getestet V3.0.11)
                  04.08.2019 geändert für Wunderground Adapter 3.1.1
                  
                  */
                  
                  const vorstd = 36; // Vorschau in Stunden (weatherundergroudn bietet neuerdings bis 36h Vorschau), kann hier auch kleiner sein
                  const idRegen = "javascript."+ instance + ".Wunderground.Regenvorschau"; // Ziel-Datenpunkt
                  const wunder_inst = "weatherunderground.0."; // Weatherground-Adapter Instanz
                  const logging = false;
                  const fC = false; // nicht dauerhaft auf true stehen lassen. Wegen AAsynchronität dann keine Werte.
                  
                  createState(idRegen, "kein Regen", fC, {
                     name: "Regenvorschau",
                     dec: "Wann gibt es den nächsten Regen",
                     type: "string",
                     role: "text"
                  });
                  
                  function berechneZeit() {
                      if (logging) log("Berechne Dauer in Stunden bis zum nächsten Regen");
                      let i = 0;
                      let data; // leer
                      let pop; // leer
                      for (i=0 ; i<vorstd; i++) {
                          if (getState(wunder_inst + "forecastHourly." + i + "h.precipitation").val > 0) {
                              data = getState(wunder_inst + "forecastHourly." + i + "h.precipitation").val;
                              pop = getState(wunder_inst + "forecastHourly." + i + "h.precipitationChance").val;
                              if (logging) log("Regeneintrag gefunden bei " + i + "h " + data + "mm");
                              if (i == 0) { // wenn jetzt Regen
                                  if (logging) log("In dieser Stunde werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)");
                                  setState(idRegen, "jetzt (" + pop + "%)");
                              } else {
                                  if (logging) log("In " + i + " Stunden werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)");
                                  setState(idRegen, i + " Stunden (" + pop + "%)");
                              }
                              i=vorstd; // beim ersten Auftreten der Regenwahrscheinlichkeit über 0 abbrechen
                          } 
                          if ((i == vorstd) && (pop === 0)) {
                              setState(idRegen, "Kein Regen erwartet (" + pop + "%)");
                              if (logging) log("Kein Regen erwartet (" + pop + "%)");
                          }
                      }
                  }
                  
                  // bei jeglicher Aktualisierung von Weatherunderground Berechnung starten
                  
                  on({
                      id: /^weatherunderground\.[0-9]+\.forecast.*\.[0-9]+h\.precipitation$/,  // forecastHourly, forecastDaily, forecast
                      change: "any"
                  }, berechneZeit);
                  
                  // bei Skriptstart
                  
                  berechneZeit();
                  
                  
                  Neuschwansteini 1 Reply Last reply Reply Quote 1
                  • Neuschwansteini
                    Neuschwansteini @Nashra last edited by

                    @nashra wie hast du die Tabellen so schön hin bekommen??

                    Nashra 1 Reply Last reply Reply Quote 0
                    • Nashra
                      Nashra Most Active Forum Testing @Neuschwansteini last edited by

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

                      @nashra wie hast du die Tabellen so schön hin bekommen?

                      Das hatte @crunchip mal bereitgestellt, ich stell dir mal das Panel rein

                      {
                        "columns": [
                          {
                            "$$hashKey": "object:331",
                            "text": "Current",
                            "value": "current"
                          }
                        ],
                        "datasource": "InfluxDB",
                        "fieldConfig": {
                          "defaults": {
                            "custom": {}
                          },
                          "overrides": []
                        },
                        "fontSize": "100%",
                        "gridPos": {
                          "h": 6,
                          "w": 6,
                          "x": 9,
                          "y": 7
                        },
                        "id": 23763571993,
                        "interval": "",
                        "pageSize": null,
                        "showHeader": true,
                        "sort": {
                          "col": null,
                          "desc": false
                        },
                        "styles": [
                          {
                            "alias": "Sonnenstunden",
                            "align": "auto",
                            "colorMode": null,
                            "colors": [
                              "rgba(245, 54, 54, 0.9)",
                              "rgba(237, 129, 40, 0.89)",
                              "#F2CC0C"
                            ],
                            "dateFormat": "YYYY-MM-DD HH:mm:ss",
                            "decimals": 1,
                            "link": false,
                            "mappingType": 1,
                            "pattern": "Current",
                            "thresholds": [
                              "10",
                              "60"
                            ],
                            "type": "number",
                            "unit": "dtdurations",
                            "$$hashKey": "object:1124"
                          },
                          {
                            "alias": "Zeit",
                            "align": "auto",
                            "colorMode": null,
                            "colors": [
                              "rgba(245, 54, 54, 0.9)",
                              "rgba(237, 129, 40, 0.89)",
                              "rgba(50, 172, 45, 0.97)"
                            ],
                            "dateFormat": "YYYY-MM-DD HH:mm:ss",
                            "decimals": null,
                            "mappingType": 1,
                            "pattern": "Metric",
                            "thresholds": [],
                            "type": "string",
                            "unit": "none",
                            "$$hashKey": "object:1125"
                          }
                        ],
                        "targets": [
                          {
                            "alias": "🌞 Heute",
                            "groupBy": [],
                            "measurement": "javascript.0.Wetterstation.Info.Sonnenschein_Tag",
                            "orderByTime": "ASC",
                            "policy": "default",
                            "query": "SELECT \"value\"  / 3600 FROM \"javascript.0.Wetterstation.Info.Sonnenschein_Tag\" WHERE $timeFilter",
                            "rawQuery": false,
                            "refId": "A",
                            "resultFormat": "time_series",
                            "select": [
                              [
                                {
                                  "params": [
                                    "value"
                                  ],
                                  "type": "field"
                                }
                              ]
                            ],
                            "tags": []
                          },
                          {
                            "alias": "🌞aktuelle Woche",
                            "groupBy": [],
                            "measurement": "javascript.0.Wetterstation.Info.Sonnenschein_Woche",
                            "orderByTime": "ASC",
                            "policy": "default",
                            "refId": "B",
                            "resultFormat": "time_series",
                            "select": [
                              [
                                {
                                  "params": [
                                    "value"
                                  ],
                                  "type": "field"
                                }
                              ]
                            ],
                            "tags": []
                          },
                          {
                            "alias": "🌞 aktueller Monat",
                            "groupBy": [],
                            "measurement": "javascript.0.Wetterstation.Info.Sonnenschein_Monat",
                            "orderByTime": "ASC",
                            "policy": "default",
                            "refId": "C",
                            "resultFormat": "time_series",
                            "select": [
                              [
                                {
                                  "params": [
                                    "value"
                                  ],
                                  "type": "field"
                                }
                              ]
                            ],
                            "tags": []
                          },
                          {
                            "alias": "🌞 aktuelles Jahr",
                            "groupBy": [],
                            "measurement": "javascript.0.Wetterstation.Info.Sonnenschein_Jahr",
                            "orderByTime": "ASC",
                            "policy": "default",
                            "refId": "D",
                            "resultFormat": "time_series",
                            "select": [
                              [
                                {
                                  "params": [
                                    "value"
                                  ],
                                  "type": "field"
                                }
                              ]
                            ],
                            "tags": []
                          },
                          {
                            "alias": "🌞 Letztes Jahr",
                            "groupBy": [],
                            "measurement": "javascript.0.Wetterstation.Info.Sonnenschein_VorJahr",
                            "orderByTime": "ASC",
                            "policy": "default",
                            "refId": "E",
                            "resultFormat": "time_series",
                            "select": [
                              [
                                {
                                  "params": [
                                    "value"
                                  ],
                                  "type": "field"
                                }
                              ]
                            ],
                            "tags": []
                          }
                        ],
                        "timeFrom": null,
                        "timeShift": null,
                        "title": "",
                        "transform": "timeseries_aggregations",
                        "transparent": true,
                        "type": "table-old"
                      }
                      
                      1 Reply Last reply Reply Quote 0
                      • Neuschwansteini
                        Neuschwansteini @Nashra last edited by

                        @nashra Dankeschön! 👍 👍 👍 👍

                        1 Reply Last reply Reply Quote 0
                        • H
                          Haifisch_777 last edited by

                          Hallo zusammen,
                          ich möchte ein Lob aussprechen, echt super Arbeit.
                          Die Wiki ist einer der Besten die ich bisher gesehen habe,
                          die Installation ist "einfach" und es läuft stabil.

                          Thanks

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

                            @Haifisch_777 😊 + gerade in der Wiki steckt mittlerweile schon einiges an Arbeit. Die vielen Versionen sind nicht von ungefähr...


                            Sodele, V2.5.0 goes final:

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

                            • ~ Fix für Protokoll #9 wg. fehlender Regenrate
                            • + Min/Max/Avg Außentemperatur vor einem Jahr
                            • + Unterstützung von max. 4 DP70 Sensoren
                            • ~ Codeoptimierungen

                            Wie immer zu finden im GitHub

                            Wegen der neuen Datenpunkte muss auch wetterstation.js ersetzt und einmalig ausgeführt werden.
                            Min/Max/Avg-Außentemperatur funktioniert nur bei aktiver InfluxDB + entsprechender Aktivierung in der *.conf!
                            Das Release ist mit der Beta-Version identisch. Wer also schon die V2.5.0 als Beta nutzt, braucht nicht updaten 😉

                            R Nashra C H SBorg 6 Replies Last reply Reply Quote 6
                            • R
                              Rand @SBorg last edited by

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

                              Sodele, V2.5.0 goes final:
                              Das Release ist mit der Beta-Version identisch. Wer also schon die V2.5.0 als Beta nutzt, braucht nicht updaten 😉

                              👍

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

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

                                Sodele, V2.5.0 goes final:

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

                                Läuft 👍
                                und diesmal habe ich die Wetterstation.js nicht vergessen 😛 😂

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

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

                                  und diesmal habe ich die Wetterstation.js nicht vergessen

                                  😁 👍

                                  Loggt schon wer seit einem Jahr die Außentemperatur bzw. hat eine Anzeige bei Min/Max/Avg - 365 Tage (ich meine nicht die +/- 99.99°C 😂 )? Zum testen konnte ich bei mir nur 10 Monate nehmen + hat damit funktioniert, aber man weiß ja nie...

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    Christian 3 @SBorg last edited by Negalein

                                    @sborg
                                    Moin, gestern habe ich diese Möglichkeit der Einbindung einer Wetterstation erst entdeckt. Das sieht ja wirklich sehr gut aus. Besten Dank.
                                    Dann habe ic V2.5.0 installiert, nach Anleitung. Aber ich habe da Probleme.
                                    Die Daten werden von einer DNT Weatherscreen PRO geliefert, im IOBroker auch angezeigt.
                                    Erst sind sie grün, dann kurz schwarz, abschließend rot.
                                    In Grafana kann ich mir einige Daten anschauen, andere nicht, weil in der Datenbank angeblich keine Daten sind.
                                    Luftfeuchtigkeit wird angezeigt.
                                    Aussentemperatur nicht.
                                    Als Beispiel.
                                    Was mache ich falsch, dass einige Daten gespeichert werden, andere wieder nicht?

                                    DNT Weatherscreen PRO
                                    Raspberry 4b
                                    InfluxDB

                                    Brauche ich für die Datenbank einen weiteren Adapter? Einen für Grafana habe ich eingerichtet.....

                                    pi@raspi-iobroker:~ $ sudo systemctl status wetterstation
                                    ● wetterstation.service - Service für ioBroker Wetterstation
                                       Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                       Active: active (running) since Sat 2021-02-20 15:55:00 GMT; 4h 57min ago
                                     Main PID: 5214 (wetterstation.s)
                                        Tasks: 5 (limit: 4915)
                                       CGroup: /system.slice/wetterstation.service
                                               ├─ 5214 /bin/bash /home/pi/Wetterstation/wetterstation.sh
                                               ├─28702 /bin/bash /home/pi/Wetterstation/wetterstation.sh
                                               ├─28703 timeout 126 nc -nlvw 1 -p 4283
                                               ├─28704 sed -n 1 p
                                               └─28705 nc -nlvw 1 -p 4283
                                    
                                    Feb 20 20:49:30 raspi-iobroker.site wetterstation.sh[5214]: Connection from 192.168.0.48 42346 received!
                                    Feb 20 20:49:32 raspi-iobroker.site wetterstation.sh[5214]: Listening on [0.0.0.0] (family 2, port 4283)
                                    Feb 20 20:50:10 raspi-iobroker.site wetterstation.sh[5214]: Connection from 192.168.0.48 13795 received!
                                    Feb 20 20:50:13 raspi-iobroker.site wetterstation.sh[5214]: Listening on [0.0.0.0] (family 2, port 4283)
                                    Feb 20 20:50:34 raspi-iobroker.site wetterstation.sh[5214]: Connection from 192.168.0.48 20228 received!
                                    Feb 20 20:50:36 raspi-iobroker.site wetterstation.sh[5214]: Listening on [0.0.0.0] (family 2, port 4283)
                                    Feb 20 20:51:06 raspi-iobroker.site wetterstation.sh[5214]: Connection from 192.168.0.48 8070 received!
                                    Feb 20 20:51:08 raspi-iobroker.site wetterstation.sh[5214]: Listening on [0.0.0.0] (family 2, port 4283)
                                    Feb 20 20:51:38 raspi-iobroker.site wetterstation.sh[5214]: Connection from 192.168.0.48 9672 received!
                                    Feb 20 20:51:40 raspi-iobroker.site wetterstation.sh[5214]: Listening on [0.0.0.0] (family 2, port 4283)
                                    pi@raspi-iobroker:~ $
                                    
                                    Negalein SBorg 2 Replies Last reply Reply Quote 0
                                    • Negalein
                                      Negalein Global Moderator @Christian 3 last edited by

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

                                      In Grafana kann ich mir einige Daten anschauen, andere nicht, weil in der Datenbank angeblich keine Daten sind.
                                      Luftfeuchtigkeit wird angezeigt.
                                      Aussentemperatur nicht.
                                      Als Beispiel.
                                      Was mache ich falsch, dass einige Daten gespeichert werden, andere wieder nicht?

                                      Du benötigst Influx und den zugehörigen Influx-Adapter.
                                      Dann musst du alle DP, die du in Grafana anzeigen möchstest, mit dem Influx-Adapter loggen (Schraubenschlüssel beim jeweiligen DP).

                                      C 1 Reply Last reply Reply Quote 0
                                      • C
                                        Christian 3 @Negalein last edited by

                                        @negalein Schon klar und auch installiert, sonst könnte ich mir wohl kaum die Luftfeuchtigkeit anzeigen lassen.

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

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

                                          Schon klar und auch installiert, sonst könnte ich mir wohl kaum die Luftfeuchtigkeit anzeigen lassen.

                                          Sorry, wollte nur helfen.
                                          Es kann ja sein, dass das oder das oder das nicht gemacht/vergessen wurde.

                                          Du hast gefragt Brauche ich für die Datenbank einen weiteren Adapter? Einen für Grafana habe ich eingerichtet......
                                          Da stand nichts von Influx.

                                          sonst könnte ich mir wohl kaum die Luftfeuchtigkeit anzeigen lassen.

                                          Könnte, kann alles sein.
                                          Können wir nicht wissen, von wo du die Luftfeuchte herbekommst.

                                          Zeig zumindest mal Screenshots. Dann sieht man was.
                                          werden alle DP befüllt?
                                          Einstellung zum loggen?
                                          ...

                                          C 1 Reply Last reply Reply Quote 0
                                          • C
                                            Christian 3 @Negalein last edited by Negalein

                                            @negalein Meine Vermutung liegt ja eher in der Datenbank bzw. in deren Befüllung. (grün/schwarz/rote Werte)
                                            In den Logs finde ich folgenden Hinweis, mit dem ich nichts anfangen kann.

                                            influxdb.0	2021-02-20 20:09:53.716	warn	/ "{\"error\":\"partial write: field type conflict: input field \\\"value\\\" on measurement \\\"javascript.0.Wetterstation.Aussentemperatur\\\" is type float, already exists as type string dropped=1
                                            influxdb.0	2021-02-20 20:09:53.716	warn	(31169) Error on writePoint("{"value":7.38,"time":"2021-02-20T20:09:53.702Z","from":"system.adapter.influxdb.0","q":0,"ack":false}): Error: {"error":"partial write: field type conflict: input field \
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            584
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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