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.
    • 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
                    • SBorg
                      SBorg Forum Testing Most Active @unltdnetworx last edited by

                      @unltdnetworx 🙂 Mal sehen ob es auch reibungslos auf den anderen Stationen läuft. Ich habe diverse Szenarien durchgespielt, bis mir eine simple Zweizeilerlösung für alle eingefallen ist. Die Stationen gar nicht großartig unterscheiden, sondern immer von der "größten" ausgehen. Ist der "yearlyrainin" nicht vorhanden, einfach in den Datenstring mit Wert "0" einpatchen 😁

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

                        Also bei meiner W830 kommt über "yearlyrainin" nichts im ioBroker an obwohl die Station selbst eine Gesamtregenmenge anzeigen kann.
                        Was sagt denn @CiroCool dazu?

                        "Kommunikationsfehler" scheint zu funktionieren.

                        R Glasfaser SBorg 3 Replies Last reply Reply Quote 0
                        • R
                          Rushmed Most Active @Rushmed last edited by Rushmed

                          gelöscht

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

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

                            Also bei meiner W830 kommt über "yearlyrainin" nichts im ioBroker an obwohl die Station selbst eine Gesamtregenmenge anzeigen kann.

                            Stelle SBorg dein String zur Verfügung !

                            Ausgabe mit 
                            nc -lv -p 9999  ( 9999 dein Port )
                            
                            1 Reply Last reply Reply Quote 0
                            • SBorg
                              SBorg Forum Testing Most Active @Rushmed last edited by

                              @Rushmed

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

                              Stelle SBorg dein String zur Verfügung !

                              Jepp 🙂
                              Wahrscheinlich sendet die Station aber kein "yearlyrainin" und das Display addiert einfach die Monatswerte auf.
                              Dabei kam mir gleich die Idee noch einen Shell-Parameter zu ergänzen. "--data" wird zukünftig das "Rohdatenpaket" so ausgeben wie es die Station sendet. Mit "--debug" wird das ggf. gepatchte Paket ausgegeben, enthält also immer auch yearlyrainin= ob es die Wetterstation sendet oder nicht 😉

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

                              "Kommunikationsfehler" scheint zu funktionieren.

                              Weißt du zufällig durch was ausgelöst? Kommt das zu oft/zu schnell?
                              @ALL Sollte der Zähler ev. wieder runter zählen wenn ein Datenpaket iO war? Aktuell wird bei 5 aufaddierten Fehlern Alarm ausgelöst, egal über welchen Zeitraum diese auftraten.

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

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

                                Weißt du zufällig durch was ausgelöst? Kommt das zu oft/zu schnell?
                                @ALL Sollte der Zähler ev. wieder runter zählen wenn ein Datenpaket iO war? Aktuell wird bei 5 aufaddierten Fehlern Alarm ausgelöst, egal über welchen Zeitraum diese auftraten.

                                Nein, keine Ahnung. Ich sehe nur dass es am Sonntag mal einen gab und bis jetzt fehlerfrei läuft.

                                Und hier ist mein String 😂 :

                                pi@Servazamba:~ $ nc -lv -p 9999
                                Listening on [0.0.0.0] (family 2, port 9999)
                                Connection from ESP-4F2AD3.fritz.box 17361 received!
                                GET /weatherstation/updateweatherstation.php?ID=Own&PASSWORD=1234&indoortempf=68.2&tempf=38.5&dewptf=33.4&windchillf=38.5&indoorhumid                                                                                                                                           ity=55&humidity=82&windspeedmph=1.1&windgustmph=1.1&winddir=144&absbaromin=29.616&baromin=29.625&rainin=0.000&dailyrainin=0.728&weekl                                                                                                                                           yrainin=1.000&monthlyrainin=1.071&solarradiation=0.00&UV=0&dateutc=2020-02-04%2018:03:00&softwaretype=EasyWeatherV1.4.4&action=update                                                                                                                                           raw&realtime=1&rtfreq=5 HTTP/1.0
                                Host: 192.168.178.20
                                Accept:*/*
                                Connection: Close
                                
                                

                                Da sieht nichts nach Jahres- oder Gesamtregenmenge aus. Dann rechnet die Station den Wert für "total" woh selbst aus.
                                ...und ja, ich weiß dass die aktuelle Firmware 1.4.6 ist aber die wird mir immernoch nicht angeboten.

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

                                  @Rushmed Ne, deine Wetterstation sendet keine jährliche Regenmenge. Das "yearlyrainin" wäre zwischen "monthly..." + "solarradiation..."
                                  Bliebe ein Blockly, welches den Monatswert aufaddiert + in einen extra DP schreibt (nicht den der Wetterstation, der wird bei jedem übertragen ohne entsprechenden Wert genullt 😉 )

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

                                    @SBorg
                                    Okay!

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      manu96 @crunchip last edited by

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

                                      @Nashra wetterstation.txt

                                      Könntest du mir kurz einen Tipp geben wie ich die JSON nun in ein View bekomme? Ich finde bei mir unter json im VIS Editor nur die Tabelle und da kann leider kein Code eingefügt werden.

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

                                        @manu96 Dies ist kein JSON für eine VIS-View, sondern für Grafana. Da brauchst du eine InfluxDB und eben Grafana dafür. In der VIS wird dann die Grafana-Grafik mittels iFrame angezeigt.

                                        M S 2 Replies Last reply Reply Quote 0
                                        • M
                                          manu96 @SBorg last edited by

                                          @SBorg Ok das erklärt natürlich einiges 😄
                                          Werde mir dann wohl mal eine VIS-View dazu selber bauen.

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            manu96 last edited by manu96

                                            Vielen Dank @SBorg für das zur Verfügung stellen des Programmes. Hat alles auf anhieb funktioniert. Habe auch die WS3500 von Sainlogic (7 in 1) im Einsatz und bin total begeistert. Damit auch alles schick aussieht habe ich mir mal die Funktionen zusammengesucht und ne kleine View dafür gebaut. Sieht aktuell noch etwas gequetscht aus werde mich da wohl die Tage beisetzen müssen um das ganze bissel zu entzerren.

                                            2020-02-07_14h56_35.png

                                            Gruß,
                                            Manuel

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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