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.
    • S
      Shakira1972 @SBorg last edited by

      @sborg Habe mal alles kopiert (außer Versionsinfo), da ich mich hier Zuwenig auskenne..:

       #Versionierung
        SH_VER="V3.5.0"
        CONF_V="V3.5.0"
        SUBVER="V3.5.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 \e[0m"
           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 \e[0m"
           exit 1
        fi
      
       #Konfiguration lesen + Subroutinen laden
        . "${DIR}/wetterstation.conf"
        . "${DIR}/wetterstation.sub"
      
       #gibt es Parameter?
        while [ "$1" != "" ]; do
          case $1 in
              --debug )               version
                                      debug=true   #override
                                      ;;
              --osem_reg )            osem_register
                                      exit
                                      ;;
              --windy_reg )           windy_register
                                      exit
                                      ;;
              --metsommer )           metsom_override=true
                                      metsommer
                                      exit
                                      ;;
              --influx_test)          minmax24h DEBUG
                                      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 + Initial ausführen
        setup
        minmaxheute
      
      
      #Endlosschleife
      while true
       do
      
        #Kommunikation herstellen und Daten empfangen
        get_DATA
      
        #KOM-Fehler?
        if [ "$?" -eq "0" ]; then
         unset MESSWERTE; unset MESSWERTERAWIN
         MESSWERTERAWIN=(${DATA//&/ })
         rawinlen=${#MESSWERTERAWIN[@]}
         j=35
         for (( i=1; i<rawinlen; i++ ))
         do
           if [[ ${MESSWERTERAWIN[$i]} == tempinf=* ]] || [[ ${MESSWERTERAWIN[$i]} == indoortempf=* ]]
              then MESSWERTE[0]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); INDOOR_TEMP=${MESSWERTE[0]}; convertFtoC 0; fi
           if [[ ${MESSWERTERAWIN[$i]} == tempf=* ]]
              then MESSWERTE[1]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); TEMPF=${MESSWERTE[1]}; convertFtoC 1; do_trend_aussentemp; fi
           if [[ ${MESSWERTERAWIN[$i]} == dewptf=* ]]
              then MESSWERTE[2]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); DEWPTF=${MESSWERTE[2]}; convertFtoC 2; fi
           if [[ ${MESSWERTERAWIN[$i]} == windchillf=* ]]
              then MESSWERTE[3]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 3; fi
           if [[ ${MESSWERTERAWIN[$i]} == humidityin=* ]] || [[ ${MESSWERTERAWIN[$i]} == indoorhumidity=* ]]
              then MESSWERTE[4]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           if [[ ${MESSWERTERAWIN[$i]} == humidity=* ]]
              then MESSWERTE[5]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           if [[ ${MESSWERTERAWIN[$i]} == windspeedmph=* ]]
              then MESSWERTE[6]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertMPHtoKMH 6; fi
           if [[ ${MESSWERTERAWIN[$i]} == windgustmph=* ]]
              then MESSWERTE[7]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertMPHtoKMH 7; fi
           if [[ ${MESSWERTERAWIN[$i]} == winddir=* ]]
              then MESSWERTE[8]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); winddir 8; fi
           if [[ ${MESSWERTERAWIN[$i]} == baromabsin=* ]] || [[ ${MESSWERTERAWIN[$i]} == absbaromin=* ]]
              then MESSWERTE[9]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertLuftdruck 9; fi
           if [[ ${MESSWERTERAWIN[$i]} == baromrelin=* ]] || [[ ${MESSWERTERAWIN[$i]} == baromin=* ]]
              then MESSWERTE[10]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertLuftdruck 10; fi
           if [[ ${MESSWERTERAWIN[$i]} == rainratein=* ]] || [[ ${MESSWERTERAWIN[$i]} == rainin=* ]] || [[ ${MESSWERTERAWIN[$i]} == rrain_piezo=* ]]
              then MESSWERTE[11]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 11; fi
           if [[ ${MESSWERTERAWIN[$i]} == dailyrainin=* ]] || [[ ${MESSWERTERAWIN[$i]} == drain_piezo=* ]]
              then MESSWERTE[12]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 12; fi
           if [[ ${MESSWERTERAWIN[$i]} == weeklyrainin=* ]] || [[ ${MESSWERTERAWIN[$i]} == wrain_piezo=* ]]
              then MESSWERTE[13]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 13; fi
           if [[ ${MESSWERTERAWIN[$i]} == monthlyrainin=* ]] || [[ ${MESSWERTERAWIN[$i]} == mrain_piezo=* ]]
              then MESSWERTE[14]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 14; fi
           if [[ ${MESSWERTERAWIN[$i]} == yearlyrainin=* ]] || [[ ${MESSWERTERAWIN[$i]} == yrain_piezo=* ]]
              then MESSWERTE[15]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 15; fi
           if [[ ${MESSWERTERAWIN[$i]} == solarradiation=* ]]
              then MESSWERTE[16]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); sonnenpuls 16; fi
           if [[ ${MESSWERTERAWIN[$i]} == uv=* ]] || [[ ${MESSWERTERAWIN[$i]} == UV=* ]]
              then MESSWERTE[17]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); uv_belastung 17; fi
           if [[ ${MESSWERTERAWIN[$i]} == dateutc=* ]]
              then MESSWERTE[18]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertTime 18; fi
           if [[ ${MESSWERTERAWIN[$i]} == stationtype=* ]] || [[ ${MESSWERTERAWIN[$i]} == softwaretype=* ]]
              then MESSWERTE[19]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           if [[ ${MESSWERTERAWIN[$i]} == wh65batt=* ]]
              then MESSWERTE[20]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           if [[ ${MESSWERTERAWIN[$i]} == maxdailygust=* ]]
              then MESSWERTE[21]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertMPHtoKMH 21; fi
           if [[ ${MESSWERTERAWIN[$i]} == eventrainin=* ]]
              then MESSWERTE[22]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 22; fi
           if [[ ${MESSWERTERAWIN[$i]} == hourlyrainin=* ]]
              then MESSWERTE[23]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 23; fi
           if [[ ${MESSWERTERAWIN[$i]} == totalrainin=* ]]
              then MESSWERTE[24]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertInchtoMM 24; fi
           if [[ ${MESSWERTERAWIN[$i]} == model=* ]]
              then MESSWERTE[25]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           if [[ ${MESSWERTERAWIN[$i]} == winddir_avg10m=* ]]
              then MESSWERTE[26]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); winddir 26; fi
           if [[ ${MESSWERTERAWIN[$i]} == windspdmph_avg10m=* ]]
              then MESSWERTE[27]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertMPHtoKMH 27; fi
           if [[ ${MESSWERTERAWIN[$i]} == vpd=* ]]
              then MESSWERTE[30]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
      
      
           ### zusätzliche DPxxx-Sensoren ############################################################
            if [ "${ANZAHL_DP10}" -gt "0" ]; then DP10; fi
            if [ "${ANZAHL_DP35}" -gt "0" ]; then DP35; fi
            if [ "${ANZAHL_DP40}" -gt "0" ]; then DP40; fi
            if [ "${ANZAHL_DP50}" -gt "0" ] || [ "${ANZAHL_DP100}" -gt "0" ]; then DP50_100; fi
            if [ "${ANZAHL_DP60}" -gt "0" ]; then DP60; fi
            if [ "${ANZAHL_DP70}" -gt "0" ]; then DP70; fi
            if [ "${ANZAHL_DP200}" -gt "0" ]; then DP200; fi
            if [ "${ANZAHL_DP250}" -gt "0" ]; then DP250; fi
            if [ "${ANZAHL_DP300}" -gt "0" ]; then DP300; fi
           ### zusätzliche DPxxx-Sensoren ################################################### ENDE ###
      
           ### zusätzliche WHxxx-Sensoren ############################################################
            if [ "${ANZAHL_WH31}" -gt "0" ]; then WH31; fi
           ### zusätzliche WHxxx-Sensoren ################################################### ENDE ###
      
           ### zusätzliche WSxxx-Sensoren ############################################################
            if [ "${ANZAHL_WS90}" -gt "0" ]; then WS90; fi
           ### zusätzliche WHxxx-Sensoren ################################################### ENDE ###
      
           ### zusätzliche Bresser-Sensoren ##########################################################
            if [ "${ANZAHL_7009999}" -gt "0" ]; then BR_001; fi
           ### zusätzliche WHxxx-Sensoren ################################################### ENDE ###
      
           ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ###########################
           if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then
            if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]]
              then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi
            if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]]
              then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           fi
           ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
      
         done
      
      
         #Taupunkt und Windchill
          do_windchill
      
         #durchschnittliche Windgeschwindigkeit der letzten 10 Minuten
          if [[ ! "$DATA" =~ "windspdmph_avg10m=" ]]; then do_windspeed ${MESSWERTE[6]}; fi
      
         #Daten an ioB schicken
          if [ ${FIX_AUSSENTEMP} == "true" ]
           then
             if (( $(bc -l <<< "${MESSWERTE[1]} > -273") ))
              then
               iob_send
               if [ "${TEMPFIX_ERR}" -gt "0" ]; then let "TEMPFIX_ERR--"; fi
              else
               MELDUNG "unplausibler Messwert Aussentemperatur. Datenpaket verworfen..."
               let "TEMPFIX_ERR++"
               if [ "${TEMPFIX_ERR}" -gt "10" ]
                then
                 MELDUNG "m%C3%B6glicherweise Batterie des Wettermastes schwach"
                 SAPI "Single" "set/${DP_STATION_BATTERIE}?value=1&ack=true"
                fi
             fi
           else
             iob_send
          fi
      
         #Reset Kommfehler
          if [ ! -z "$KOMFEHLER" ] && [ "$KOMFEHLER" -gt "0" ]; then
             let "KOMFEHLER--"
             if [ "$KOMFEHLER" -eq "0" ] && [ $RESET_KOMFEHLER == "true" ]; then SAPI "Single" "set/${DP_KOMFEHLER}?value=false&ack=true"; fi
          fi
      
      
        else
         let "KOMFEHLER++"
         if [ "$KOMFEHLER" -eq "10" ]; then SAPI "Single" "set/${DP_KOMFEHLER}?value=true&ack=true"; fi
         if [ "$KOMFEHLER" -gt "10" ]; then KOMFEHLER=10; fi  #Anzahl beschränken
        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)
              minmaxavg365d      #Min-/Max-/Avg-Aussentemperatur vor einem Jahr
              metsommer          #meteorologischer Sommer Durchschnittstemperatur und Regenmenge
              MELDUNG "Mitternachtjobs durchgef%C3%BChrt"
         fi
         if [ $(date +%H) -eq "0" ] && [ $(date +%M) -le "3" ]; then
             unset MIDNIGHTRUN
             if [ $(date +%Z) == "CEST" ]; then ZULU=22; else ZULU=23; fi
         fi
      
      
      
        #15-Minutenjobs: Wetterprognose; min/max Aussentemperatur der letzten 24h + heute
         DO_IT=$(date +%M)
         DO_IT=${DO_IT#0}
         if [ $(( $DO_IT % 15 )) -eq "0" ]; then
           if [ $(date +%s) -ge "$TIMER_SET" ]; then wetterprognose
            if [ ! -z ${INFLUX_BUCKET} ]; then minmax24h; minmaxheute; fi
           fi
           do_Wetterwarnung
           #stündlich Lebenszeichen
           if [ "$(date +%H)" -ne "${ALIVE}" ]; then ALIVE=$(date +%H); MELDUNG "Skript l%C3%A4uft..."; fi
         fi
      
      
      
        #6-Minutenjobs: WOW, Windy
         if [ $(( $DO_IT % 6 )) -eq "0" ] && [ ${block_6minjobs} -le "0" ]; then
      
           #Windy
            if [ ${use_windy} == "true" ]; then windy_update; fi
           #WOW
            if [ ${use_wow} == "true" ]; then wow_update; fi
      
           #run_onlyonce
            block_6minjobs=3;
      
          else
           let block_6minjobs--
         fi
      
      
      
        #5-Minutenjobs: wetter.com; Wolkenbasis
         if [[ $(( $DO_IT % 5 )) -eq "0" && -z ${run_5minjobs_onlyonce} ]]; then
      
           #wetter.com / Wolkenbasis
           if [ ! -z ${WETTERCOM_ID} ]; then wettercom_update; fi
           do_wolkenbasis
      
           #Windböe max. für Stationen die keinen Wert (#21) liefern
           if [ ! -z ${INFLUX_BUCKET} ] && [ -z ${MESSWERTE[21]} ]; then windboeemax; fi
      
           #run only once
            run_5minjobs_onlyonce=true
      
          else
           if [ ${run_5minjobs_onlyonce} ]; then unset run_5minjobs_onlyonce; fi
         fi
      
      
      
         #Hitzeindex
           if (( $(bc -l <<< "${MESSWERTE[1]} > 20") )); then
             HITZEINDEX=$(round $(hitzeindex ${MESSWERTE[1]} ${MESSWERTE[5]}) 2)
            else
             HITZEINDEX=
           fi
      
      
        #openSenseMap
         if [ ${openSenseMap} == "true" ]; then opensensemap; fi
      
        #Wunderground
         if [ ${WUNDERGROUND_UPDATE} == "true" ]; then wunderground_update; fi
      
        #AWEKAS
         if [ ${use_awekas} == "true" ]; then awekas_update; fi
      
      
        #Logging eingeschaltet?
         if [ $logging == "true" ]; then logging; fi
      
      
       done
      ###EoF
      
      
      

      Danke

      Boronsbruder SBorg 2 Replies Last reply Reply Quote 0
      • Boronsbruder
        Boronsbruder @Shakira1972 last edited by Boronsbruder

        @oliver1972
        @sborg meinte die Kommandozeile ./wetterstation.sh --data ausführen und die Ausgabe der Sensoren, ohne den ganzen Krismkrams darum, posten:
        Hier Feuchte-Sensor 1-5:

        ->  soilmoisture1=30&soilad1=185&soilmoisture2=55&soilad2=230&soilmoisture4=11&soilad4=114&soilmoisture5=40&soilad5=224
        

        Achja vor der Ausführung den Dienst stoppen (systemctl stop wetterstation.service)

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

          und wieder hat es mir nach einem Stromausfall den 0_userdata.0.Wetterstation.Regen_Tag verhaun.

          bei 0-Regen hat er wieder 4,089 mm geschrieben.
          Bring den Wert erst morgen aus der DB, da er direkt von der verkackten Station kommt.

          Der Wert stammt ursprünglich vom 27.6.25 (letzter Regen).

          vlcsnap-2025-07-02-21h46m12s081.jpg

          könnt ihr eine zuverlässlichere als die Froggit WH4000SE empfehlen?

          Boronsbruder 1 Reply Last reply Reply Quote 0
          • S
            Shakira1972 @Boronsbruder last edited by

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

            @sborg meinte die Kommandozeile ./wetterstation.sh --data ausführen und die Ausgabe der Sensoren, ohne den ganzen Krismkrams darum, posten:

            Ok, ich hoffe das sind nun die richtigen Werte...

            soilmoisture1=50&soilad1=240&soilmoisture2=47&soilad2=249&soilmoisture3=35&soilad3=196&soilmoisture4=46&soilad4=245&soilmoisture5=50&soilad5=260&soilmoisture6=47&soilad6=247&soilmoisture7=41&soilad7=225&soilmoisture8=38&soilad8=222&soilmoisture9=50&soilad9=250&soilmoisture10=48&soilad10=238&soilmoisture11=58&soilad11=282&soilmoisture12=52&soilad12=248&soilmoisture13=54&soilad13=257&soilmoisture14=50&soilad14=239&soilmoisture15=53&soilad15=255&soilmoisture16=56&soilad16=261
            

            Wenn ich das richtig verstehe, dann zeigt es hier, im Gegensatz zu den Werten in IoBroker, die richtigen Werte an.
            Aktuell in IoBroker:
            0f813add-e6a0-44ac-87c8-12eedcfdb69f-image.png
            Danke für Eure Hilfe!

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

              @SBorg

              heute hatte ich einen error der wetterstation.sh.

              Nach restart ging es wieder.

              woher ist der gekommen?

              dietpi@DietPi:~$ sudo systemctl status wetterstation
              ● wetterstation.service - Service für ioBroker Wetterstation
                 Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                 Active: active (running) since Wed 2025-07-02 08:19:05 CEST; 1 day 23h ago
               Main PID: 280 (wetterstation.s)
                  Tasks: 5 (limit: 264)
                 Memory: 6.9M
                 CGroup: /system.slice/wetterstation.service
                         ├─  280 /bin/bash /home/iobroker/wetterstation.sh
                         ├─27383 /bin/bash /home/iobroker/wetterstation.sh
                         ├─27384 timeout 38 nc -nlvw 1 -p 1080
                         ├─27385 tail -1
                         └─27386 nc -nlvw 1 -p 1080
              
              Jul 03 21:25:09 DietPi wetterstation.sh[280]: (standard_in) 12: syntax error
              Jul 03 21:25:09 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:25:41 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:25:41 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:26:11 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:26:11 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:26:42 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:26:43 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:27:13 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              Jul 03 21:27:13 DietPi wetterstation.sh[280]: (standard_in) 1: syntax error
              
              SBorg 1 Reply Last reply Reply Quote 0
              • Boronsbruder
                Boronsbruder @Negalein last edited by

                @negalein
                Reines Gateway und lieber dazu ein Tablet mit einer schönen Vis oder Grafana 😉
                Ich hab hier das GW2000 (Lan und Wifi) und ein GW1100 (nur Wlan - ist nur für meine Bewässerung) am laufen.
                Zur Stabilität bei Stromausfall kann ich nix sagen da das GW2000 über ein POE-Splitter am Switch mit USV hängt.

                1 Reply Last reply Reply Quote 0
                • T
                  tritor last edited by tritor

                  Hallo,

                  Ich habe in der Statistik für einige Monate keine Daten (typo bei InfluxDB Namen).

                  Gibt es einen einfachen Weg an die Daten ranzukommem, oder muss ich die manuell aus der InfluxDB extrahieren?

                  Grüsse

                  SBorg 1 Reply Last reply Reply Quote 0
                  • V
                    vmi last edited by Negalein

                    Hallo zusammen,

                    habe das Update auf die V3.5.1 ausgeführt, seit dem läuft leider nichts mehr 😞

                    Wenn ich ./.etterstation.sh -debug auisführe erhalte ich einen "endlos Liste" mit Fehlern ... bis ich es abbreche

                    admin@raspberrypi:~/wetterstation $ admin@raspberrypi:~/wetterstation $ ./wetterstation.sh --debug
                    /home/admin/wetterstation/wetterstation.sub: Zeile 3: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 4: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 93: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 94: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 98: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 99: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 107: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 109: Syntaxfehler beim unerwarteten Symbol »$'{\r'«
                    'home/admin/wetterstation/wetterstation.sub: Zeile 109: `debuging() {
                    ./wetterstation.sh: Zeile 194: version: Kommando nicht gefunden.
                    ./wetterstation.sh: Zeile 230: setup: Kommando nicht gefunden.
                    ./wetterstation.sh: Zeile 231: minmaxheute: Kommando nicht gefunden.
                    ./wetterstation.sh: Zeile 239: get_DATA: Kommando nicht gefunden.
                    ./wetterstation.sh: Zeile 387: debuging: Kommando nicht gefunden.
                    (standard_in) 1: syntax error
                    ./wetterstation.sh: Zeile 239: get_DATA: Kommando nicht gefunden.
                    ./wetterstation.sh: Zeile 387: debuging: Kommando nicht gefunden.
                    (standard_in) 1: syntax error
                    

                    Woran könnte das liegen?

                    Ordener Wetterstationb sieht aus wie immer:
                    11cdfce8-2b75-490b-9d38-f0ea55d1d687-grafik.png

                    mit ./wetterstation.sh --data erhalte ich:

                    admin@raspberrypi:~/wetterstation $ ./wetterstation.sh --data
                    /home/admin/wetterstation/wetterstation.sub: Zeile 3: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 4: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 93: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 94: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 98: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 99: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 107: $'\r': Kommando nicht gefunden.
                    /home/admin/wetterstation/wetterstation.sub: Zeile 109: Syntaxfehler beim unerwarteten Symbol »$'{\r'«
                    'home/admin/wetterstation/wetterstation.sub: Zeile 109: `debuging() {
                    ./wetterstation.sh: Zeile 212: setup: Kommando nicht gefunden.
                    ./wetterstation.sh: Zeile 213: ws_data: Kommando nicht gefunden.
                    

                    Hoffe Ihr könnt mir helfen.
                    Danke

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

                      @vmi
                      Lade dir von Github nochmals die wetterstation.sub herunter und ersetze sie. Nach dem Start des Services sollte es wieder laufen.

                      Problem: die *.sub lag mal wieder im DOS-Format (CR + LF) auf GitHub. Linux mag aber kein "CR" 😉

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

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

                        @sborg die Ecowitt WS3800 (A) kannst du auch gerne in die Liste aufnehmen 🙂

                        Danke, nehme ich mit auf 🙂

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

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

                          jetzt kommt nur noch das

                          Datenübertragung an windy.com:
                          {"observations":[],"stations":[]}
                          

                          Keine direkte Fehlermeldung mehr. Kommen die Daten jetzt noch immer regelmäßig an?

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

                            Da ich einen gedanklichen Fehler bei der V3.5.0 bei der Erhöhung der Sensoranzahl auf 16 Stück beim DP100 hatte:

                            Neues Bugfix-Release des Wetterstation WLAN-Skriptes auf GitHub V3.5.1

                            • ~ Fix falsche Messwerte bei DP100 Sensor Nr.1 wenn mehr als 10 Sensoren vorhanden sind

                            Wie immer zu finden im GitHub


                            Update-Routine von Vorgängerversion:

                            • aktuellen WS-Updater nutzen

                              wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
                            • ./ws_updater.sh im Installationsverzeichnis ausführen
                            • Menüpunkt "4" wählen und die Fragen beantworten

                            Update enthält lediglich einen Fix für mehr als 9 Stück DP100 Sensoren, ist also optional.

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

                              @shakira1972
                              siehe Update V3.5.1
                              Zumindest im Test hat es nun funktioniert. Ist aber immer so eine Sache ohne einen einzigen Sensor 😉

                              Problem war, ohne zu sehr programmiertechnisch zu werden, dass zweistellige Sensoren in der Zuweisung immer auf Sensor #1 aufliefen. #10 bis #15 hast du garnicht bemerkt, es wurde immer nur der höchste (bei dir #16) in #1 angezeigt.

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

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

                                @SBorg

                                heute hatte ich einen error der wetterstation.sh.

                                Nach restart ging es wieder.

                                woher ist der gekommen?

                                Der Fehler sagt so leider nichts aus, aber das passiert immer wenn ein Wert nur "NULL" ist. Es sind für ca. 2 Minuten 5 Datenpakete hintereinander. Mast --> Display // Display --> WLAN // kurzfristiges Übertragungsproblem (zerstückeltes Datenpaket) oder Problem mit dem Mast/Display.


                                Ich bin mit Ecowitt (falls du überhaupt noch ein Display willst, ich würde es eher wie von @Boronsbruder vorgeschlagen lösen) sehr zufrieden. Läuft seit 5 Jahren 24/7 ohne jegliches Problem.

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

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

                                  Hallo,

                                  Ich habe in der Statistik für einige Monate keine Daten (typo bei InfluxDB Namen).

                                  Gibt es einen einfachen Weg an die Daten ranzukommem, oder muss ich die manuell aus der InfluxDB extrahieren?

                                  Grüsse

                                  Das Skript verarbeitet immer nur den letzten Tag. Außer mittels Flux selbst zu extrahieren bleibt dir wenig übrig, außer ev. die Daten mittels des Explorers vorzuselektieren, als CSV zu exportieren, um es dann in Excel auszuwerten.

                                  1 Reply Last reply Reply Quote 1
                                  • V
                                    vmi @SBorg last edited by Negalein

                                    @sborg Super vielen Dank. Jetzt läuft es wieder 🙂

                                    Noch eine Frage bekomme folgende Meldungen beim debug Test ... habe aber keine DP50 Sensoren?

                                    Ist bisher nicht aufgefallen

                                    {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.1.Temperatur\" not found"
                                      },
                                      {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.1.Feuchtigkeit\" not found"
                                      },
                                      {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.2.Temperatur\" not found"
                                      },
                                      {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.2.Feuchtigkeit\" not found"
                                      },
                                      {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.3.Temperatur\" not found"
                                      },
                                     {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.1.Batterie\" not found"
                                      },
                                      {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.2.Batterie\" not found"
                                      },
                                      {
                                        "error": "datapoint \"0_userdata.0.Wetterstation.DP50.3.Batterie\" not found"
                                      },
                                    

                                    6f4a2b0d-76c1-4128-b4df-49095a68f544-grafik.png

                                    0e038197-0ea6-4ddc-8ca9-c7147afa95c1-grafik.png

                                    Die zwei Aussentemeratur Sensoren habe ich nicht eingebunden, da nur ein DP40 unsterstützt wird, oder?

                                    Kann es ein, das der Pool Thermometer von ecowitt WN36 und die WH31 als DP50 erkannt werden?

                                    dd6a5ba5-f28d-4aca-90f0-591d4787f92f-grafik.png

                                    Hbae jetzt einfach mal die DP50 Datenpunkte angelegt und siehe da, die Daten sind da 🙂

                                    Jetzte hatte das ganze Updatethema auch noch was gutes, habe jetzt alle Thermometer im ibroker 🙂

                                    21e8d69c-2fff-4c0f-a4ef-9c67735a0817-grafik.png

                                    Vielen Dank und ein schönes Wochenende 🙂

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

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

                                      Kommen die Daten jetzt noch immer regelmäßig an?

                                      nein, seit Mittwoch 19 Uhr tot

                                      1 Reply Last reply Reply Quote 0
                                      • crunchip
                                        crunchip Forum Testing Most Active @vmi last edited by

                                        @vmi mal so nebenbei, hast du vllt. vergessen deine Höhenmeter zu hinterlegen oder wo liegt dein Wohnort

                                        V 1 Reply Last reply Reply Quote 0
                                        • V
                                          vmi @crunchip last edited by

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

                                          so nebenbei, hast du vllt. vergessen deine Höhenmeter zu hinterlegen oder wo liegt dein Wohnort

                                          warum meinst Du? 199 über dem Meer

                                          crunchip 1 Reply Last reply Reply Quote 0
                                          • crunchip
                                            crunchip Forum Testing Most Active @vmi last edited by crunchip

                                            @vmi weil dein absolut und relativ beides auf 989hPa steht.
                                            Unter Calibration bei Altitude for REL muss die Höhenangabe rein

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            145
                                            5530
                                            3319428
                                            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