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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Linux Shell-Skript] WLAN-Wetterstation

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

      Definitiv hat meine WH4000SE den Datenpunkt "Regen_Jahr" mehr. Gerade das Skript mal erweitert und es klappt jetzt auch mit korrektem Timestamp, UV-Index, etc.

      1 Reply Last reply Reply Quote 1
      • unltdnetworx
        unltdnetworx Developer @SBorg last edited by

        @SBorg
        Willst du das in das Skript aufnehmen? Müsste dann aber abgefangen werden, wenn jemand den Wert nicht hat.

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

          Gerne, wollte eben schon darum bitten 😉
          Mir schwebt noch ein Konfigpunkt "Modell" vor, ev. gibt es ja (später) noch mehr Unterschiede.

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

            @SBorg Soll ich einen Pull Request machen? Dann zieh ich mir kurz die beta und bau noch mal um. Oder einfach nur den geänderten Code?

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

              @unltdnetworx Wie du magst. Ich habe keine eigene Station, deswegen ist die V0.1.2 bisher kpl. ungetestet. Also keine Ahnung ob ich ev. was verbockt habe, zumindest in der simuluerten Version hat es funktioniert 😉
              Also bau es ruhig mal ein und teste 👍 👼 😁

              unltdnetworx 1 Reply Last reply Reply Quote 1
              • unltdnetworx
                unltdnetworx Developer @SBorg last edited by unltdnetworx

                @SBorg
                Die Beta läuft übrigens einwandfrei. Hab jetzt meine Werte noch ergänzt, aber keine Weiche eingebaut. Pull-Request gestellt.

                SBorg 1 Reply Last reply Reply Quote 0
                • R
                  Rushmed Most Active last edited by

                  Was muss ich jetzt alles beachten wenn ich die Beta ausprobieren will?

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

                    @unltdnetworx Danke 🙂 Kannst du mir mal ein Beispieldatenpaket (Passwort x-en 😉 ) posten? Dann kann ich mir mal Gedanken machen wie man es in ein Skript packt und simulieren. bash ist halt keine echte Programmiersprache. Ich will aber auch nicht x separate Skripte pflegen.

                    @Rushmed Eigentlich nur wie oben beschrieben. Neues Javascript wg. zusätzlichem Datenpunkt ausführen. Die conf nach deinen Werten konfigurieren (jetzt zusätzlich noch die Station-ID). Dann sollte es laufen. Bei derzeit fünf aufgetretenen Datenpaket-Fehlern (falsches Format, verstümmelt, gar kein Paket) sollte der neue Datenpunkt "_Kommunikationsfehler" true werden.

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

                      @SBorg Habe gestern noch weiter getestet, leider geht bei mir auch der Befehl nc nicht.
                      Auch dieser Befehl wird im Docker nicht gefunden.
                      Gibt es noch eine ander Möglichkeit die Daten abzufragen?

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

                        @gerald123 Da die Hardwareanforderungen gering sind, würde auch ein x-beliebiger Raspberry PI im Netzwerk genügen. Es sollte sogar ein Orange PI für ~17,- € langen. Oder es findet sich jemand der einen Adapter schreibt, oder es per Perl, Python etc. umsetzt.

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

                          @SBorg Ein Adapter wäre doch sinnvoll. Spendiert mir einer eine Wetterstation? 😉
                          Grüße Eisbaeeer

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

                            @Eisbaeeer 😀 Ich habe ja auch keine, noch dazu nie einen Adapter gebaut. Wollte zwar immer mal wieder anfangen, aber ohne kriege ich es einfach schneller umgesetzt 😉

                            Eisbaeeer Glasfaser 2 Replies Last reply Reply Quote 0
                            • Eisbaeeer
                              Eisbaeeer Developer @SBorg last edited by

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

                              @Eisbaeeer 😀 Ich habe ja auch keine, noch dazu nie einen Adapter gebaut. Wollte zwar immer mal wieder anfangen, aber ohne kriege ich es einfach schneller umgesetzt 😉

                              Naja, die Arbeit ist ja schon gemacht. Alles andere ist ja nur noch Fleißarbeit und ein wenig Erfahrung. Dann ist der Adapter schon fertig. Aber ich habe leider keine Zeit.

                              1 Reply Last reply Reply Quote 0
                              • R
                                Rushmed Most Active last edited by

                                Jaa, ich bin auch für einen Adapter!

                                1 Reply Last reply Reply Quote 0
                                • G
                                  gerald123 last edited by

                                  Ein Adapter währe für mich die ideale Lösung, vielleicht wird es ja noch 😊

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

                                    @SBorg

                                    Hier mal meine Änderung/Anpassung auf die Froggit WH4000SE.

                                    1.JPG

                                    wetterstation.conf

                                    ### Settings V0.1.2 -------Froggit WH4000SE----------------------------------------------------
                                    #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte
                                     debug=false
                                    
                                    #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx]
                                     IPP=192.168.178.11:8087               
                                    
                                    #Port der Wetterstation
                                     WS_PORT=9999
                                    
                                    #Pollintervall der Wetterstation in Sekunden (min 30 Sekunden)
                                     WS_POLL=16
                                    
                                    #Name/ID der Wetterstation
                                     WS_ID=xxxxx
                                    
                                    #wo sollen die Datenobjekte abgelegt werden
                                     PRE_DP=javascript.0.Wetterstation
                                    
                                    #Bezeichnung der Datenpunkte
                                     DP_TEMP_INNEN=${PRE_DP}.Innentemperatur
                                     DP_TEMP_AUSSEN=${PRE_DP}.Aussentemperatur
                                     DP_TAUPUNKT=${PRE_DP}.Taupunkt
                                     DP_CHILL=${PRE_DP}.Chillfaktor
                                     DP_FEUCHTE_INNEN=${PRE_DP}.Innenfeuchtigkeit
                                     DP_FEUCHTE_AUSSEN=${PRE_DP}.Aussenfeuchtigkeit
                                     DP_WIND=${PRE_DP}.Wind
                                     DP_WIND_MAX=${PRE_DP}.Wind_max
                                     DP_WIND_DIR=${PRE_DP}.Windrichtung
                                     DP_DRUCK_ABS=${PRE_DP}.Druck_absolut
                                     DP_DRUCK_REL=${PRE_DP}.Druck_relativ
                                     DP_REGEN_AKT=${PRE_DP}.Regen_aktuell
                                     DP_REGEN_TAG=${PRE_DP}.Regen_Tag
                                     DP_REGEN_WOCHE=${PRE_DP}.Regen_Woche
                                     DP_REGEN_MONAT=${PRE_DP}.Regen_Monat
                                     DP_REGEN_JAHR=${PRE_DP}.Regen_Jahr
                                     DP_SONNE=${PRE_DP}.Sonnenstrahlung
                                     DP_UV_INDEX=${PRE_DP}.UV_Index
                                     DP_ZEITSTEMPEL=${PRE_DP}.Zeitstempel
                                     DP_KOMFEHLER=${PRE_DP}._Kommunikationsfehler
                                    
                                    ###  Ende Usereinstellungen  
                                    ###  Farbdefinition
                                         GR='\e[1;32m'
                                         GE='\e[1;33m'
                                         WE='\e[1;37m'
                                         BL='\e[1;36m'
                                         RE='\e[1;31m'
                                    
                                    ###-------------------------------------------------------------------------###
                                    ###  Subroutinen - KEINE ÃNDERUNGEN NÖTIG !                                 ###
                                    ###-------------------------------------------------------------------------###
                                    
                                    debuging() {
                                     #Messwerteblock
                                      echo -e "\n\n${WE}Messwerteblock: $GR${MESSWERTERAW[*]}$WE"
                                    
                                     #Datenfelder ausgeben
                                      echo -e "\n\nTemperatur Innen\t: $GR${MESSWERTE[0]}$WE °C"
                                      echo -e "Temperatur Aussen\t: $GR${MESSWERTE[1]}$WE °C"
                                      echo -e "Taupunkt\t\t: $GR${MESSWERTE[2]}$WE °C"
                                      echo -e "Chill-Faktor\t\t: $GR${MESSWERTE[3]}$WE °C"
                                      echo -e "Luftfeuchte Innen\t: $GR${MESSWERTE[4]}$WE %"
                                      echo -e "Luftfeuchte Aussen\t: $GR${MESSWERTE[5]}$WE %"
                                      echo -e "Windgeschwindkeit\t: $GR${MESSWERTE[6]}$WE km/h"
                                      echo -e "max. Windgeschwindkeit\t: $GR${MESSWERTE[7]}$WE km/h"
                                      echo -e "Windrichtung\t\t: $GR${MESSWERTE[8]}$WE °"
                                      echo -e "Luftdruck absolut\t: $GR${MESSWERTE[9]}$WE hPa"
                                      echo -e "Luftdruck relativ\t: $GR${MESSWERTE[10]}$WE hPa"
                                      echo -e "Regen aktuell\t\t: $GR${MESSWERTE[11]}$WE mm"
                                      echo -e "Regen Tag\t\t: $GR${MESSWERTE[12]}$WE mm"
                                      echo -e "Regen Woche\t\t: $GR${MESSWERTE[13]}$WE mm"
                                      echo -e "Regen Monat\t\t: $GR${MESSWERTE[14]}$WE mm"
                                      echo -e "Regen Jahr\t\t: $GR${MESSWERTE[15]}$WE mm"
                                      echo -e "Sonnenstrahlung\t\t: $GR${MESSWERTE[16]}$WE W/m²"
                                      echo -e "UV-Index\t\t: $GR${MESSWERTE[17]}$WE"
                                      echo -e "Zeitstempel\t\t: $GR${MESSWERTE[18]}$WE"
                                      
                                      echo -e "\n\nDatenstring für ioBroker:\n$GR$IOB_DATA$WE\n"
                                    
                                      echo -e "\nDATA von Wetterstation(Passwort auskommentieren!):\n$GR${DAT}$WE\n"
                                    
                                      echo -e "\nDebug VAR:"
                                      echo -e "Installationsverzeichnis: $GE$DIR$WE"
                                      echo -e "IPP: $GE${IPP}$WE\tWS_PORT: $GE${WS_PORT}$WE\t\tWS_POLL: $GE${WS_POLL}$WE\tPRE_DP: $GE${PRE_DP}$WE"
                                      echo -e "Script-Version: $GE$SH_VER$WE\tConfig-Version: $GE${CONF_V}$WE"
                                    
                                     #Shell-Skript mit Fehler beenden
                                       exit 1
                                    }
                                    
                                    ### ioB-Daten senden
                                    iob_send() {
                                      #build Data-String
                                       IOB_DATA=$(cat <<-EOD
                                       ${DP_TEMP_INNEN}=${MESSWERTE[0]}
                                       &${DP_TEMP_AUSSEN}=${MESSWERTE[1]}
                                       &${DP_TAUPUNKT}=${MESSWERTE[2]}
                                       &${DP_CHILL}=${MESSWERTE[3]}
                                       &${DP_FEUCHTE_INNEN}=${MESSWERTE[4]}
                                       &${DP_FEUCHTE_AUSSEN}=${MESSWERTE[5]}
                                       &${DP_WIND}=${MESSWERTE[6]}
                                       &${DP_WIND_MAX}=${MESSWERTE[7]}
                                       &${DP_WIND_DIR}=${MESSWERTE[8]}
                                       &${DP_DRUCK_ABS}=${MESSWERTE[9]}
                                       &${DP_DRUCK_REL}=${MESSWERTE[10]}
                                       &${DP_REGEN_AKT}=${MESSWERTE[11]}
                                       &${DP_REGEN_TAG}=${MESSWERTE[12]}
                                       &${DP_REGEN_WOCHE}=${MESSWERTE[13]}
                                       &${DP_REGEN_MONAT}=${MESSWERTE[14]}
                                           &${DP_REGEN_JAHR}=${MESSWERTE[15]}
                                       &${DP_SONNE}=${MESSWERTE[16]}
                                       &${DP_UV_INDEX}=${MESSWERTE[17]}
                                       EOD
                                        )
                                      
                                      #Leerzeichen entfernen + Zeitstempel wg. Leerzeichen erst hier anhängen
                                       IOB_DATA=$(echo $IOB_DATA|tr -d " ")
                                       IOB_DATA=${IOB_DATA}\&${DP_ZEITSTEMPEL}=${MESSWERTE[18]}
                                    
                                    
                                      #Daten an den ioB schicken
                                       if [ $debug == "true" ]; then 
                                       curl --data "$IOB_DATA&prettyPrint" http://${IPP}/setBulk
                                         else
                                       curl --data "$IOB_DATA" http://${IPP}/setBulk >/dev/null 2>&1
                                       fi
                                    }
                                    
                                    
                                    
                                    ### Daten holen und Integritätscheck
                                    function get_DATA(){
                                     #auf Daten der Wetterstation warten
                                      DATA=$(timeout 10 nc -lv -p ${WS_PORT}|sed '3 p')
                                      STRLEN=$(echo -n $DATA | wc -m)
                                    
                                     #check auf Datenintigrität
                                      if [ "$STRLEN" -gt "400" ] && [[ "$DATA" =~ "/weatherstation/updateweatherstation.php?ID=${WS_ID}" ]] ; then return 0; else return 1; fi
                                    }
                                    
                                    
                                    
                                    ### Datenkonvertierungen
                                    convertFtoC() { 
                                       MESSWERTE[$i]=`echo "scale=2;(${MESSWERTE[$i]}-32)*5/9" | bc -l`
                                    }
                                    
                                    convertMPHtoKMH() {
                                       MESSWERTE[$i]=`echo "scale=2;(${MESSWERTE[$i]}*16094/10000)" | bc -l`
                                    }
                                    
                                    convertLuftdruck() {
                                       MESSWERTE[$i]=`echo "scale=2;${MESSWERTE[$i]}*33864/1000" | bc -l`
                                    }
                                    
                                    convertInchtoMM() { 
                                       MESSWERTE[$i]=`echo "scale=1;${MESSWERTE[$i]}*254/10" | bc -l`
                                    }
                                    
                                    convertTime() {
                                       	MESSWERTE[$i]=$(echo ${MESSWERTE[$i]}|sed -e 's/%20/ /')
                                       	MESSWERTE[$i]=$(date --date="${MESSWERTE[$i]} UTC" +'%d.%m.%Y %H:%M:%S')
                                       #MESSWERTE[$i]=$(echo ${MESSWERTE[$i]}|awk -F'-|%20' '{printf "%02s.%02s.%s %s", $3, $2, $1, $4}')
                                    }
                                    
                                    
                                    
                                    ###Befehlszeilenparameter
                                    usage() {
                                       echo "usage: wetterstation [[--debug] | [-v] | [-h]"
                                       echo " --debug    einmaliger Testdurchlauf mit Ausgabe"
                                       echo " -v         Ausgabe der Versionsnummer"
                                       echo " -h         dieses Hilfemenue"
                                    }
                                    
                                    version() {
                                       echo -e "$BL ${SH_VER} - (c) 2019-2020 SBorg"
                                    }
                                    
                                    ###EoF
                                    

                                    Wetterstation .sh

                                    #!/bin/bash
                                    
                                    # V0.1.2 - 24.01.2020 (c) 2019-2020 SBorg
                                    #    Froggit WH4000SE
                                    # wertet ein Datenpaket einer WLAN-Wetterstation im Wunderground-Format aus, konvertiert diese und überträgt
                                    # die Daten an den ioBroker
                                    #
                                    # benötigt den 'Simple RESTful API'-Adapter im ioBroker und 'bc' unter Linux
                                    #
                                    # V0.1.2 / 24.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="V0.1.2"
                                    CONF_V="V0.1.2"
                                    
                                    
                                    #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
                                    
                                    #Konfiguration lesen
                                     . ${DIR}/wetterstation.conf
                                    
                                    #gibt es Parameter?
                                     while [ "$1" != "" ]; do
                                       case $1 in
                                       --debug	)		debug=true   #override
                                       			;;
                                       -v | --version )	version
                                       			exit
                                       			;;
                                           -h | --help )		usage
                                       			exit
                                                                   ;;
                                           * )			usage
                                                                   exit 1
                                       esac
                                       shift
                                     done
                                    
                                    
                                    declare -a MESSWERTE
                                    declare -a MESSWERTERAW
                                    
                                    #Check ob Pollintervall grösser 30 Sekunden
                                     if [ ${WS_POLL} -lt "30" ]; then WS_POLL=30; fi
                                    
                                    #Fehlermeldungen resetten
                                     curl http://${IPP}/set/${DP_KOMFEHLER}?value=false >/dev/null 2>&1
                                    
                                    
                                    #Endlosschleife
                                    while true
                                    do
                                    
                                     #Kommunikation herstellen und Daten empfangen
                                      get_DATA
                                    
                                     #KOM-Fehler?
                                     if [ "$?" -eq "0" ]; then
                                    
                                      #DATA zerlegen (Messwerte Block #3-#21)
                                      ii=2
                                      for ((i=0; i<19; 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 "9" ] || [ "$i" -eq "10" ]; then convertLuftdruck; fi
                                         if [ "$i" -ge "11" ] && [ "$i" -lt "16" ]; then convertInchtoMM; 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&prettyPrint&ack=true >/dev/null 2>&1;fi
                                     fi
                                    
                                    
                                     #Debug eingeschaltet?
                                      if [ $debug == "true" ]; then debuging; fi
                                    
                                     #...und schlafen gehen
                                      let "schlafe=WS_POLL-5"
                                      sleep $schlafe
                                    
                                    done
                                    
                                    ###EoF
                                    
                                    
                                    


                                    wetterstation.js

                                    ///Wetterstation Datenpunkte anlegen
                                    let DP="javascript.0.Wetterstation."
                                     createState(DP+"Innentemperatur"      ,"", {name: "Temperatur im Haus",          type: "number", role: "state", unit: "°C" });
                                     createState(DP+"Aussentemperatur"     ,"", {name: "Temperatur Außen",            type: "number", role: "state", unit: "°C" });
                                     createState(DP+"Taupunkt"             ,"", {name: "Taupunkt",                    type: "number", role: "state", unit: "°C" });
                                     createState(DP+"Chillfaktor"          ,"", {name: "Chillfaktor",                 type: "number", role: "state", unit: "°C" });
                                     createState(DP+"Innenfeuchtigkeit"    ,"", {name: "Luftfeuchtigkeit Innen",      type: "number", role: "state", unit: "%" });
                                     createState(DP+"Aussenfeuchtigkeit"   ,"", {name: "Luftfeuchtigkeit Außen",      type: "number", role: "state", unit: "%" });
                                     createState(DP+"Wind"                 ,"", {name: "Windgeschwindigkeit",         type: "number", role: "state", unit: "km/h" });
                                     createState(DP+"Wind_max"             ,"", {name: "Windgeschwindigkeit maximal", type: "number", role: "state", unit: "km/h" });
                                     createState(DP+"Windrichtung"         ,"", {name: "Windrichtung",                type: "number", role: "state", unit: "°" });
                                     createState(DP+"Druck_absolut"        ,"", {name: "Luftdruck absolut",           type: "number", role: "state", unit: "hPa" });
                                     createState(DP+"Druck_relativ"        ,"", {name: "Luftdruck relativ",           type: "number", role: "state", unit: "hPa" });
                                     createState(DP+"Regen_aktuell"        ,"", {name: "aktuelle Regenmenge",         type: "number", role: "state", unit: "mm" });
                                     createState(DP+"Regen_Tag"            ,"", {name: "Regenmenge Heute",            type: "number", role: "state", unit: "mm" });
                                     createState(DP+"Regen_Woche"          ,"", {name: "Regenmenge Woche",            type: "number", role: "state", unit: "mm" });
                                     createState(DP+"Regen_Monat"          ,"", {name: "Regenmenge Monat",            type: "number", role: "state", unit: "mm" });
                                     createState(DP+"Regen_Jahr"          ,"", {name: "Regenmenge Jahr",            type: "number", role: "state", unit: "mm" });
                                     createState(DP+"Sonnenstrahlung"      ,"", {name: "Sonnenstrahlung",             type: "number", role: "state", unit: "W/m²" });
                                     createState(DP+"UV_Index"             ,"", {name: "UV Index",                    type: "number", role: "state" });
                                     createState(DP+"Zeitstempel"          ,"", {name: "von wann ist die Messung",    type: "string", role: "state" });
                                     createState(DP+"_Kommunikationsfehler","", {name: "liegt ein Problem vor",       type: "boolean",role: "state" });
                                    
                                    

                                    Ausgabe mit nc -lv -p 9999

                                    root@raspberrypi:/home/pi# sudo nc -lv -p 9999
                                    Listening on [0.0.0.0] (family 0, port 9999)
                                    Connection from 192.168.178.42 14965 received!
                                    GET /weatherstation/updateweatherstation.php?ID=xxxxxxx&PASSWORD=xxxxxxxxx&indoortempf=59.4&tempf=72.5&dewptf=55.9&windchillf=72.5&indoorhumidity=66&humidity=56&windspeedmph=0.0&windgustmph=0.0&winddir=307&absbaromin=29.534&baromin=29.534&rainin=0.000&dailyrainin=0.012&weeklyrainin=0.012&monthlyrainin=0.012&yearlyrainin=0.012&solarradiation=0.00&UV=0&dateutc=2020-01-30%2022:08:28&softwaretype=EasyWeatherV1.4.4&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0
                                    Host: 192.168.178.41
                                    Accept:*/*
                                    Connection: Close
                                    
                                    

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

                                      @Glasfaser Supi, danke dir für den String 🙂
                                      Die Änderungen für die 4000er hatte ich schon in die V0.1.3 eingecheckt (kamen von @unltdnetworx per Pull Request) nur fehlte mir der String, um es dann für alle Stationen zu implementieren.
                                      Dir ist aber noch ein kleiner Fehler unterlaufen, denn deine Jahresregenmenge ist kleiner als die Monatsregenmenge. Du rechnest die Inch nicht in mm um. Ändere noch in der wetterstation.sh Zeile #85 :

                                      if [ "$i" -ge "11" ] && [ "$i" -lt "16" ]; then convertInchtoMM; fi
                                      
                                      Glasfaser unltdnetworx 2 Replies Last reply Reply Quote 1
                                      • Glasfaser
                                        Glasfaser @SBorg last edited by

                                        @SBorg

                                        Jipp …. habe ich vergessen auf "16" zu ändern 😉
                                        Wurde oben korrigiert .

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

                                          Dank der Vorarbeit und des testens von @unltdnetworx und @Glasfaser steht die V0.1.3 zum testen bereit 🙂
                                          Neuerungen zur V0.1.2 ist lediglich die Unterstützung für Wetterstationen mit Jahresgesamtregenmenge.
                                          Extra dafür konfiguriert muss nichts werden, dies wird automatisch erkannt. Allerdings bleibt der neue Datenpunkt "Regen_Jahr" bei 0 stehen wenn es die Station nicht unterstützt, wen wundert das aber... 😉
                                          Dafür könnte man aber ein Blockly hernehmen, welches am Monats ersten um 0:00 Uhr (oder wann die Monatsregenmenge noch verfügbar ist) den Wert aufaddiert und in den Datenpunkt schreibt.

                                          Update:

                                          • .sh und .conf ersetzen, wetterstation.conf entsprechend konfigurieren
                                          • Javascript ersetzen und einmalig ausführen (neuer Datenpunkt "Regen_Jahr")
                                          1 Reply Last reply Reply Quote 1
                                          • unltdnetworx
                                            unltdnetworx Developer @SBorg last edited by

                                            @SBorg
                                            Witzigerweise läuft es bei mir. Hab das wirklich nur für den Request vergessen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            142
                                            5471
                                            3255546
                                            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