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.2k

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

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

[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

    @boronsbruder
    IMO ein Bug im Simple-API (ev. soll es auch so sein) aber der kriegt von neu angelegten DPs während der Laufzeit nichts mit. Eigentlich schreibe ich es immer dazu, habe ich aber diesmal vergessen. Jaja, das Alter... 😉

    Die FT0300 werden automatisch erkannt, also kein Fehler in deiner Config. Da sie mit den neueren FW-Version des 2000er Gateways an den Bezeichnern geschraubt haben, schau mal in deinem Datenstring ob da nun eins von beiden, oder gar beides drin steht:

    temp1f=
    humidity1=
    

    Dann ist logisch warum er einen FT0300 erkennt, müsste ich dann auch noch fixen 🙃

    BoronsbruderB Offline
    BoronsbruderB Offline
    Boronsbruder
    schrieb am zuletzt editiert von
    #5300

    @sborg

    temp1f=89.24&humidity1=51
    

    Das ist der DP50

    SBorgS 1 Antwort Letzte Antwort
    0
    • BoronsbruderB Boronsbruder

      @sborg

      temp1f=89.24&humidity1=51
      

      Das ist der DP50

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

      @boronsbruder
      Danke, kommt davon wenn man einen PR auf GitHub annimmt und es mangels Hardware nicht testen kann. Der Bug existiert dann bereits seit 08. Februar 2023, ist nur keinem aufgefallen. Geht auch nur im Debug-Modus und wenn man gleichzeitig DP50/100 Sensoren hat. Birgt aber kein echtes Problem während der Runtime, nur "Schönheitsfehler" beim Debug. Soll aber trotzdem nicht sein 😉
      Tausche mal bitte in der "wetterstation.sh" so bei Zeile ~#322 den Block

           ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ###########################
            if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]]
              then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi
            if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]]
              then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
      

      mit diesem aus, dann sollte beim Debug Ruhe sein

           ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ###########################
           if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then
            if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]]
              then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi
            if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]]
              then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
           fi
           ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
      

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

      BoronsbruderB 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @boronsbruder
        Danke, kommt davon wenn man einen PR auf GitHub annimmt und es mangels Hardware nicht testen kann. Der Bug existiert dann bereits seit 08. Februar 2023, ist nur keinem aufgefallen. Geht auch nur im Debug-Modus und wenn man gleichzeitig DP50/100 Sensoren hat. Birgt aber kein echtes Problem während der Runtime, nur "Schönheitsfehler" beim Debug. Soll aber trotzdem nicht sein 😉
        Tausche mal bitte in der "wetterstation.sh" so bei Zeile ~#322 den Block

             ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ###########################
              if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]]
                then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi
              if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]]
                then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
             ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
        

        mit diesem aus, dann sollte beim Debug Ruhe sein

             ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ###########################
             if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then
              if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]]
                then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi
              if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]]
                then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi
             fi
             ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
        
        BoronsbruderB Offline
        BoronsbruderB Offline
        Boronsbruder
        schrieb am zuletzt editiert von
        #5302

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

         if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then                                                                    
        

        funktionert. Kein Gemecker mehr im Debug 😉

        SBorgS 1 Antwort Letzte Antwort
        1
        • BoronsbruderB Boronsbruder

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

           if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then                                                                    
          

          funktionert. Kein Gemecker mehr im Debug 😉

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

          @boronsbruder
          Merci, kommt dann in die nächste Version. Extra dafür eine neue Version publishen lohnt irgendwie nicht 😉

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

          R 1 Antwort Letzte Antwort
          0
          • SBorgS SBorg

            @boronsbruder
            Merci, kommt dann in die nächste Version. Extra dafür eine neue Version publishen lohnt irgendwie nicht 😉

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

            @sborg Bei mir wird seit letztem Freitag 0_userdata.0.Wetterstation.Info.Solarenergie_Tag und 0_userdata.0.Wetterstation.Info.Sonnenschein_Tag_Text nicht mehr zuverlässig zurückgesetzt.
            In der Nacht musste ich den Server mehrmals neu starten, vermutl. hat sich da etwas verschluckt.
            Ich habe 0_userdata.0.Wetterstation.Info.Solarenergie_Tag mittels 0_userdata.0.Wetterstation.tempData.Solarenergie jetzt schon dreimal repariert, damit zumindest die aktuellen Werte wieder stimmen.
            1d0e28e7-0e22-4482-b57f-b12bbb3217cf-grafik.png
            Per Updater kann ich nicht einfach drüberbügeln. Ich würde als nächstes versuchen die .sh und die .sub im Verzeichnes mit den Dateien von Github zu überschreiben. Ist es da sinnvoll vorher 0_userdata.0.Wetterstation.tempData.Solarenergie und zu leeren oder irgendwie anders vorzubereiten?

            Scriptversion 3.4

            SBorgS 1 Antwort Letzte Antwort
            0
            • R Rushmed

              @sborg Bei mir wird seit letztem Freitag 0_userdata.0.Wetterstation.Info.Solarenergie_Tag und 0_userdata.0.Wetterstation.Info.Sonnenschein_Tag_Text nicht mehr zuverlässig zurückgesetzt.
              In der Nacht musste ich den Server mehrmals neu starten, vermutl. hat sich da etwas verschluckt.
              Ich habe 0_userdata.0.Wetterstation.Info.Solarenergie_Tag mittels 0_userdata.0.Wetterstation.tempData.Solarenergie jetzt schon dreimal repariert, damit zumindest die aktuellen Werte wieder stimmen.
              1d0e28e7-0e22-4482-b57f-b12bbb3217cf-grafik.png
              Per Updater kann ich nicht einfach drüberbügeln. Ich würde als nächstes versuchen die .sh und die .sub im Verzeichnes mit den Dateien von Github zu überschreiben. Ist es da sinnvoll vorher 0_userdata.0.Wetterstation.tempData.Solarenergie und zu leeren oder irgendwie anders vorzubereiten?

              Scriptversion 3.4

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

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

              In der Nacht musste ich den Server mehrmals neu starten, vermutl. hat sich da etwas verschluckt.

              Wenn das gegen 23:58 Uhr war dann ja, da laufen die Mitternachtjobs die dafür verantwortlich sind.
              Das dürfte aber nur die Tageswerte betreffen, die summieren sich dann einfach auf (also "gestern" + "heute" steht dann bei "heute"). Mit dem nächsten Lauf um 23:58 Uhr sollte er dann die Tageswerte auf "0" setzen und die doppelten Tageswerte auf Woche, Monat und Jahr aufrechnen.

              Beim händischen Eingriff in die Routine bzw. Datenpunkte muss man allerdings folgendes wissen/beachten:
              Eingriffe in die Datenpunkte dürfen nur bei deaktiviertem Skript erfolgen!
              Grund ist folgender: die Werte liegen alle im RAM des Rechners (performanter, weniger Schreib-/Lesezugriffe im System). Kommt nun ein Datenpaket von der Station wird zum Wert im RAM der neue Wert hinzuaddiert und in "tempData" als Backup angelegt und in den entsprechenden Datenpunkt geschrieben.
              "tempData" wird hier nicht weiter benutzt, da kann man also zur Laufzeit reinschreiben was man will, mit dem nächsten Datenpaket wird das wieder überbügelt. Selbes gilt für den normalen Datenpunkt.
              "tempData" wird nur beim Start des Skriptes einmalig gelesen, damit man den letzten Stand vor Fehler, Reboot, Absturz... wieder hat, denn sonst wären auch die Wochen, Monats und Jahreswerte über die Wupper (es liegt halt alles im RAM).
              Also wenn nötig Skript stoppen, den/die Daten unter tempData editieren und Skript starten. Dann baut er darauf die weiteren Werte wieder auf.

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

              Per Updater kann ich nicht einfach drüberbügeln. Ich würde als nächstes versuchen die .sh und die .sub im Verzeichnes mit den Dateien von Github zu überschreiben. Ist es da sinnvoll vorher 0_userdata.0.Wetterstation.tempData.Solarenergie und zu leeren oder irgendwie anders vorzubereiten?

              Brauchst du eigentlich nicht versuchen, dann müsste die sh/sub schon einen Fehler haben damit das dein Problem fixt. Ich vermute dein Grund liegt wie oben geschildert, du hast zwar Werte editiert/kopiert, aber dabei das Skript laufen lassen.
              Der Updater macht im Grunde auch nichts anderes, der lädt die aktuelle Version von GitHub und kopiert die einfach über deine Installation drüber. Nur patcht er dann auch die conf auf die neue Version, damit man nicht jedesmal dort alles neu eintragen muss.
              ...und wenn du in tempData alles auf "0" setzt, fängst du wirklich wieder bei "0" an. Deine bisherigen Daten wird er dir dann mit dem nächsten Datenpaket auf "0 + aktuellem Wert der Station" ersetzen.

              Auch wenn tempData erst mal harmlos aussieht, hier liegen die aktuellen Tages-, Wochen-, Monats- und Jahreswerte. Sind die weg, steht alles auf "0". Ich habe es bereits etliche Male erwähnt und nutze die Gelegenheit hier nochmals, die Datenpunkte habt ihr ja hoffenlich per bspw. BackitUp gesichert, einfacher ist aber die drei DPs per History-Adapter zu sichern. Ich nehme hier sicherheitshalber drei Tage. Da kann man im Fall der Fälle relativ einfach an den letzten korrekten Datensatz herankommen ohne ein kpl. Backup wieder herstellen zu müssen 😉

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

              R 1 Antwort Letzte Antwort
              0
              • SBorgS SBorg

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

                In der Nacht musste ich den Server mehrmals neu starten, vermutl. hat sich da etwas verschluckt.

                Wenn das gegen 23:58 Uhr war dann ja, da laufen die Mitternachtjobs die dafür verantwortlich sind.
                Das dürfte aber nur die Tageswerte betreffen, die summieren sich dann einfach auf (also "gestern" + "heute" steht dann bei "heute"). Mit dem nächsten Lauf um 23:58 Uhr sollte er dann die Tageswerte auf "0" setzen und die doppelten Tageswerte auf Woche, Monat und Jahr aufrechnen.

                Beim händischen Eingriff in die Routine bzw. Datenpunkte muss man allerdings folgendes wissen/beachten:
                Eingriffe in die Datenpunkte dürfen nur bei deaktiviertem Skript erfolgen!
                Grund ist folgender: die Werte liegen alle im RAM des Rechners (performanter, weniger Schreib-/Lesezugriffe im System). Kommt nun ein Datenpaket von der Station wird zum Wert im RAM der neue Wert hinzuaddiert und in "tempData" als Backup angelegt und in den entsprechenden Datenpunkt geschrieben.
                "tempData" wird hier nicht weiter benutzt, da kann man also zur Laufzeit reinschreiben was man will, mit dem nächsten Datenpaket wird das wieder überbügelt. Selbes gilt für den normalen Datenpunkt.
                "tempData" wird nur beim Start des Skriptes einmalig gelesen, damit man den letzten Stand vor Fehler, Reboot, Absturz... wieder hat, denn sonst wären auch die Wochen, Monats und Jahreswerte über die Wupper (es liegt halt alles im RAM).
                Also wenn nötig Skript stoppen, den/die Daten unter tempData editieren und Skript starten. Dann baut er darauf die weiteren Werte wieder auf.

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

                Per Updater kann ich nicht einfach drüberbügeln. Ich würde als nächstes versuchen die .sh und die .sub im Verzeichnes mit den Dateien von Github zu überschreiben. Ist es da sinnvoll vorher 0_userdata.0.Wetterstation.tempData.Solarenergie und zu leeren oder irgendwie anders vorzubereiten?

                Brauchst du eigentlich nicht versuchen, dann müsste die sh/sub schon einen Fehler haben damit das dein Problem fixt. Ich vermute dein Grund liegt wie oben geschildert, du hast zwar Werte editiert/kopiert, aber dabei das Skript laufen lassen.
                Der Updater macht im Grunde auch nichts anderes, der lädt die aktuelle Version von GitHub und kopiert die einfach über deine Installation drüber. Nur patcht er dann auch die conf auf die neue Version, damit man nicht jedesmal dort alles neu eintragen muss.
                ...und wenn du in tempData alles auf "0" setzt, fängst du wirklich wieder bei "0" an. Deine bisherigen Daten wird er dir dann mit dem nächsten Datenpaket auf "0 + aktuellem Wert der Station" ersetzen.

                Auch wenn tempData erst mal harmlos aussieht, hier liegen die aktuellen Tages-, Wochen-, Monats- und Jahreswerte. Sind die weg, steht alles auf "0". Ich habe es bereits etliche Male erwähnt und nutze die Gelegenheit hier nochmals, die Datenpunkte habt ihr ja hoffenlich per bspw. BackitUp gesichert, einfacher ist aber die drei DPs per History-Adapter zu sichern. Ich nehme hier sicherheitshalber drei Tage. Da kann man im Fall der Fälle relativ einfach an den letzten korrekten Datensatz herankommen ohne ein kpl. Backup wieder herstellen zu müssen 😉

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

                @sborg Puh, danke für die ausfühliche Beschreibung ich beobacht das mal weiter.

                1 Antwort Letzte Antwort
                0
                • BoronsbruderB Offline
                  BoronsbruderB Offline
                  Boronsbruder
                  schrieb am zuletzt editiert von
                  #5307

                  @SBorg
                  Ich han da mol a Frach:
                  Bei mir ist vorhin die Internetverbindung zusammengebrochen.
                  Ab diesem Zeitpunkt wurden keine Daten mehr im Iobroker geschrieben. Die Wetterstation ist aber über LAN erreichbar.
                  Es scheint so, dass irgendwas im Skript verhindert, dass der nächste Datensatz geschrieben werden kann, weil ein Timeout fehlt.
                  Kann das sein, dass daran die Verbindung (oder besser nicht-Verbindung) zu AWEKAS schuld ist?
                  Ich hab nämlich mal die Internetverbindung getrennt und folgendes im Debug-Log gefunden und musste den eigentlich einmaligen Durchlauf dann terminieren:

                  --2024-09-05 20:50:40--  https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=ITSME&PASSWORD=1234&dateutc=2024-09-05+18:48:28&tempf=70.16&humidity=81&winddir=194&uv=0&windspeedmph=0.67&absbaromin=28.186&baromin=29.811&solarradiation=0.00&windgustmph=2.24&dailyrainin=0.008&indoortempf=81.86&indoorhumidity=56&softwaretype=IOWS
                  Auflösen des Hostnamens ws.awekas.at (ws.awekas.at)… 195.189.4.166
                  Verbindungsaufbau zu ws.awekas.at (ws.awekas.at)|195.189.4.166|:443 … fehlgeschlagen: Die Wartezeit für die Verbindung ist abgelaufen.
                  Erneuter Versuch.
                  
                  --2024-09-05 20:52:52--  (Versuch: 2)  https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=ITSME&PASSWORD=1234&dateutc=2024-09-05+18:48:28&tempf=70.16&humidity=81&winddir=194&uv=0&windspeedmph=0.67&absbaromin=28.186&baromin=29.811&solarradiation=0.00&windgustmph=2.24&dailyrainin=0.008&indoortempf=81.86&indoorhumidity=56&softwaretype=IOWS
                  Verbindungsaufbau zu ws.awekas.at (ws.awekas.at)|195.189.4.166|:443 … ^C
                  

                  Zwischen den Versuchen liegen schon mal 2 Minuten...

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • BoronsbruderB Boronsbruder

                    @SBorg
                    Ich han da mol a Frach:
                    Bei mir ist vorhin die Internetverbindung zusammengebrochen.
                    Ab diesem Zeitpunkt wurden keine Daten mehr im Iobroker geschrieben. Die Wetterstation ist aber über LAN erreichbar.
                    Es scheint so, dass irgendwas im Skript verhindert, dass der nächste Datensatz geschrieben werden kann, weil ein Timeout fehlt.
                    Kann das sein, dass daran die Verbindung (oder besser nicht-Verbindung) zu AWEKAS schuld ist?
                    Ich hab nämlich mal die Internetverbindung getrennt und folgendes im Debug-Log gefunden und musste den eigentlich einmaligen Durchlauf dann terminieren:

                    --2024-09-05 20:50:40--  https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=ITSME&PASSWORD=1234&dateutc=2024-09-05+18:48:28&tempf=70.16&humidity=81&winddir=194&uv=0&windspeedmph=0.67&absbaromin=28.186&baromin=29.811&solarradiation=0.00&windgustmph=2.24&dailyrainin=0.008&indoortempf=81.86&indoorhumidity=56&softwaretype=IOWS
                    Auflösen des Hostnamens ws.awekas.at (ws.awekas.at)… 195.189.4.166
                    Verbindungsaufbau zu ws.awekas.at (ws.awekas.at)|195.189.4.166|:443 … fehlgeschlagen: Die Wartezeit für die Verbindung ist abgelaufen.
                    Erneuter Versuch.
                    
                    --2024-09-05 20:52:52--  (Versuch: 2)  https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=ITSME&PASSWORD=1234&dateutc=2024-09-05+18:48:28&tempf=70.16&humidity=81&winddir=194&uv=0&windspeedmph=0.67&absbaromin=28.186&baromin=29.811&solarradiation=0.00&windgustmph=2.24&dailyrainin=0.008&indoortempf=81.86&indoorhumidity=56&softwaretype=IOWS
                    Verbindungsaufbau zu ws.awekas.at (ws.awekas.at)|195.189.4.166|:443 … ^C
                    

                    Zwischen den Versuchen liegen schon mal 2 Minuten...

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

                    @boronsbruder
                    "wget" hat einen Default-Timeout von 900 Sekunden. Solange wird er also versuchen sein Datenpaket loszuwerden.
                    Zeile ~#2012 in der sub

                    local MESSAGE=$(wget -qO- "${AWEKAS_URL}")
                    

                    ändern in

                    local MESSAGE=$(wget -qO- --timeout=15 "${AWEKAS_URL}")
                    

                    sollte das fixen. Wenn er in 15 Sekunden das Datenpaket nicht los wird, stimmt extern irgendwas nicht. Er ist aber wieder ready ein Datenpaket von der Station zu empfangen.

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

                    BoronsbruderB 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @boronsbruder
                      "wget" hat einen Default-Timeout von 900 Sekunden. Solange wird er also versuchen sein Datenpaket loszuwerden.
                      Zeile ~#2012 in der sub

                      local MESSAGE=$(wget -qO- "${AWEKAS_URL}")
                      

                      ändern in

                      local MESSAGE=$(wget -qO- --timeout=15 "${AWEKAS_URL}")
                      

                      sollte das fixen. Wenn er in 15 Sekunden das Datenpaket nicht los wird, stimmt extern irgendwas nicht. Er ist aber wieder ready ein Datenpaket von der Station zu empfangen.

                      BoronsbruderB Offline
                      BoronsbruderB Offline
                      Boronsbruder
                      schrieb am zuletzt editiert von Boronsbruder
                      #5309

                      @sborg
                      Ich werde das mal testen
                      Mir ist aber gerade aufgefallen, dass im Wetterstations-Log weit über 15 Minuten keine Daten kamen:

                      PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4281915&heap=147048&dateutc=2024-09-05+17:39:14&tempinf=81.32&humidityin=56&baromrelin=29.784&baromabsin=28.160&tempf=74.12&humidity=77&winddir=234&windspeedmph=0.67&windgustmph=2.24&maxdailygust=8.05&solarradiation=1.72&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=75.38&humidity1=76&soilmoisture1=50&soilad1=258&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.3&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30
                      
                      PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4284692&heap=150960&dateutc=2024-09-05+18:25:31&tempinf=81.50&humidityin=57&baromrelin=29.805&baromabsin=28.180&tempf=71.42&humidity=82&winddir=173&windspeedmph=2.01&windgustmph=4.47&maxdailygust=8.05&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=73.04&humidity1=80&soilmoisture1=50&soilad1=257&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.4&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30
                      

                      dateutc=2024-09-05+17:39:14 bis dateutc=2024-09-05+18:25:31

                      Wann wird das Log geschrieben?

                      Nicht dass das Gateway keine Daten gesendet hat, weil es keine Verbindung zum Internet hatte?

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • BoronsbruderB Boronsbruder

                        @sborg
                        Ich werde das mal testen
                        Mir ist aber gerade aufgefallen, dass im Wetterstations-Log weit über 15 Minuten keine Daten kamen:

                        PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4281915&heap=147048&dateutc=2024-09-05+17:39:14&tempinf=81.32&humidityin=56&baromrelin=29.784&baromabsin=28.160&tempf=74.12&humidity=77&winddir=234&windspeedmph=0.67&windgustmph=2.24&maxdailygust=8.05&solarradiation=1.72&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=75.38&humidity1=76&soilmoisture1=50&soilad1=258&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.3&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30
                        
                        PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4284692&heap=150960&dateutc=2024-09-05+18:25:31&tempinf=81.50&humidityin=57&baromrelin=29.805&baromabsin=28.180&tempf=71.42&humidity=82&winddir=173&windspeedmph=2.01&windgustmph=4.47&maxdailygust=8.05&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=73.04&humidity1=80&soilmoisture1=50&soilad1=257&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.4&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30
                        

                        dateutc=2024-09-05+17:39:14 bis dateutc=2024-09-05+18:25:31

                        Wann wird das Log geschrieben?

                        Nicht dass das Gateway keine Daten gesendet hat, weil es keine Verbindung zum Internet hatte?

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

                        @boronsbruder
                        Hmm, Gateway bin ich außen vor, allerdings hatte ich auch schon öfters ein abgestürtzes Internet. Da kamen nach Wiederherstellung ziemlich zügig wieder Daten an.

                        Zumindest fast 45 Minuten kommt IMO nicht vom Skript, muss ich mir aber noch mal anschauen.
                        Das Ganze ist eine Endlosschleife:

                        • warte auf ein Datenpaket
                        • verarbeite dies in zig Schritten
                        • mach den Beikram wie Min/Max etc.
                        • führe bei Bedarf 5,6 oder 15 Minutenjobs aus
                        • Mitternacht? --> Mitternachtjobs
                        • sende die Daten an die aktivierten Dienste
                        • und zum Schluß bevor wir einen neuen Durchlauf starten schreibe die Logzeile

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

                        BoronsbruderB 2 Antworten Letzte Antwort
                        1
                        • SBorgS SBorg

                          @boronsbruder
                          Hmm, Gateway bin ich außen vor, allerdings hatte ich auch schon öfters ein abgestürtzes Internet. Da kamen nach Wiederherstellung ziemlich zügig wieder Daten an.

                          Zumindest fast 45 Minuten kommt IMO nicht vom Skript, muss ich mir aber noch mal anschauen.
                          Das Ganze ist eine Endlosschleife:

                          • warte auf ein Datenpaket
                          • verarbeite dies in zig Schritten
                          • mach den Beikram wie Min/Max etc.
                          • führe bei Bedarf 5,6 oder 15 Minutenjobs aus
                          • Mitternacht? --> Mitternachtjobs
                          • sende die Daten an die aktivierten Dienste
                          • und zum Schluß bevor wir einen neuen Durchlauf starten schreibe die Logzeile
                          BoronsbruderB Offline
                          BoronsbruderB Offline
                          Boronsbruder
                          schrieb am zuletzt editiert von
                          #5311

                          @sborg
                          Ahh, dann kann es sein, da er laut dem Log ja einen 2. Versuch bei Awekas unternommen hat.
                          Bei den Wiederholungsversuchen ist das Default übrigens 20.
                          Kann mit --tries=number geändert werden.

                          Da ich Internet über LTE habe und es die Fritte nicht geschafft hat eine Neuverbindung aufzubauen, war das Internet ne gute 3/4 Stunde weg, bis ich sie manuell wiederverbunden habe --- was zu den Log Daten passen würde.

                          1 Antwort Letzte Antwort
                          0
                          • SBorgS SBorg

                            @boronsbruder
                            Hmm, Gateway bin ich außen vor, allerdings hatte ich auch schon öfters ein abgestürtzes Internet. Da kamen nach Wiederherstellung ziemlich zügig wieder Daten an.

                            Zumindest fast 45 Minuten kommt IMO nicht vom Skript, muss ich mir aber noch mal anschauen.
                            Das Ganze ist eine Endlosschleife:

                            • warte auf ein Datenpaket
                            • verarbeite dies in zig Schritten
                            • mach den Beikram wie Min/Max etc.
                            • führe bei Bedarf 5,6 oder 15 Minutenjobs aus
                            • Mitternacht? --> Mitternachtjobs
                            • sende die Daten an die aktivierten Dienste
                            • und zum Schluß bevor wir einen neuen Durchlauf starten schreibe die Logzeile
                            BoronsbruderB Offline
                            BoronsbruderB Offline
                            Boronsbruder
                            schrieb am zuletzt editiert von Boronsbruder
                            #5312

                            @sborg
                            Also...
                            Mit folgender Änderung

                            local MESSAGE=$(wget -qO- --tries=1 --timeout=15 "${AWEKAS_URL}")
                            

                            werden die von der Wetterstation kommenden Daten intern (im LAN) weiter verarbeitet und an den Iobroker gesendet, wenn die Verbindung ins Web abreisst.

                            Ohne bleibt das Skript in der 20x 900 Sekunden Schleife stehen und wird (vermutlich) erst dann wieder Daten an den Iobroker weiterleiten.

                            Grüße
                            Markus

                            SBorgS 1 Antwort Letzte Antwort
                            0
                            • BoronsbruderB Boronsbruder

                              @sborg
                              Also...
                              Mit folgender Änderung

                              local MESSAGE=$(wget -qO- --tries=1 --timeout=15 "${AWEKAS_URL}")
                              

                              werden die von der Wetterstation kommenden Daten intern (im LAN) weiter verarbeitet und an den Iobroker gesendet, wenn die Verbindung ins Web abreisst.

                              Ohne bleibt das Skript in der 20x 900 Sekunden Schleife stehen und wird (vermutlich) erst dann wieder Daten an den Iobroker weiterleiten.

                              Grüße
                              Markus

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

                              @boronsbruder
                              Ich weiß aktuell nicht mehr ob das bei Awekas einen richtigen Grund hat mittels "wget" zu kommunizieren. Die "Anderen" Dienste laufen mittels "curl" und haben einen Timeout von 10 Sekunden 😉

                              Danke auf jeden Fall fürs testen, die Änderung nehme ich für die nächste Version mit auf.

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

                              W 1 Antwort Letzte Antwort
                              0
                              • BoronsbruderB Offline
                                BoronsbruderB Offline
                                Boronsbruder
                                schrieb am zuletzt editiert von
                                #5314

                                Das sind die besten Tage, sonnig bei geschlossener Wolkendecke und Regen 🤣
                                a764ee3c-066f-40cc-8f30-6019cfb52203-grafik.png

                                1 Antwort Letzte Antwort
                                0
                                • SBorgS SBorg

                                  @boronsbruder
                                  Ich weiß aktuell nicht mehr ob das bei Awekas einen richtigen Grund hat mittels "wget" zu kommunizieren. Die "Anderen" Dienste laufen mittels "curl" und haben einen Timeout von 10 Sekunden 😉

                                  Danke auf jeden Fall fürs testen, die Änderung nehme ich für die nächste Version mit auf.

                                  W Offline
                                  W Offline
                                  WernerS
                                  schrieb am zuletzt editiert von
                                  #5315

                                  @SBorg

                                  Hallo

                                  Also bei mir funktioniert das Sript mit HP1000SE super. Nur ist mir aufgefallen das beim Regen die Daten zweimal kurz hintereinander geschrieben werden. Ist schlecht für eine Auswertung.

                                  Gruß
                                  Werner

                                  SBorgS 1 Antwort Letzte Antwort
                                  0
                                  • W WernerS

                                    @SBorg

                                    Hallo

                                    Also bei mir funktioniert das Sript mit HP1000SE super. Nur ist mir aufgefallen das beim Regen die Daten zweimal kurz hintereinander geschrieben werden. Ist schlecht für eine Auswertung.

                                    Gruß
                                    Werner

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

                                    @werners
                                    Immer oder auch nur wenn es tatsächlich regnet? Andere Werte sind nicht betroffen?
                                    Auch wenn du es wahrscheinlich nicht lesen magst, sieht aber nach einem lokalen Problemchen (oder der Station) bei dir aus.
                                    Das Skript macht zuerst von alleine nichts, es führt also keine Aktion zwischenzeitlich aus wie bspw. Werte schreiben.
                                    Es benötigt immer einen Trigger/Auslöser. Dies ist dann ein Datenpaket von der Station. Erst dann wird die Routine durchlaufen. Läuft bspw. gegen Mitternacht die Station nicht (=sendet keinerlei Datenpakete), wird auch nichts zurückgestellt (es fehlt dafür der Auslöser "empfangenes Datenpaket") und zB. der Solarwert wird nicht zurückgestellt.
                                    Wenn er also bei dir kurz hintereinander den Regen 2x schreibt, muss auch 2x kurz hintereinander ein Datenpaket eingetrudelt sein (dann schreibt er aber auch fast alle anderen Werte).
                                    Du kannst mal testweise das "Logging" per "conf" (nicht Debug) aktivieren (sudo systemctl restart wetterstation zum aktivieren nicht vergessen). Dann schreibt er jedes empfangene Datenpaket in die Logdatei. Ev. sieht man dann schon am Zeitstempel ob er tatsächlich kurz hintereinander zwei Datenpakete sendet. Dies könnte ich dann notfalls ausfiltern 😉

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

                                    W 2 Antworten Letzte Antwort
                                    0
                                    • SBorgS SBorg

                                      @werners
                                      Immer oder auch nur wenn es tatsächlich regnet? Andere Werte sind nicht betroffen?
                                      Auch wenn du es wahrscheinlich nicht lesen magst, sieht aber nach einem lokalen Problemchen (oder der Station) bei dir aus.
                                      Das Skript macht zuerst von alleine nichts, es führt also keine Aktion zwischenzeitlich aus wie bspw. Werte schreiben.
                                      Es benötigt immer einen Trigger/Auslöser. Dies ist dann ein Datenpaket von der Station. Erst dann wird die Routine durchlaufen. Läuft bspw. gegen Mitternacht die Station nicht (=sendet keinerlei Datenpakete), wird auch nichts zurückgestellt (es fehlt dafür der Auslöser "empfangenes Datenpaket") und zB. der Solarwert wird nicht zurückgestellt.
                                      Wenn er also bei dir kurz hintereinander den Regen 2x schreibt, muss auch 2x kurz hintereinander ein Datenpaket eingetrudelt sein (dann schreibt er aber auch fast alle anderen Werte).
                                      Du kannst mal testweise das "Logging" per "conf" (nicht Debug) aktivieren (sudo systemctl restart wetterstation zum aktivieren nicht vergessen). Dann schreibt er jedes empfangene Datenpaket in die Logdatei. Ev. sieht man dann schon am Zeitstempel ob er tatsächlich kurz hintereinander zwei Datenpakete sendet. Dies könnte ich dann notfalls ausfiltern 😉

                                      W Offline
                                      W Offline
                                      WernerS
                                      schrieb am zuletzt editiert von
                                      #5317

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

                                      sudo systemctl restart wetterstation

                                      ok habe ich gemacht. Jetzt muss ich nur noch auf den nächsten Regen warten dann schicke ich dir hier die logs.
                                      Ich gehe davon aus das in den logs keine vertrauliche Daten gespeihert werden.

                                      Gruß
                                      Werner

                                      1 Antwort Letzte Antwort
                                      0
                                      • SBorgS SBorg

                                        @werners
                                        Immer oder auch nur wenn es tatsächlich regnet? Andere Werte sind nicht betroffen?
                                        Auch wenn du es wahrscheinlich nicht lesen magst, sieht aber nach einem lokalen Problemchen (oder der Station) bei dir aus.
                                        Das Skript macht zuerst von alleine nichts, es führt also keine Aktion zwischenzeitlich aus wie bspw. Werte schreiben.
                                        Es benötigt immer einen Trigger/Auslöser. Dies ist dann ein Datenpaket von der Station. Erst dann wird die Routine durchlaufen. Läuft bspw. gegen Mitternacht die Station nicht (=sendet keinerlei Datenpakete), wird auch nichts zurückgestellt (es fehlt dafür der Auslöser "empfangenes Datenpaket") und zB. der Solarwert wird nicht zurückgestellt.
                                        Wenn er also bei dir kurz hintereinander den Regen 2x schreibt, muss auch 2x kurz hintereinander ein Datenpaket eingetrudelt sein (dann schreibt er aber auch fast alle anderen Werte).
                                        Du kannst mal testweise das "Logging" per "conf" (nicht Debug) aktivieren (sudo systemctl restart wetterstation zum aktivieren nicht vergessen). Dann schreibt er jedes empfangene Datenpaket in die Logdatei. Ev. sieht man dann schon am Zeitstempel ob er tatsächlich kurz hintereinander zwei Datenpakete sendet. Dies könnte ich dann notfalls ausfiltern 😉

                                        W Offline
                                        W Offline
                                        WernerS
                                        schrieb am zuletzt editiert von
                                        #5318

                                        @sborg

                                        So es hat gestern geregnet. Hier die logs

                                        Gruß
                                        Werner

                                        20240927_station.log 20240926_station.log

                                        SBorgS 1 Antwort Letzte Antwort
                                        0
                                        • W WernerS

                                          @sborg

                                          So es hat gestern geregnet. Hier die logs

                                          Gruß
                                          Werner

                                          20240927_station.log 20240926_station.log

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

                                          @werners
                                          Sorry, dauert bei mir aktuell "etwas"...

                                          Sieht soweit gut aus. Ich frage mal scheinheilig, mit "kurz hintereinander" meinst du aber nicht ca. 16 Sekunden? Das wäre so aktuell korrekt, denn deine Station sendet ca. alle 16 Sekunden ein Datenpakt. Darauf würde das Skript reagieren und alle 16 Sekunden ein Datenpaket an den ioB absetzen.
                                          Falls schneller: wie stellst du es fest? Per logging InfluxDB? Wie kurz ist es dann lt. InfluxDB?

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

                                          W SBorgS 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          758

                                          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