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

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

Community Forum

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

NEWS

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

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

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

[Linux Shell-Skript] WLAN-Wetterstation

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

    Ich glaube das war ein Fehler , das ich gestern ein Update auf 1.5.2 gemacht habe ....

    ist mir erst heute aufgefallen , das ich keine Daten mehr bekommen .
    Alles möglich versucht und dann den Fehler entdeckt.
    Ich habe bei mir den Wlan SSID versteckt (den Sinn dafür ist erstmal nebensächlich )
    , habe die SSID Sichbar gemacht und siehe da , die Station verbindet sich .

    Kann da vielleicht einer testen , ob es bei euch auch so jetzt ist !?

    S Offline
    S Offline
    Stormbringer
    schrieb am zuletzt editiert von
    #1121

    @Glasfaser und SBorg, wie immer ihr seid der Hammer. Danke jetzt gehts wieder. Wie kommt ihr da immer drauf g Aber ich hab sicher nix an den Einstellungen geändert, steig da irgendwie bei dem Mittelalter meets ioBroker ned so ganz durch. Also halte ich mich davon fern. Muß wohl das Update rausgelöscht haben.

    @SBorg Hilft dir ein Screenshot von der App mit dem Batterie Alert? Kann nicht davon kommen, dass das eine WU ist und das andere Ecowitt? Aber wie gesagt steig ned so wirklich durch g

    Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

    1 Antwort Letzte Antwort
    0
    • GlasfaserG Glasfaser

      Ich glaube das war ein Fehler , das ich gestern ein Update auf 1.5.2 gemacht habe ....

      ist mir erst heute aufgefallen , das ich keine Daten mehr bekommen .
      Alles möglich versucht und dann den Fehler entdeckt.
      Ich habe bei mir den Wlan SSID versteckt (den Sinn dafür ist erstmal nebensächlich )
      , habe die SSID Sichbar gemacht und siehe da , die Station verbindet sich .

      Kann da vielleicht einer testen , ob es bei euch auch so jetzt ist !?

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

      @Glasfaser Zumindest bei Unifi geht es; das von der Fritte nutze ich nicht. Verbindet sich brav und funktioniert:
      Bild 1.png

      @Stormbringer Kann mit den neuen Sensoren zusammenhängen.
      ...und ich bin ITler, wäre schlimm wenn ich mich nicht damit auskennen würde, wobei, soll es ja auch geben :innocent:
      Screenshot kannst du gerne mal einen machen, aber solange nichts im String gesendet wird, gibt es schlichtweg auch keinen Batteriestatus ;)

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

      S 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @Glasfaser Zumindest bei Unifi geht es; das von der Fritte nutze ich nicht. Verbindet sich brav und funktioniert:
        Bild 1.png

        @Stormbringer Kann mit den neuen Sensoren zusammenhängen.
        ...und ich bin ITler, wäre schlimm wenn ich mich nicht damit auskennen würde, wobei, soll es ja auch geben :innocent:
        Screenshot kannst du gerne mal einen machen, aber solange nichts im String gesendet wird, gibt es schlichtweg auch keinen Batteriestatus ;)

        S Offline
        S Offline
        Stormbringer
        schrieb am zuletzt editiert von Negalein
        #1123

        @SBorg ah daher beziehst du deine Weisheit g Und nochmal blöde Linux Laien Frage... Das der Skript auf WU läuft und von Ecowitt anscheinend nix mitbekommt kann nicht mit den Batterienstatus zusammenhängen?!
        IMG_3775.jpeg

        Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

        SBorgS 1 Antwort Letzte Antwort
        0
        • S Stormbringer

          @SBorg ah daher beziehst du deine Weisheit g Und nochmal blöde Linux Laien Frage... Das der Skript auf WU läuft und von Ecowitt anscheinend nix mitbekommt kann nicht mit den Batterienstatus zusammenhängen?!
          IMG_3775.jpeg

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

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

          deine Weisheit...

          Jepp, zu den grauen gesellen sich auch schon weiße ... Haare ;)
          ...und nein, gibt keine blöde Fragen. Doch, kann schon damit zusammenhängen. Wenn bspw. beim Ecowitt-Protokoll dieser mitgesendet würde/wird. Ich habe das aber mangels Sensor(en) noch nicht weiter verfolgt. Für den Anwender ist es (dann) egal ob er jetzt Wunderground oder Ecowitt in der App als Übertragungsprotokoll auswählt.

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

          S 1 Antwort Letzte Antwort
          0
          • SBorgS SBorg

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

            deine Weisheit...

            Jepp, zu den grauen gesellen sich auch schon weiße ... Haare ;)
            ...und nein, gibt keine blöde Fragen. Doch, kann schon damit zusammenhängen. Wenn bspw. beim Ecowitt-Protokoll dieser mitgesendet würde/wird. Ich habe das aber mangels Sensor(en) noch nicht weiter verfolgt. Für den Anwender ist es (dann) egal ob er jetzt Wunderground oder Ecowitt in der App als Übertragungsprotokoll auswählt.

            S Offline
            S Offline
            Stormbringer
            schrieb am zuletzt editiert von
            #1125

            @SBorg Jetzt wären wir wieder beim Anfangsproblem, dass sie deine Chinaware immer klauen ;D

            Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

            1 Antwort Letzte Antwort
            0
            • L Offline
              L Offline
              lemuba
              schrieb am zuletzt editiert von lemuba
              #1126

              Ich weiss nicht ob Ihr das schon mitbekommen habt.

              Auf Github gibt es mittlerweile einen Froggit/Ecowitt DP1500 API konformen Python Treiber für Weewx. Der greift ohne benötigte Einstellungen in WS View direkt auf den Dongle zu und zieht sich alle Daten inkl. aller verfügbaren Sensoren. Hab damit gestern mal mein Weewx umgestellt.

              https://github.com/gjr80/weewx-gw1000

              Weewx bringe ich dann mal im Herbst online.
              Parallel für unser Dorf bin ich schon mit PWS Dashboard Online. Das rennt wie Hulle gut.

              https://www.fitzbek-wetter.de/pwsWDxx/PWS_index2.php

              @SBorg Dein Script läuft allerdings immer noch bei mir und füttert über das ursprüngliche Wlan Display fleissig weiter den Iobroker...😎

              Gruss,

              Matthias

              SBorgS R 2 Antworten Letzte Antwort
              0
              • S Offline
                S Offline
                Stormbringer
                schrieb am zuletzt editiert von Stormbringer
                #1127

                Jetzt wo den Mast endlich draussen montiert hab und Netatmo begraben habe tauchen natürlich neue Probleme auf :o(

                1. Bei mir merkt er auch ned, wenns leicht regnet. Habe das schon mal irgendwo im Forum gelesen. Habt ihr das Problem auch? Kann ja nicht sein, dass ne Wetterstation es nicht mitbekommt, wenn es regnet. Netatmo hatte da nie Probleme.

                2. @SBorg Gibts irgendeine Möglichkeit den Skript neu zu starten nachdem man da WLAN wieder einschaltet? Hintergrund ist der, dass der Broker bei Schlaf und ausser Haus das WLAN von der Fritzbox kappt. Vorher hatte ich da keine Probleme und jetzt anscheinend kommt es zu einem Kommunikationsproblem :o( Also eine andere Möglichkeit wie über Exec JS Befehl. Da reichen meine Linuxkenntnisse leider nicht so wirklich aus einen SSH an einen Remote Rechner zu schicken.

                Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                1 Antwort Letzte Antwort
                0
                • L lemuba

                  Ich weiss nicht ob Ihr das schon mitbekommen habt.

                  Auf Github gibt es mittlerweile einen Froggit/Ecowitt DP1500 API konformen Python Treiber für Weewx. Der greift ohne benötigte Einstellungen in WS View direkt auf den Dongle zu und zieht sich alle Daten inkl. aller verfügbaren Sensoren. Hab damit gestern mal mein Weewx umgestellt.

                  https://github.com/gjr80/weewx-gw1000

                  Weewx bringe ich dann mal im Herbst online.
                  Parallel für unser Dorf bin ich schon mit PWS Dashboard Online. Das rennt wie Hulle gut.

                  https://www.fitzbek-wetter.de/pwsWDxx/PWS_index2.php

                  @SBorg Dein Script läuft allerdings immer noch bei mir und füttert über das ursprüngliche Wlan Display fleissig weiter den Iobroker...😎

                  Gruss,

                  Matthias

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

                  @lemuba Jein. Weewx ist IMHO etwas oversized wenn man nur paar Daten aus der Station für das eigene SmartHome zieht. Wenn man natürlich auf Statistiken und richtige Wetterinfos steht, dann keine Frage :)
                  Falls mal das Gateway und der Sensor von ecowitt eintrudeln sollte, steht aber auch der Implementation ins Shellskript nix im Wege. Ich will ja noch paar andere Zusatzsensoren haben ;)

                  @Stormbringer zu 1: Ja, ist völlig normal. Denn die Station hat keinen Regensensor, sondern einen Regenmengenmesser. Da musst du schon einen echten Regensensor nehmen (@ilovegym nimmt bspw. einen umgebauten Aquara von Xiaomi; ich habe hier einen Kemo liegen).
                  zu 2: nur extern. Würde ich das WLAN abschalten würde das halbe SmartHome nicht funktionieren, und ohne Messwerte der Wetterstation würde die Markise nicht ein-/ausfahren, die Rollläden beschatten...
                  Bliebe ein kleines Shellskript auf dem Auswerte-System welches per Cronjob getriggert wird. Das prüft WLAN da --> aktiviere wetterstation-Service.

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

                  S 1 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    @lemuba Jein. Weewx ist IMHO etwas oversized wenn man nur paar Daten aus der Station für das eigene SmartHome zieht. Wenn man natürlich auf Statistiken und richtige Wetterinfos steht, dann keine Frage :)
                    Falls mal das Gateway und der Sensor von ecowitt eintrudeln sollte, steht aber auch der Implementation ins Shellskript nix im Wege. Ich will ja noch paar andere Zusatzsensoren haben ;)

                    @Stormbringer zu 1: Ja, ist völlig normal. Denn die Station hat keinen Regensensor, sondern einen Regenmengenmesser. Da musst du schon einen echten Regensensor nehmen (@ilovegym nimmt bspw. einen umgebauten Aquara von Xiaomi; ich habe hier einen Kemo liegen).
                    zu 2: nur extern. Würde ich das WLAN abschalten würde das halbe SmartHome nicht funktionieren, und ohne Messwerte der Wetterstation würde die Markise nicht ein-/ausfahren, die Rollläden beschatten...
                    Bliebe ein kleines Shellskript auf dem Auswerte-System welches per Cronjob getriggert wird. Das prüft WLAN da --> aktiviere wetterstation-Service.

                    S Offline
                    S Offline
                    Stormbringer
                    schrieb am zuletzt editiert von
                    #1129

                    @SBorg zu 1. Da messt er aber auch Morentau oder wenn Schnee taut oder? Habt ihr den in den Regentrichter rein?
                    Und zu 2. Bin leider nicht so weise wie du ;d Ich versuchs jetzt mal mit Adapter ausschalten, wenn WLAN aus und Notfalls mit Display stromlos mit Z Wave Plug. Vielleicht hilft das ja auch. Aber wäre es nicht machbar, dass man das Skript in der Config einen automatischen Restart geben kann wie den Adaptern beim Broker? Oder ist das zu aufwändig?

                    Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                    SBorgS 1 Antwort Letzte Antwort
                    0
                    • S Stormbringer

                      @SBorg zu 1. Da messt er aber auch Morentau oder wenn Schnee taut oder? Habt ihr den in den Regentrichter rein?
                      Und zu 2. Bin leider nicht so weise wie du ;d Ich versuchs jetzt mal mit Adapter ausschalten, wenn WLAN aus und Notfalls mit Display stromlos mit Z Wave Plug. Vielleicht hilft das ja auch. Aber wäre es nicht machbar, dass man das Skript in der Config einen automatischen Restart geben kann wie den Adaptern beim Broker? Oder ist das zu aufwändig?

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

                      @Stormbringer Der Trichter ist schon recht klein, geht also nicht viel Schnee oder Tau rein. Der Knackpunkt sitzt aber unterhalb des Trichters, denn dort ist eine Wippe mit einer Messschale. Die muss mit xx ml gefüllt sein bis sie kippt. Das ergibt dann einen Impuls = Anzeige auf dem Display 0.x mm Regen (die genauen Werte habe ich gerade nicht im Kopf). Deswegen löst der Tau (ist einfach zu wenig) es nicht aus, Schnee ... (noch keine Erfahrung)? Da liegt aber dann auch dein (oder unser aller) Problem, dass es eben schon eine zeit lang nieseln muss bis die Wippe voll ist und ein Impuls ausgelöst wird. Als "echte" Regenerkennung (bspw. Markise) völlig unbrauchbar. Aber er soll ja auch nur die Menge messen... ;)

                      Im Grunde zwar ja, aber wie oben geschrieben, dreht man normalerweise das WLAN gar nicht ab. Es deswegen direkt im Skript implementieren schafft dann nur eine Fehlerquelle und sorgt für mehr Systemlast (das ist zwar minimal, aber eben für 99.99% der User unnötig. Zumindest ich fahr auch nicht im Sommer den Schneefeger im Kofferraum spazieren ;) )
                      Das sind nur eine handvoll Zeilen und die mache ich dir fertig.

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

                      S crunchipC 2 Antworten Letzte Antwort
                      0
                      • L lemuba

                        Ich weiss nicht ob Ihr das schon mitbekommen habt.

                        Auf Github gibt es mittlerweile einen Froggit/Ecowitt DP1500 API konformen Python Treiber für Weewx. Der greift ohne benötigte Einstellungen in WS View direkt auf den Dongle zu und zieht sich alle Daten inkl. aller verfügbaren Sensoren. Hab damit gestern mal mein Weewx umgestellt.

                        https://github.com/gjr80/weewx-gw1000

                        Weewx bringe ich dann mal im Herbst online.
                        Parallel für unser Dorf bin ich schon mit PWS Dashboard Online. Das rennt wie Hulle gut.

                        https://www.fitzbek-wetter.de/pwsWDxx/PWS_index2.php

                        @SBorg Dein Script läuft allerdings immer noch bei mir und füttert über das ursprüngliche Wlan Display fleissig weiter den Iobroker...😎

                        Gruss,

                        Matthias

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

                        @lemuba Die Seite sieht der sehr nice, aus wie bekommt man den DWD Niederschlagsradar rahmenlos eingebunden? Das würde ich auch in meinem Grafana Panel ganz toll machen.

                        L 1 Antwort Letzte Antwort
                        0
                        • SBorgS SBorg

                          @Stormbringer Der Trichter ist schon recht klein, geht also nicht viel Schnee oder Tau rein. Der Knackpunkt sitzt aber unterhalb des Trichters, denn dort ist eine Wippe mit einer Messschale. Die muss mit xx ml gefüllt sein bis sie kippt. Das ergibt dann einen Impuls = Anzeige auf dem Display 0.x mm Regen (die genauen Werte habe ich gerade nicht im Kopf). Deswegen löst der Tau (ist einfach zu wenig) es nicht aus, Schnee ... (noch keine Erfahrung)? Da liegt aber dann auch dein (oder unser aller) Problem, dass es eben schon eine zeit lang nieseln muss bis die Wippe voll ist und ein Impuls ausgelöst wird. Als "echte" Regenerkennung (bspw. Markise) völlig unbrauchbar. Aber er soll ja auch nur die Menge messen... ;)

                          Im Grunde zwar ja, aber wie oben geschrieben, dreht man normalerweise das WLAN gar nicht ab. Es deswegen direkt im Skript implementieren schafft dann nur eine Fehlerquelle und sorgt für mehr Systemlast (das ist zwar minimal, aber eben für 99.99% der User unnötig. Zumindest ich fahr auch nicht im Sommer den Schneefeger im Kofferraum spazieren ;) )
                          Das sind nur eine handvoll Zeilen und die mache ich dir fertig.

                          S Offline
                          S Offline
                          Stormbringer
                          schrieb am zuletzt editiert von
                          #1132

                          @SBorg Ne meinte mit dem Feuchtigkeitssensor 😉

                          Fand’s allgemein nicht schlecht, wenn mal ein Übertragungsfehler ist mit Neustart des Skripts. Aber wenn du so nett und sozial bist und es nur für mich machst soll’s mir auch recht sein. Vielen Dank 😉

                          Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                          1 Antwort Letzte Antwort
                          0
                          • SBorgS SBorg

                            @Stormbringer Der Trichter ist schon recht klein, geht also nicht viel Schnee oder Tau rein. Der Knackpunkt sitzt aber unterhalb des Trichters, denn dort ist eine Wippe mit einer Messschale. Die muss mit xx ml gefüllt sein bis sie kippt. Das ergibt dann einen Impuls = Anzeige auf dem Display 0.x mm Regen (die genauen Werte habe ich gerade nicht im Kopf). Deswegen löst der Tau (ist einfach zu wenig) es nicht aus, Schnee ... (noch keine Erfahrung)? Da liegt aber dann auch dein (oder unser aller) Problem, dass es eben schon eine zeit lang nieseln muss bis die Wippe voll ist und ein Impuls ausgelöst wird. Als "echte" Regenerkennung (bspw. Markise) völlig unbrauchbar. Aber er soll ja auch nur die Menge messen... ;)

                            Im Grunde zwar ja, aber wie oben geschrieben, dreht man normalerweise das WLAN gar nicht ab. Es deswegen direkt im Skript implementieren schafft dann nur eine Fehlerquelle und sorgt für mehr Systemlast (das ist zwar minimal, aber eben für 99.99% der User unnötig. Zumindest ich fahr auch nicht im Sommer den Schneefeger im Kofferraum spazieren ;) )
                            Das sind nur eine handvoll Zeilen und die mache ich dir fertig.

                            crunchipC Abwesend
                            crunchipC Abwesend
                            crunchip
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #1133

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

                            dreht man normalerweise das WLAN gar nicht ab.

                            man "spielt" aber hin und wieder mit seinem Netzwerk(UniFi), Änderung am Wlan, oder mal 5Ghz abschalten( Einbindung von Geräten)...und bei jeder Änderung wird der AP entsprechend neu provisioniert, folglich sieht das dann ständig so aus
                            2d431153-927b-4343-b4d7-c4b952d8cac7-image.png

                            umgestiegen von Proxmox auf Unraid

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

                              Ich kann halt nicht unterscheiden ob es die 868MHz Kommunikation Wettermast --> Display, oder WLAN Display --> Router/AP/etc. ist. Ich habe dafür eine Anzeige in meiner VIS die es dann auf drücken des Buttons resettet.
                              Aber der Fall ist nun auch kein normales Anwendungsszenario, und eine Netzwerküberwachung an dieser Stelle ist IMHO nicht die Aufgabe eines Skriptes, welches Daten der Wetterstation auswertet?

                              Lässt sich aber auch relativ einfach realisieren. Dafür nachfolgend kleiner "Watchdog". Ich nenne ihn mal wetterstation-watchdog.sh und lege ihn im Verzeichnis des wetterstation-Skriptes ab (hier im Beispiel unter /home/iobroker ).
                              Da wir nachher noch einen cronjob anlegen ist es als user "root" einfacher, sonst halt sudo davor...

                              cd /home/iobroker
                              touch wetterstation-watchdog.sh
                              chmod +x wetterstation-watchdog.sh
                              nano wetterstation-watchdog.sh
                              

                              nun folgenden Quellcode einfügen:

                              #!/bin/bash
                              
                              WATCH_IP="192.168.1.157"
                              
                                if ! ping -c 1 -w 1 ${WATCH_IP} > /dev/null; then
                                  echo Display ist Offline, schalte Wetterstation-Service ab...
                                  systemctl stop wetterstation
                                else
                                  echo Display ist Online, prüfe Wetterstation-Service ...
                                  ps -A | grep -q wetterstation
                                  if [ "$?" -eq 1 ]; then
                                   echo Starte Wetterstation-Service...
                                   systemctl start wetterstation
                                  fi
                                fi
                              

                              Unter "WATCH_IP" dann eine IP innerhalb des WLANS eintragen (bietet sich natürlich die IP des Displays an ;) )
                              Speichern und nano beenden. Der Watchdog macht dann folgendes:

                              • Display/WLAN nicht erreichbar --> schaltet den wetterstation-Service ab
                              • Display/WLAN erreichbar --> prüfe ob der wetterstation-Service läuft -->
                                • NEIN --> aktiviere den wetterstation-Service
                                • JA --> tue nichts

                              Beim starten des Services wird dann auch immer der "Kommunikationsfehler-Datenpunkt" zurückgesetzt ;)

                              Jetzt fehlt noch die zyklische Ausführung des Skriptes (für einen Zeitrahmen sei auf die Doku von cron verwiesen), bspw. check alle 5 Minuten:

                              crontab -e
                              

                              und folgende Zeile einfügen (WICHTIG!: die crontab muss immer mit einer Leerzeile enden! Wenn ihr es also ganz unten anhängt unbedingt noch eine Leerzeile mit anhängen):

                              */5 * * * * /home/iobroker/wetterstation-watchdog.sh >/dev/null 2>&1
                              

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

                              S ? 2 Antworten Letzte Antwort
                              2
                              • T Offline
                                T Offline
                                tritor
                                schrieb am zuletzt editiert von
                                #1135

                                Hi,

                                Habe für die meisten Daten aus dem Skript mit influxdb zum loggen der Daten eingestellt.
                                Für die Temperaturen geht das ganz gut.
                                Wenn ich z. B. Bei Tabellen in influxdb screen für Aussenluftfeuchte nachsehen, dann sehe ich nur null Werte.
                                Auch beim Luftdruck ist das so. Ein umstellen des Typs von String auf Auto hat nichts gebracht.

                                Hoffe jemand kann mir helfen.

                                Gernot

                                Host: i9 server Proxmox , Debian 12.0 for ioBroker
                                ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                                Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                Grafana 12.0.2 / InfluxDB 2.7.11

                                SBorgS 1 Antwort Letzte Antwort
                                0
                                • SBorgS SBorg

                                  Ich kann halt nicht unterscheiden ob es die 868MHz Kommunikation Wettermast --> Display, oder WLAN Display --> Router/AP/etc. ist. Ich habe dafür eine Anzeige in meiner VIS die es dann auf drücken des Buttons resettet.
                                  Aber der Fall ist nun auch kein normales Anwendungsszenario, und eine Netzwerküberwachung an dieser Stelle ist IMHO nicht die Aufgabe eines Skriptes, welches Daten der Wetterstation auswertet?

                                  Lässt sich aber auch relativ einfach realisieren. Dafür nachfolgend kleiner "Watchdog". Ich nenne ihn mal wetterstation-watchdog.sh und lege ihn im Verzeichnis des wetterstation-Skriptes ab (hier im Beispiel unter /home/iobroker ).
                                  Da wir nachher noch einen cronjob anlegen ist es als user "root" einfacher, sonst halt sudo davor...

                                  cd /home/iobroker
                                  touch wetterstation-watchdog.sh
                                  chmod +x wetterstation-watchdog.sh
                                  nano wetterstation-watchdog.sh
                                  

                                  nun folgenden Quellcode einfügen:

                                  #!/bin/bash
                                  
                                  WATCH_IP="192.168.1.157"
                                  
                                    if ! ping -c 1 -w 1 ${WATCH_IP} > /dev/null; then
                                      echo Display ist Offline, schalte Wetterstation-Service ab...
                                      systemctl stop wetterstation
                                    else
                                      echo Display ist Online, prüfe Wetterstation-Service ...
                                      ps -A | grep -q wetterstation
                                      if [ "$?" -eq 1 ]; then
                                       echo Starte Wetterstation-Service...
                                       systemctl start wetterstation
                                      fi
                                    fi
                                  

                                  Unter "WATCH_IP" dann eine IP innerhalb des WLANS eintragen (bietet sich natürlich die IP des Displays an ;) )
                                  Speichern und nano beenden. Der Watchdog macht dann folgendes:

                                  • Display/WLAN nicht erreichbar --> schaltet den wetterstation-Service ab
                                  • Display/WLAN erreichbar --> prüfe ob der wetterstation-Service läuft -->
                                    • NEIN --> aktiviere den wetterstation-Service
                                    • JA --> tue nichts

                                  Beim starten des Services wird dann auch immer der "Kommunikationsfehler-Datenpunkt" zurückgesetzt ;)

                                  Jetzt fehlt noch die zyklische Ausführung des Skriptes (für einen Zeitrahmen sei auf die Doku von cron verwiesen), bspw. check alle 5 Minuten:

                                  crontab -e
                                  

                                  und folgende Zeile einfügen (WICHTIG!: die crontab muss immer mit einer Leerzeile enden! Wenn ihr es also ganz unten anhängt unbedingt noch eine Leerzeile mit anhängen):

                                  */5 * * * * /home/iobroker/wetterstation-watchdog.sh >/dev/null 2>&1
                                  
                                  S Offline
                                  S Offline
                                  Stormbringer
                                  schrieb am zuletzt editiert von
                                  #1136

                                  @SBorg Cool perfekt, danke. Muss ich demnächst mal ausprobieren. Und du darfst ned so tief stapeln. Der Skript ist ja fast ein Adapter und die verbinden sich ja auch neu wenn was schief geht 😉😋🍻 Und wie Crunchip schon richtig erwähnt hat kanns ja immer wieder mal passieren, dass so ein Kommunikationsfehler auftritt. Falls der Fehler innerhalb der Station ist und nicht im Netzwerk kann man eh nichts machen. Also find ich das einen sehr guten Lösungsansatz.

                                  Aber wie machst du das dann mit VIS? Wenn man über VIS einen Neustart anstoßen kann bräuchte man ja gar kein Cron Job oder? Könnte man ja dann mit JS anstoßen, wenn Fehler Kommuniktion oder WLAN aus restart/stop.

                                  Angaben zur Installation: JS Controller 5.0.12, npm 9.6.7, node 18.17.1, auf einem Intel NUC mit Ubuntu 22.04

                                  SBorgS 1 Antwort Letzte Antwort
                                  0
                                  • SBorgS SBorg

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

                                    @SBorg
                                    Das sieht sehr nice aus, gibts da ne gute Anleitung?
                                    Hab influxDB inkl. ioBroker Adapter (grün) jetzt laufen aber im FLOT kommen keine Werte an.

                                    Das ist mittels Grafana erstellt und wird dann wie FLOT als iFrame dargestellt. Anleitung hatte ich keine, hab es nach dem "try and error"-Prinzip gelernt ;)
                                    @crunchip hat da auch mal was in Grafana gebaut: https://forum.iobroker.net/post/356736

                                    bzgl. Daten: Aaarrrgghh, hab den k*ck schon befürchtet. Der History-Adapter schreibt schon nix wenn ack=false ("bestätigt"), der InfluxDB auch...
                                    Die Daten einzeln in den ioB zu schreiben dauert einfach zu lange (da geht ack=true). Per iobroker setstate... geht es ebenfalls, dauert aber auch wieder zu lange (15x aufrufen). Bliebe noch es direkt in die InfluxDB zu schreiben :(

                                    Wer einen (auch kostenlosen) GitHub-Acc hat, kann auch gerne voten, bei genügend Interesse passiert auch was^^:
                                    https://github.com/ioBroker/ioBroker.simple-api/issues/29

                                    metaxaM Online
                                    metaxaM Online
                                    metaxa
                                    schrieb am zuletzt editiert von
                                    #1137

                                    @tritor Witzig, hab gerade begonnen den Tread von Anfang an zu lesen und stolpterte über diese Ausage: Stammt aus dem Beitrag: >>klick<<

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

                                    bzgl. Daten: Aaarrrgghh, hab den k*ck schon befürchtet. Der History-Adapter schreibt schon nix wenn ack=false ("bestätigt"), der InfluxDB auch...

                                    Eventuell hilft dir das weiter .... LG, mxa

                                    1 Antwort Letzte Antwort
                                    0
                                    • SBorgS SBorg

                                      Ich kann halt nicht unterscheiden ob es die 868MHz Kommunikation Wettermast --> Display, oder WLAN Display --> Router/AP/etc. ist. Ich habe dafür eine Anzeige in meiner VIS die es dann auf drücken des Buttons resettet.
                                      Aber der Fall ist nun auch kein normales Anwendungsszenario, und eine Netzwerküberwachung an dieser Stelle ist IMHO nicht die Aufgabe eines Skriptes, welches Daten der Wetterstation auswertet?

                                      Lässt sich aber auch relativ einfach realisieren. Dafür nachfolgend kleiner "Watchdog". Ich nenne ihn mal wetterstation-watchdog.sh und lege ihn im Verzeichnis des wetterstation-Skriptes ab (hier im Beispiel unter /home/iobroker ).
                                      Da wir nachher noch einen cronjob anlegen ist es als user "root" einfacher, sonst halt sudo davor...

                                      cd /home/iobroker
                                      touch wetterstation-watchdog.sh
                                      chmod +x wetterstation-watchdog.sh
                                      nano wetterstation-watchdog.sh
                                      

                                      nun folgenden Quellcode einfügen:

                                      #!/bin/bash
                                      
                                      WATCH_IP="192.168.1.157"
                                      
                                        if ! ping -c 1 -w 1 ${WATCH_IP} > /dev/null; then
                                          echo Display ist Offline, schalte Wetterstation-Service ab...
                                          systemctl stop wetterstation
                                        else
                                          echo Display ist Online, prüfe Wetterstation-Service ...
                                          ps -A | grep -q wetterstation
                                          if [ "$?" -eq 1 ]; then
                                           echo Starte Wetterstation-Service...
                                           systemctl start wetterstation
                                          fi
                                        fi
                                      

                                      Unter "WATCH_IP" dann eine IP innerhalb des WLANS eintragen (bietet sich natürlich die IP des Displays an ;) )
                                      Speichern und nano beenden. Der Watchdog macht dann folgendes:

                                      • Display/WLAN nicht erreichbar --> schaltet den wetterstation-Service ab
                                      • Display/WLAN erreichbar --> prüfe ob der wetterstation-Service läuft -->
                                        • NEIN --> aktiviere den wetterstation-Service
                                        • JA --> tue nichts

                                      Beim starten des Services wird dann auch immer der "Kommunikationsfehler-Datenpunkt" zurückgesetzt ;)

                                      Jetzt fehlt noch die zyklische Ausführung des Skriptes (für einen Zeitrahmen sei auf die Doku von cron verwiesen), bspw. check alle 5 Minuten:

                                      crontab -e
                                      

                                      und folgende Zeile einfügen (WICHTIG!: die crontab muss immer mit einer Leerzeile enden! Wenn ihr es also ganz unten anhängt unbedingt noch eine Leerzeile mit anhängen):

                                      */5 * * * * /home/iobroker/wetterstation-watchdog.sh >/dev/null 2>&1
                                      
                                      ? Offline
                                      ? Offline
                                      Ein ehemaliger Benutzer
                                      schrieb am zuletzt editiert von
                                      #1138

                                      @SBorg Hehe, das Watchdog hab ich glatt mal gemacht, da bei mir von der Wetterstation einiges abhängt...

                                      und noch um eine simple-api erweitert, wenn die Wetterstation down ist, bekomm ich ne Whatsapp.. :-)

                                      1 Antwort Letzte Antwort
                                      0
                                      • T tritor

                                        Hi,

                                        Habe für die meisten Daten aus dem Skript mit influxdb zum loggen der Daten eingestellt.
                                        Für die Temperaturen geht das ganz gut.
                                        Wenn ich z. B. Bei Tabellen in influxdb screen für Aussenluftfeuchte nachsehen, dann sehe ich nur null Werte.
                                        Auch beim Luftdruck ist das so. Ein umstellen des Typs von String auf Auto hat nichts gebracht.

                                        Hoffe jemand kann mir helfen.

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

                                        @tritor Du kannst den "Field Type" bei influx nachträglich nicht mehr ändern. Wenn du im Adapter "automatisch" gewählt hast und er, warum auch immer, die Zahl als String erkannt hat, wird die Datenreihe auch als String angelegt und so fortgeführt.
                                        Per Terminal ( _DATENBANKNAME_ mit dem Namen deiner Datenbank ersetzen) :

                                        influx
                                        use _DATENBANKNAME_
                                        show field keys from "javascript.0.Wetterstation.Aussenfeuchtigkeit"
                                        

                                        Bei value muss dann float stehen (ich habe hier versehentlich Innenfeuchte genommen ;) ) :
                                        Bild 1.png
                                        Steht dort String gibt es nur zwei Möglichkeiten:

                                        • die Werte sind nicht sehr wichtig: die Datenreihe droppen + darauf achten, dass sie bei Neuanlage auf "Zahl" steht
                                        • die Werte sind wichtig: die Datenreihe exportieren, dann löschen und explizit wieder als Zahl importieren

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

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • S Stormbringer

                                          @SBorg Cool perfekt, danke. Muss ich demnächst mal ausprobieren. Und du darfst ned so tief stapeln. Der Skript ist ja fast ein Adapter und die verbinden sich ja auch neu wenn was schief geht 😉😋🍻 Und wie Crunchip schon richtig erwähnt hat kanns ja immer wieder mal passieren, dass so ein Kommunikationsfehler auftritt. Falls der Fehler innerhalb der Station ist und nicht im Netzwerk kann man eh nichts machen. Also find ich das einen sehr guten Lösungsansatz.

                                          Aber wie machst du das dann mit VIS? Wenn man über VIS einen Neustart anstoßen kann bräuchte man ja gar kein Cron Job oder? Könnte man ja dann mit JS anstoßen, wenn Fehler Kommuniktion oder WLAN aus restart/stop.

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

                                          @Stormbringer Ich setze nur den "Kommunikationsfehler" zurück, damit ich in der VIS keinen entsprechenden Hinweis mehr habe. Da du über die VIS aber auch Blockly/JS antriggern kannst, besteht natürlich die Möglichkeit per "exec" auch einen Befehl wie systemctl start/stop wetterstation abzusetzen :)

                                          Zum "Watchdog" (und warum nicht direkt im Skript):
                                          Ich bin Änderungen/Neuerungen immer aufgeschlossen und setzte diese wenn möglich auch um. Die Funktionalität lässt sich aber so nicht abbilden. Das wäre dann "der sich selbst abschleppende Abschleppwagen". Kein Programm, Skript oder what else kann sich selbst starten wenn es sich "aufgehängt" hat oder gar nicht läuft. Beenden oder neu starten ja, aber das andere geht eben nur per externem Trigger. Genau da setzt der Watchdog an. Deswegen habe ich auch die "echos" drin gelassen, damit man sieht wo genau was passiert und man noch etwas hinzufügen kann, auch wenn ich die Ausgabe dann im cronjob mittels ">/dev/null 2>&1" wieder abwürgen muss (sonst loggt er die Ausgabe brav mit).

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          759

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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