Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

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

NEWS

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

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

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

[Linux Shell-Skript] WLAN-Wetterstation

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

    @Eisbaeeer :grinning: 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 ;)

    EisbaeeerE Offline
    EisbaeeerE Offline
    Eisbaeeer
    Developer
    schrieb am zuletzt editiert von
    #112

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

    @Eisbaeeer :grinning: 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.

    Kein support per PM. Bitte im Forum Fragen stellen!

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      Rushmed
      Most Active
      schrieb am zuletzt editiert von
      #113

      Jaa, ich bin auch für einen Adapter!

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        gerald123
        schrieb am zuletzt editiert von
        #114

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

        Synology 918+ 4GB; ioBroker auf RPI4; Zigbee; Sonoff

        1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @Eisbaeeer :grinning: 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 ;)

          GlasfaserG Online
          GlasfaserG Online
          Glasfaser
          schrieb am zuletzt editiert von Glasfaser
          #115

          @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
          
          

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          1 Antwort Letzte Antwort
          1
          • SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #116

            @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
            

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

            GlasfaserG unltdnetworxU 2 Antworten Letzte Antwort
            1
            • SBorgS SBorg

              @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
              
              GlasfaserG Online
              GlasfaserG Online
              Glasfaser
              schrieb am zuletzt editiert von
              #117

              @SBorg

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

              Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

              1 Antwort Letzte Antwort
              0
              • SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von SBorg
                #118

                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")

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

                1 Antwort Letzte Antwort
                1
                • SBorgS SBorg

                  @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
                  
                  unltdnetworxU Offline
                  unltdnetworxU Offline
                  unltdnetworx
                  Developer
                  schrieb am zuletzt editiert von
                  #119

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

                  Gruß, Michael
                  Weitere Infos im Profil.
                  Wenn euch der Beitrag weitergeholfen hat, könnt ihr die Bewertung rechts unten im Beitrag nutzen.

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • unltdnetworxU unltdnetworx

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

                    SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #120

                    @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 :grin:

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

                    R 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @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 :grin:

                      R Offline
                      R Offline
                      Rushmed
                      Most Active
                      schrieb am zuletzt editiert von Rushmed
                      #121

                      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 GlasfaserG SBorgS 3 Antworten Letzte Antwort
                      0
                      • R 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 Offline
                        R Offline
                        Rushmed
                        Most Active
                        schrieb am zuletzt editiert von Rushmed
                        #122

                        gelöscht

                        1 Antwort Letzte Antwort
                        0
                        • R 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.

                          GlasfaserG Online
                          GlasfaserG Online
                          Glasfaser
                          schrieb am zuletzt editiert von
                          #123

                          @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 )
                          

                          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                          1 Antwort Letzte Antwort
                          0
                          • R 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.

                            SBorgS Offline
                            SBorgS Offline
                            SBorg
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #124

                            @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.

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

                            R 1 Antwort Letzte Antwort
                            0
                            • SBorgS SBorg

                              @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 Offline
                              R Offline
                              Rushmed
                              Most Active
                              schrieb am zuletzt editiert von
                              #125

                              @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 :joy: :

                              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.

                              SBorgS 1 Antwort Letzte Antwort
                              0
                              • R Rushmed

                                @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 :joy: :

                                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.

                                SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #126

                                @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 ;) )

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

                                R 1 Antwort Letzte Antwort
                                0
                                • SBorgS SBorg

                                  @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 Offline
                                  R Offline
                                  Rushmed
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #127

                                  @SBorg
                                  Okay!

                                  1 Antwort Letzte Antwort
                                  0
                                  • crunchipC crunchip

                                    @Nashra wetterstation.txt

                                    M Offline
                                    M Offline
                                    manu96
                                    schrieb am zuletzt editiert von
                                    #128

                                    @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.

                                    SBorgS 1 Antwort Letzte Antwort
                                    0
                                    • M manu96

                                      @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.

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #129

                                      @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.

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

                                      M S 2 Antworten Letzte Antwort
                                      0
                                      • SBorgS SBorg

                                        @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 Offline
                                        M Offline
                                        manu96
                                        schrieb am zuletzt editiert von
                                        #130

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          manu96
                                          schrieb am zuletzt editiert von manu96
                                          #131

                                          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 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          718

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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