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

      @xxjooo Es kommt nur mehr zurück als erwartet 🙂

      sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussenfeuchtigkeit"', function (result) { console.log("Influx meldet " + JSON.stringify(result)); }); 
      
      V 1 Reply Last reply Reply Quote 0
      • V
        viper4iob @SBorg last edited by viper4iob

        @sborg

        Ich habe jetzt mal das Grafana-Dashboard in Betrieb genommen, echt coole Sache. Danke dafür.
        Ein kleiner Hinweis: Ich glaube beim Windgeschwindigkeitsgraphen sind die y-Beschriftungen vertauscht.
        Wind müsste eher links und Böen rechts sein, denke ich.

        Und ich weiß, keine Fragen zu Grafana selbst, aber ich weiß ein paar Datenpunkte nicht zuzuordnen, die da benutzt werden:
        Grafana-Dashboard_V8.jpg
        Bei "Nächster Regen in:" wird der DP "0_userdata.0.VIS.Wetter.Regenvorschau" verwendet. Wo kommt der her, aus einem Adapter oder was selbst gebautes?

        Und dann rechts die grünen Rechtecke, da sind folgende DPs hinterlegt:
        alias.0.Wetterstation.openSenseMap
        alias.0.Wetterstation.Windy
        alias.0.Wetterstation.Kommunikationsfehler
        alias.0.Wetterstation.FW_Upgrade

        Sind das nur Aliase auf die originalen DPs?
        Wenn ich allerdings die originalen DPs nehme, die ich im Wetterstations-Ordner finden kann, dann funktioniert es nicht, weil die true und false liefern und Grafana erwartet für den Text und die Farbe Werte von 0 und 1, und mit true und false funktioniert es nicht.

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

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

          Wind müsste eher links und Böen rechts sein, denke ich.

          Denkst du richtig. Danke, ist mir gar nicht aufgefallen.

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

          keine Fragen zu Grafana selbst

          Das gilt/steht für GitHub. Ich mag dort einfach keine zig Issues dann zu Grafana haben. "Hier" ist es egal, solange es mit dem Thema Wetterstation zu tun hat und kein "wie installiere ich Grafana" ist 😉

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

          Bei "Nächster Regen in:" wird der DP "0_userdata.0.VIS.Wetter.Regenvorschau" verwendet. Wo kommt der her, aus einem Adapter oder was selbst gebautes?

          Das kommt aus dem Wunderground-Adapter mit einem JS von Pix, man braucht das Rad ja nicht zweimal erfinden:

          /* Wunderground Regen
          Abfrage des Weatherunderground Adapters im Bereich Vorhersage,
          wann der nächste Regen erwartet wird.
          
          Findet in den forecastHourly-Datenpunkt den ersten Regen-Eintrag
          Ausgabe in Text ("kein Regen", "X Stunden (X% [Wahrscheinlichkeit])")
          
          http://forum.iobroker.net/viewtopic.php?f=21&t=3447#p31858
          
          
          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
          08.03.2021 Codeoptimierungen @SBorg
          
          */
          
          
          const vorstd = 36; // Vorschau in Stunden (weatherundergroudn bietet neuerdings bis 36h Vorschau), kann hier auch kleiner sein
          const idRegen = "0_userdata.0.VIS.Wetter.Regenvorschau"; // Ziel-Datenpunkt
          const wunder_inst = "weatherunderground.0."; // Weatherground-Adapter Instanz
          const logging = false;
          
          createState(idRegen, "kein Regen", { name: "Regenvorschau", type: "string", role: "text" });
           
          
          function berechneZeit() {
              if (logging) log("Berechne Dauer in Stunden bis zum nächsten Regen");
              let data=0, pop=0;
              for (let i=0; i<vorstd; i++) {
                  data = getState(wunder_inst + "forecastHourly." + i + "h.precipitation").val;
                  if (data > 0) {   
                      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 + "%)", true);
                      } else {
                          if (logging) log("In " + i + " Stunden werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)");
                          if (i==1) { setState(idRegen, "1 Stunde (" + pop + "%)", true); } else { setState(idRegen, i + " Stunden (" + pop + "%)", true); }
                      }
                      i=vorstd-1; // beim ersten Auftreten der Regenwahrscheinlichkeit über 0 abbrechen
                  } 
                  if ((i == vorstd-1) && (pop == 0)) {
                      setState(idRegen, "Kein Regen erwartet (" + pop + "%)", true);
                      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();
          
          

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

          Sind das nur Aliase auf die originalen DPs?

          Ja und Nein. Wären es nur reine Aliase könnte ich ja auch gleich die Originalen nehmen, schließlich werden die Bezeichnungen sich nicht ändern wie bspw. bei einem Device welches ausgetauscht werden muss 😉
          Man kann damit aber auch schön konvertieren 😀
          Bild 3.png

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

            @sborg
            Hallo
            Ich habe gerade versucht alles zu installieren ich bekomme auch Daten. Aber das Script läuft nicht.

            Bis hierhin bin ich gekommen:

            "Damit es beim booten automatisch geladen wird: sudo systemctl enable wetterstation.service"

            Da bekomme ich diese Meldung:

            pi@raspberrypi:~ $ sudo systemctl daemon-reload
            pi@raspberrypi:~ $ sudo systemctl enable wetterstation.service
            Failed to enable unit: File wetterstation.service: Invalid argument
            pi@raspberrypi:~ $
            

            Kann mir jemand sagen, was ich falsch mache?

            Status: sudo systemctl status wetterstation

            i@raspberrypi:~ $ sudo systemctl status wetterstation
            * wetterstation.service
               Loaded: error (Reason: Unit wetterstation.service failed to load properly: In
               Active: inactive (dead)
            
            Nov 06 16:00:31 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:00:31 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:09:06 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:26:14 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:27:11 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:30:24 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:34:36 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:40:44 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:42:26 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            Nov 06 16:42:26 raspberrypi systemd[1]: /etc/systemd/system/wetterstation.servic
            lines 1-14/14 (END)
            
            Thomas Braun 1 Reply Last reply Reply Quote 0
            • Thomas Braun
              Thomas Braun Most Active @G.Hawk last edited by Thomas Braun

              @martin-0

              https://github.com/SBorg2014/WLAN-Wetterstation/wiki/Installation---Teil-2

              Das hast du aber getan, oder?

              Sofern möglich sollte diese Variante benutzt werden, da sie wesentlich Anwender freundlicher ist. Wir legen zuerst im Terminalfenster die nötige Datei an:

              sudo nano /etc/systemd/system/wetterstation.service
              

              Diese bekommt folgenden Inhalt:

              [Unit]
              Description=Service für ioBroker Wetterstation
              
              [Service]
              ExecStart=/home/iobroker/wetterstation.sh
              
              [Install]
              WantedBy=multi-user.target
              

              Die Beschreibung ist frei wählbar, der Service muss ggf. entsprechend Eurem Pfades angepasst werden, je nach dem wo Ihr das Skript liegen habt. Speichern und mittels sudo chmod +x /etc/systemd/system/wetterstation.service ausführbar machen.

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

                @thomas-braun

                Ja wenn ich "sudo chmod +x /etc/systemd/system/wetterstation.service" eingebe passiert allerdings nichts.
                Also keine Meldung o.Ä.

                Thomas Braun V 2 Replies Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @G.Hawk last edited by

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

                  Also keine Meldung o.Ä.

                  Keine Meldung bedeutet: Alles klar, Kommando konnte ausgeführt werden.

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

                    @martin-0
                    Der chmod Befehl ändert nur die Dateirechte, sodass die Datei ausführbar ist. Mehr passiert da nicht.
                    Wie lautet denn der Pfad, wo sich die Datei wetterstation.sh befindet.
                    Der gleiche Pfad muss im Service bei ExecStart verwendet werden.
                    Standard ist unter /home/iobroker/

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

                      @viper4iob
                      Starten funktioniert schon nicht:

                      pi@raspberrypi:~ $ sudo systemctl start wetterstation
                      Failed to start wetterstation.service: Unit wetterstation.service failed to load properly: Invalid argument.
                      See system logs and 'systemctl status wetterstation.service' for details.

                      Der Pfad ist /home/iobroker

                      Thomas Braun 1 Reply Last reply Reply Quote 0
                      • Thomas Braun
                        Thomas Braun Most Active @G.Hawk last edited by

                        @martin-0

                        Zeig doch mal konkret deine Datei.

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

                          @thomas-braun Unbenannt.PNG

                          Thomas Braun V 2 Replies Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @G.Hawk last edited by

                            @martin-0

                            Bitte keine Screenshots und den Raspberry NICHT MIT DESKTOP BETREIBEN!

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

                              @thomas-braun

                              OK wie mache ich das denn richtig?

                              Thomas Braun 1 Reply Last reply Reply Quote 0
                              • Thomas Braun
                                Thomas Braun Most Active @G.Hawk last edited by

                                @martin-0

                                Per ssh in einem Terminal auf den Pi gehen. puTTY oder die Windows Powershell nimmt man dafür z. B.
                                Den Pi betreibt man im sog. RunLevel 3.

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

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

                                  @thomas-braun Unbenannt.PNG

                                  Das sieht mir nach einem Formatierungsproblem aus. Da sind mir zu viele Leerzeilen drin.
                                  Direkt nach den Überschriften sollten die Argumente kommen, da ist aber überall eine Leerzeile, evtl. hat der systemd ein Problem damit.

                                  Thomas Braun G 2 Replies Last reply Reply Quote 0
                                  • Thomas Braun
                                    Thomas Braun Most Active @viper4iob last edited by

                                    @viper4iob

                                    Oder die Datei ist mit einem Windows-Editor vermurkst worden und hat keine Linux-Zeilenumbrüche.

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

                                      @viper4iob
                                      Ich habe jetzt alle Leerzeichen gelöscht.
                                      Keine Veränderung

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

                                        @thomas-braun
                                        Den habe ich garnicht benutzt.

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

                                          Deutet der Fehler nicht eher daraufhin, dass die Datei garnicht gefunden wird bzw nicht ausführbar ist?

                                          Thomas Braun 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @G.Hawk last edited by

                                            @martin-0

                                            Dann schau nach:

                                            ls -la /home/iobroker/wetterstation.sh
                                            
                                            G 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            714
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            147
                                            5568
                                            3346486
                                            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