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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • Rene55
      Rene55 last edited by

      @SBorg schon direkt in den Datenpunkten. Die VIS ist dann eine spätere Baustelle.

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

        @sonystar und @a200
        Ich mache es mal direkt in einem Post, da dass Bild für alle Probleme passt:
        Bild 1.png

        @a200 Der Rekordwert funktioniert, zumindest fast. Mein neuer Tiefstwert wurde korrekt eingetragen, nur der Zusatz "für 2020" ist falsch. Der sollte, unabhängig vom falschen Jahr, an der Stelle nicht auftauchen und müsste "im Januar 2021" lauten. Muss ich mal schauen...

        @sonystar Ich weiß nicht wie das Display rechnet, zumindest hat es nur eine Nachkommastelle. Je nachdem wie die runden (auf, ab, korrekt, gar nicht, einfach eine Stelle abschneiden) kommt es hier immer zu Differenzen. An der Stelle addiere ich einfach Zahlen mit zwei Nachkommastellen, kein Hexenwerk und kann man eigentlich nicht viel falsch machen (siehe zB. dein erstes Pic: 19mm von der Station, die Einzelwerte von mir aufaddiert aber schon 19.1mm).
        ...und wie man gerade sieht, zickt auch stellenweise Javascript herum. Ich habe jetzt zwar nicht die Nullen gezählt, aber ich rechne oder bekomme bestimmt keine Angabe in femto, atto oder pico Litern. Muss ich also auch zwangsweise auf 2 Stellen kürzen...
        Fazit: du wirst nie eine 100% Übereinstimmung von Station, WLAN-Skript und Statistik (die sowieso nicht wg. anderer Vorraussetzungen) erreichen können, außer alle hätten die gleichen Grundvoraussetzungen.

        Aber ganz allgemein: ich kann auch nicht all zu viel von einer Hobbystation im Preissegment <500,- € erwarten, zumal schon bei der Temperatur stellenweise eine Differenz von +/- 1°C, oder an anderer Stelle eine Drift von 5% . Ein "echter" Sensor kostet ein mehrfaches dessen. Da brauche ich mir offen gestanden auch keinerlei Gedanken mehr um Rundungsdifferenzen zu machen. Ich werde auch bestimmt nicht aus 5.4 + 4.6 etwas anderes als 10.0 machen, bloß weil China aus Kostengründen durch abschneiden (ist halt einfacher als eine Datenbank in der Elektronik zu führen) irgendwas daraus macht 😉
        ...was aber nicht heißen soll offensichtliche Programmfehler nicht zu fixen 😉

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

          @sborg

          Hallo, ich habe nach wie vor keine Daten bei der Sonnenscheindauer in Grafana und zusätzlich den Fehler not Executed". Im IOBroker habe ich mittlerweile Daten bei der Sonnenscheindauer.
          Ich habe auch keine Daten Daten bei Temp. min. max. und seit neuestem auch keine Daten beim Niederschlag.
          Ich habe das Update auf 2.1.0 gemacht und das Dashboard neu installiert. Leider keine Änderung.
          Hast Du da eine Idee?
          Danke!!

          Bildschirmfoto 2021-01-12 um 11.55.49.png Bildschirmfoto 2021-01-12 um 12.05.56.png Bildschirmfoto 2021-01-12 um 12.06.09.png

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

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

            @SBorg schon direkt in den Datenpunkten. Die VIS ist dann eine spätere Baustelle.

            Zwei Dinge:

            • welche Station hast du genau?
            • stoppe bitte mal (sudo systemctl stop wetterstation) und poste dann bitte die Ausgabe von ./wetterstation.sh --debug ausgeführt im Installationsverzeichnis
            1 Reply Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active @keksn last edited by

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

              Hallo, ich habe nach wie vor keine Daten bei der Sonnenscheindauer in Grafana und zusätzlich den Fehler not Executed". Im IOBroker habe ich mittlerweile Daten bei der Sonnenscheindauer.
              Ich habe auch keine Daten Daten bei Temp. min. max. und seit neuestem auch keine Daten beim Niederschlag.

              Temp min/max funktioniert nur wenn auch das Statistik-Addon läuft/benutzt wird, da die Station diese Werte nicht liefert.

              Allgemeines Influx-/Grafana-Problem bei fehlenden Werten (gerade wenn man ganz "frisch/neu" anfängt: wenn man mittels des Javascripts die Objekte (oder DPs) angelegt hat, werden diese Initial mit Werten (meist "0") befüllt. Erst nach dem Anlegen kann ich jetzt aber auch das Influx-Logging aktivieren. Problem dabei, falls man "log changes only" aktiviert (was man aus Performance-/Platzgründen aber machen sollte), wird erst mit einer Änderung des Wertes (also ungleich "0" bei einem DP der mit "0" befüllt ist) das Logging gestartet. Vorher hat Influx nicht mal die Serie angelegt. Um auch spätere Lücken in Grafana zu vermeiden, sollte man immer ein Turnusmäßiges Schreiben erzwingen. Bspw. "3600" als Eintrag bei "log changes interval" erzwingt alle 3.600 Sekunden (= 1 Stunde 🙂 ) unabhängig davon ob sich der Wert geändert hat, den aktuellen Wert in die Influx zu schreiben.
              Weiterer Knackpunkt ist hier die Option "Automatic" (leider Default-Einstellung) bei speichern als. Oftmals wird dann eine Zahl (number) als Zeichenkette (string) missinterpretiert und die ganze Serie als String angelegt. Damit kommt Grafana später nicht mehr zu Recht. Hier hilft nur im Influx nachschauen ob die entsprechende Serie als "String" angelegt wurde. Falls ja, muss man dann zuerst im ioB auf "Zahl" umstellen und dann leider die gesamte Serie in Influx droppen. Nachträglich kann man eine Datenreihe in Influx nicht mehr von String --> Zahl konvertieren/ändern.

              Rene55 keksn 2 Replies Last reply Reply Quote 0
              • Rene55
                Rene55 @SBorg last edited by

                @sborg
                Ich habe eine Froggit WH3000 SE. Das Javascript läuft in einem Docker-Container. Dummerweise reagiert 'systemctl stop' (mit und ohne sudo) bei mir nicht.

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

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

                  systemctl stop

                  du gibst aber noch den Namen des Services der gestoppt werden soll, oser?

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

                    @a200 Ja natürlich. Das script heißt auch 'wetterstation.sh' - und läuft und läuft und läuft. Oder gibt es da noch einen Trick (=Wissenslücke) für mich? Ich arbeite im Portainer und als Fehlermeldung bekomme ich: bash: systemctl: command not found.

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

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

                      systemctl

                      mit sudo davor? die Fehlermeldung besagt dass systemctl nicht gefunden werden kann.

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

                        @a200 Leider geht's auch damit nicht:
                        bash-5.0# sudo systemctl stop wetterstation bash: sudo: command not found.

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

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

                          @a200 Leider geht's auch damit nicht:
                          bash-5.0# sudo systemctl stop wetterstation bash: sudo: command not found.

                          gib einfach

                          id
                          

                          ein

                          Rene55 a200 2 Replies Last reply Reply Quote 0
                          • Rene55
                            Rene55 @a200 last edited by Negalein

                            @a200

                            bash-5.0# id
                            uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
                            
                            1 Reply Last reply Reply Quote 0
                            • a200
                              a200 @a200 last edited by

                              @a200 welchen docker container benutzt du?

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

                                @a200 Also mein Docker läuft auf einem Atom mit knapp 3GB RAM und einer SSD. Nach Auskunft des Systems läuft hier die Docker Version 20.10.0 - irgendwann in 2019 aufgesetzt

                                docker version
                                Client: Docker Engine - Community
                                 Version:           20.10.0
                                 API version:       1.40
                                 Go version:        go1.13.15
                                 Git commit:        7287ab3
                                 Built:             Tue Dec  8 18:59:53 2020
                                 OS/Arch:           linux/amd64
                                 Context:           default
                                 Experimental:      true
                                
                                Server: Docker Engine - Community
                                 Engine:
                                  Version:          19.03.13
                                  API version:      1.40 (minimum version 1.12)
                                  Go version:       go1.13.15
                                  Git commit:       4484c46d9d
                                  Built:            Wed Sep 16 17:01:06 2020
                                  OS/Arch:          linux/amd64
                                  Experimental:     false
                                 containerd:
                                  Version:          1.4.3
                                  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
                                 runc:
                                  Version:          1.0.0-rc92
                                  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
                                 docker-init:
                                  Version:          0.18.0
                                  GitCommit:        fec3683
                                
                                
                                a200 1 Reply Last reply Reply Quote 0
                                • a200
                                  a200 @Rene55 last edited by a200

                                  @rene55 ok, aber welchen container nutzt du?

                                  docker container ls
                                  
                                  Rene55 1 Reply Last reply Reply Quote 0
                                  • Rene55
                                    Rene55 @a200 last edited by Negalein

                                    @a200 Sorry, nicht korrekt gelesen. Also der Container ist aus einem Image erstellt worden nach diesem Dockerfile:

                                    FROM alpine:3.12
                                    
                                    RUN apk add --no-cache bc jq curl bash coreutils
                                    
                                    RUN apk add -U tzdata \
                                    	&& cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime \
                                    	&& apk del tzdata \
                                    	&& rm -rf /var/cache/apk/*
                                    
                                    RUN mkdir /opt/weather/
                                    
                                    WORKDIR /opt/weather
                                    
                                    #COPY ./source /opt/weather
                                    #RUN chmod +x wetterstation.sh
                                    #RUN chmod +x wetterstation.sub
                                    #RUN chmod +x wetterstation.conf
                                    
                                    ENTRYPOINT ["bash" , "wetterstation.sh"]
                                    
                                    
                                    a200 1 Reply Last reply Reply Quote 0
                                    • a200
                                      a200 @Rene55 last edited by

                                      @rene55 Dann hat es wenig Sinn einen Service dafür zu erstellen. Du hast einen Minimalcontainer in dem wetterstation läuft. Wenn du den Service nicht brauchst, dann stoppe den Container. Dein Container gibt services/systemctl nicht her. Was möchstest du denn überhaupt machen?

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

                                        @a200 Das ist wirklich eine minimalversion auf Alpine-Basis. Ich (wir = SBorg) suchen nach fehlenden Daten in den datenpunkten. Dazu sollte ich bitte die Ausgabe von ./wetterstation.sh --debug bereitstellen - und daran scheitere ich. Macht es Sinn, hier einen neuen Container zu bauen?

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

                                          @rene55 entweder du stoppst wetterstation.sh mit kill, oder du baust einen neuen Container bei dem wetterstation.sh nicht automatisch gestartet werden soll (ENTRYPOINT ["bash" , "wetterstation.sh"] anpassen) dann wird wetterstation.sh nicht ausgeführt und du kannst --debug laufen lassen

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

                                            @a200 daran habe ich mich auch schon mal versucht. Wie muss denn dann die Zeile (ENTRYPOINT [ .... ) genau aussehen. Nehme ich nur "wetterstation.sh" raus, läuft der Container nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            828
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2898204
                                            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