Skip to content
  • 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
  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.
  • NashraN Offline
    NashraN Offline
    Nashra
    Most Active Forum Testing
    schrieb am zuletzt editiert von
    #4311

    @viper4iob Danke funktioniert 👍

    Gruß Ralf
    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    V 1 Antwort Letzte Antwort
    0
    • NashraN Nashra

      @viper4iob Danke funktioniert 👍

      V Offline
      V Offline
      viper4iob
      schrieb am zuletzt editiert von viper4iob
      #4312

      Ich bin da eventuell über noch einen kleinen Fehler gestolpert, und zwar geht es um die Wetterwarnung Tau/Nebel und Reif.
      Diese passieren doch nur, wenn der Taupunkt über der Außentemperatur liegt, oder?
      Ich habe mich nämlich gewundert, warum bei mir aktuell ständig Reif bei Wetterwarnung angezeigt wird, obwohl der Taupunkt unter der Außentemperatur liegt.

      Laut wetterstation.sub geht es in die if Anweisung rein, wenn MESSWERTE[2] kleiner als MESSWERTE[1] ist:

      #Tau/Nebel und Reif
           if [ 1 -eq "$(echo "${MESSWERTE[2]} < ${MESSWERTE[1]}" | bc -l)" ]; then
            if (( $(bc -l <<< "${MESSWERTE[5]} >= 99") )); then WARNUNG="Tau/Nebel"; fi
            if (( $(bc -l <<< "${MESSWERTE[1]} <= 0.5") )); then WARNUNG="Reif"; fi
           fi
      

      MESSWERTE[2] = Taupunkt
      MESSWERTE[1] = Außentemperatur

      D.h. es geht in die if-Anweisung, wenn der Taupunkt kleiner ist als die Außentemperatur.
      Es müsste doch aber genau anders herum sein, also:
      ${MESSWERTE[1]} < ${MESSWERTE[2]}
      Oder habe ich irgendeinen Denkfehler?

      BoronsbruderB LatziL 2 Antworten Letzte Antwort
      0
      • V viper4iob

        Ich bin da eventuell über noch einen kleinen Fehler gestolpert, und zwar geht es um die Wetterwarnung Tau/Nebel und Reif.
        Diese passieren doch nur, wenn der Taupunkt über der Außentemperatur liegt, oder?
        Ich habe mich nämlich gewundert, warum bei mir aktuell ständig Reif bei Wetterwarnung angezeigt wird, obwohl der Taupunkt unter der Außentemperatur liegt.

        Laut wetterstation.sub geht es in die if Anweisung rein, wenn MESSWERTE[2] kleiner als MESSWERTE[1] ist:

        #Tau/Nebel und Reif
             if [ 1 -eq "$(echo "${MESSWERTE[2]} < ${MESSWERTE[1]}" | bc -l)" ]; then
              if (( $(bc -l <<< "${MESSWERTE[5]} >= 99") )); then WARNUNG="Tau/Nebel"; fi
              if (( $(bc -l <<< "${MESSWERTE[1]} <= 0.5") )); then WARNUNG="Reif"; fi
             fi
        

        MESSWERTE[2] = Taupunkt
        MESSWERTE[1] = Außentemperatur

        D.h. es geht in die if-Anweisung, wenn der Taupunkt kleiner ist als die Außentemperatur.
        Es müsste doch aber genau anders herum sein, also:
        ${MESSWERTE[1]} < ${MESSWERTE[2]}
        Oder habe ich irgendeinen Denkfehler?

        BoronsbruderB Online
        BoronsbruderB Online
        Boronsbruder
        schrieb am zuletzt editiert von
        #4313

        @viper4iob

        Der Taupunkt ist die Temperatur an dem die Luft, keine Feuchtigkeit mehr halten kann (banal erklärt).
        Dann passt es doch, oder?
        Wenn der Taupunkt niedriger als die aktuelle Temperatur liegt, fällt die Luftfeuchtigkeit als Nebel oder bei Frost als Reif aus.

        Dies gibt nur die Faktenlage im Kopf des Autors wieder 🤣

        V 1 Antwort Letzte Antwort
        0
        • BoronsbruderB Boronsbruder

          @viper4iob

          Der Taupunkt ist die Temperatur an dem die Luft, keine Feuchtigkeit mehr halten kann (banal erklärt).
          Dann passt es doch, oder?
          Wenn der Taupunkt niedriger als die aktuelle Temperatur liegt, fällt die Luftfeuchtigkeit als Nebel oder bei Frost als Reif aus.

          Dies gibt nur die Faktenlage im Kopf des Autors wieder 🤣

          V Offline
          V Offline
          viper4iob
          schrieb am zuletzt editiert von viper4iob
          #4314

          @boronsbruder
          Ich habe jetzt nochmal im Internet mehrere Seiten gecheckt, wie z.B.
          https://weather.com/de-DE/wissen/wetterlexikon/news/taupunkt-so-entstehen-nebel-reif-und-wolken
          Da steht:
          "Im Herbst und Winter wallen die Nebel. Der Grund dafür ist, dass die Temperatur in der kalten Jahreszeit häufig unter den Taupunkt sinkt. Wird der Taupunkt – Meteorologen sprechen auch von der Taupunkttemperatur – erreicht, kann sich Wasserdampf als Tau oder Nebel aus feuchter Luft abscheiden, dabei bildet er Tröpfchen in der Luft. Bei tieferen Temperaturen gefrieren die Tröpfchen sofort, es entstehen Eisablagerungen, sogenannter Reif."

          Die Außentemperatur (MESSWERTE[1]) muss den Taupunkt (MESSWERTE[2]) quasi fallend erreichen oder eben darunter sinken, also Außentemperatur < Taupunkt.
          Das wäre dann eben genau:
          ${MESSWERTE[1]} < ${MESSWERTE[2]}
          Aktuell steht im Skript aber:
          ${MESSWERTE[2]} < ${MESSWERTE[1]}

          BoronsbruderB 1 Antwort Letzte Antwort
          0
          • V viper4iob

            @boronsbruder
            Ich habe jetzt nochmal im Internet mehrere Seiten gecheckt, wie z.B.
            https://weather.com/de-DE/wissen/wetterlexikon/news/taupunkt-so-entstehen-nebel-reif-und-wolken
            Da steht:
            "Im Herbst und Winter wallen die Nebel. Der Grund dafür ist, dass die Temperatur in der kalten Jahreszeit häufig unter den Taupunkt sinkt. Wird der Taupunkt – Meteorologen sprechen auch von der Taupunkttemperatur – erreicht, kann sich Wasserdampf als Tau oder Nebel aus feuchter Luft abscheiden, dabei bildet er Tröpfchen in der Luft. Bei tieferen Temperaturen gefrieren die Tröpfchen sofort, es entstehen Eisablagerungen, sogenannter Reif."

            Die Außentemperatur (MESSWERTE[1]) muss den Taupunkt (MESSWERTE[2]) quasi fallend erreichen oder eben darunter sinken, also Außentemperatur < Taupunkt.
            Das wäre dann eben genau:
            ${MESSWERTE[1]} < ${MESSWERTE[2]}
            Aktuell steht im Skript aber:
            ${MESSWERTE[2]} < ${MESSWERTE[1]}

            BoronsbruderB Online
            BoronsbruderB Online
            Boronsbruder
            schrieb am zuletzt editiert von Boronsbruder
            #4315

            @viper4iob
            Natürlich...
            Ich hab es wieder mal verdreht...

            1 Antwort Letzte Antwort
            0
            • V viper4iob

              Ich bin da eventuell über noch einen kleinen Fehler gestolpert, und zwar geht es um die Wetterwarnung Tau/Nebel und Reif.
              Diese passieren doch nur, wenn der Taupunkt über der Außentemperatur liegt, oder?
              Ich habe mich nämlich gewundert, warum bei mir aktuell ständig Reif bei Wetterwarnung angezeigt wird, obwohl der Taupunkt unter der Außentemperatur liegt.

              Laut wetterstation.sub geht es in die if Anweisung rein, wenn MESSWERTE[2] kleiner als MESSWERTE[1] ist:

              #Tau/Nebel und Reif
                   if [ 1 -eq "$(echo "${MESSWERTE[2]} < ${MESSWERTE[1]}" | bc -l)" ]; then
                    if (( $(bc -l <<< "${MESSWERTE[5]} >= 99") )); then WARNUNG="Tau/Nebel"; fi
                    if (( $(bc -l <<< "${MESSWERTE[1]} <= 0.5") )); then WARNUNG="Reif"; fi
                   fi
              

              MESSWERTE[2] = Taupunkt
              MESSWERTE[1] = Außentemperatur

              D.h. es geht in die if-Anweisung, wenn der Taupunkt kleiner ist als die Außentemperatur.
              Es müsste doch aber genau anders herum sein, also:
              ${MESSWERTE[1]} < ${MESSWERTE[2]}
              Oder habe ich irgendeinen Denkfehler?

              LatziL Online
              LatziL Online
              Latzi
              schrieb am zuletzt editiert von
              #4316

              @viper4iob
              erstellst du bitte ein issue auf github damit @SBorg es im Auge behält (er war schon einige Zeit nicht mehr im Forum 😞 ). Für die Wolkenbasis hab ich´s schon gemacht.

              V 1 Antwort Letzte Antwort
              0
              • LatziL Latzi

                @viper4iob
                erstellst du bitte ein issue auf github damit @SBorg es im Auge behält (er war schon einige Zeit nicht mehr im Forum 😞 ). Für die Wolkenbasis hab ich´s schon gemacht.

                V Offline
                V Offline
                viper4iob
                schrieb am zuletzt editiert von viper4iob
                #4317

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

                @viper4iob
                erstellst du bitte ein issue auf github damit @SBorg es im Auge behält (er war schon einige Zeit nicht mehr im Forum 😞 ). Für die Wolkenbasis hab ich´s schon gemacht.

                Erledigt und @SBorg hat auch reagiert:
                https://github.com/SBorg2014/WLAN-Wetterstation/issues/47

                1 Antwort Letzte Antwort
                1
                • V viper4iob

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

                  @sborg
                  Es sieht jetzt besser aus, ich denke es passt jetzt. Danke fürs schnelle fixen.

                  Nebenbei bemerkt: ich habe eine Froggit HP1000SE Pro.
                  Zum Thema welche Wetterstation die 10 min Werte direkt sendet.

                  @SBorg
                  Es scheint da doch noch ein kleines Problem zu geben.
                  Meine Wetterstation sendet ja die 10min Durchschnittswerte von Windstärke und -richtung direkt, d.h. das Skript braucht die nicht mehr berechnen.
                  Ich habe in der config USE_AVG_WIND=true stehen, mir ist aber aufgefallen, dass auf openSenseMap weiterhin die aktuellen Werte und nicht die Durchschnittswerte angezeigt werden.
                  Ist das vielleicht ein ähnliches Problem wie mit den Durchschnitts-DPs, als die nur mit den berechneten Werten gefüttert wurden, und wenn es keinen berechneten Wert gab, dann der normale Wert benutzt wurde, anstatt den 10 min Werten, die direkt von der Wetterstation kamen.

                  V Offline
                  V Offline
                  viper4iob
                  schrieb am zuletzt editiert von viper4iob
                  #4318

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

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

                  @sborg
                  Es sieht jetzt besser aus, ich denke es passt jetzt. Danke fürs schnelle fixen.

                  Nebenbei bemerkt: ich habe eine Froggit HP1000SE Pro.
                  Zum Thema welche Wetterstation die 10 min Werte direkt sendet.

                  @SBorg
                  Es scheint da doch noch ein kleines Problem zu geben.
                  Meine Wetterstation sendet ja die 10min Durchschnittswerte von Windstärke und -richtung direkt, d.h. das Skript braucht die nicht mehr berechnen.
                  Ich habe in der config USE_AVG_WIND=true stehen, mir ist aber aufgefallen, dass auf openSenseMap weiterhin die aktuellen Werte und nicht die Durchschnittswerte angezeigt werden.
                  Ist das vielleicht ein ähnliches Problem wie mit den Durchschnitts-DPs, als die nur mit den berechneten Werten gefüttert wurden, und wenn es keinen berechneten Wert gab, dann der normale Wert benutzt wurde, anstatt den 10 min Werten, die direkt von der Wetterstation kamen.

                  Das Thema habe ich jetzt auch mal genauer angeschaut und auch ein Issue dazu geöffnet:
                  https://github.com/SBorg2014/WLAN-Wetterstation/issues/48
                  Ich habe dort weiterhin einen Code-Block hinterlegt, wie ich es jetzt umgebaut habe. So funktioniert es bei mir aktuell.
                  Falls es jemand dringend brauchen sollte, kann er das von dort übernehmen bis es eine neue Version gibt.

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • V viper4iob

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

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

                    @sborg
                    Es sieht jetzt besser aus, ich denke es passt jetzt. Danke fürs schnelle fixen.

                    Nebenbei bemerkt: ich habe eine Froggit HP1000SE Pro.
                    Zum Thema welche Wetterstation die 10 min Werte direkt sendet.

                    @SBorg
                    Es scheint da doch noch ein kleines Problem zu geben.
                    Meine Wetterstation sendet ja die 10min Durchschnittswerte von Windstärke und -richtung direkt, d.h. das Skript braucht die nicht mehr berechnen.
                    Ich habe in der config USE_AVG_WIND=true stehen, mir ist aber aufgefallen, dass auf openSenseMap weiterhin die aktuellen Werte und nicht die Durchschnittswerte angezeigt werden.
                    Ist das vielleicht ein ähnliches Problem wie mit den Durchschnitts-DPs, als die nur mit den berechneten Werten gefüttert wurden, und wenn es keinen berechneten Wert gab, dann der normale Wert benutzt wurde, anstatt den 10 min Werten, die direkt von der Wetterstation kamen.

                    Das Thema habe ich jetzt auch mal genauer angeschaut und auch ein Issue dazu geöffnet:
                    https://github.com/SBorg2014/WLAN-Wetterstation/issues/48
                    Ich habe dort weiterhin einen Code-Block hinterlegt, wie ich es jetzt umgebaut habe. So funktioniert es bei mir aktuell.
                    Falls es jemand dringend brauchen sollte, kann er das von dort übernehmen bis es eine neue Version gibt.

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

                    Als kleines Weihnachtspräsent...

                    ...zur Behebung diverser Unzulänglichkeiten:

                    Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.20.0

                    • ~ fix Wolkenbasis (keine Werte falls Taupunkt negativ) / Issue #46 (viper4iob)
                    • ~ fix Wetterwarnung (Reif) / Issue #47 (viper4iob)
                    • ~ fix OpenSenseMap für Stationen die 10-Minutendurchschnittswerte bereits liefern / Issue #48 (viper4iob)

                    Wie immer zu finden im GitHub


                    Update-Routine von Vorgängerversion:

                    • aktuellen WS-Updater nutzen (Download falls älter als V2.12.1: wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)
                    • ./ws_updater.sh im Installationsverzeichnis ausführen
                    • Menüpunkt "4" wählen und die Fragen beantworten

                    Update sollte durchgeführt werden, da es sich um ein Bugfix-Release handelt. Dank an @viper4iob für die fixes 😉

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

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

                      ...kurz vor der zweimonatigen Abstinenz, hat mich aber wohl kaum einer vermisst 😊
                      @Rushmed Danke der Nachfrage, nicht so wirklich. Was für einen gesunden "schlecht" ist, ist für mich meist "gut", also geht es mir einigermaßen gut.

                      Eine Änderung die mit sofortiger Wirkung eintritt: Kein Support meinerseits mehr per PM/Chat !
                      Ich kann (und will) dies nicht mehr leisten. 100% der Fehleranfragen sind Anwenderfehler. Nicht eine einzige Ausnahme. Hierfür gibt es das Forum/diesen Thread. Es braucht sich auch niemand zu schämen wenn er etwas nicht weiß (ev. ist dies ein Grund für die PMs). Ich muss dann jedes mal alles neu lesen, weil ich nicht mehr weiß was wir in diesem Fall dann schon unternommen haben. Der Chat ist dafür auch eher suboptimal und ich erkläre x-mal dasselbe, was vielleicht die ein oder andere Frage eines Anderen geklärt hätte.

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

                      NegaleinN 1 Antwort Letzte Antwort
                      5
                      • SBorgS SBorg

                        ...kurz vor der zweimonatigen Abstinenz, hat mich aber wohl kaum einer vermisst 😊
                        @Rushmed Danke der Nachfrage, nicht so wirklich. Was für einen gesunden "schlecht" ist, ist für mich meist "gut", also geht es mir einigermaßen gut.

                        Eine Änderung die mit sofortiger Wirkung eintritt: Kein Support meinerseits mehr per PM/Chat !
                        Ich kann (und will) dies nicht mehr leisten. 100% der Fehleranfragen sind Anwenderfehler. Nicht eine einzige Ausnahme. Hierfür gibt es das Forum/diesen Thread. Es braucht sich auch niemand zu schämen wenn er etwas nicht weiß (ev. ist dies ein Grund für die PMs). Ich muss dann jedes mal alles neu lesen, weil ich nicht mehr weiß was wir in diesem Fall dann schon unternommen haben. Der Chat ist dafür auch eher suboptimal und ich erkläre x-mal dasselbe, was vielleicht die ein oder andere Frage eines Anderen geklärt hätte.

                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        schrieb am zuletzt editiert von
                        #4321

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

                        hat mich aber wohl kaum einer vermisst

                        war in Gedanken oft bei dir! Mir gehts ähnlich!

                        Kein Support meinerseits mehr per PM/Chat !

                        Richtig so.
                        Und ja, der Chat ist für sowas sowieso ein Graus!

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

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

                          Es kam auch so ziemlich alles zusammen. Heizung ausgefallen und sechs Wochen auf meinen Heizungsbauer gewartet der dann keine Ersatzteile hatte (x-mal am Tag resetten bis sie wieder mit Fehler stehen blieb). Dann Heizungspumpe verreckt (naja, nach 30 Jahren darf sie das 😉 ). Keinen Ersatz gefunden, da sie die Gastherme so bescheuert davor montiert haben, dass entweder die Therme, oder die halbe Verrohrung umgesetzt werden müsste.
                          Vorher lief die Pumpe (ich musste sie nur über die Welle anschubsen). Am Tag als die neue Pumpe kam lief sie dann gar nicht mehr (schlimmer, schlimmer Fehler), klar, jetzt ist die ganz hin (von wegen...). Alte Pumpe ausgebaut, neue rein und ... f*ck, läuft nicht. Logo, wer kriegt natürlich wieder die defekte...
                          Aber nö (siehe oben), die Pumpe kriegt keinen Strom. Toll, noch ein Fehler...
                          Einen ganzen Tag sämtliche Kabelkanäle aufgerissen und Kabel verfolgt (wg. Fußbodenheizung kommt das nicht einfach von der Steuerung) bis zu einer kleinen Zwischenplatine auf der die 230V geschaltet werden (wenn kein Thermostat Wärme anfordert wird die Pumpe ausgeschaltet, um festfressen zu verhindern dann auch 1x täglich kurz eingeschaltet). Die Anschlüsse werden über Steckklemmen mittels Federstahl hergestellt. Da hat eine nachgegeben und keinen richtigen Kontakt mehr. Toll, meterweit entfernt und da war keiner seit 30 Jahren dran. Genau jetzt muss das auch ausfallen...

                          Prompt kam mein Netzversorger noch dazwischen und beglückt mich mit einem Smartmeter, wo ich eh gerade den halben Zählerschrank zerrissen hatte, weil ich den Wechselrichter der Solaranlage aus Platzmangel nicht einspeisen konnte.

                          Aber wenigstens die Baustelle ist fertig und läuft
                          Bild 001.png

                          Dann noch paar andere, kleinere Probleme, und der Test mit Influx V2 der so derbe in die Hose ging...

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

                          Rene55R BoronsbruderB da_WoodyD 3 Antworten Letzte Antwort
                          0
                          • SBorgS SBorg

                            Es kam auch so ziemlich alles zusammen. Heizung ausgefallen und sechs Wochen auf meinen Heizungsbauer gewartet der dann keine Ersatzteile hatte (x-mal am Tag resetten bis sie wieder mit Fehler stehen blieb). Dann Heizungspumpe verreckt (naja, nach 30 Jahren darf sie das 😉 ). Keinen Ersatz gefunden, da sie die Gastherme so bescheuert davor montiert haben, dass entweder die Therme, oder die halbe Verrohrung umgesetzt werden müsste.
                            Vorher lief die Pumpe (ich musste sie nur über die Welle anschubsen). Am Tag als die neue Pumpe kam lief sie dann gar nicht mehr (schlimmer, schlimmer Fehler), klar, jetzt ist die ganz hin (von wegen...). Alte Pumpe ausgebaut, neue rein und ... f*ck, läuft nicht. Logo, wer kriegt natürlich wieder die defekte...
                            Aber nö (siehe oben), die Pumpe kriegt keinen Strom. Toll, noch ein Fehler...
                            Einen ganzen Tag sämtliche Kabelkanäle aufgerissen und Kabel verfolgt (wg. Fußbodenheizung kommt das nicht einfach von der Steuerung) bis zu einer kleinen Zwischenplatine auf der die 230V geschaltet werden (wenn kein Thermostat Wärme anfordert wird die Pumpe ausgeschaltet, um festfressen zu verhindern dann auch 1x täglich kurz eingeschaltet). Die Anschlüsse werden über Steckklemmen mittels Federstahl hergestellt. Da hat eine nachgegeben und keinen richtigen Kontakt mehr. Toll, meterweit entfernt und da war keiner seit 30 Jahren dran. Genau jetzt muss das auch ausfallen...

                            Prompt kam mein Netzversorger noch dazwischen und beglückt mich mit einem Smartmeter, wo ich eh gerade den halben Zählerschrank zerrissen hatte, weil ich den Wechselrichter der Solaranlage aus Platzmangel nicht einspeisen konnte.

                            Aber wenigstens die Baustelle ist fertig und läuft
                            Bild 001.png

                            Dann noch paar andere, kleinere Probleme, und der Test mit Influx V2 der so derbe in die Hose ging...

                            Rene55R Offline
                            Rene55R Offline
                            Rene55
                            schrieb am zuletzt editiert von
                            #4323

                            @sborg Mann, mann, mann. Wenns einen trifft, dann richtig. Ich hoffe, es geht wieder aufwärts. 😥 Daher auch nochmal von mir, DANKE für die Mühe, die hinter dem Script steckt. 👍

                            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                            Wetterstation: Froggit WH3000SE V1.6.6

                            1 Antwort Letzte Antwort
                            2
                            • SBorgS SBorg

                              Es kam auch so ziemlich alles zusammen. Heizung ausgefallen und sechs Wochen auf meinen Heizungsbauer gewartet der dann keine Ersatzteile hatte (x-mal am Tag resetten bis sie wieder mit Fehler stehen blieb). Dann Heizungspumpe verreckt (naja, nach 30 Jahren darf sie das 😉 ). Keinen Ersatz gefunden, da sie die Gastherme so bescheuert davor montiert haben, dass entweder die Therme, oder die halbe Verrohrung umgesetzt werden müsste.
                              Vorher lief die Pumpe (ich musste sie nur über die Welle anschubsen). Am Tag als die neue Pumpe kam lief sie dann gar nicht mehr (schlimmer, schlimmer Fehler), klar, jetzt ist die ganz hin (von wegen...). Alte Pumpe ausgebaut, neue rein und ... f*ck, läuft nicht. Logo, wer kriegt natürlich wieder die defekte...
                              Aber nö (siehe oben), die Pumpe kriegt keinen Strom. Toll, noch ein Fehler...
                              Einen ganzen Tag sämtliche Kabelkanäle aufgerissen und Kabel verfolgt (wg. Fußbodenheizung kommt das nicht einfach von der Steuerung) bis zu einer kleinen Zwischenplatine auf der die 230V geschaltet werden (wenn kein Thermostat Wärme anfordert wird die Pumpe ausgeschaltet, um festfressen zu verhindern dann auch 1x täglich kurz eingeschaltet). Die Anschlüsse werden über Steckklemmen mittels Federstahl hergestellt. Da hat eine nachgegeben und keinen richtigen Kontakt mehr. Toll, meterweit entfernt und da war keiner seit 30 Jahren dran. Genau jetzt muss das auch ausfallen...

                              Prompt kam mein Netzversorger noch dazwischen und beglückt mich mit einem Smartmeter, wo ich eh gerade den halben Zählerschrank zerrissen hatte, weil ich den Wechselrichter der Solaranlage aus Platzmangel nicht einspeisen konnte.

                              Aber wenigstens die Baustelle ist fertig und läuft
                              Bild 001.png

                              Dann noch paar andere, kleinere Probleme, und der Test mit Influx V2 der so derbe in die Hose ging...

                              BoronsbruderB Online
                              BoronsbruderB Online
                              Boronsbruder
                              schrieb am zuletzt editiert von
                              #4324

                              @sborg
                              Das ist ja mal ne echt lahme Ausrede * duckt sich weg * 🤣

                              1 Antwort Letzte Antwort
                              0
                              • SBorgS SBorg

                                Es kam auch so ziemlich alles zusammen. Heizung ausgefallen und sechs Wochen auf meinen Heizungsbauer gewartet der dann keine Ersatzteile hatte (x-mal am Tag resetten bis sie wieder mit Fehler stehen blieb). Dann Heizungspumpe verreckt (naja, nach 30 Jahren darf sie das 😉 ). Keinen Ersatz gefunden, da sie die Gastherme so bescheuert davor montiert haben, dass entweder die Therme, oder die halbe Verrohrung umgesetzt werden müsste.
                                Vorher lief die Pumpe (ich musste sie nur über die Welle anschubsen). Am Tag als die neue Pumpe kam lief sie dann gar nicht mehr (schlimmer, schlimmer Fehler), klar, jetzt ist die ganz hin (von wegen...). Alte Pumpe ausgebaut, neue rein und ... f*ck, läuft nicht. Logo, wer kriegt natürlich wieder die defekte...
                                Aber nö (siehe oben), die Pumpe kriegt keinen Strom. Toll, noch ein Fehler...
                                Einen ganzen Tag sämtliche Kabelkanäle aufgerissen und Kabel verfolgt (wg. Fußbodenheizung kommt das nicht einfach von der Steuerung) bis zu einer kleinen Zwischenplatine auf der die 230V geschaltet werden (wenn kein Thermostat Wärme anfordert wird die Pumpe ausgeschaltet, um festfressen zu verhindern dann auch 1x täglich kurz eingeschaltet). Die Anschlüsse werden über Steckklemmen mittels Federstahl hergestellt. Da hat eine nachgegeben und keinen richtigen Kontakt mehr. Toll, meterweit entfernt und da war keiner seit 30 Jahren dran. Genau jetzt muss das auch ausfallen...

                                Prompt kam mein Netzversorger noch dazwischen und beglückt mich mit einem Smartmeter, wo ich eh gerade den halben Zählerschrank zerrissen hatte, weil ich den Wechselrichter der Solaranlage aus Platzmangel nicht einspeisen konnte.

                                Aber wenigstens die Baustelle ist fertig und läuft
                                Bild 001.png

                                Dann noch paar andere, kleinere Probleme, und der Test mit Influx V2 der so derbe in die Hose ging...

                                da_WoodyD Offline
                                da_WoodyD Offline
                                da_Woody
                                schrieb am zuletzt editiert von
                                #4325

                                @sborg shit happens... head up! 👍

                                @Boronsbruder undweg.gif

                                gruß vom Woody
                                HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

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

                                  Das haben nicht die Schweizer erfunden ...

                                  Da aktuell Influx V2 -Support weiter auf Eis liegt, demnächst mal wieder ein neuer Datendienst und/oder eine Möglichkeit (kostenpflichtig) seine Wetterdaten im WWW zu präsentieren:
                                  Bild 005.png

                                  Als kleiner Vorgeschmack (Bild zeigt meine Wetterdaten), aktuell funktioniert aber Regen und Luftdruck noch nicht.
                                  Die kostenfreie Version zeigt zwar die selben Daten an, aber nicht so "hübsch" 😉

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

                                  NegaleinN 1 Antwort Letzte Antwort
                                  2
                                  • SBorgS SBorg

                                    Das haben nicht die Schweizer erfunden ...

                                    Da aktuell Influx V2 -Support weiter auf Eis liegt, demnächst mal wieder ein neuer Datendienst und/oder eine Möglichkeit (kostenpflichtig) seine Wetterdaten im WWW zu präsentieren:
                                    Bild 005.png

                                    Als kleiner Vorgeschmack (Bild zeigt meine Wetterdaten), aktuell funktioniert aber Regen und Luftdruck noch nicht.
                                    Die kostenfreie Version zeigt zwar die selben Daten an, aber nicht so "hübsch" 😉

                                    NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    schrieb am zuletzt editiert von Negalein
                                    #4327

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

                                    ein neuer Datendienst und/oder eine Möglichkeit (kostenpflichtig)

                                    kenn ich vom Cousin.
                                    Wäre sehr cool, wenn das mit dem Script klappt.

                                    PS: bin für Alpha-Test bereit! 🙂

                                    d38f0212-3b6c-4d9b-b048-98ecf54ba7a7-image.png

                                    ° Node.js: 20.17.0 NPM: 10.8.2
                                    ° Proxmox, Ubuntu 22.04.3 LTS
                                    ° Fixer ---> iob fix

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

                                      Awekas lässt sich auch kpl. kostenlos nutzen. Die Stationsseite sieht dann zB. so aus (die Wetterdaten sind immer für jeden zugänglich):

                                      Bild 001.png

                                      Auch Statistiken oder Graphen lassen sich abrufen:
                                      Bild 003.png


                                      Neue Beta-Version des Wetterstation WLAN-Skriptes auf GitHub V2.21.0

                                      (Beta-Releases lassen sich nicht! über den ws_updater.sh installieren, nur die *.conf lässt sich mit dem ws_updater.beta ggf. patchen [s.u.])

                                      • + Support für Awekas.at (beta)

                                      Wie immer zu finden im GitHub


                                      Update-Routine:

                                      • wetterstation.sh, wetterstation.sub und ws_updater.beta (muss "ausführbar" sein chmod +x ws_updater.beta) ersetzen bzw. kopieren
                                      • ./ws_updater.beta --patch im Installationsverzeichnis ausführen und die Awekas-Zugangsdaten in der conf eintragen und den Dienst dort aktivieren
                                      • nun mittels [sudo] systemctl restart wetterstation den Service neu starten

                                      Vor dem Update sollte natürlich schon ein Account bei Awekas.at existieren, damit man auch die Zugangsdaten in der conf eintragen kann 😉
                                      Beim Anlegen des Accounts braucht man nichts zu beachten, nur die Station muss so eingestellt werden:
                                      Bild 002.png

                                      Einschränkungen dieses Beta-Releases:

                                      • Aktuell funktioniert der Luftdruck nicht, ebenso wie die Regenwerte
                                      • es erfolgt keinerlei Rückmeldung ob die Datenübertragung funktioniert

                                      Für einen Test empfiehlt es sich den Service nicht zu starten (oder zu stoppen falls er schon läuft) und im Installationsverzeichnis mal ein ./wetterstation.sh --debug auszuführen (falls der Service gestoppt wurde vorher eine Minute warten, Awekas akzeptiert nur alle 60 Sekunden einen Messwert wenn man das "Plus" aktiviert hat, sonst nur alle 5 Minuten) und auf die Rückmeldung von awekas.at zu schauen.

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

                                      NegaleinN 3 Antworten Letzte Antwort
                                      2
                                      • SBorgS SBorg

                                        Awekas lässt sich auch kpl. kostenlos nutzen. Die Stationsseite sieht dann zB. so aus (die Wetterdaten sind immer für jeden zugänglich):

                                        Bild 001.png

                                        Auch Statistiken oder Graphen lassen sich abrufen:
                                        Bild 003.png


                                        Neue Beta-Version des Wetterstation WLAN-Skriptes auf GitHub V2.21.0

                                        (Beta-Releases lassen sich nicht! über den ws_updater.sh installieren, nur die *.conf lässt sich mit dem ws_updater.beta ggf. patchen [s.u.])

                                        • + Support für Awekas.at (beta)

                                        Wie immer zu finden im GitHub


                                        Update-Routine:

                                        • wetterstation.sh, wetterstation.sub und ws_updater.beta (muss "ausführbar" sein chmod +x ws_updater.beta) ersetzen bzw. kopieren
                                        • ./ws_updater.beta --patch im Installationsverzeichnis ausführen und die Awekas-Zugangsdaten in der conf eintragen und den Dienst dort aktivieren
                                        • nun mittels [sudo] systemctl restart wetterstation den Service neu starten

                                        Vor dem Update sollte natürlich schon ein Account bei Awekas.at existieren, damit man auch die Zugangsdaten in der conf eintragen kann 😉
                                        Beim Anlegen des Accounts braucht man nichts zu beachten, nur die Station muss so eingestellt werden:
                                        Bild 002.png

                                        Einschränkungen dieses Beta-Releases:

                                        • Aktuell funktioniert der Luftdruck nicht, ebenso wie die Regenwerte
                                        • es erfolgt keinerlei Rückmeldung ob die Datenübertragung funktioniert

                                        Für einen Test empfiehlt es sich den Service nicht zu starten (oder zu stoppen falls er schon läuft) und im Installationsverzeichnis mal ein ./wetterstation.sh --debug auszuführen (falls der Service gestoppt wurde vorher eine Minute warten, Awekas akzeptiert nur alle 60 Sekunden einen Messwert wenn man das "Plus" aktiviert hat, sonst nur alle 5 Minuten) und auf die Rückmeldung von awekas.at zu schauen.

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        schrieb am zuletzt editiert von Negalein
                                        #4329

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

                                        ./ws_updater.beta --patch

                                        Hallo

                                        Bei mir funktioniert der ws_updater.beta nicht.

                                        dietpi@DietPi:~$ chmod +x ws_updater.beta
                                        chmod: Zugriff auf 'ws_updater.beta' nicht möglich: Datei oder Verzeichnis nicht gefunden
                                        dietpi@DietPi:~$ ./ws_updater.beta --patch
                                        -bash: ./ws_updater.beta: Datei oder Verzeichnis nicht gefunden
                                        dietpi@DietPi:~$
                                        

                                        0dae8c91-9c9f-424c-81e1-18b3b9c8c084-image.png

                                        #!/bin/bash
                                        
                                        UPDATE_VER=V2.21.0
                                        
                                        ###  Farbdefinition
                                              GR='\e[1;32m'
                                              GE='\e[1;33m'
                                              WE='\e[1;37m'
                                              BL='\e[1;36m'
                                              RE='\e[1;31m'
                                        
                                        
                                        echo -e "\n\n${BL}"
                                        echo -e '
                                            _       _______       __  __          __      __
                                           | |     / / ___/      / / / /___  ____/ /___ _/ /____  _____
                                           | | /| / /\__ \______/ / / / __ \/ __  / __ `/ __/ _ \/ ___/
                                           | |/ |/ /___/ /_____/ /_/ / /_/ / /_/ / /_/ / /_/  __/ /
                                           |__/|__//____/      \____/ .___/\__,_/\__,_/\__/\___/_/'  ${GE}${UPDATE_VER}${BL}
                                        echo -en '                           /_/'
                                        echo -e "${WE}\n"
                                        
                                        
                                         #Nicht als root...
                                         if [ $(whoami) = "root" ]; then echo -e "$RE Ausführung als \"root\" nicht möglich...!\n"; exit 1; fi
                                        
                                         #Verzeichnis feststellen + conf lesen
                                          DIR=$(pwd)
                                          if [ -f "${DIR}/wetterstation.conf" ]; then . "${DIR}/wetterstation.conf"; fi
                                        
                                        
                                         #Test ob Datei auf GitHub, sonst Fallback
                                         if [ "$1" = "" ] && ( ! curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh|grep -xq '404: Not Found' ); then
                                            echo -e "$WE Benutze neuste Version ${BL}$(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh|grep -m 1 'UPDATE_VER='|cut -d"=" -f2)${WE} auf GitHub..."
                                            sleep 2
                                            source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --menu
                                            exit 0
                                         fi
                                        
                                        
                                        
                                        checker() {
                                                 #Test ob bc, jq, unzip, patch und dc installiert sind / Service im User-Kontext läuft
                                                 #installierte Influx-Version
                                                 #Rest-Api im ioB läuft
                                                 #Service im User-Kontext?
                                                 if [ ! $(cat /etc/systemd/system/wetterstation.service|grep User=) ]; then
                                                  echo -e "\n$GE Service läuft nicht im User-Kontext sondern unter User ${RE}root${GE}..."
                                                  jn_abfrage "\n$WE Soll nun auf User (empfohlen) umgestellt werden?"
                                                  if [ -z $antwort ]; then echo -e "\n"; return; fi
                                                  echo -e "\n"
                                                  sudo sed -i '/\[Service\]/a User='$(whoami)'\nGroup='$(whoami) /etc/systemd/system/wetterstation.service
                                                  echo -e "\n Done... Restarte Service...\n"
                                                  sudo systemctl daemon-reload
                                                  sudo systemctl restart wetterstation
                                                 fi
                                                 if [ ! -z ${INFLUX_API} ] && [ $(which influxd) ]; then check_prog influx; fi
                                                 check_prog bc
                                                 check_prog jq
                                                 check_prog dc
                                                 check_prog unzip
                                                 check_prog patch
                                                 check_prog restapi
                                                 echo -e "\n"
                                        }
                                        
                                        
                                        check_prog() {
                                                 if [ $1 == "influx" ]; then
                                                  if [ ! $(influxd version|cut -d" " -f2|grep v1.) ]; then echo -e "${RE} Offizieller Support nur für Influx V1.x!\n\n${WE}"; sleep 5; fi
                                                  return
                                                 fi
                                                 if [ $1 == "restapi" ]; then
                                                  if [ "$(nc -vz $(echo "${RESTAPI_URL}" | grep -o '[\.0-9]*') &> /dev/null; echo $?)" -eq "0" ]; then RESTAPI=true
                                                    echo -e "\n Zugriff auf $GR'Rest-API'$WE im ioBroker: [$GR✓$WE]"
                                                   else
                                                    RESTAPI=false
                                                    echo -e "\n Zugriff auf $GR'Rest-API'$WE im ioBroker: [$RE✗$WE]"
                                                    echo -e "  (Dies ist kein Problem, es können nur keine neuen Datenpunkte bei Bedarf automatisch angelegt werden."
                                                    echo -e "  Dies muss im Fall neuer Datenpunkte per 'wetterstation.js' von Hand im ioBroker erfolgen.)"
                                                   fi
                                                  return
                                                 fi
                                                 if [ $(which $1) ]; then
                                                   echo -e " $GR'$1'$WE installiert: [$GR✓$WE]"
                                                  else
                                                   echo -e " $GR'$1'$WE installiert: [$RE✗$WE]"
                                                   echo -e "\n\n $RE Bitte zuerst '$1' installieren [sudo apt install $1]\n"
                                                   exit 1
                                                 fi
                                        }
                                        
                                        backup() {
                                         echo -e "\n Lege Sicherungskopie der wetterstation.conf an..."
                                         cp ./wetterstation.conf ./wetterstation.conf.backup
                                        }
                                        
                                        FEHLER() {
                                         if [ "$UPDATE_VER" == "$VERSION" ]; then echo -e "\n$WE Version ist aktuell, nothing to do...\n"; exit 0; fi
                                         echo -e "\n  Updater ist ${RE}nur${WE} für Versionen ab V1.4.0 !\n"
                                         exit 1
                                        }
                                        
                                        patcher() {
                                                 echo -en "\n${WE} Soll die ${RE}wetterstation.conf ${WE}nun auf eine neue Version gepatcht werden? [${GR}J/N${WE}]"
                                                   read -n 1 -p ": " JN
                                                   if [ "$JN" = "J" ] || [ "$JN" = "j" ]; then
                                                     echo -e "\n\n\n"
                                                    else
                                                     echo -e "\n\n\n"
                                                     echo -e " $RE Abbruch... ${WE}\n\n\n"; exit 1;
                                                   fi
                                        
                                          VERSION_SH=$(cat ./wetterstation.sh|grep "SH_VER"|cut -d"=" -f2|tr -d \")
                                        
                                          while [ "$VERSION_CONF" != "$VERSION_SH" ]
                                           do
                                            VERSION_CONF=$(cat ./wetterstation.conf|grep "### Settings V"|cut -d" " -f3)
                                        
                                            case ${VERSION_CONF} in
                                                   V1.4.0) PATCH140 ;;
                                                   V1.5.0) PATCH150 ;;
                                                   V1.6.0) PATCH160 ;;
                                                   V2.0.0) PATCH210 ;;
                                                   V2.1.0) PATCH220 ;;
                                                   V2.2.0) PATCH230 ;;
                                                   V2.3.0) PATCH240 ;;
                                                   V2.4.0) PATCH250 ;;
                                                   V2.5.0) PATCH260 ;;
                                                   V2.6.0) PATCH270 ;;
                                                   V2.7.0) PATCH280 ;;
                                                   V2.8.0) PATCH2100 ;;
                                                   V2.9.0) echo -e "$GE Kein Patch nötig...\n" ;;
                                                   V2.10.0) PATCH2110 ;;
                                                   V2.11.0) PATCH2111 ;;
                                                   V2.11.1) PATCH2120 ;;
                                                   V2.12.0) PATCH2121 ;;
                                                   V2.12.1) PATCH2130 ;;
                                                   V2.13.0) PATCH2140 ;;
                                                   V2.14.0) PATCH2150 ;;
                                                   V2.15.0) PATCH2160 ;;
                                                   V2.16.0) PATCH2170 ;;
                                                   V2.17.0) PATCH2180 ;;
                                                   V2.18.0) PATCH2190 ;;
                                                   V2.19.0) PATCH2200 ;;
                                                   V2.20.0) PATCH2210 && exit 0;;
                                                   V2.21.0) echo -e "$GE Version ist bereits aktuell...\n" && exit 0;;
                                                         *) FEHLER
                                            esac
                                        
                                           done
                                         exit 0
                                        }
                                        
                                        main() {
                                                 #Wetterstation im Verzeichnis vorhanden
                                                 if [ ! -f ./wetterstation.sh ]; then
                                                  echo -e "\n$RE Keine Version von WLAN-Wetterstation im aktuellen Verzeichnis gefunden...\n"
                                                  exit 1
                                                 fi
                                        
                                                 #aktuelle Version von GitHub holen
                                                  GitHub=$(curl -sH "Accept: application/vnd.github.v3+json" https://api.github.com/repos/SBorg2014/WLAN-Wetterstation/releases/latest)
                                                  akt_ver_long=$(echo ${GitHub} | jq -r '.name' | sed -e 's/-/vom/; s/\"//g')
                                                  akt_version=$(echo ${GitHub} | jq -r '.tag_name')
                                                  info_version=$(echo ${GitHub} | jq -r '.body' | tr -d '*\\')
                                        
                                                  echo -e " Aktuelle Version (latest) auf GitHub: ${GR}$akt_ver_long$WE"
                                                  VERSION=$(cat ./wetterstation.sh|grep "SH_VER"|cut -d"=" -f2|tr -d \")
                                                  echo -e " Version im aktuellen Verzeichnis    : ${GR}$VERSION"
                                        
                                                  if [ "$VERSION" == "$akt_version" ]; then echo -e "\n$GE Version ist bereits aktuell...\n"; exit 0; fi
                                        
                                                  echo -e "\n$WE Informationen zum Release $akt_version:"
                                                  echo -e " ─────────────────────────────────────────────────────────────"
                                                  echo -e "\n$GE $info_version\n$WE"
                                        
                                                  jn_abfrage "\n$WE Soll ein Update von WLAN-Wetterstation durchgeführt werden?"
                                                  if [ -z $antwort ]; then echo -e "\n"; exit 0; fi
                                        
                                                 #Update
                                                  echo -e "\n\n$WE Führe Update aus...\n"
                                                  DL_URL=$(echo ${GitHub} | jq -r '.assets | .[].browser_download_url')
                                                  curl -LJ ${DL_URL} -o tmp.zip
                                                  unzip -o tmp.zip -x wetterstation.conf
                                                  sudo chmod +x wetterstation.sh ws_updater.sh
                                        
                                                  rm tmp.zip
                                                  source ./ws_updater.sh --patch
                                        
                                                  jn_abfrage "\n ${WE}Update ausgeführt. Soll der Service nun neu gestartet werden?"
                                                  if [ ! -z $antwort ]; then echo -e "\n"; sudo systemctl restart wetterstation.service; fi
                                        
                                        exit
                                        }
                                        
                                        ########################################################################################
                                        #Patch Version V1.4.0 auf V1.5.0
                                        PATCH140() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V1.5.0 ..."
                                         sed -i '/^.#Port der Wetterstation/i \ #Protokoll (HTTP oder HTTPS) \/ default: HTTP\n  WEB=HTTP\n\n #User-Authentifizierung falls benutzt; sonst leer lassen\n  AUTH_USER=\n  AUTH_PASS=\n' ./wetterstation.conf
                                         sed -i 's/### Settings V1.4.0/### Settings V1.5.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V1.5.0 auf V1.6.0
                                        PATCH150() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V1.6.0 ..."
                                         sed -i 's/### Settings V1.5.0/### Settings V1.6.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V1.6.0 auf V2.0.0
                                        PATCH160() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.0.0 ..."
                                         sed -i '/^.#Protokoll (HTTP oder HTTPS)/i \ #Protokoll der Wetterstation [1/2] \/ 1=Wunderground ; 2=Ecowitt \/ default: 1\n  WS_PROTOKOLL=1\n\n #Anzahl der vorhandenen DP50 Sensoren \/ default: 0\n  ANZAHL_DP50=0\n\n #HTTP Anzahl der vorhandenen DP100 Sensoren \/ default: 0\n  ANZAHL_DP100=0\n' ./wetterstation.conf
                                         sed -i 's/### Settings V1.6.0/### Settings V2.0.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.0.0 auf V2.1.0
                                        PATCH210() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.1.0 ..."
                                         sed -i 's/#Protokoll der Wetterstation \[1\/2\] \/ 1=Wunderground ; 2=Ecowitt \/ default: 1/#Protokoll der Wetterstation \[1\/2\/9\] \/ 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi \/ default: 1/' ./wetterstation.conf
                                         sed -i 's/### Settings V2.0.0/### Settings V2.1.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.1.0 auf V2.2.0
                                        PATCH220() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.2.0 ..."
                                         sed -i 's/Chillfaktor/gefühlte Temperatur/' ./wetterstation.conf
                                         sed -i 's/### Settings V2.1.0/### Settings V2.2.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.2.0 auf V2.3.0
                                        PATCH230() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.3.0 ..."
                                         sed -i '/#Anzahl der vorhandenen DP50/,/ANZAHL_DP100=/c\ #Anzahl der vorhandenen Zusatzsensoren \/ default: 0\n  ANZAHL_DP50=0\n  ANZAHL_DP60=0\n  ANZAHL_DP100=0' ./wetterstation.conf
                                         sed -i '/^.#letztes Regenereignis/i \ #InfluxDB-Konfiguration \/ ohne InfluxDB alles leer lassen\n  #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]\n   INFLUX_API=\n  #Name, User und Passwort der InfluxDB-Datenbank\n   INFLUX_DB=\n   INFLUX_USER=\n   INFLUX_PASSWORD=\n' ./wetterstation.conf
                                         sed -i 's/### Settings V2.2.0/### Settings V2.3.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Eventuelle Zusatzsensoren DP50/60/100 müssen neu eingetragen werden!"
                                         echo -e " Neuen Configblock für Influx beachten/konfigurieren!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.3.0 auf V2.4.0
                                        PATCH240() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.4.0 ..."
                                         sed -i '/^.*ANZAHL_DP100=.*/a \  ANZAHL_DP200=0' ./wetterstation.conf
                                         sed -i 's/### Settings V2.3.0/### Settings V2.4.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Eventuelle Zusatzsensoren DP200 müssen eingetragen werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.4.0 auf V2.5.0
                                        PATCH250() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.5.0 ..."
                                         sed -i '/^.*ANZAHL_DP100=.*/i \  ANZAHL_DP70=0' ./wetterstation.conf
                                         sed -i 's/### Settings V2.4.0/### Settings V2.5.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Eventuelle Zusatzsensoren DP70 müssen eingetragen werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.5.0 auf V2.6.0
                                        PATCH260() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.6.0 ..."
                                         patch_260 && patch ./wetterstation.conf < patch
                                         rm patch
                                         echo -e " ${GE}Windy kann nun mittels \033[30m\033[47m./wetterstation.sh --windy_reg\033[0m ${GE}eingerichtet werden !\n"
                                        }
                                        
                                        
                                        #Patch Version V2.6.0 auf V2.7.0
                                        PATCH270() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.7.0 ..."
                                         sed -i '/^.*ANZAHL_DP200=.*/a \  ANZAHL_DP250=0' ./wetterstation.conf
                                         sed -i 's/### Settings V2.6.0/### Settings V2.7.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Eventueller Zusatzsensor DP250/WH45 muss eingetragen werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.7.0 auf V2.8.0
                                        PATCH280() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.8.0 ..."
                                         sed -i '/^.*SONNENSCHEIN_TXTFORMAT=.*/a \ \n\n  #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)?\n   WETTERCOM_ID=\n   WETTERCOM_PW=' ./wetterstation.conf
                                         sed -i 's/### Settings V2.7.0/### Settings V2.8.0/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Falls die Übertragung der Wetterdaten an wetter.com erfolgen soll, nun aktivieren durch eintragen von User-ID und Passwort!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.8.0 auf V2.10.0
                                        PATCH2100() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.10.0 ..."
                                         patch_2100 && patch ./wetterstation.conf < patch.dat
                                         rm patch.dat
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Eventuelle Zusatzsensoren DP300/WS68, DP40/WH32 oder WH25/WH31 müssen eingetragen werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.10.0 auf V2.11.0
                                        PATCH2110() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.11.0 ..."
                                         sed -i 's/### Settings V2.10.0/### Settings V2.11.0/' ./wetterstation.conf
                                         sed -i '/^.*debug=.*/a \ \n #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden?\n  RESET_KOMFEHLER=false' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Parameter für Kommunikationsfehler ggf. ändern. Per Default verbleibt er im Zustand 'true' bei einem Fehler.\n"
                                        }
                                        
                                        
                                        #Patch Version V2.11.0 auf V2.11.1
                                        PATCH2111() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.11.1 ..."
                                         sed -i 's/### Settings V2.11.0/### Settings V2.11.1/' ./wetterstation.conf
                                         sed -i 's/Sainlogic Profi/DNS/' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.11.1 auf V2.12.0
                                        PATCH2120() {
                                         backup
                                         echo -e "\n Patche wetterstation.conf auf V2.12.0 ..."
                                         sed -i 's/### Settings V2.11.1/### Settings V2.12.0/' ./wetterstation.conf
                                         sed -i '/^.*WETTERCOM_PW=.*/a \ \n #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false\n #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt\n  FIX_AUSSENTEMP=false' ./wetterstation.conf
                                         echo -e " Fertig...\n"
                                         echo -e " ${GE}Parameter für FIX_AUSSENTEMP ggf. ändern. Per Default werden auch unplausible Messwerte an den ioB geschickt.\n"
                                        }
                                        
                                        
                                        #Patch Version V2.12.0 auf V2.12.1
                                        PATCH2121() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.12.1 ..."
                                         sed -i 's/### Settings V2.12.0/### Settings V2.12.1/' ./wetterstation.conf
                                         echo -e "${WE} Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.12.1 auf V2.13.0
                                        PATCH2130() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.13.0 ..."
                                         sed -i 's/### Settings V2.12.1/### Settings V2.13.0/' ./wetterstation.conf
                                         sed -i '/^.*ANZAHL_WH31=.*/a \  ANZAHL_DP35=0' ./wetterstation.conf
                                         echo -e "${WE} Fertig...\n"
                                         echo -e " ${GE}Eventuelle Zusatzsensoren DP35 müssen eingetragen werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.13.0 auf V2.14.0
                                        PATCH2140() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.14.0 ..."
                                         sed -i 's/### Settings V2.13.0/### Settings V2.14.0/' ./wetterstation.conf
                                         sed -i '/^.*WEB=HTTP.*/a \\n #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten\n  WEB_IGN_SSL_ERROR=false' ./wetterstation.conf
                                         echo -e "${WE} Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.14.0 auf V2.15.0
                                        PATCH2150() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.15.0 ..."
                                         sed -i 's/### Settings V2.14.0/### Settings V2.15.0/' ./wetterstation.conf
                                         sed -i '/^.*WETTERCOM_PW=.*/a \\n\n #Daten an Wunderground.com senden? [true/false] / default: false\n   #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen.\n   WUNDERGROUND_UPDATE=false' ./wetterstation.conf
                                         sed -i 's/#InfluxDB-Konfiguration/#InfluxDB-Konfiguration für Influx V1.x.x/' ./wetterstation.conf
                                         echo -e "${WE} Fertig...\n"
                                         echo -e " ${GE}Die Datenübertragung an Wunderground.com kann nun aktiviert werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.15.0 auf V2.16.0
                                        PATCH2160() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.16.0 ..."
                                         sed -i 's/### Settings V2.15.0/### Settings V2.16.0/' ./wetterstation.conf
                                         sed -i '/^.*IPP=.*/a \\n #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt\n  RESTAPI_URL=\n  RESTAPI_USER=\n  RESTAPI_PW=' ./wetterstation.conf
                                         echo -e "${WE} Fertig...\n"
                                         echo -e " ${GE}Die Rest-API kann nun durch Eingabe der URL und den Zugangsdaten aktiviert werden!\n"
                                        }
                                        
                                        
                                        #Patch Version V2.16.0 auf V2.17.0
                                        PATCH2170() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.17.0 ..."
                                         sed -i 's/### Settings V2.16.0/### Settings V2.17.0/' ./wetterstation.conf
                                         sed -i '/^.*WUNDERGROUND_UPDATE=.*/a \\n #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an\n #windy/OpenSenseMap/wetter.com übertragen? [true/false] / default: false\n  USE_AVG_WIND=false' ./wetterstation.conf
                                         if [ ${RESTAPI} == "true" ]; then make_objects ".Aussentemperatur_Trend" "Trend der Aussentemperatur der letzten Stunde" "number" "°C"; fi
                                         echo -e "${WE} Fertig...\n"
                                         echo -e " ${GE}Die alternative Datenübertragung von Windrichtung und -geschwindigkeit der letzten\n 10 Minuten an windy/OpenSenseMap/wetter.com kann nun aktiviert werden!"
                                         echo -e " Einstellung dafür in der wetterstation.conf: ${BL}USE_AVG_WIND=true\n${WE}"
                                        }
                                        
                                        
                                        #Patch Version V2.17.0 auf V2.18.0
                                        PATCH2180() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.18.0 ..."
                                         sed -i 's/### Settings V2.17.0/### Settings V2.18.0/' ./wetterstation.conf
                                         sed -i '/^.*ANZAHL_DP35=.*/i \  ANZAHL_DP10=0' ./wetterstation.conf
                                         if [ ${RESTAPI} == "true" ]; then
                                          make_objects ".Info.Wolkenbasis" "Höhe der Wolkenbasis" "number" "m"
                                          make_objects ".Info.Shellscriptversion" "Versionsnummer des Scriptes" "string"
                                          make_objects ".Windrichtung_Text_10min" "Windrichtung Durchschnitt 10 Minuten als Text" "string"
                                         fi
                                         echo -e "${WE} Fertig...\n"
                                         echo -e " ${GE}Eventuelle Zusatzsensoren DP10/WN35 können nun eingetragen werden!\n${WE}"
                                        }
                                        
                                        
                                        #Patch Version V2.18.0 auf V2.19.0
                                        PATCH2190() {
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.19.0 ..."
                                         sed -i 's/### Settings V2.18.0/### Settings V2.19.0/' ./wetterstation.conf
                                         sed -i '/^.*ANZAHL_WH31=.*/a \  ANZAHL_WS90=0' ./wetterstation.conf
                                         if [ ${RESTAPI} == "true" ]; then make_objects ".Info.Wetterwarnung" "mögliche Wetterereignisse" "string"
                                        #     #Abfrage starten zum Anlegen der DPs des WS90
                                        #     jn_abfrage "${WE} Sollen nun Datenpunkte für den WS90 angelegt werden...(nur sinnvoll wenn man auch einen hat ;-))?"
                                        #     if [ ! -z $antwort ]; then
                                        #      make_objects ".WS90" "WS90 Wittboy" "folder"
                                        #      make_objects ".WS90.1.aktuelle_Regenrate" "WS90 Kanal 1 aktuelle Regenrate" "number" "mm/h"
                                        #     fi
                                         fi
                                         echo -e "\n${WE} Fertig...\n"
                                         echo -e " ${GE}Eventueller Zusatzsensor WS90 kann nun eingetragen werden!${WE}"
                                        # if [ ${RESTAPI} != "true" ] || [ -z $antwort ]; then echo -e " ${GE}Dazu noch 'wetterstation.js' im ioB ersetzen, konfigurieren und einmalig ausführen.\n${WE}"; fi
                                         echo -e " ${GE}Dazu noch 'wetterstation.js' im ioB ersetzen, konfigurieren und einmalig ausführen.\n${WE}"
                                        }
                                        
                                        
                                        #Patch Version V2.19.0 auf V2.20.0
                                        PATCH2200(){
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.20.0 ..."
                                         sed -i 's/### Settings V2.19.0/### Settings V2.20.0/' ./wetterstation.conf
                                         echo -e "\n${WE} Fertig...\n"
                                        }
                                        
                                        
                                        #Patch Version V2.20.0 auf V2.21.0
                                        PATCH2210(){
                                         backup
                                         echo -e "${WE}\n Patche wetterstation.conf auf V2.21.0 ..."
                                         sed -i 's/### Settings V2.20.0/### Settings V2.21.0/' ./wetterstation.conf
                                         sed -i '/^.*Ende Usereinstellungen.*/i \\n #############################################################################################\n ###    AWEKAS - Einstellungen (nur nötig falls AWEKAS benutzt werden soll)                ###\n #############################################################################################' ./wetterstation.conf
                                         sed -i '/^.*Ende Usereinstellungen.*/i \\n  #AWEKAS aktivieren [true/false] / default: false\n   use_awekas=false\n\
                                          #AWEKAS Login Username und Password\n   AWEKAS_USER=\n   AWEKAS_PW=\n\
                                         #############################################################################################\
                                         ###    AWEKAS - Ende der Einstellungen    ###################################################\
                                         #############################################################################################\n' ./wetterstation.conf
                                         echo -e "\n${WE} Fertig...\n"
                                        }
                                        
                                        
                                        patch_260() {
                                        cat <<EoD >patch
                                        --- wetterstation.conf_250	2021-05-13 13:45:06.297750501 +0200
                                        +++ wetterstation.conf	2021-05-12 18:39:24.358821394 +0200
                                        @@ -1,4 +1,4 @@
                                        -### Settings V2.5.0 -----------------------------------------------------------
                                        +### Settings V2.6.0 -----------------------------------------------------------
                                          #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
                                           debug=false
                                        @@ -112,5 +112,42 @@
                                          #############################################################################################
                                        +
                                        + #############################################################################################
                                        + ###    Windy - Einstellungen (nur nötig falls Windy benutzt werden soll)                  ###
                                        + #############################################################################################
                                        +
                                        +  #Windy aktivieren [true/false] / default: false
                                        +   use_windy=false
                                        +
                                        +  #Windy API-Key
                                        +   windy_APIKey=
                                        +
                                        +  #Station [number: 0 - 2147483647] / default: 0
                                        +   windy_Station=
                                        +
                                        +  #Name der Station [Text]
                                        +   windy_Name=
                                        +
                                        +  #Latitude/Breitengrad der Station
                                        +   windy_Latitude=
                                        +
                                        +  #Longitude/Längengrad der Station
                                        +   windy_Longitude=
                                        +
                                        +  #Elevation/Höhe ÜNN
                                        +   windy_Elevation=
                                        +
                                        +  #Montagehöhe Temperatursensor über Boden
                                        +   windy_Tempheight=
                                        +
                                        +  #Montagehöhe Windsensor über Boden
                                        +   windy_Windheight=
                                        +
                                        + #############################################################################################
                                        + ###    Windy - Ende der Einstellungen    ####################################################
                                        + #############################################################################################
                                        +
                                        +
                                         ###  Ende Usereinstellungen
                                         ###EoF
                                        EoD
                                        }
                                        
                                        patch_2100() {
                                        cat <<EofP >patch.dat
                                        --- wetterstation.org	2021-10-26 20:01:56.772982845 +0200
                                        +++ wetterstation.conf	2021-10-26 20:04:21.625615091 +0200
                                        @@ -1,7 +1,10 @@
                                        -### Settings V2.8.0 -----------------------------------------------------------
                                        +### Settings V2.10.0 -----------------------------------------------------------
                                          #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
                                           debug=false
                                        + #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
                                        +  logging=false
                                        +
                                          #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx]
                                           IPP=192.168.1.3:8087
                                        @@ -9,12 +12,15 @@
                                           WS_PROTOKOLL=1
                                          #Anzahl der vorhandenen Zusatzsensoren / default: 0
                                        +  ANZAHL_WH31=0
                                        +  ANZAHL_DP40=0
                                           ANZAHL_DP50=0
                                           ANZAHL_DP60=0
                                           ANZAHL_DP70=0
                                           ANZAHL_DP100=0
                                           ANZAHL_DP200=0
                                           ANZAHL_DP250=0
                                        +  ANZAHL_DP300=0
                                          #Protokoll (HTTP oder HTTPS) / default: HTTP
                                           WEB=HTTP
                                        EofP
                                        }
                                        
                                        jn_abfrage() {
                                                 echo -en "\n$1 ${WE}[${GR}J/N${WE}]"
                                                   read -n 1 -p ": " JN
                                                   if [ "$JN" = "J" ] || [ "$JN" = "j" ]; then
                                                     antwort=true
                                                    else
                                                     unset antwort
                                                   fi
                                        
                                        }
                                        
                                        install() {
                                           #WLAN-Wetterstation Installationsroutine
                                            jn_abfrage "${WE}\n Möchten Sie ${BL}WLAN-Wetterstation${WE} im aktuellen Verzeichnis installieren?"
                                            if [ -z $antwort ]; then echo -e "\n ${RE}Abbruch...${WE}\n\n"; exit 1; fi
                                            unset antwort
                                        
                                            #aktuelle Version feststellen, downloaden und entpacken
                                             echo -e "\n\n\n Hole Daten von GitHub..."
                                             GitHub=$(curl -sH "Accept: application/vnd.github.v3+json" https://api.github.com/repos/SBorg2014/WLAN-Wetterstation/releases/latest)
                                             akt_version=$(echo ${GitHub} | jq -r '.name' | sed -e 's/-/vom/; s/\"//g')
                                             echo -e " Aktuelle Version: ${GR}${akt_version}${WE}"
                                             DL_URL=$(echo ${GitHub} | jq -r '.assets | .[].browser_download_url')
                                             echo -e " Lade Datei von GitHub herunter...\n"
                                             curl -LJ ${DL_URL} -o tmp.zip
                                             echo -e "\n Entpacke Dateien...\n"
                                             unzip -n tmp.zip
                                        
                                             echo -e "\n Lösche Dateidownload..."
                                             rm tmp.zip
                                        
                                             echo -e "\n Dateien ausführbar setzen..."
                                             chmod +x ws_updater.sh wetterstation.sh
                                        
                                             jn_abfrage "\n${WE} Soll WLAN-Wetterstation nun als Service eingerichtet werden?"
                                             if [ ! -z $antwort ]; then service; fi
                                        
                                            #Konfiguration öffnen
                                             jn_abfrage "\n${WE} Konfiguration nun öffnen?"
                                             if [ ! -z $antwort ]; then
                                               if [ ! -f ~/.selected_editor ]; then update-alternatives --config editor; fi
                                               $(cat ~/.selected_editor | grep SELECTED_EDITOR | cut -d"=" -f2 | tr -d \") wetterstation.conf
                                             fi
                                        
                                            #DPs im ioB anlegen...
                                             jn_abfrage "\n${BL} Nun mittels des Javascriptes ${GE}'wetterstation.js'${BL} die Datenpunkte im ioBroker anlegen! Fertig [\e[101m Nein=Abbruch \e[0m${BL}]?"
                                             if [ -z $antwort ]; then echo -e "\n"; exit 1; fi
                                             unset antwort
                                        
                                            #Testlauf starten
                                             jn_abfrage "\n${WE} Einmaligen Testdurchlauf im Debug-Modus starten...(empfiehlt sich)?"
                                             if [ ! -z $antwort ]; then ./wetterstation.sh --debug; fi
                                        
                                            #enable Service
                                             jn_abfrage "\n${WE} WLAN-Wetterstation Service nun starten?"
                                             if [ ! -z $antwort ]; then sudo systemctl start wetterstation.service; fi
                                        
                                            echo -e "\n\n Fertig..."
                                            echo -e " Wenn der Testlauf ausgeführt wurde und erfolgreich verlief, sollten nun aktuelle Daten\n der Wetterstation im ioBroker in den Datenpunkten stehen ;-)\n"
                                        }
                                        
                                        service() {
                                              #existiert der Service schon?
                                              if [ -f /etc/systemd/system/wetterstation.service ]; then
                                                 echo -e "\n\n ${RE}Wetterstation-Service existiert bereits!${WE}\n"
                                                 return 0
                                              fi
                                        
                                                sudo tee -a /etc/systemd/system/wetterstation.service > /dev/null <<-EoD
                                        	[Unit]
                                        	Description=Service für ioBroker Wetterstation
                                        	[Service]
                                        	User=$(whoami)
                                        	Group=$(whoami)
                                        	ExecStart=${DIR}/wetterstation.sh
                                        	[Install]
                                        	WantedBy=multi-user.target
                                        	EoD
                                        
                                              echo -e "\n Aktiviere den Service nun..."
                                              sudo systemctl daemon-reload
                                              sudo systemctl enable wetterstation.service
                                              echo -e "\n ${GE}Der Service kann nun mittels ${GR}systemctl start wetterstation${GE} gestartet werden..."
                                        
                                        }
                                        
                                        usage() {
                                                echo -e "\nusage: ws_updater [[--install] | [--patch] | [--service] | [-h|--help]]\n"
                                                echo -e " --install\tinstalliert WLAN-Wetterstation im aktuellen Verzeichnis"
                                                echo -e " --patch\tpatcht die 'wetterstation.conf' auf eine neue Version"
                                                echo -e " --service\trichtet WLAN-Wetterstation als Service ein"
                                                echo -e " -h | --help\tdieses Hilfemenue\n"
                                        }
                                        
                                        menu() {
                                                clear
                                                echo -e "$WE\n\n\n"
                                                echo -e "\t Auswahlmenü für WLAN-Wetterstation:"
                                                echo -e "\t_____________________________________\n\n"
                                                echo -e "\t [${BL}1${WE}] im aktuellen Verzeichnis installieren\n"
                                                echo -e "\t [${BL}2${WE}] als Service einrichten\n"
                                                echo -e "\t [${BL}3${WE}] Konfigurationsdatei patchen\n"
                                                echo -e "\t [${BL}4${WE}] Update ausführen\n\n"
                                                echo -e "\t [${BL}E${WE}] Exit\n\n\n"
                                                echo -en "\t Ihre Auswahl: [${GR}1-4,E${WE}]"
                                        
                                                read -n 1 -p ": " MENU_AUSWAHL
                                                echo -e "\n"
                                                case $MENU_AUSWAHL in
                                                   1)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --install
                                                        exit 0 ;;
                                                   2)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --service
                                                        exit 0 ;;
                                                   3)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --patch
                                                        exit 0 ;;
                                                   4)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --gitup
                                                        exit 0 ;;
                                                   e|E) exit 0 ;;
                                                   *) menu
                                                esac
                                        }
                                        
                                        make_objects(){
                                         #1: ID
                                         #2: name
                                         #3: type
                                         #4: unit
                                        
                                         echo -e "\n ${WE}Lege neues Object im ioBroker an: $BL${PRE_DP}$1$WE"
                                         local TOKEN=$(echo -n ${RESTAPI_USER}:${RESTAPI_PW} | base64)
                                        
                                         #build Data-String
                                          local DATA=$(cat <<-EOD
                                        	{
                                        	"_id": "${PRE_DP}$1",
                                        	"type": "state",
                                        	"common": {
                                        	"name": "$2",
                                        	"type": "$3",
                                        	"role": "state"
                                        	},
                                        	"native": {
                                        	"name": "$2",
                                        	"type": "$3",
                                        	"role": "state"
                                        	}
                                        	}
                                        	EOD
                                          )
                                        
                                          #Check 4 Units
                                           if [ "$4" != "" ]; then DATA=$(echo $DATA | sed "s|\"role\": \"state\"|\"role\": \"state\", \"unit\": \"$4\"|g"); fi
                                        
                                         local RESULT=$(curl -skX 'POST' \
                                          ${RESTAPI_URL}'/v1/object/'${PRE_DP}${1} \
                                          -H 'accept: application/json' \
                                          -H 'authorization: Basic '${TOKEN} \
                                          -H 'Content-Type: application/json' \
                                          --data "$DATA"
                                         )
                                        
                                          #Fehler beim anlegen?
                                          if [[ $RESULT == *"error"* ]]; then local FEHLER_ioB=$(echo ${RESULT} | jq -r '.error')
                                           echo -e "${RE} Fehlermeldung beim Anlegen des Datenpunktes: ${FEHLER_ioB}${WE}\n"
                                          fi
                                          if [ "$RESULT" == "" ]; then echo -e "${RE} Keine Antwort der Rest-API erhalten! Stimmt das Protokoll (http/https), IP-Adresse und der Port?${WE}\n"; fi
                                        
                                        }
                                        
                                        
                                          #gibt es Parameter?
                                          while [ "$1" != "" ]; do
                                            case $1 in
                                                --install )             checker
                                                                        install
                                                                        exit 0
                                                                        ;;
                                                --menu )                menu
                                                                        exit 0
                                                                        ;;
                                                --service )             service
                                                                        exit 0
                                                                        ;;
                                                --gitup )               checker
                                                                        main
                                                                        exit 0
                                                                        ;;
                                                --patch )               checker
                                                                        patcher
                                                                        exit 0
                                                                        ;;
                                                -h | --help )           usage
                                                                        exit 0
                                                                        ;;
                                                * )                     echo -e "\n${RE}\"$1\"${WE} wird nicht unterstützt...\n\n"
                                                                        usage
                                                                        exit 1
                                            esac
                                            shift
                                          done
                                        
                                        
                                        
                                          checker
                                          main
                                        

                                        was hab ich da wieder verwustelt?

                                        ° Node.js: 20.17.0 NPM: 10.8.2
                                        ° Proxmox, Ubuntu 22.04.3 LTS
                                        ° Fixer ---> iob fix

                                        da_WoodyD 1 Antwort Letzte Antwort
                                        0
                                        • NegaleinN Negalein

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

                                          ./ws_updater.beta --patch

                                          Hallo

                                          Bei mir funktioniert der ws_updater.beta nicht.

                                          dietpi@DietPi:~$ chmod +x ws_updater.beta
                                          chmod: Zugriff auf 'ws_updater.beta' nicht möglich: Datei oder Verzeichnis nicht gefunden
                                          dietpi@DietPi:~$ ./ws_updater.beta --patch
                                          -bash: ./ws_updater.beta: Datei oder Verzeichnis nicht gefunden
                                          dietpi@DietPi:~$
                                          

                                          0dae8c91-9c9f-424c-81e1-18b3b9c8c084-image.png

                                          #!/bin/bash
                                          
                                          UPDATE_VER=V2.21.0
                                          
                                          ###  Farbdefinition
                                                GR='\e[1;32m'
                                                GE='\e[1;33m'
                                                WE='\e[1;37m'
                                                BL='\e[1;36m'
                                                RE='\e[1;31m'
                                          
                                          
                                          echo -e "\n\n${BL}"
                                          echo -e '
                                              _       _______       __  __          __      __
                                             | |     / / ___/      / / / /___  ____/ /___ _/ /____  _____
                                             | | /| / /\__ \______/ / / / __ \/ __  / __ `/ __/ _ \/ ___/
                                             | |/ |/ /___/ /_____/ /_/ / /_/ / /_/ / /_/ / /_/  __/ /
                                             |__/|__//____/      \____/ .___/\__,_/\__,_/\__/\___/_/'  ${GE}${UPDATE_VER}${BL}
                                          echo -en '                           /_/'
                                          echo -e "${WE}\n"
                                          
                                          
                                           #Nicht als root...
                                           if [ $(whoami) = "root" ]; then echo -e "$RE Ausführung als \"root\" nicht möglich...!\n"; exit 1; fi
                                          
                                           #Verzeichnis feststellen + conf lesen
                                            DIR=$(pwd)
                                            if [ -f "${DIR}/wetterstation.conf" ]; then . "${DIR}/wetterstation.conf"; fi
                                          
                                          
                                           #Test ob Datei auf GitHub, sonst Fallback
                                           if [ "$1" = "" ] && ( ! curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh|grep -xq '404: Not Found' ); then
                                              echo -e "$WE Benutze neuste Version ${BL}$(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh|grep -m 1 'UPDATE_VER='|cut -d"=" -f2)${WE} auf GitHub..."
                                              sleep 2
                                              source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --menu
                                              exit 0
                                           fi
                                          
                                          
                                          
                                          checker() {
                                                   #Test ob bc, jq, unzip, patch und dc installiert sind / Service im User-Kontext läuft
                                                   #installierte Influx-Version
                                                   #Rest-Api im ioB läuft
                                                   #Service im User-Kontext?
                                                   if [ ! $(cat /etc/systemd/system/wetterstation.service|grep User=) ]; then
                                                    echo -e "\n$GE Service läuft nicht im User-Kontext sondern unter User ${RE}root${GE}..."
                                                    jn_abfrage "\n$WE Soll nun auf User (empfohlen) umgestellt werden?"
                                                    if [ -z $antwort ]; then echo -e "\n"; return; fi
                                                    echo -e "\n"
                                                    sudo sed -i '/\[Service\]/a User='$(whoami)'\nGroup='$(whoami) /etc/systemd/system/wetterstation.service
                                                    echo -e "\n Done... Restarte Service...\n"
                                                    sudo systemctl daemon-reload
                                                    sudo systemctl restart wetterstation
                                                   fi
                                                   if [ ! -z ${INFLUX_API} ] && [ $(which influxd) ]; then check_prog influx; fi
                                                   check_prog bc
                                                   check_prog jq
                                                   check_prog dc
                                                   check_prog unzip
                                                   check_prog patch
                                                   check_prog restapi
                                                   echo -e "\n"
                                          }
                                          
                                          
                                          check_prog() {
                                                   if [ $1 == "influx" ]; then
                                                    if [ ! $(influxd version|cut -d" " -f2|grep v1.) ]; then echo -e "${RE} Offizieller Support nur für Influx V1.x!\n\n${WE}"; sleep 5; fi
                                                    return
                                                   fi
                                                   if [ $1 == "restapi" ]; then
                                                    if [ "$(nc -vz $(echo "${RESTAPI_URL}" | grep -o '[\.0-9]*') &> /dev/null; echo $?)" -eq "0" ]; then RESTAPI=true
                                                      echo -e "\n Zugriff auf $GR'Rest-API'$WE im ioBroker: [$GR✓$WE]"
                                                     else
                                                      RESTAPI=false
                                                      echo -e "\n Zugriff auf $GR'Rest-API'$WE im ioBroker: [$RE✗$WE]"
                                                      echo -e "  (Dies ist kein Problem, es können nur keine neuen Datenpunkte bei Bedarf automatisch angelegt werden."
                                                      echo -e "  Dies muss im Fall neuer Datenpunkte per 'wetterstation.js' von Hand im ioBroker erfolgen.)"
                                                     fi
                                                    return
                                                   fi
                                                   if [ $(which $1) ]; then
                                                     echo -e " $GR'$1'$WE installiert: [$GR✓$WE]"
                                                    else
                                                     echo -e " $GR'$1'$WE installiert: [$RE✗$WE]"
                                                     echo -e "\n\n $RE Bitte zuerst '$1' installieren [sudo apt install $1]\n"
                                                     exit 1
                                                   fi
                                          }
                                          
                                          backup() {
                                           echo -e "\n Lege Sicherungskopie der wetterstation.conf an..."
                                           cp ./wetterstation.conf ./wetterstation.conf.backup
                                          }
                                          
                                          FEHLER() {
                                           if [ "$UPDATE_VER" == "$VERSION" ]; then echo -e "\n$WE Version ist aktuell, nothing to do...\n"; exit 0; fi
                                           echo -e "\n  Updater ist ${RE}nur${WE} für Versionen ab V1.4.0 !\n"
                                           exit 1
                                          }
                                          
                                          patcher() {
                                                   echo -en "\n${WE} Soll die ${RE}wetterstation.conf ${WE}nun auf eine neue Version gepatcht werden? [${GR}J/N${WE}]"
                                                     read -n 1 -p ": " JN
                                                     if [ "$JN" = "J" ] || [ "$JN" = "j" ]; then
                                                       echo -e "\n\n\n"
                                                      else
                                                       echo -e "\n\n\n"
                                                       echo -e " $RE Abbruch... ${WE}\n\n\n"; exit 1;
                                                     fi
                                          
                                            VERSION_SH=$(cat ./wetterstation.sh|grep "SH_VER"|cut -d"=" -f2|tr -d \")
                                          
                                            while [ "$VERSION_CONF" != "$VERSION_SH" ]
                                             do
                                              VERSION_CONF=$(cat ./wetterstation.conf|grep "### Settings V"|cut -d" " -f3)
                                          
                                              case ${VERSION_CONF} in
                                                     V1.4.0) PATCH140 ;;
                                                     V1.5.0) PATCH150 ;;
                                                     V1.6.0) PATCH160 ;;
                                                     V2.0.0) PATCH210 ;;
                                                     V2.1.0) PATCH220 ;;
                                                     V2.2.0) PATCH230 ;;
                                                     V2.3.0) PATCH240 ;;
                                                     V2.4.0) PATCH250 ;;
                                                     V2.5.0) PATCH260 ;;
                                                     V2.6.0) PATCH270 ;;
                                                     V2.7.0) PATCH280 ;;
                                                     V2.8.0) PATCH2100 ;;
                                                     V2.9.0) echo -e "$GE Kein Patch nötig...\n" ;;
                                                     V2.10.0) PATCH2110 ;;
                                                     V2.11.0) PATCH2111 ;;
                                                     V2.11.1) PATCH2120 ;;
                                                     V2.12.0) PATCH2121 ;;
                                                     V2.12.1) PATCH2130 ;;
                                                     V2.13.0) PATCH2140 ;;
                                                     V2.14.0) PATCH2150 ;;
                                                     V2.15.0) PATCH2160 ;;
                                                     V2.16.0) PATCH2170 ;;
                                                     V2.17.0) PATCH2180 ;;
                                                     V2.18.0) PATCH2190 ;;
                                                     V2.19.0) PATCH2200 ;;
                                                     V2.20.0) PATCH2210 && exit 0;;
                                                     V2.21.0) echo -e "$GE Version ist bereits aktuell...\n" && exit 0;;
                                                           *) FEHLER
                                              esac
                                          
                                             done
                                           exit 0
                                          }
                                          
                                          main() {
                                                   #Wetterstation im Verzeichnis vorhanden
                                                   if [ ! -f ./wetterstation.sh ]; then
                                                    echo -e "\n$RE Keine Version von WLAN-Wetterstation im aktuellen Verzeichnis gefunden...\n"
                                                    exit 1
                                                   fi
                                          
                                                   #aktuelle Version von GitHub holen
                                                    GitHub=$(curl -sH "Accept: application/vnd.github.v3+json" https://api.github.com/repos/SBorg2014/WLAN-Wetterstation/releases/latest)
                                                    akt_ver_long=$(echo ${GitHub} | jq -r '.name' | sed -e 's/-/vom/; s/\"//g')
                                                    akt_version=$(echo ${GitHub} | jq -r '.tag_name')
                                                    info_version=$(echo ${GitHub} | jq -r '.body' | tr -d '*\\')
                                          
                                                    echo -e " Aktuelle Version (latest) auf GitHub: ${GR}$akt_ver_long$WE"
                                                    VERSION=$(cat ./wetterstation.sh|grep "SH_VER"|cut -d"=" -f2|tr -d \")
                                                    echo -e " Version im aktuellen Verzeichnis    : ${GR}$VERSION"
                                          
                                                    if [ "$VERSION" == "$akt_version" ]; then echo -e "\n$GE Version ist bereits aktuell...\n"; exit 0; fi
                                          
                                                    echo -e "\n$WE Informationen zum Release $akt_version:"
                                                    echo -e " ─────────────────────────────────────────────────────────────"
                                                    echo -e "\n$GE $info_version\n$WE"
                                          
                                                    jn_abfrage "\n$WE Soll ein Update von WLAN-Wetterstation durchgeführt werden?"
                                                    if [ -z $antwort ]; then echo -e "\n"; exit 0; fi
                                          
                                                   #Update
                                                    echo -e "\n\n$WE Führe Update aus...\n"
                                                    DL_URL=$(echo ${GitHub} | jq -r '.assets | .[].browser_download_url')
                                                    curl -LJ ${DL_URL} -o tmp.zip
                                                    unzip -o tmp.zip -x wetterstation.conf
                                                    sudo chmod +x wetterstation.sh ws_updater.sh
                                          
                                                    rm tmp.zip
                                                    source ./ws_updater.sh --patch
                                          
                                                    jn_abfrage "\n ${WE}Update ausgeführt. Soll der Service nun neu gestartet werden?"
                                                    if [ ! -z $antwort ]; then echo -e "\n"; sudo systemctl restart wetterstation.service; fi
                                          
                                          exit
                                          }
                                          
                                          ########################################################################################
                                          #Patch Version V1.4.0 auf V1.5.0
                                          PATCH140() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V1.5.0 ..."
                                           sed -i '/^.#Port der Wetterstation/i \ #Protokoll (HTTP oder HTTPS) \/ default: HTTP\n  WEB=HTTP\n\n #User-Authentifizierung falls benutzt; sonst leer lassen\n  AUTH_USER=\n  AUTH_PASS=\n' ./wetterstation.conf
                                           sed -i 's/### Settings V1.4.0/### Settings V1.5.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V1.5.0 auf V1.6.0
                                          PATCH150() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V1.6.0 ..."
                                           sed -i 's/### Settings V1.5.0/### Settings V1.6.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V1.6.0 auf V2.0.0
                                          PATCH160() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.0.0 ..."
                                           sed -i '/^.#Protokoll (HTTP oder HTTPS)/i \ #Protokoll der Wetterstation [1/2] \/ 1=Wunderground ; 2=Ecowitt \/ default: 1\n  WS_PROTOKOLL=1\n\n #Anzahl der vorhandenen DP50 Sensoren \/ default: 0\n  ANZAHL_DP50=0\n\n #HTTP Anzahl der vorhandenen DP100 Sensoren \/ default: 0\n  ANZAHL_DP100=0\n' ./wetterstation.conf
                                           sed -i 's/### Settings V1.6.0/### Settings V2.0.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.0.0 auf V2.1.0
                                          PATCH210() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.1.0 ..."
                                           sed -i 's/#Protokoll der Wetterstation \[1\/2\] \/ 1=Wunderground ; 2=Ecowitt \/ default: 1/#Protokoll der Wetterstation \[1\/2\/9\] \/ 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi \/ default: 1/' ./wetterstation.conf
                                           sed -i 's/### Settings V2.0.0/### Settings V2.1.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.1.0 auf V2.2.0
                                          PATCH220() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.2.0 ..."
                                           sed -i 's/Chillfaktor/gefühlte Temperatur/' ./wetterstation.conf
                                           sed -i 's/### Settings V2.1.0/### Settings V2.2.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.2.0 auf V2.3.0
                                          PATCH230() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.3.0 ..."
                                           sed -i '/#Anzahl der vorhandenen DP50/,/ANZAHL_DP100=/c\ #Anzahl der vorhandenen Zusatzsensoren \/ default: 0\n  ANZAHL_DP50=0\n  ANZAHL_DP60=0\n  ANZAHL_DP100=0' ./wetterstation.conf
                                           sed -i '/^.#letztes Regenereignis/i \ #InfluxDB-Konfiguration \/ ohne InfluxDB alles leer lassen\n  #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]\n   INFLUX_API=\n  #Name, User und Passwort der InfluxDB-Datenbank\n   INFLUX_DB=\n   INFLUX_USER=\n   INFLUX_PASSWORD=\n' ./wetterstation.conf
                                           sed -i 's/### Settings V2.2.0/### Settings V2.3.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Eventuelle Zusatzsensoren DP50/60/100 müssen neu eingetragen werden!"
                                           echo -e " Neuen Configblock für Influx beachten/konfigurieren!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.3.0 auf V2.4.0
                                          PATCH240() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.4.0 ..."
                                           sed -i '/^.*ANZAHL_DP100=.*/a \  ANZAHL_DP200=0' ./wetterstation.conf
                                           sed -i 's/### Settings V2.3.0/### Settings V2.4.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Eventuelle Zusatzsensoren DP200 müssen eingetragen werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.4.0 auf V2.5.0
                                          PATCH250() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.5.0 ..."
                                           sed -i '/^.*ANZAHL_DP100=.*/i \  ANZAHL_DP70=0' ./wetterstation.conf
                                           sed -i 's/### Settings V2.4.0/### Settings V2.5.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Eventuelle Zusatzsensoren DP70 müssen eingetragen werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.5.0 auf V2.6.0
                                          PATCH260() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.6.0 ..."
                                           patch_260 && patch ./wetterstation.conf < patch
                                           rm patch
                                           echo -e " ${GE}Windy kann nun mittels \033[30m\033[47m./wetterstation.sh --windy_reg\033[0m ${GE}eingerichtet werden !\n"
                                          }
                                          
                                          
                                          #Patch Version V2.6.0 auf V2.7.0
                                          PATCH270() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.7.0 ..."
                                           sed -i '/^.*ANZAHL_DP200=.*/a \  ANZAHL_DP250=0' ./wetterstation.conf
                                           sed -i 's/### Settings V2.6.0/### Settings V2.7.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Eventueller Zusatzsensor DP250/WH45 muss eingetragen werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.7.0 auf V2.8.0
                                          PATCH280() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.8.0 ..."
                                           sed -i '/^.*SONNENSCHEIN_TXTFORMAT=.*/a \ \n\n  #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)?\n   WETTERCOM_ID=\n   WETTERCOM_PW=' ./wetterstation.conf
                                           sed -i 's/### Settings V2.7.0/### Settings V2.8.0/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Falls die Übertragung der Wetterdaten an wetter.com erfolgen soll, nun aktivieren durch eintragen von User-ID und Passwort!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.8.0 auf V2.10.0
                                          PATCH2100() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.10.0 ..."
                                           patch_2100 && patch ./wetterstation.conf < patch.dat
                                           rm patch.dat
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Eventuelle Zusatzsensoren DP300/WS68, DP40/WH32 oder WH25/WH31 müssen eingetragen werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.10.0 auf V2.11.0
                                          PATCH2110() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.11.0 ..."
                                           sed -i 's/### Settings V2.10.0/### Settings V2.11.0/' ./wetterstation.conf
                                           sed -i '/^.*debug=.*/a \ \n #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden?\n  RESET_KOMFEHLER=false' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Parameter für Kommunikationsfehler ggf. ändern. Per Default verbleibt er im Zustand 'true' bei einem Fehler.\n"
                                          }
                                          
                                          
                                          #Patch Version V2.11.0 auf V2.11.1
                                          PATCH2111() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.11.1 ..."
                                           sed -i 's/### Settings V2.11.0/### Settings V2.11.1/' ./wetterstation.conf
                                           sed -i 's/Sainlogic Profi/DNS/' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.11.1 auf V2.12.0
                                          PATCH2120() {
                                           backup
                                           echo -e "\n Patche wetterstation.conf auf V2.12.0 ..."
                                           sed -i 's/### Settings V2.11.1/### Settings V2.12.0/' ./wetterstation.conf
                                           sed -i '/^.*WETTERCOM_PW=.*/a \ \n #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false\n #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt\n  FIX_AUSSENTEMP=false' ./wetterstation.conf
                                           echo -e " Fertig...\n"
                                           echo -e " ${GE}Parameter für FIX_AUSSENTEMP ggf. ändern. Per Default werden auch unplausible Messwerte an den ioB geschickt.\n"
                                          }
                                          
                                          
                                          #Patch Version V2.12.0 auf V2.12.1
                                          PATCH2121() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.12.1 ..."
                                           sed -i 's/### Settings V2.12.0/### Settings V2.12.1/' ./wetterstation.conf
                                           echo -e "${WE} Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.12.1 auf V2.13.0
                                          PATCH2130() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.13.0 ..."
                                           sed -i 's/### Settings V2.12.1/### Settings V2.13.0/' ./wetterstation.conf
                                           sed -i '/^.*ANZAHL_WH31=.*/a \  ANZAHL_DP35=0' ./wetterstation.conf
                                           echo -e "${WE} Fertig...\n"
                                           echo -e " ${GE}Eventuelle Zusatzsensoren DP35 müssen eingetragen werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.13.0 auf V2.14.0
                                          PATCH2140() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.14.0 ..."
                                           sed -i 's/### Settings V2.13.0/### Settings V2.14.0/' ./wetterstation.conf
                                           sed -i '/^.*WEB=HTTP.*/a \\n #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten\n  WEB_IGN_SSL_ERROR=false' ./wetterstation.conf
                                           echo -e "${WE} Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.14.0 auf V2.15.0
                                          PATCH2150() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.15.0 ..."
                                           sed -i 's/### Settings V2.14.0/### Settings V2.15.0/' ./wetterstation.conf
                                           sed -i '/^.*WETTERCOM_PW=.*/a \\n\n #Daten an Wunderground.com senden? [true/false] / default: false\n   #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen.\n   WUNDERGROUND_UPDATE=false' ./wetterstation.conf
                                           sed -i 's/#InfluxDB-Konfiguration/#InfluxDB-Konfiguration für Influx V1.x.x/' ./wetterstation.conf
                                           echo -e "${WE} Fertig...\n"
                                           echo -e " ${GE}Die Datenübertragung an Wunderground.com kann nun aktiviert werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.15.0 auf V2.16.0
                                          PATCH2160() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.16.0 ..."
                                           sed -i 's/### Settings V2.15.0/### Settings V2.16.0/' ./wetterstation.conf
                                           sed -i '/^.*IPP=.*/a \\n #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt\n  RESTAPI_URL=\n  RESTAPI_USER=\n  RESTAPI_PW=' ./wetterstation.conf
                                           echo -e "${WE} Fertig...\n"
                                           echo -e " ${GE}Die Rest-API kann nun durch Eingabe der URL und den Zugangsdaten aktiviert werden!\n"
                                          }
                                          
                                          
                                          #Patch Version V2.16.0 auf V2.17.0
                                          PATCH2170() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.17.0 ..."
                                           sed -i 's/### Settings V2.16.0/### Settings V2.17.0/' ./wetterstation.conf
                                           sed -i '/^.*WUNDERGROUND_UPDATE=.*/a \\n #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an\n #windy/OpenSenseMap/wetter.com übertragen? [true/false] / default: false\n  USE_AVG_WIND=false' ./wetterstation.conf
                                           if [ ${RESTAPI} == "true" ]; then make_objects ".Aussentemperatur_Trend" "Trend der Aussentemperatur der letzten Stunde" "number" "°C"; fi
                                           echo -e "${WE} Fertig...\n"
                                           echo -e " ${GE}Die alternative Datenübertragung von Windrichtung und -geschwindigkeit der letzten\n 10 Minuten an windy/OpenSenseMap/wetter.com kann nun aktiviert werden!"
                                           echo -e " Einstellung dafür in der wetterstation.conf: ${BL}USE_AVG_WIND=true\n${WE}"
                                          }
                                          
                                          
                                          #Patch Version V2.17.0 auf V2.18.0
                                          PATCH2180() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.18.0 ..."
                                           sed -i 's/### Settings V2.17.0/### Settings V2.18.0/' ./wetterstation.conf
                                           sed -i '/^.*ANZAHL_DP35=.*/i \  ANZAHL_DP10=0' ./wetterstation.conf
                                           if [ ${RESTAPI} == "true" ]; then
                                            make_objects ".Info.Wolkenbasis" "Höhe der Wolkenbasis" "number" "m"
                                            make_objects ".Info.Shellscriptversion" "Versionsnummer des Scriptes" "string"
                                            make_objects ".Windrichtung_Text_10min" "Windrichtung Durchschnitt 10 Minuten als Text" "string"
                                           fi
                                           echo -e "${WE} Fertig...\n"
                                           echo -e " ${GE}Eventuelle Zusatzsensoren DP10/WN35 können nun eingetragen werden!\n${WE}"
                                          }
                                          
                                          
                                          #Patch Version V2.18.0 auf V2.19.0
                                          PATCH2190() {
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.19.0 ..."
                                           sed -i 's/### Settings V2.18.0/### Settings V2.19.0/' ./wetterstation.conf
                                           sed -i '/^.*ANZAHL_WH31=.*/a \  ANZAHL_WS90=0' ./wetterstation.conf
                                           if [ ${RESTAPI} == "true" ]; then make_objects ".Info.Wetterwarnung" "mögliche Wetterereignisse" "string"
                                          #     #Abfrage starten zum Anlegen der DPs des WS90
                                          #     jn_abfrage "${WE} Sollen nun Datenpunkte für den WS90 angelegt werden...(nur sinnvoll wenn man auch einen hat ;-))?"
                                          #     if [ ! -z $antwort ]; then
                                          #      make_objects ".WS90" "WS90 Wittboy" "folder"
                                          #      make_objects ".WS90.1.aktuelle_Regenrate" "WS90 Kanal 1 aktuelle Regenrate" "number" "mm/h"
                                          #     fi
                                           fi
                                           echo -e "\n${WE} Fertig...\n"
                                           echo -e " ${GE}Eventueller Zusatzsensor WS90 kann nun eingetragen werden!${WE}"
                                          # if [ ${RESTAPI} != "true" ] || [ -z $antwort ]; then echo -e " ${GE}Dazu noch 'wetterstation.js' im ioB ersetzen, konfigurieren und einmalig ausführen.\n${WE}"; fi
                                           echo -e " ${GE}Dazu noch 'wetterstation.js' im ioB ersetzen, konfigurieren und einmalig ausführen.\n${WE}"
                                          }
                                          
                                          
                                          #Patch Version V2.19.0 auf V2.20.0
                                          PATCH2200(){
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.20.0 ..."
                                           sed -i 's/### Settings V2.19.0/### Settings V2.20.0/' ./wetterstation.conf
                                           echo -e "\n${WE} Fertig...\n"
                                          }
                                          
                                          
                                          #Patch Version V2.20.0 auf V2.21.0
                                          PATCH2210(){
                                           backup
                                           echo -e "${WE}\n Patche wetterstation.conf auf V2.21.0 ..."
                                           sed -i 's/### Settings V2.20.0/### Settings V2.21.0/' ./wetterstation.conf
                                           sed -i '/^.*Ende Usereinstellungen.*/i \\n #############################################################################################\n ###    AWEKAS - Einstellungen (nur nötig falls AWEKAS benutzt werden soll)                ###\n #############################################################################################' ./wetterstation.conf
                                           sed -i '/^.*Ende Usereinstellungen.*/i \\n  #AWEKAS aktivieren [true/false] / default: false\n   use_awekas=false\n\
                                            #AWEKAS Login Username und Password\n   AWEKAS_USER=\n   AWEKAS_PW=\n\
                                           #############################################################################################\
                                           ###    AWEKAS - Ende der Einstellungen    ###################################################\
                                           #############################################################################################\n' ./wetterstation.conf
                                           echo -e "\n${WE} Fertig...\n"
                                          }
                                          
                                          
                                          patch_260() {
                                          cat <<EoD >patch
                                          --- wetterstation.conf_250	2021-05-13 13:45:06.297750501 +0200
                                          +++ wetterstation.conf	2021-05-12 18:39:24.358821394 +0200
                                          @@ -1,4 +1,4 @@
                                          -### Settings V2.5.0 -----------------------------------------------------------
                                          +### Settings V2.6.0 -----------------------------------------------------------
                                            #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
                                             debug=false
                                          @@ -112,5 +112,42 @@
                                            #############################################################################################
                                          +
                                          + #############################################################################################
                                          + ###    Windy - Einstellungen (nur nötig falls Windy benutzt werden soll)                  ###
                                          + #############################################################################################
                                          +
                                          +  #Windy aktivieren [true/false] / default: false
                                          +   use_windy=false
                                          +
                                          +  #Windy API-Key
                                          +   windy_APIKey=
                                          +
                                          +  #Station [number: 0 - 2147483647] / default: 0
                                          +   windy_Station=
                                          +
                                          +  #Name der Station [Text]
                                          +   windy_Name=
                                          +
                                          +  #Latitude/Breitengrad der Station
                                          +   windy_Latitude=
                                          +
                                          +  #Longitude/Längengrad der Station
                                          +   windy_Longitude=
                                          +
                                          +  #Elevation/Höhe ÜNN
                                          +   windy_Elevation=
                                          +
                                          +  #Montagehöhe Temperatursensor über Boden
                                          +   windy_Tempheight=
                                          +
                                          +  #Montagehöhe Windsensor über Boden
                                          +   windy_Windheight=
                                          +
                                          + #############################################################################################
                                          + ###    Windy - Ende der Einstellungen    ####################################################
                                          + #############################################################################################
                                          +
                                          +
                                           ###  Ende Usereinstellungen
                                           ###EoF
                                          EoD
                                          }
                                          
                                          patch_2100() {
                                          cat <<EofP >patch.dat
                                          --- wetterstation.org	2021-10-26 20:01:56.772982845 +0200
                                          +++ wetterstation.conf	2021-10-26 20:04:21.625615091 +0200
                                          @@ -1,7 +1,10 @@
                                          -### Settings V2.8.0 -----------------------------------------------------------
                                          +### Settings V2.10.0 -----------------------------------------------------------
                                            #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
                                             debug=false
                                          + #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
                                          +  logging=false
                                          +
                                            #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx]
                                             IPP=192.168.1.3:8087
                                          @@ -9,12 +12,15 @@
                                             WS_PROTOKOLL=1
                                            #Anzahl der vorhandenen Zusatzsensoren / default: 0
                                          +  ANZAHL_WH31=0
                                          +  ANZAHL_DP40=0
                                             ANZAHL_DP50=0
                                             ANZAHL_DP60=0
                                             ANZAHL_DP70=0
                                             ANZAHL_DP100=0
                                             ANZAHL_DP200=0
                                             ANZAHL_DP250=0
                                          +  ANZAHL_DP300=0
                                            #Protokoll (HTTP oder HTTPS) / default: HTTP
                                             WEB=HTTP
                                          EofP
                                          }
                                          
                                          jn_abfrage() {
                                                   echo -en "\n$1 ${WE}[${GR}J/N${WE}]"
                                                     read -n 1 -p ": " JN
                                                     if [ "$JN" = "J" ] || [ "$JN" = "j" ]; then
                                                       antwort=true
                                                      else
                                                       unset antwort
                                                     fi
                                          
                                          }
                                          
                                          install() {
                                             #WLAN-Wetterstation Installationsroutine
                                              jn_abfrage "${WE}\n Möchten Sie ${BL}WLAN-Wetterstation${WE} im aktuellen Verzeichnis installieren?"
                                              if [ -z $antwort ]; then echo -e "\n ${RE}Abbruch...${WE}\n\n"; exit 1; fi
                                              unset antwort
                                          
                                              #aktuelle Version feststellen, downloaden und entpacken
                                               echo -e "\n\n\n Hole Daten von GitHub..."
                                               GitHub=$(curl -sH "Accept: application/vnd.github.v3+json" https://api.github.com/repos/SBorg2014/WLAN-Wetterstation/releases/latest)
                                               akt_version=$(echo ${GitHub} | jq -r '.name' | sed -e 's/-/vom/; s/\"//g')
                                               echo -e " Aktuelle Version: ${GR}${akt_version}${WE}"
                                               DL_URL=$(echo ${GitHub} | jq -r '.assets | .[].browser_download_url')
                                               echo -e " Lade Datei von GitHub herunter...\n"
                                               curl -LJ ${DL_URL} -o tmp.zip
                                               echo -e "\n Entpacke Dateien...\n"
                                               unzip -n tmp.zip
                                          
                                               echo -e "\n Lösche Dateidownload..."
                                               rm tmp.zip
                                          
                                               echo -e "\n Dateien ausführbar setzen..."
                                               chmod +x ws_updater.sh wetterstation.sh
                                          
                                               jn_abfrage "\n${WE} Soll WLAN-Wetterstation nun als Service eingerichtet werden?"
                                               if [ ! -z $antwort ]; then service; fi
                                          
                                              #Konfiguration öffnen
                                               jn_abfrage "\n${WE} Konfiguration nun öffnen?"
                                               if [ ! -z $antwort ]; then
                                                 if [ ! -f ~/.selected_editor ]; then update-alternatives --config editor; fi
                                                 $(cat ~/.selected_editor | grep SELECTED_EDITOR | cut -d"=" -f2 | tr -d \") wetterstation.conf
                                               fi
                                          
                                              #DPs im ioB anlegen...
                                               jn_abfrage "\n${BL} Nun mittels des Javascriptes ${GE}'wetterstation.js'${BL} die Datenpunkte im ioBroker anlegen! Fertig [\e[101m Nein=Abbruch \e[0m${BL}]?"
                                               if [ -z $antwort ]; then echo -e "\n"; exit 1; fi
                                               unset antwort
                                          
                                              #Testlauf starten
                                               jn_abfrage "\n${WE} Einmaligen Testdurchlauf im Debug-Modus starten...(empfiehlt sich)?"
                                               if [ ! -z $antwort ]; then ./wetterstation.sh --debug; fi
                                          
                                              #enable Service
                                               jn_abfrage "\n${WE} WLAN-Wetterstation Service nun starten?"
                                               if [ ! -z $antwort ]; then sudo systemctl start wetterstation.service; fi
                                          
                                              echo -e "\n\n Fertig..."
                                              echo -e " Wenn der Testlauf ausgeführt wurde und erfolgreich verlief, sollten nun aktuelle Daten\n der Wetterstation im ioBroker in den Datenpunkten stehen ;-)\n"
                                          }
                                          
                                          service() {
                                                #existiert der Service schon?
                                                if [ -f /etc/systemd/system/wetterstation.service ]; then
                                                   echo -e "\n\n ${RE}Wetterstation-Service existiert bereits!${WE}\n"
                                                   return 0
                                                fi
                                          
                                                  sudo tee -a /etc/systemd/system/wetterstation.service > /dev/null <<-EoD
                                          	[Unit]
                                          	Description=Service für ioBroker Wetterstation
                                          	[Service]
                                          	User=$(whoami)
                                          	Group=$(whoami)
                                          	ExecStart=${DIR}/wetterstation.sh
                                          	[Install]
                                          	WantedBy=multi-user.target
                                          	EoD
                                          
                                                echo -e "\n Aktiviere den Service nun..."
                                                sudo systemctl daemon-reload
                                                sudo systemctl enable wetterstation.service
                                                echo -e "\n ${GE}Der Service kann nun mittels ${GR}systemctl start wetterstation${GE} gestartet werden..."
                                          
                                          }
                                          
                                          usage() {
                                                  echo -e "\nusage: ws_updater [[--install] | [--patch] | [--service] | [-h|--help]]\n"
                                                  echo -e " --install\tinstalliert WLAN-Wetterstation im aktuellen Verzeichnis"
                                                  echo -e " --patch\tpatcht die 'wetterstation.conf' auf eine neue Version"
                                                  echo -e " --service\trichtet WLAN-Wetterstation als Service ein"
                                                  echo -e " -h | --help\tdieses Hilfemenue\n"
                                          }
                                          
                                          menu() {
                                                  clear
                                                  echo -e "$WE\n\n\n"
                                                  echo -e "\t Auswahlmenü für WLAN-Wetterstation:"
                                                  echo -e "\t_____________________________________\n\n"
                                                  echo -e "\t [${BL}1${WE}] im aktuellen Verzeichnis installieren\n"
                                                  echo -e "\t [${BL}2${WE}] als Service einrichten\n"
                                                  echo -e "\t [${BL}3${WE}] Konfigurationsdatei patchen\n"
                                                  echo -e "\t [${BL}4${WE}] Update ausführen\n\n"
                                                  echo -e "\t [${BL}E${WE}] Exit\n\n\n"
                                                  echo -en "\t Ihre Auswahl: [${GR}1-4,E${WE}]"
                                          
                                                  read -n 1 -p ": " MENU_AUSWAHL
                                                  echo -e "\n"
                                                  case $MENU_AUSWAHL in
                                                     1)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --install
                                                          exit 0 ;;
                                                     2)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --service
                                                          exit 0 ;;
                                                     3)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --patch
                                                          exit 0 ;;
                                                     4)   source <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh) --gitup
                                                          exit 0 ;;
                                                     e|E) exit 0 ;;
                                                     *) menu
                                                  esac
                                          }
                                          
                                          make_objects(){
                                           #1: ID
                                           #2: name
                                           #3: type
                                           #4: unit
                                          
                                           echo -e "\n ${WE}Lege neues Object im ioBroker an: $BL${PRE_DP}$1$WE"
                                           local TOKEN=$(echo -n ${RESTAPI_USER}:${RESTAPI_PW} | base64)
                                          
                                           #build Data-String
                                            local DATA=$(cat <<-EOD
                                          	{
                                          	"_id": "${PRE_DP}$1",
                                          	"type": "state",
                                          	"common": {
                                          	"name": "$2",
                                          	"type": "$3",
                                          	"role": "state"
                                          	},
                                          	"native": {
                                          	"name": "$2",
                                          	"type": "$3",
                                          	"role": "state"
                                          	}
                                          	}
                                          	EOD
                                            )
                                          
                                            #Check 4 Units
                                             if [ "$4" != "" ]; then DATA=$(echo $DATA | sed "s|\"role\": \"state\"|\"role\": \"state\", \"unit\": \"$4\"|g"); fi
                                          
                                           local RESULT=$(curl -skX 'POST' \
                                            ${RESTAPI_URL}'/v1/object/'${PRE_DP}${1} \
                                            -H 'accept: application/json' \
                                            -H 'authorization: Basic '${TOKEN} \
                                            -H 'Content-Type: application/json' \
                                            --data "$DATA"
                                           )
                                          
                                            #Fehler beim anlegen?
                                            if [[ $RESULT == *"error"* ]]; then local FEHLER_ioB=$(echo ${RESULT} | jq -r '.error')
                                             echo -e "${RE} Fehlermeldung beim Anlegen des Datenpunktes: ${FEHLER_ioB}${WE}\n"
                                            fi
                                            if [ "$RESULT" == "" ]; then echo -e "${RE} Keine Antwort der Rest-API erhalten! Stimmt das Protokoll (http/https), IP-Adresse und der Port?${WE}\n"; fi
                                          
                                          }
                                          
                                          
                                            #gibt es Parameter?
                                            while [ "$1" != "" ]; do
                                              case $1 in
                                                  --install )             checker
                                                                          install
                                                                          exit 0
                                                                          ;;
                                                  --menu )                menu
                                                                          exit 0
                                                                          ;;
                                                  --service )             service
                                                                          exit 0
                                                                          ;;
                                                  --gitup )               checker
                                                                          main
                                                                          exit 0
                                                                          ;;
                                                  --patch )               checker
                                                                          patcher
                                                                          exit 0
                                                                          ;;
                                                  -h | --help )           usage
                                                                          exit 0
                                                                          ;;
                                                  * )                     echo -e "\n${RE}\"$1\"${WE} wird nicht unterstützt...\n\n"
                                                                          usage
                                                                          exit 1
                                              esac
                                              shift
                                            done
                                          
                                          
                                          
                                            checker
                                            main
                                          

                                          was hab ich da wieder verwustelt?

                                          da_WoodyD Offline
                                          da_WoodyD Offline
                                          da_Woody
                                          schrieb am zuletzt editiert von
                                          #4330

                                          @negalein richtiges verzeichniss?

                                          gruß vom Woody
                                          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                                          NegaleinN 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          468

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe