Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 153 Kommentatoren 3.8m Aufrufe 135 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • liv-in-skyL liv-in-sky

    @Negalein also 12 einzelne ansichten bzw tabellen?

    NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #1520

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

    also 12 einzelne ansichten bzw tabellen?

    1 Tabelle mit 12 Monaten

    aber wie gesagt, wenns umständlich ist, kein Problem. Dann bau ich das aus mehreren Widgets.

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

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • NegaleinN Negalein

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

      also 12 einzelne ansichten bzw tabellen?

      1 Tabelle mit 12 Monaten

      aber wie gesagt, wenns umständlich ist, kein Problem. Dann bau ich das aus mehreren Widgets.

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #1521

      @Negalein

      soweit bis heute - immer hin einen monat

      Image 9.png

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      NegaleinN 1 Antwort Letzte Antwort
      1
      • liv-in-skyL liv-in-sky

        @Negalein

        soweit bis heute - immer hin einen monat

        Image 9.png

        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        schrieb am zuletzt editiert von
        #1522

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

        soweit bis heute - immer hin einen monat

        cool

        Ist es möglich, die Namen (Regenmenge_Monat, ...) zu beschönigen (Unterstrich raus, Leerzeichen rein, ...)?

        Aber es eilt nicht.

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

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #1523

          Wer aktuell eine Wetterstation sucht, die Eurochron EFWS 2900 gibt es aktuell für 111,- € VKF bei Voelkner

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

          da_WoodyD 1 Antwort Letzte Antwort
          0
          • NegaleinN Negalein

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

            soweit bis heute - immer hin einen monat

            cool

            Ist es möglich, die Namen (Regenmenge_Monat, ...) zu beschönigen (Unterstrich raus, Leerzeichen rein, ...)?

            Aber es eilt nicht.

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von liv-in-sky
            #1524

            @Negalein ja - das ist kein thema - schönheits-op kommt später

            mein problem ist einfach das ganze nun 12 mal anzuzeigen , weil:

            • zum einen ist das eine ganze seite

            • ich müßte die tabelle wieder in eine tabelle stecken, weil es sonst entweder 12 in vertikaler oder 12 in horizontaler richtung sind - die gehen sicher nicht mehr ohne scrollen auf eine seite

            • könntest du evtl mit 3 monaten auskommen - ein vor- und einer nach dem aktuellen monat
              z.b. jetz ist nov ---> oktober november dezember

            was am einfachsten wäre, 12 scripte, die 12 tabellen in 12 eigene datenpunkte schreiben - das problem - die tabellen werden jedes jahr breiter

            egal wie ich es hindrehe - die tabellen werden immer größer und werden extrem viel platz brauchen

            oder wir basteln einen schalter rein, mit dem du auswählen kannst, welchen monat du sehen willst und der standardmäßig den momentanen monat (oder 3 monate ) anzeigt

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            NegaleinN 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              Wer aktuell eine Wetterstation sucht, die Eurochron EFWS 2900 gibt es aktuell für 111,- € VKF bei Voelkner

              da_WoodyD Online
              da_WoodyD Online
              da_Woody
              schrieb am zuletzt editiert von da_Woody
              #1525

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

              Wer aktuell eine Wetterstation sucht, die Eurochron EFWS 2900 gibt es aktuell für 111,- € VKF bei Voelkner

              schön, mit versand nach ö kommts sicher nich billiger, als bei den amazonischen... :( 131€
              und ich hab meine ja schon :D

              gruß vom Woody
              HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

              1 Antwort Letzte Antwort
              0
              • liv-in-skyL liv-in-sky

                @Negalein ja - das ist kein thema - schönheits-op kommt später

                mein problem ist einfach das ganze nun 12 mal anzuzeigen , weil:

                • zum einen ist das eine ganze seite

                • ich müßte die tabelle wieder in eine tabelle stecken, weil es sonst entweder 12 in vertikaler oder 12 in horizontaler richtung sind - die gehen sicher nicht mehr ohne scrollen auf eine seite

                • könntest du evtl mit 3 monaten auskommen - ein vor- und einer nach dem aktuellen monat
                  z.b. jetz ist nov ---> oktober november dezember

                was am einfachsten wäre, 12 scripte, die 12 tabellen in 12 eigene datenpunkte schreiben - das problem - die tabellen werden jedes jahr breiter

                egal wie ich es hindrehe - die tabellen werden immer größer und werden extrem viel platz brauchen

                oder wir basteln einen schalter rein, mit dem du auswählen kannst, welchen monat du sehen willst und der standardmäßig den momentanen monat (oder 3 monate ) anzeigt

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                schrieb am zuletzt editiert von
                #1526

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

                oder wir basteln einen schalter rein, mit dem du auswählen kannst, welchen monat du sehen willst und der standardmäßig den momentanen monat (oder 3 monate ) anzeigt

                das wär natürlich das Nonplusultra

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

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • NegaleinN Negalein

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

                  oder wir basteln einen schalter rein, mit dem du auswählen kannst, welchen monat du sehen willst und der standardmäßig den momentanen monat (oder 3 monate ) anzeigt

                  das wär natürlich das Nonplusultra

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #1527

                  @Negalein

                  siehe hier:

                  anim-gif10.gif

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  NegaleinN 1 Antwort Letzte Antwort
                  3
                  • liv-in-skyL liv-in-sky

                    @Negalein

                    siehe hier:

                    anim-gif10.gif

                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #1528

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

                    siehe hier:

                    cool, das ist perfekt :)

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

                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • NegaleinN Negalein

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

                      siehe hier:

                      cool, das ist perfekt :)

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #1529

                      @Negalein

                      ich lege das script in einen thread von mir - sonst find ich das später nicht mehr

                      https://forum.iobroker.net/topic/38286/vis-tabelle-für-wlan-wetterstation

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • C Offline
                        C Offline
                        chrissi1
                        schrieb am zuletzt editiert von
                        #1530

                        Hallo,

                        ich habe die Eurochron EFWS2900 Wetterstation.

                        Die Station läuft, in der App habe ich alle Daten eingegeben.

                        Die Datenpunkte im ioBroker (Raspberry 4) sind auch angelegt.

                        Im Verzeichnis /home/iobroker habe die drei Dateien angelegt: wetterstation.sh, wetterstation.sub und wetterstation.conf

                        Wenn ich folgenden Befehl in Putty ausführe: ./wetterstation.sh --debug

                        Erscheint diese Fehlermeldung: /bin/bash: V1.4.0 - 30.10.2020 (c) 2019-2020 SBorg: Datei oder Verzeichnis nicht gefunden

                        Was mache ich falsch?

                        Mit dem Ping-Befehl: ping IP-Adresse kommt was in Putty an, d.h. die Wetterstation ist erreichbar.

                        Thomas BraunT 1 Antwort Letzte Antwort
                        0
                        • C chrissi1

                          Hallo,

                          ich habe die Eurochron EFWS2900 Wetterstation.

                          Die Station läuft, in der App habe ich alle Daten eingegeben.

                          Die Datenpunkte im ioBroker (Raspberry 4) sind auch angelegt.

                          Im Verzeichnis /home/iobroker habe die drei Dateien angelegt: wetterstation.sh, wetterstation.sub und wetterstation.conf

                          Wenn ich folgenden Befehl in Putty ausführe: ./wetterstation.sh --debug

                          Erscheint diese Fehlermeldung: /bin/bash: V1.4.0 - 30.10.2020 (c) 2019-2020 SBorg: Datei oder Verzeichnis nicht gefunden

                          Was mache ich falsch?

                          Mit dem Ping-Befehl: ping IP-Adresse kommt was in Putty an, d.h. die Wetterstation ist erreichbar.

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          schrieb am zuletzt editiert von
                          #1531

                          @chrissi1 Vermutlich stehst du nicht im Verzeichnis, in dem wetterstation.sh liegt.

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          C 1 Antwort Letzte Antwort
                          0
                          • Thomas BraunT Thomas Braun

                            @chrissi1 Vermutlich stehst du nicht im Verzeichnis, in dem wetterstation.sh liegt.

                            C Offline
                            C Offline
                            chrissi1
                            schrieb am zuletzt editiert von
                            #1532

                            @Thomas-Braun

                            Doch eigentlich befinde ich mich im korrekten Verzeichnis.

                            Unbenannt1.PNG

                            Thomas BraunT 1 Antwort Letzte Antwort
                            0
                            • C chrissi1

                              @Thomas-Braun

                              Doch eigentlich befinde ich mich im korrekten Verzeichnis.

                              Unbenannt1.PNG

                              Thomas BraunT Online
                              Thomas BraunT Online
                              Thomas Braun
                              Most Active
                              schrieb am zuletzt editiert von
                              #1533

                              @chrissi1 Bitte keine Screenshots, sondern Text auch als Text in CodeTags einbetten.

                              Dann fehlt da vermutlich das Kommentarzeichen vor der Zeile mit dem Text
                              den ich jetzt (wegen Screenshot) nicht kopieren kann.

                              Linux-Werkzeugkasten:
                              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                              NodeJS Fixer Skript:
                              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                              C 1 Antwort Letzte Antwort
                              0
                              • Thomas BraunT Thomas Braun

                                @chrissi1 Bitte keine Screenshots, sondern Text auch als Text in CodeTags einbetten.

                                Dann fehlt da vermutlich das Kommentarzeichen vor der Zeile mit dem Text
                                den ich jetzt (wegen Screenshot) nicht kopieren kann.

                                C Offline
                                C Offline
                                chrissi1
                                schrieb am zuletzt editiert von
                                #1534

                                @Thomas-Braun ok, werde ich beim nächsten Mal beachten.

                                Aber welches Kommentarzeichen fehlt denn?

                                Thomas BraunT 2 Antworten Letzte Antwort
                                0
                                • C chrissi1

                                  @Thomas-Braun ok, werde ich beim nächsten Mal beachten.

                                  Aber welches Kommentarzeichen fehlt denn?

                                  Thomas BraunT Online
                                  Thomas BraunT Online
                                  Thomas Braun
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #1535

                                  @chrissi1
                                  Ein # wohl.

                                  Linux-Werkzeugkasten:
                                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                  NodeJS Fixer Skript:
                                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                  1 Antwort Letzte Antwort
                                  0
                                  • C chrissi1

                                    @Thomas-Braun ok, werde ich beim nächsten Mal beachten.

                                    Aber welches Kommentarzeichen fehlt denn?

                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #1536

                                    @chrissi1 Poste mal die ersten Zeilen des skriptes. Vollständig. In CodeTags.

                                    Linux-Werkzeugkasten:
                                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                    NodeJS Fixer Skript:
                                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                    C 1 Antwort Letzte Antwort
                                    0
                                    • Thomas BraunT Thomas Braun

                                      @chrissi1 Poste mal die ersten Zeilen des skriptes. Vollständig. In CodeTags.

                                      C Offline
                                      C Offline
                                      chrissi1
                                      schrieb am zuletzt editiert von
                                      #1537

                                      @Thomas-Braun hier das Skript:

                                      
                                      # V1.4.0 - 30.10.2020 (c) 2019-2020 SBorg
                                      #
                                      # wertet ein Datenpaket einer WLAN-Wetterstation im Wunderground-Format aus, konvertiert dieses und überträgt
                                      # die Daten an den ioBroker
                                      #
                                      # benötigt den 'Simple RESTful API'-Adapter im ioBroker, 'jq' (nur openSenseMap) und 'bc' unter Linux
                                      #
                                      # V1.4.0 / 30.10.2020 - + Support für openSenseMap
                                      # V1.3.1 / 08.10.2020 - ~ Fix falls Leerzeichen im Verzeichnisnamen
                                      # V1.3.0 / 19.06.2020 - + letztes Regenereignis und Regenmenge
                                      #                       + Fehlermeldung bei falscher WS_ID / ID der Wetterstation
                                      #                       + Sonnenscheindauer + Solarenergie vom Vortag
                                      #                       ~ Änderung/Fix Sonnenscheindauer
                                      # V1.2.0 / 20.04.2020 - + Firmwareupgrade verfügbar?
                                      #                       + Firmwareversion
                                      #                       + Sonnenscheindauer Heute, Woche, Monat, Jahr
                                      #                       + UV-Belastung
                                      #                       + Solarenergie Heute, Woche, Monat, Jahr
                                      #                       + Vorjahreswerte von Regenmenge, Sonnenscheindauer und Solarenergie
                                      # V1.1.0 / 03.04.2020 - + aktueller Regenstatus
                                      #                       + Luftdrucktendenz, Wettertrend und aktuelles Wetter
                                      # V1.0.0 / 12.03.2020 - + Berechnung Jahresregenmenge
                                      #                       + Windrichtung zusätzlich als Text
                                      #                       ~ Änderung "Regen Aktuell" in "Regenrate"
                                      #                       ~ Splitt in conf- + sub-Datei
                                      # V0.1.3 / 08.02.2020 - + Unterstützung für Datenpunkt "Regenmenge Jahr", zB. für Froggit WH4000 SE
                                      #                       + Shell-Parameter -s (Klartextanzeige Passwort + Station-ID)
                                      #                       + Shell-Parameter --data (zeigt nur das gesendete Datenpaket der Wetterstation an)
                                      # V0.1.2 / 31.01.2020 - + Prüfung auf Datenintegrität
                                      #                       + neuer Datenpunkt bei Kommunikationsfehler
                                      #                       + Ausgabe Datenpaket der Wetterstation bei Debug
                                      # V0.1.1 / 01.01.2020 - + UTC-Korrektur
                                      #                       + Config-Versionscheck
                                      #                       + Shell-Parameter -v/-h/--debug
                                      # V0.1.0 / 29.12.2019 - erstes Release
                                      
                                      
                                       SH_VER="V1.4.0"
                                       CONF_V="V1.4.0"
                                       SUBVER="V1.4.0"
                                      
                                      
                                       #Installationsverzeichnis feststellen
                                        DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
                                      
                                       #Config-Version prüfen
                                        VER_CONFIG=$(cat "${DIR}/wetterstation.conf"|grep '### Setting'|cut -d" " -f3)
                                        if [ $CONF_V != $VER_CONFIG ]; then
                                      	echo -e "wetterstation: \e[31mERROR #000 - Config-Version mismatch!\n"
                                      	echo -e "benutzt: $VER_CONFIG\t benötigt wird: $CONF_V$WE"
                                      	exit 1
                                        fi
                                      
                                       #Sub-Version prüfen
                                        SUB_CONFIG=$(cat "${DIR}/wetterstation.sub"|grep '### Subroutinen'|cut -d" " -f3)
                                        if [ $SUBVER != $SUB_CONFIG ]; then
                                      	echo -e "wetterstation: \e[31mERROR #001 - Subroutinen-Version mismatch!\n"
                                      	echo -e "benutzt: $SUB_CONFIG\t benötigt wird: $SUBVER$WE"
                                      	exit 1
                                        fi
                                      
                                      
                                       #Konfiguration lesen + Subroutinen laden
                                        . "${DIR}/wetterstation.conf"
                                        . "${DIR}/wetterstation.sub"
                                      
                                      
                                       #gibt es Parameter?
                                        while [ "$1" != "" ]; do
                                          case $1 in
                                              --debug )               debug=true   #override
                                                                      ;;
                                              --osem_reg )            osem_register
                                                                      exit
                                                                      ;;
                                              -s | --show )           show_pwid=true
                                                                      ;;
                                              -d | --data )           setup
                                                                      ws_data
                                                                      exit
                                                                      ;;
                                              -v | --version )        version
                                                                      exit
                                                                      ;;
                                              -h | --help )           usage
                                                                      exit
                                                                      ;;
                                              * )                     usage
                                                                      exit 1
                                          esac
                                          shift
                                        done
                                      
                                       #Setup ausführen
                                        setup
                                      
                                      
                                      
                                      
                                      #Endlosschleife
                                      while true
                                       do
                                      
                                        #Kommunikation herstellen und Daten empfangen
                                         get_DATA
                                      
                                        #KOM-Fehler?
                                        if [ "$?" -eq "0" ]; then
                                      
                                         #DATA zerlegen (Messwerte Block #3-#22)
                                         ii=2
                                         for ((i=0; i<20; i++))
                                          do
                                           let "ii++"
                                           MESSWERTERAW[$i]=$(echo ${DATA}|cut -d'&' -f${ii} | cut -d"=" -f2)
                                           MESSWERTE[$i]=${MESSWERTERAW[$i]}
                                            if [ "$i" -ge "0" ] && [ "$i" -lt "4" ]; then convertFtoC; fi
                                            if [ "$i" -eq "6" ] || [ "$i" -eq "7" ]; then convertMPHtoKMH; fi
                                            if [ "$i" -eq "8" ]; then winddir; fi
                                            if [ "$i" -eq "9" ] || [ "$i" -eq "10" ]; then convertLuftdruck; fi
                                            if [ "$i" -ge "11" ] && [ "$i" -lt "16" ]; then convertInchtoMM; fi
                                            if [ "$i" -eq "16" ]; then sonnenpuls; fi
                                            if [ "$i" -eq "17" ]; then uv_belastung; fi
                                            if [ "$i" -eq "18" ]; then convertTime; fi
                                          done
                                      
                                         #Daten an ioB schicken
                                          iob_send
                                      
                                      
                                        else
                                         let "KOMFEHLER++"
                                         if [ "$KOMFEHLER" -eq "5" ]; then curl "http://${IPP}/set/${DP_KOMFEHLER}?value=true&ack=true" >/dev/null 2>&1;fi
                                        fi
                                      
                                      
                                        #Debug eingeschaltet?
                                         if [ $debug == "true" ]; then debuging; fi
                                      
                                        #Mitternachtjobs
                                         if [ `date +%H` -ge "23" ] && [ `date +%M` -ge "58" ] && [ -z $MIDNIGHTRUN ]; then
                                      	rain               #Jahresregenmenge
                                      	firmware_check     #neue Firmware
                                      	reset_zaehler      #Sonnenscheindauer, Solarenergie zurücksetzen (enthällt auch Speicherung Werte VorJahr)
                                         fi
                                         if [ `date +%H` -eq "0" ] && [ `date +%M` -le "3" ]; then unset MIDNIGHTRUN; fi
                                      
                                      
                                        #Wetterprognose
                                         DO_IT=`date +%M`
                                         DO_IT=${DO_IT#0}
                                         if [ $(( $DO_IT % 15 )) -eq "0" ] && [ `date +%s` -ge "$TIMER_SET" ]; then wetterprognose; fi
                                      
                                        #openSenseMap
                                         if [ ${openSenseMap} == "true" ]; then opensensemap; fi
                                       done
                                      
                                      ###EoF```
                                      Thomas BraunT 1 Antwort Letzte Antwort
                                      0
                                      • C chrissi1

                                        @Thomas-Braun hier das Skript:

                                        
                                        # V1.4.0 - 30.10.2020 (c) 2019-2020 SBorg
                                        #
                                        # wertet ein Datenpaket einer WLAN-Wetterstation im Wunderground-Format aus, konvertiert dieses und überträgt
                                        # die Daten an den ioBroker
                                        #
                                        # benötigt den 'Simple RESTful API'-Adapter im ioBroker, 'jq' (nur openSenseMap) und 'bc' unter Linux
                                        #
                                        # V1.4.0 / 30.10.2020 - + Support für openSenseMap
                                        # V1.3.1 / 08.10.2020 - ~ Fix falls Leerzeichen im Verzeichnisnamen
                                        # V1.3.0 / 19.06.2020 - + letztes Regenereignis und Regenmenge
                                        #                       + Fehlermeldung bei falscher WS_ID / ID der Wetterstation
                                        #                       + Sonnenscheindauer + Solarenergie vom Vortag
                                        #                       ~ Änderung/Fix Sonnenscheindauer
                                        # V1.2.0 / 20.04.2020 - + Firmwareupgrade verfügbar?
                                        #                       + Firmwareversion
                                        #                       + Sonnenscheindauer Heute, Woche, Monat, Jahr
                                        #                       + UV-Belastung
                                        #                       + Solarenergie Heute, Woche, Monat, Jahr
                                        #                       + Vorjahreswerte von Regenmenge, Sonnenscheindauer und Solarenergie
                                        # V1.1.0 / 03.04.2020 - + aktueller Regenstatus
                                        #                       + Luftdrucktendenz, Wettertrend und aktuelles Wetter
                                        # V1.0.0 / 12.03.2020 - + Berechnung Jahresregenmenge
                                        #                       + Windrichtung zusätzlich als Text
                                        #                       ~ Änderung "Regen Aktuell" in "Regenrate"
                                        #                       ~ Splitt in conf- + sub-Datei
                                        # V0.1.3 / 08.02.2020 - + Unterstützung für Datenpunkt "Regenmenge Jahr", zB. für Froggit WH4000 SE
                                        #                       + Shell-Parameter -s (Klartextanzeige Passwort + Station-ID)
                                        #                       + Shell-Parameter --data (zeigt nur das gesendete Datenpaket der Wetterstation an)
                                        # V0.1.2 / 31.01.2020 - + Prüfung auf Datenintegrität
                                        #                       + neuer Datenpunkt bei Kommunikationsfehler
                                        #                       + Ausgabe Datenpaket der Wetterstation bei Debug
                                        # V0.1.1 / 01.01.2020 - + UTC-Korrektur
                                        #                       + Config-Versionscheck
                                        #                       + Shell-Parameter -v/-h/--debug
                                        # V0.1.0 / 29.12.2019 - erstes Release
                                        
                                        
                                         SH_VER="V1.4.0"
                                         CONF_V="V1.4.0"
                                         SUBVER="V1.4.0"
                                        
                                        
                                         #Installationsverzeichnis feststellen
                                          DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
                                        
                                         #Config-Version prüfen
                                          VER_CONFIG=$(cat "${DIR}/wetterstation.conf"|grep '### Setting'|cut -d" " -f3)
                                          if [ $CONF_V != $VER_CONFIG ]; then
                                        	echo -e "wetterstation: \e[31mERROR #000 - Config-Version mismatch!\n"
                                        	echo -e "benutzt: $VER_CONFIG\t benötigt wird: $CONF_V$WE"
                                        	exit 1
                                          fi
                                        
                                         #Sub-Version prüfen
                                          SUB_CONFIG=$(cat "${DIR}/wetterstation.sub"|grep '### Subroutinen'|cut -d" " -f3)
                                          if [ $SUBVER != $SUB_CONFIG ]; then
                                        	echo -e "wetterstation: \e[31mERROR #001 - Subroutinen-Version mismatch!\n"
                                        	echo -e "benutzt: $SUB_CONFIG\t benötigt wird: $SUBVER$WE"
                                        	exit 1
                                          fi
                                        
                                        
                                         #Konfiguration lesen + Subroutinen laden
                                          . "${DIR}/wetterstation.conf"
                                          . "${DIR}/wetterstation.sub"
                                        
                                        
                                         #gibt es Parameter?
                                          while [ "$1" != "" ]; do
                                            case $1 in
                                                --debug )               debug=true   #override
                                                                        ;;
                                                --osem_reg )            osem_register
                                                                        exit
                                                                        ;;
                                                -s | --show )           show_pwid=true
                                                                        ;;
                                                -d | --data )           setup
                                                                        ws_data
                                                                        exit
                                                                        ;;
                                                -v | --version )        version
                                                                        exit
                                                                        ;;
                                                -h | --help )           usage
                                                                        exit
                                                                        ;;
                                                * )                     usage
                                                                        exit 1
                                            esac
                                            shift
                                          done
                                        
                                         #Setup ausführen
                                          setup
                                        
                                        
                                        
                                        
                                        #Endlosschleife
                                        while true
                                         do
                                        
                                          #Kommunikation herstellen und Daten empfangen
                                           get_DATA
                                        
                                          #KOM-Fehler?
                                          if [ "$?" -eq "0" ]; then
                                        
                                           #DATA zerlegen (Messwerte Block #3-#22)
                                           ii=2
                                           for ((i=0; i<20; i++))
                                            do
                                             let "ii++"
                                             MESSWERTERAW[$i]=$(echo ${DATA}|cut -d'&' -f${ii} | cut -d"=" -f2)
                                             MESSWERTE[$i]=${MESSWERTERAW[$i]}
                                              if [ "$i" -ge "0" ] && [ "$i" -lt "4" ]; then convertFtoC; fi
                                              if [ "$i" -eq "6" ] || [ "$i" -eq "7" ]; then convertMPHtoKMH; fi
                                              if [ "$i" -eq "8" ]; then winddir; fi
                                              if [ "$i" -eq "9" ] || [ "$i" -eq "10" ]; then convertLuftdruck; fi
                                              if [ "$i" -ge "11" ] && [ "$i" -lt "16" ]; then convertInchtoMM; fi
                                              if [ "$i" -eq "16" ]; then sonnenpuls; fi
                                              if [ "$i" -eq "17" ]; then uv_belastung; fi
                                              if [ "$i" -eq "18" ]; then convertTime; fi
                                            done
                                        
                                           #Daten an ioB schicken
                                            iob_send
                                        
                                        
                                          else
                                           let "KOMFEHLER++"
                                           if [ "$KOMFEHLER" -eq "5" ]; then curl "http://${IPP}/set/${DP_KOMFEHLER}?value=true&ack=true" >/dev/null 2>&1;fi
                                          fi
                                        
                                        
                                          #Debug eingeschaltet?
                                           if [ $debug == "true" ]; then debuging; fi
                                        
                                          #Mitternachtjobs
                                           if [ `date +%H` -ge "23" ] && [ `date +%M` -ge "58" ] && [ -z $MIDNIGHTRUN ]; then
                                        	rain               #Jahresregenmenge
                                        	firmware_check     #neue Firmware
                                        	reset_zaehler      #Sonnenscheindauer, Solarenergie zurücksetzen (enthällt auch Speicherung Werte VorJahr)
                                           fi
                                           if [ `date +%H` -eq "0" ] && [ `date +%M` -le "3" ]; then unset MIDNIGHTRUN; fi
                                        
                                        
                                          #Wetterprognose
                                           DO_IT=`date +%M`
                                           DO_IT=${DO_IT#0}
                                           if [ $(( $DO_IT % 15 )) -eq "0" ] && [ `date +%s` -ge "$TIMER_SET" ]; then wetterprognose; fi
                                        
                                          #openSenseMap
                                           if [ ${openSenseMap} == "true" ]; then opensensemap; fi
                                         done
                                        
                                        ###EoF```
                                        Thomas BraunT Online
                                        Thomas BraunT Online
                                        Thomas Braun
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #1538

                                        @chrissi1
                                        Das fängt so an?
                                        Da fehlt die shebang

                                        Trag da mal als allererste Zeile ein:

                                        #!/bin/bash
                                        

                                        Linux-Werkzeugkasten:
                                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                        NodeJS Fixer Skript:
                                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                        NegaleinN 1 Antwort Letzte Antwort
                                        0
                                        • Thomas BraunT Thomas Braun

                                          @chrissi1
                                          Das fängt so an?
                                          Da fehlt die shebang

                                          Trag da mal als allererste Zeile ein:

                                          #!/bin/bash
                                          
                                          NegaleinN Offline
                                          NegaleinN Offline
                                          Negalein
                                          Global Moderator
                                          schrieb am zuletzt editiert von Negalein
                                          #1539

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

                                          Das fängt so an?

                                          Nö, Originalscript

                                          @chrissi1

                                          #!/bin/bash
                                          
                                          # V1.4.0 - 30.10.2020 (c) 2019-2020 SBorg
                                          #
                                          # wertet ein Datenpaket einer WLAN-Wetterstation im Wunderground-Format aus, konvertiert dieses und überträgt
                                          # die Daten an den ioBroker
                                          #
                                          # benötigt den 'Simple RESTful API'-Adapter im ioBroker, 'jq' (nur openSenseMap) und 'bc' unter Linux
                                          #
                                          # V1.4.0 / 30.10.2020 - + Support für openSenseMap
                                          # V1.3.1 / 08.10.2020 - ~ Fix falls Leerzeichen im Verzeichnisnamen
                                          # V1.3.0 / 19.06.2020 - + letztes Regenereignis und Regenmenge
                                          #                       + Fehlermeldung bei falscher WS_ID / ID der Wetterstation
                                          #                       + Sonnenscheindauer + Solarenergie vom Vortag
                                          #                       ~ Änderung/Fix Sonnenscheindauer
                                          # V1.2.0 / 20.04.2020 - + Firmwareupgrade verfügbar?
                                          #                       + Firmwareversion
                                          #                       + Sonnenscheindauer Heute, Woche, Monat, Jahr
                                          #                       + UV-Belastung
                                          #                       + Solarenergie Heute, Woche, Monat, Jahr
                                          #                       + Vorjahreswerte von Regenmenge, Sonnenscheindauer und Solarenergie
                                          # V1.1.0 / 03.04.2020 - + aktueller Regenstatus
                                          #                       + Luftdrucktendenz, Wettertrend und aktuelles Wetter
                                          # V1.0.0 / 12.03.2020 - + Berechnung Jahresregenmenge
                                          #                       + Windrichtung zusätzlich als Text
                                          #                       ~ Änderung "Regen Aktuell" in "Regenrate"
                                          #                       ~ Splitt in conf- + sub-Datei
                                          # V0.1.3 / 08.02.2020 - + Unterstützung für Datenpunkt "Regenmenge Jahr", zB. für Froggit WH4000 SE
                                          #                       + Shell-Parameter -s (Klartextanzeige Passwort + Station-ID)
                                          #                       + Shell-Parameter --data (zeigt nur das gesendete Datenpaket der Wetterstation an)
                                          # V0.1.2 / 31.01.2020 - + Prüfung auf Datenintegrität
                                          #                       + neuer Datenpunkt bei Kommunikationsfehler
                                          #                       + Ausgabe Datenpaket der Wetterstation bei Debug
                                          # V0.1.1 / 01.01.2020 - + UTC-Korrektur
                                          #                       + Config-Versionscheck
                                          #                       + Shell-Parameter -v/-h/--debug
                                          # V0.1.0 / 29.12.2019 - erstes Release
                                          
                                          
                                           SH_VER="V1.4.0"
                                           CONF_V="V1.4.0"
                                           SUBVER="V1.4.0"
                                          
                                          
                                           #Installationsverzeichnis feststellen
                                            DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
                                          
                                           #Config-Version prüfen
                                            VER_CONFIG=$(cat "${DIR}/wetterstation.conf"|grep '### Setting'|cut -d" " -f3)
                                            if [ $CONF_V != $VER_CONFIG ]; then
                                          	echo -e "wetterstation: \e[31mERROR #000 - Config-Version mismatch!\n"
                                          	echo -e "benutzt: $VER_CONFIG\t benötigt wird: $CONF_V$WE"
                                          	exit 1
                                            fi
                                          
                                           #Sub-Version prüfen
                                            SUB_CONFIG=$(cat "${DIR}/wetterstation.sub"|grep '### Subroutinen'|cut -d" " -f3)
                                            if [ $SUBVER != $SUB_CONFIG ]; then
                                          	echo -e "wetterstation: \e[31mERROR #001 - Subroutinen-Version mismatch!\n"
                                          	echo -e "benutzt: $SUB_CONFIG\t benötigt wird: $SUBVER$WE"
                                          	exit 1
                                            fi
                                          
                                          
                                           #Konfiguration lesen + Subroutinen laden
                                            . "${DIR}/wetterstation.conf"
                                            . "${DIR}/wetterstation.sub"
                                          
                                          
                                           #gibt es Parameter?
                                            while [ "$1" != "" ]; do
                                              case $1 in
                                                  --debug )               debug=true   #override
                                                                          ;;
                                                  --osem_reg )            osem_register
                                                                          exit
                                                                          ;;
                                                  -s | --show )           show_pwid=true
                                                                          ;;
                                                  -d | --data )           setup
                                                                          ws_data
                                                                          exit
                                                                          ;;
                                                  -v | --version )        version
                                                                          exit
                                                                          ;;
                                                  -h | --help )           usage
                                                                          exit
                                                                          ;;
                                                  * )                     usage
                                                                          exit 1
                                              esac
                                              shift
                                            done
                                          
                                           #Setup ausführen
                                            setup
                                          
                                          
                                          
                                          
                                          #Endlosschleife
                                          while true
                                           do
                                          
                                            #Kommunikation herstellen und Daten empfangen
                                             get_DATA
                                          
                                            #KOM-Fehler?
                                            if [ "$?" -eq "0" ]; then
                                          
                                             #DATA zerlegen (Messwerte Block #3-#22)
                                             ii=2
                                             for ((i=0; i<20; i++))
                                              do
                                               let "ii++"
                                               MESSWERTERAW[$i]=$(echo ${DATA}|cut -d'&' -f${ii} | cut -d"=" -f2)
                                               MESSWERTE[$i]=${MESSWERTERAW[$i]}
                                                if [ "$i" -ge "0" ] && [ "$i" -lt "4" ]; then convertFtoC; fi
                                                if [ "$i" -eq "6" ] || [ "$i" -eq "7" ]; then convertMPHtoKMH; fi
                                                if [ "$i" -eq "8" ]; then winddir; fi
                                                if [ "$i" -eq "9" ] || [ "$i" -eq "10" ]; then convertLuftdruck; fi
                                                if [ "$i" -ge "11" ] && [ "$i" -lt "16" ]; then convertInchtoMM; fi
                                                if [ "$i" -eq "16" ]; then sonnenpuls; fi
                                                if [ "$i" -eq "17" ]; then uv_belastung; fi
                                                if [ "$i" -eq "18" ]; then convertTime; fi
                                              done
                                          
                                             #Daten an ioB schicken
                                              iob_send
                                          
                                          
                                            else
                                             let "KOMFEHLER++"
                                             if [ "$KOMFEHLER" -eq "5" ]; then curl "http://${IPP}/set/${DP_KOMFEHLER}?value=true&ack=true" >/dev/null 2>&1;fi
                                            fi
                                          
                                          
                                            #Debug eingeschaltet?
                                             if [ $debug == "true" ]; then debuging; fi
                                          
                                            #Mitternachtjobs
                                             if [ `date +%H` -ge "23" ] && [ `date +%M` -ge "58" ] && [ -z $MIDNIGHTRUN ]; then
                                          	rain               #Jahresregenmenge
                                          	firmware_check     #neue Firmware
                                          	reset_zaehler      #Sonnenscheindauer, Solarenergie zurücksetzen (enthällt auch Speicherung Werte VorJahr)
                                             fi
                                             if [ `date +%H` -eq "0" ] && [ `date +%M` -le "3" ]; then unset MIDNIGHTRUN; fi
                                          
                                          
                                            #Wetterprognose
                                             DO_IT=`date +%M`
                                             DO_IT=${DO_IT#0}
                                             if [ $(( $DO_IT % 15 )) -eq "0" ] && [ `date +%s` -ge "$TIMER_SET" ]; then wetterprognose; fi
                                          
                                            #openSenseMap
                                             if [ ${openSenseMap} == "true" ]; then opensensemap; fi
                                           done
                                          
                                          ###EoF
                                          

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

                                          Thomas BraunT 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          797

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe