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.
    • Negalein
      Negalein Global Moderator @SBorg last edited by

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

      Stimmt die Uhrzeit vom Display/Gateway?

      Ja, die stimmt genau

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

        @negalein
        Ich habe mir die Routine noch mal angesehen und ich lag falsch. Tatsächlich wird die Uhrzeit des Clients benutzt.

        Dann versuchen wir es mal so wie die Routine es macht. Führe mal auf dem Skript-System ein date +%s aus. Da sollte nun als Ausgabe ein Uinxtimestamp erscheinen. Den kopierst du und fügst ihn mal bei bspw. unixtime.de ein.Das sollte dann dein aktuelles Datum und Uhrzeit sein.
        Bild 001.png Bild 002.png

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

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

          Das sollte dann dein aktuelles Datum und Uhrzeit sein.

          ja, das passt +- ca. 30 Sek.

          5c70da06-cb27-4d2c-8150-f81d903864b6-image.png

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

            Hallo,
            ich habe vor ein paar Tagen, die DS 100 Sensoren von 11 auf 16 Stück erhöht.
            Hat auch alles Dank der Anleitung in Wiki vorerst gut funktioniert, im Iobroker sehe ich nun 16 Bodenfeuchte Sensoren.
            Nun bemerkte ich, das der Sensor 1 & 16 immer die gleichen Werte angezeigen:
            a6216ee5-2c28-45a3-bc54-7451852658de-grafik.png
            Nachdem ich auf der Ecowitt App kontrolliert habe, bin ich mir nun sicher, das der Wert von Sensor 1, falsch angezeigt wird, also es ist derselbe Wert wie 16.
            Habe schon einiges probiert, von Neustart der Wetterstation, Raspherry, IoBroker, usw....
            Ich bekomme immer den Wert 16 zweimal angezeigt und den Wertz 1 falsch...
            Hat jemand eine Idee?
            Danke
            Oliver

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

              @sborg genau. Und wie vermutet... ECOWITT WS3900 funktioniert.

              Danke für dein Skript

              Mike

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

                @negalein
                Da es aktuell funktioniert, bei dir mal funktionierte und so kein Fehler ersichtlich ist, bleibt nur die Vermutung Problem von "Außerhalb". Ev. sind sie zB. mittels Geocaching der Meinung ihr hättet keine Sommerzeit und meinen deshalb die Werte wären über 60 Minuten alt. Verbiegen wir mal deinen Übertragungszeitstempel um eine Stunde zurück:

                öffne mal die wetterstation.sub und suche nach windy_update (sollte bei ca. #1870ff sein)

                dort ersetzt du nun (sollten vier Zeilen runter sein):

                 windy_DATA="station=${windy_Station}&ts=$(date +%s)&temp=${MESSWERTE[1]}&mbar=${MESSWERTE[9]}"
                

                mit

                 ts_tweak=$(date +%s) && let ts_tweak-=3600
                 windy_DATA="station=${windy_Station}&ts=${ts_tweak}&temp=${MESSWERTE[1]}&mbar=${MESSWERTE[9]}"
                

                Service restarten systemctl restart wetterstation

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

                  @oliver1972
                  Ich habe es mir eben noch mal angeschaut ob ich da ev. die Werte/Sensoren falsch zugeordnet habe, konnte aber so nichts finden.
                  Kannst du nochmal einen aktuellen String (./wetterstation.sh --data) posten (Passkey etc. kannst du kpl. löschen, ich brauche eigentlich nur den Teil mit den 16 Sensoren)? Dann kann ich mir Messwerte von 1-16 faken und sehe wo die Falschzuweisung erfolgt 😉

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

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

                    @sborg genau. Und wie vermutet... ECOWITT WS3900 funktioniert.

                    Danke für dein Skript

                    Mike

                    Immer gerne und nehme ich mit in die Liste auf 🙂

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      hoschi2007 @SBorg last edited by

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

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

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

                        mit

                        jetzt kommt nur noch das

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

                        aber es werden Daten geschickt (Vgl. mit den letzten 2 Tagen)
                        e087a4d3-0c35-49ae-a061-4ae3b409ea1c-image.png

                        SBorg 1 Reply Last reply Reply Quote 0
                        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            516
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            145
                                            5528
                                            3318971
                                            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