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.
  • NegaleinN Negalein

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

    @viper4iob Ich habe bis dato noch nichts nachteiliges bemerkt. Auch das "umshiften" von größeren Datenmengen innerhalb Influx klappt schnell. Größere Anfragen per Influx-Adapter habe ich allerdings keine, denn ev. hängt es hier auch am Adapter.

    Per JS, Grafana etc. ist alles subjektiv gleich schnell, zumindest nicht spürbar schneller/langsamer.

    Dann hab ich es richtig gemacht.
    Aber beim Import des Dashboard, bei der Abfrage nach der Source, kann ich jeweils nur die Datasource auswählen.
    Nicht jedoch influx für permanent und influx-1w für temporär.

    15ab1b8d-d8db-47cc-a8eb-32024544240d-image.png

    1aad872d-30cf-49c6-821d-4ca1d4f7a00e-image.png

    Oder mach ich wiedermal wo was falsch?

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

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

    Oder mach ich wiedermal wo was falsch?

    Jein, das ist bisserl blöd in Grafana. Du kannst es da erst auswählen wenn du influx-1w auch wirklich als Datenquelle hinzugefügt hast. In dem Fall hast du dann doch zwei Datenquellen und 2 Buckets aus Sicht von Grafana, auch wenn es technisch gesehen 2 Buckets aus einer Datenquelle sind 🙃

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

    NegaleinN 1 Antwort Letzte Antwort
    0
    • SBorgS SBorg

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

      Oder mach ich wiedermal wo was falsch?

      Jein, das ist bisserl blöd in Grafana. Du kannst es da erst auswählen wenn du influx-1w auch wirklich als Datenquelle hinzugefügt hast. In dem Fall hast du dann doch zwei Datenquellen und 2 Buckets aus Sicht von Grafana, auch wenn es technisch gesehen 2 Buckets aus einer Datenquelle sind 🙃

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

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

      Du kannst es da erst auswählen wenn du influx-1w auch wirklich als Datenquelle hinzugefügt hast

      Ok, also hier zusätzlich eine Datenquelle (ident mit InfluxDB 2), und diese dann nur für influx-1w verwenden.
      21981f68-2779-4383-aa83-453ebe5f5bf1-image.png

      Und hier bei Default Bucket dann influx-1w eintragen.
      cde932aa-a587-431b-802a-8a8575d3b0e1-image.png

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

      SBorgS 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @viper4iob Ich habe bis dato noch nichts nachteiliges bemerkt. Auch das "umshiften" von größeren Datenmengen innerhalb Influx klappt schnell. Größere Anfragen per Influx-Adapter habe ich allerdings keine, denn ev. hängt es hier auch am Adapter.

        Per JS, Grafana etc. ist alles subjektiv gleich schnell, zumindest nicht spürbar schneller/langsamer.

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

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

        @viper4iob Ich habe bis dato noch nichts nachteiliges bemerkt. Auch das "umshiften" von größeren Datenmengen innerhalb Influx klappt schnell. Größere Anfragen per Influx-Adapter habe ich allerdings keine, denn ev. hängt es hier auch am Adapter.

        Per JS, Grafana etc. ist alles subjektiv gleich schnell, zumindest nicht spürbar schneller/langsamer.

        Ok, danke für die Info.
        Werde es als nächstes mit dem neuem Grafana Dashboard von dir testen (danke schon mal im Voraus dafür).
        Dann werde ich sehen, ob es generell an der InfluxDB liegt oder nur am Influx Adapter vom iobroker.

        1 Antwort Letzte Antwort
        0
        • V Offline
          V Offline
          viper4iob
          schrieb am zuletzt editiert von viper4iob
          #4546

          @SBorg
          Erst einmal wieder ein großes Dankeschön fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme, auch die Abfrage der Werte per Influx läuft

          Dann generell:
          Ich habe jetzt nochmal ein paar Tests zur Performance der InfluxDB V2 durchgeführt.

          • Auf der Influx DB Web UI habe ich im Data Explorer mal 60 Measurements markiert, die letzten 30 Tage abgefragt und das Ergebnis als Simple Table angezeigt. Der Query hat 0,1 Sekunden gedauert
          • Ich habe das neue Grafana Dashboard importiert, das hat etwas gedauert, weil erstens die Änderung der Variablen bei mir nichts bewirkt hat (habs dann vorm Import in der json angepasst) und dann standen bei vielen Queries noch nicht die Variablen drin, was dann mit einem Suchen/Ersetzen in der json Datei erledigt wurde 😉 . Auf jeden Fall läd das neue Dashboard, das die Daten über die neue Data Source per Flux Sprache und Token abfragt, auch sehr schnell.

          Es sieht also tatsächlich so aus, dass nur der Influx Adapter im iobroker beim Auslesen größerer Datenmengen zumindest bei mir Probleme macht.
          Falls jemand mal Lust hat, bitte folgendes Script im iobroker anlegen, ggf. Influx Instanz / Bucket Namen anpassen und ausführen:

          sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h)', function (result) {
              if (result.error) {
                  console.error(result.error);
              } else {
                  // show result
                   //console.log('Rows: ' + JSON.stringify(result));
                   console.log('fertig');
              }
          });
          

          Das Skript fragt einfach mal die Werte aller Measurements der letzten 24 Stunden ab.
          Danach mal ins iobroker Protokoll gehen und checken wie viel Zeit zwischen dem Skriptstart und der "fertig" Meldung vergangen ist. Bei mir hat das ca. 35 Sekunden gedauert 😑
          Natürlich ist es schwierig das zu vergleichen, weil das sehr davon abhängt wie viele Measurements man hat und wie viele Werte darin gespeichert sind. Ich habe aktuell um die 150 Measurements in der DB.
          Eine Tendenz sollte aber trotzdem sichtbar sein und es würde mich interessieren, ob nur ich ein Problem damit habe oder ob das generell am Adapter liegt.
          Danke schon mal im Voraus.

          Mir ist das Ganze auch nur aufgefallen, weil ich auch den ECharts Adapter zum Anzeigen von Graphen nutze und der zieht die Daten eben aus der Historie über den Influx Adapter des iobrokers.
          Das Laden der Graphen dauert im V2 Modus des Influx Adapters nun deutlich länger als im V1 Modus (Ich kann noch den V1 Modus nutzen, weil ich die User aus v1 mit migriert habe, die dann weiterhin per Basic Auth und InfluxQL abfragen können). Ich habe mehrmals zwischen beiden Modi gewechselt und es ist reproduzierbar.

          SBorgS mango1402M LatziL 3 Antworten Letzte Antwort
          0
          • NegaleinN Negalein

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

            Du kannst es da erst auswählen wenn du influx-1w auch wirklich als Datenquelle hinzugefügt hast

            Ok, also hier zusätzlich eine Datenquelle (ident mit InfluxDB 2), und diese dann nur für influx-1w verwenden.
            21981f68-2779-4383-aa83-453ebe5f5bf1-image.png

            Und hier bei Default Bucket dann influx-1w eintragen.
            cde932aa-a587-431b-802a-8a8575d3b0e1-image.png

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

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

            Und hier bei Default Bucket dann influx-1w eintragen.

            Jepp, das ist dann die Zuweisung "nimm für die Datenquelle dieses Bucket"

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

            NegaleinN 1 Antwort Letzte Antwort
            1
            • V viper4iob

              @SBorg
              Erst einmal wieder ein großes Dankeschön fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme, auch die Abfrage der Werte per Influx läuft

              Dann generell:
              Ich habe jetzt nochmal ein paar Tests zur Performance der InfluxDB V2 durchgeführt.

              • Auf der Influx DB Web UI habe ich im Data Explorer mal 60 Measurements markiert, die letzten 30 Tage abgefragt und das Ergebnis als Simple Table angezeigt. Der Query hat 0,1 Sekunden gedauert
              • Ich habe das neue Grafana Dashboard importiert, das hat etwas gedauert, weil erstens die Änderung der Variablen bei mir nichts bewirkt hat (habs dann vorm Import in der json angepasst) und dann standen bei vielen Queries noch nicht die Variablen drin, was dann mit einem Suchen/Ersetzen in der json Datei erledigt wurde 😉 . Auf jeden Fall läd das neue Dashboard, das die Daten über die neue Data Source per Flux Sprache und Token abfragt, auch sehr schnell.

              Es sieht also tatsächlich so aus, dass nur der Influx Adapter im iobroker beim Auslesen größerer Datenmengen zumindest bei mir Probleme macht.
              Falls jemand mal Lust hat, bitte folgendes Script im iobroker anlegen, ggf. Influx Instanz / Bucket Namen anpassen und ausführen:

              sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h)', function (result) {
                  if (result.error) {
                      console.error(result.error);
                  } else {
                      // show result
                       //console.log('Rows: ' + JSON.stringify(result));
                       console.log('fertig');
                  }
              });
              

              Das Skript fragt einfach mal die Werte aller Measurements der letzten 24 Stunden ab.
              Danach mal ins iobroker Protokoll gehen und checken wie viel Zeit zwischen dem Skriptstart und der "fertig" Meldung vergangen ist. Bei mir hat das ca. 35 Sekunden gedauert 😑
              Natürlich ist es schwierig das zu vergleichen, weil das sehr davon abhängt wie viele Measurements man hat und wie viele Werte darin gespeichert sind. Ich habe aktuell um die 150 Measurements in der DB.
              Eine Tendenz sollte aber trotzdem sichtbar sein und es würde mich interessieren, ob nur ich ein Problem damit habe oder ob das generell am Adapter liegt.
              Danke schon mal im Voraus.

              Mir ist das Ganze auch nur aufgefallen, weil ich auch den ECharts Adapter zum Anzeigen von Graphen nutze und der zieht die Daten eben aus der Historie über den Influx Adapter des iobrokers.
              Das Laden der Graphen dauert im V2 Modus des Influx Adapters nun deutlich länger als im V1 Modus (Ich kann noch den V1 Modus nutzen, weil ich die User aus v1 mit migriert habe, die dann weiterhin per Basic Auth und InfluxQL abfragen können). Ich habe mehrmals zwischen beiden Modi gewechselt und es ist reproduzierbar.

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

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

              fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme

              So gut das ich eben einen Fix veröffentlicht habe 😊


              Neue Version des JavaScriptes Wetterstation-Statistik auf GitHub V2.0.2

              • ~Bugfix fehlender Vorjahresmonat (Fix Issue #58)

              Wie immer zu finden im GitHub

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

              V 1 Antwort Letzte Antwort
              1
              • SBorgS SBorg

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

                fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme

                So gut das ich eben einen Fix veröffentlicht habe 😊


                Neue Version des JavaScriptes Wetterstation-Statistik auf GitHub V2.0.2

                • ~Bugfix fehlender Vorjahresmonat (Fix Issue #58)

                Wie immer zu finden im GitHub

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

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

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

                fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme

                So gut das ich eben einen Fix veröffentlicht habe 😊


                Neue Version des JavaScriptes Wetterstation-Statistik auf GitHub V2.0.2

                • ~Bugfix fehlender Vorjahresmonat (Fix Issue #58)

                Wie immer zu finden im GitHub

                Auch hier danke, kann ich aktuell nur nicht nutzen, weil mein Influx Adapter auf V1 läuft, bis ich mir was wegen dem Performance-Problem vom Influx Adapter im V2 Modus überlegt habe (z.B. meine ECharts mit Grafana nachbauen und irgendwie in jarvis einbinden). Ich muss aktuell also erst mal noch das alte Wetterstatistik Skript verwenden 😉

                1 Antwort Letzte Antwort
                0
                • V viper4iob

                  @SBorg
                  Erst einmal wieder ein großes Dankeschön fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme, auch die Abfrage der Werte per Influx läuft

                  Dann generell:
                  Ich habe jetzt nochmal ein paar Tests zur Performance der InfluxDB V2 durchgeführt.

                  • Auf der Influx DB Web UI habe ich im Data Explorer mal 60 Measurements markiert, die letzten 30 Tage abgefragt und das Ergebnis als Simple Table angezeigt. Der Query hat 0,1 Sekunden gedauert
                  • Ich habe das neue Grafana Dashboard importiert, das hat etwas gedauert, weil erstens die Änderung der Variablen bei mir nichts bewirkt hat (habs dann vorm Import in der json angepasst) und dann standen bei vielen Queries noch nicht die Variablen drin, was dann mit einem Suchen/Ersetzen in der json Datei erledigt wurde 😉 . Auf jeden Fall läd das neue Dashboard, das die Daten über die neue Data Source per Flux Sprache und Token abfragt, auch sehr schnell.

                  Es sieht also tatsächlich so aus, dass nur der Influx Adapter im iobroker beim Auslesen größerer Datenmengen zumindest bei mir Probleme macht.
                  Falls jemand mal Lust hat, bitte folgendes Script im iobroker anlegen, ggf. Influx Instanz / Bucket Namen anpassen und ausführen:

                  sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h)', function (result) {
                      if (result.error) {
                          console.error(result.error);
                      } else {
                          // show result
                           //console.log('Rows: ' + JSON.stringify(result));
                           console.log('fertig');
                      }
                  });
                  

                  Das Skript fragt einfach mal die Werte aller Measurements der letzten 24 Stunden ab.
                  Danach mal ins iobroker Protokoll gehen und checken wie viel Zeit zwischen dem Skriptstart und der "fertig" Meldung vergangen ist. Bei mir hat das ca. 35 Sekunden gedauert 😑
                  Natürlich ist es schwierig das zu vergleichen, weil das sehr davon abhängt wie viele Measurements man hat und wie viele Werte darin gespeichert sind. Ich habe aktuell um die 150 Measurements in der DB.
                  Eine Tendenz sollte aber trotzdem sichtbar sein und es würde mich interessieren, ob nur ich ein Problem damit habe oder ob das generell am Adapter liegt.
                  Danke schon mal im Voraus.

                  Mir ist das Ganze auch nur aufgefallen, weil ich auch den ECharts Adapter zum Anzeigen von Graphen nutze und der zieht die Daten eben aus der Historie über den Influx Adapter des iobrokers.
                  Das Laden der Graphen dauert im V2 Modus des Influx Adapters nun deutlich länger als im V1 Modus (Ich kann noch den V1 Modus nutzen, weil ich die User aus v1 mit migriert habe, die dann weiterhin per Basic Auth und InfluxQL abfragen können). Ich habe mehrmals zwischen beiden Modi gewechselt und es ist reproduzierbar.

                  mango1402M Offline
                  mango1402M Offline
                  mango1402
                  schrieb am zuletzt editiert von
                  #4550

                  @viper4iob
                  Kann Deine Erfahrung mit V2 nur bestätigen - eCharts wird zur lahmen, unbrauchbaren Krücke.....
                  Ob es jetzt am Influx, eCharts oder dem Influx-Adapter liegt kann ich nicht sagen.

                  Konkret: hab Influx auf einem extra Container laufen, bei einer eCharts Abfrage von 4 Messreihen der letzten 24h geht die CPU-Last vom Influx auf 150%, wenn man Glück hat erscheint mal eine Messreihe.... Wenn man dann noch Auto-Update eingeschaltet hat, ist's vorbei mit der Analyse von Charts.....

                  Die Anzahl der measuremenst dürfte ja keinen Einfluss haben. Mit V1 geht's qasi auch 'in Echtzeit'.

                  1 Antwort Letzte Antwort
                  0
                  • G Offline
                    G Offline
                    G.Hawk
                    schrieb am zuletzt editiert von G.Hawk
                    #4551

                    Hallo
                    Das Skript läuft auf einem Rasberry 4.
                    Bis Vorgestern lief alles wunderbar, dann habe ich probiert ein update zu machen.
                    Jetzt kommen keine Daten mehr rein.

                    ./wetterstation.sh --debug

                    passierte folgendes:

                    DATA von Wetterstation:
                    
                    
                    
                    Debug VAR:
                     Installationsverzeichnis: /home/pi/wetterstation
                     IPP: 192.168.10.13:8087	WS_PORT: 1080		WS_POLL: 30		PRE_DP: 0_userdata.0.Wetterstation
                     WEB: HTTP		WS_PROT: Wunderground
                    
                    Zusatzsensoren:
                     DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 
                     WH31: 0 || WS90: 0
                    
                    Script-Version: V2.21.0	Config-Version: V2.21.0	Sub-Version: V2.21.0
                    
                    Kommunikationsfehler!
                    
                    
                    Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein? 
                    
                    pi@raspberrypi:~/wetterstation $ 
                    
                    

                    Also habe ich alles deinstalliert und nochmal von vorn.

                    Bei der Anleitung ist mir aufgefallen das bei dem Befehl

                    chmod +x ws_updater

                    "Datei nicht gefunden kam. Ich habe dann ein .sh eingefügt und dann war die Meldung weg.
                    Ob das richtig war weiß ich nicht genau, aber für mich war es logisch.

                    Die drei Dateien wurden dann automatisch in das Verzeichnis kopiert.
                    Installation ausgeführt.
                    Wetterstation.conf angepasst und per WinSCP rüberkopiert.

                    Dann kam wieder die gleiche Fehlermeldung siehe oben.

                    Bei der Statusüberprüfung kommt das:

                    wetterstation.service - Service für ioBroker Wetterstation
                       Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabl
                       Active: active (running) since Fri 2023-03-03 12:10:51 CET; 16s ago
                     Main PID: 10398 (wetterstation.s)
                        Tasks: 3 (limit: 4915)
                       CGroup: /system.slice/wetterstation.service
                               |-10398 /bin/bash /home/pi/wetterstation/wetterstation.sh
                               |-14592 /bin/bash /home/pi/wetterstation/wetterstation.sh
                               `-14595 
                    
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                    ~
                    ~
                    ~
                    lines 1-20/20 (END)
                    
                    

                    Kann mir jemand helfen oder habe ich irgendwas vergessen?
                    Gruß

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

                      @viper4iob
                      @Latzi
                      Na dann
                      12:38:16.606 info javascript.0 (3146202) script.js.common.test_influx: Fertig! Rows: 137548 Dauer: 3061 ms

                      1 Antwort Letzte Antwort
                      0
                      • SBorgS SBorg

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

                        Und hier bei Default Bucket dann influx-1w eintragen.

                        Jepp, das ist dann die Zuweisung "nimm für die Datenquelle dieses Bucket"

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

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

                        Jepp, das ist dann die Zuweisung "nimm für die Datenquelle dieses Bucket"

                        Servus

                        Hab jetzt eine 2. Datasource mit den temp. Buckets angelegt.
                        132b6608-188c-41a7-808a-6021f7c5f979-image.png

                        Standard
                        78ae7324-9b49-419a-9f4f-51f2105893f1-image.png

                        Temp
                        b1d3e883-c128-4ed8-bb0f-bd1937260e78-image.png

                        Beim Import des Dashboard beim Konfig Dialog hab ich dann die passenden DS ausgewählt.

                        Allerdings holt er sich keine Daten, da das Bucket nicht übernommen wird.
                        88842e8a-8b03-4ab6-be1e-792bf137e7f8-image.png

                        Query schaut zB so aus:

                        from(bucket: "TempData")
                          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                          |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Wetterstation.Info.Wolkenbasis")
                          |> filter(fn: (r) => r["_field"] == "value")
                          |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                          |> yield(name: "Wolkenbasis")
                        

                        3a6238b1-def0-468f-80e2-7c7054f05d34-image.png

                        Ändere ich im Query das Bucket TempData in iobroker-1w werden die Daten angezeigt.

                        from(bucket: "iobroker-1w")
                          |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                          |> filter(fn: (r) => r["_measurement"] == "0_userdata.0.Wetterstation.Info.Wolkenbasis")
                          |> filter(fn: (r) => r["_field"] == "value")
                          |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)
                          |> yield(name: "Wolkenbasis")
                        

                        75d2f02f-e922-4320-9c56-66390f07890a-image.png

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

                        SBorgS 1 Antwort Letzte Antwort
                        0
                        • V viper4iob

                          @SBorg
                          Erst einmal wieder ein großes Dankeschön fürs updaten des Wetterstations-Skripts, funktioniert soweit ohne Probleme, auch die Abfrage der Werte per Influx läuft

                          Dann generell:
                          Ich habe jetzt nochmal ein paar Tests zur Performance der InfluxDB V2 durchgeführt.

                          • Auf der Influx DB Web UI habe ich im Data Explorer mal 60 Measurements markiert, die letzten 30 Tage abgefragt und das Ergebnis als Simple Table angezeigt. Der Query hat 0,1 Sekunden gedauert
                          • Ich habe das neue Grafana Dashboard importiert, das hat etwas gedauert, weil erstens die Änderung der Variablen bei mir nichts bewirkt hat (habs dann vorm Import in der json angepasst) und dann standen bei vielen Queries noch nicht die Variablen drin, was dann mit einem Suchen/Ersetzen in der json Datei erledigt wurde 😉 . Auf jeden Fall läd das neue Dashboard, das die Daten über die neue Data Source per Flux Sprache und Token abfragt, auch sehr schnell.

                          Es sieht also tatsächlich so aus, dass nur der Influx Adapter im iobroker beim Auslesen größerer Datenmengen zumindest bei mir Probleme macht.
                          Falls jemand mal Lust hat, bitte folgendes Script im iobroker anlegen, ggf. Influx Instanz / Bucket Namen anpassen und ausführen:

                          sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h)', function (result) {
                              if (result.error) {
                                  console.error(result.error);
                              } else {
                                  // show result
                                   //console.log('Rows: ' + JSON.stringify(result));
                                   console.log('fertig');
                              }
                          });
                          

                          Das Skript fragt einfach mal die Werte aller Measurements der letzten 24 Stunden ab.
                          Danach mal ins iobroker Protokoll gehen und checken wie viel Zeit zwischen dem Skriptstart und der "fertig" Meldung vergangen ist. Bei mir hat das ca. 35 Sekunden gedauert 😑
                          Natürlich ist es schwierig das zu vergleichen, weil das sehr davon abhängt wie viele Measurements man hat und wie viele Werte darin gespeichert sind. Ich habe aktuell um die 150 Measurements in der DB.
                          Eine Tendenz sollte aber trotzdem sichtbar sein und es würde mich interessieren, ob nur ich ein Problem damit habe oder ob das generell am Adapter liegt.
                          Danke schon mal im Voraus.

                          Mir ist das Ganze auch nur aufgefallen, weil ich auch den ECharts Adapter zum Anzeigen von Graphen nutze und der zieht die Daten eben aus der Historie über den Influx Adapter des iobrokers.
                          Das Laden der Graphen dauert im V2 Modus des Influx Adapters nun deutlich länger als im V1 Modus (Ich kann noch den V1 Modus nutzen, weil ich die User aus v1 mit migriert habe, die dann weiterhin per Basic Auth und InfluxQL abfragen können). Ich habe mehrmals zwischen beiden Modi gewechselt und es ist reproduzierbar.

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

                          @viper4iob

                          javascript.0	2023-03-04 07:48:35.120	info	script.js.common.1_1_Test: fertig
                          javascript.0	2023-03-04 07:48:35.119	info	script.js.common.1_1_Test: Rows: 2944
                          javascript.0	2023-03-04 07:48:34.990	info	script.js.common.1_1_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                          

                          Abfrage dazu war:

                          sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {
                              if (result.error) {
                                  console.error(result.error);
                              } else {
                                  // show result
                                   console.log('Rows: ' + JSON.stringify(result.result[0].length));
                                   console.log('fertig');
                              }
                          });
                          
                          BoronsbruderB 1 Antwort Letzte Antwort
                          0
                          • LatziL Latzi

                            @viper4iob

                            javascript.0	2023-03-04 07:48:35.120	info	script.js.common.1_1_Test: fertig
                            javascript.0	2023-03-04 07:48:35.119	info	script.js.common.1_1_Test: Rows: 2944
                            javascript.0	2023-03-04 07:48:34.990	info	script.js.common.1_1_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                            

                            Abfrage dazu war:

                            sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {
                                if (result.error) {
                                    console.error(result.error);
                                } else {
                                    // show result
                                     console.log('Rows: ' + JSON.stringify(result.result[0].length));
                                     console.log('fertig');
                                }
                            });
                            
                            BoronsbruderB Offline
                            BoronsbruderB Offline
                            Boronsbruder
                            schrieb am zuletzt editiert von
                            #4555

                            @latzi
                            Interessant wäre auch die Startzeit des Skripts, dass man sieht wie lange es bis zum fertig dauerte 😉

                            LatziL 1 Antwort Letzte Antwort
                            0
                            • BoronsbruderB Boronsbruder

                              @latzi
                              Interessant wäre auch die Startzeit des Skripts, dass man sieht wie lange es bis zum fertig dauerte 😉

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

                              @boronsbruder
                              Zeit von Zeile 2 - Zeile 3 😉

                              Edit: geht auch so:

                              let Startzeit = new Date();
                              sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {
                                  if (result.error) {
                                      console.error(result.error);
                                  } else {
                                      let Endezeit = new Date();
                                      // show result
                                       console.log('Fertig! Rows: ' + JSON.stringify(result.result[0].length) +' Dauer: ' + (Endezeit.getTime()-Startzeit.getTime()) + ' ms');
                                  }
                              });
                              

                              Liefert dann:

                              10:16:04.177	info	javascript.0 (2815519) script.js.common.1_1_Test: Fertig! Rows: 2924 Dauer: 149 ms
                              
                              BoronsbruderB M ? 3 Antworten Letzte Antwort
                              0
                              • LatziL Latzi

                                @boronsbruder
                                Zeit von Zeile 2 - Zeile 3 😉

                                Edit: geht auch so:

                                let Startzeit = new Date();
                                sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {
                                    if (result.error) {
                                        console.error(result.error);
                                    } else {
                                        let Endezeit = new Date();
                                        // show result
                                         console.log('Fertig! Rows: ' + JSON.stringify(result.result[0].length) +' Dauer: ' + (Endezeit.getTime()-Startzeit.getTime()) + ' ms');
                                    }
                                });
                                

                                Liefert dann:

                                10:16:04.177	info	javascript.0 (2815519) script.js.common.1_1_Test: Fertig! Rows: 2924 Dauer: 149 ms
                                
                                BoronsbruderB Offline
                                BoronsbruderB Offline
                                Boronsbruder
                                schrieb am zuletzt editiert von
                                #4557

                                @viper4iob
                                @latzi
                                Na dann:
                                12:38:16.606 info javascript.0 (3146202) script.js.common.test_influx: Fertig! Rows: 137548 Dauer: 3061 ms

                                V 1 Antwort Letzte Antwort
                                0
                                • LatziL Latzi

                                  @boronsbruder
                                  Zeit von Zeile 2 - Zeile 3 😉

                                  Edit: geht auch so:

                                  let Startzeit = new Date();
                                  sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {
                                      if (result.error) {
                                          console.error(result.error);
                                      } else {
                                          let Endezeit = new Date();
                                          // show result
                                           console.log('Fertig! Rows: ' + JSON.stringify(result.result[0].length) +' Dauer: ' + (Endezeit.getTime()-Startzeit.getTime()) + ' ms');
                                      }
                                  });
                                  

                                  Liefert dann:

                                  10:16:04.177	info	javascript.0 (2815519) script.js.common.1_1_Test: Fertig! Rows: 2924 Dauer: 149 ms
                                  
                                  M Offline
                                  M Offline
                                  MartyBr
                                  schrieb am zuletzt editiert von
                                  #4558

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

                                                                                                                                                              let Startzeit = new Date();                                                                                                                                                                            sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {                                                                                                                                                                                if (result.error) {                                                                                                                                                                                    console.error(result.error);                                                                                                                                                                                } else {                                                                                                                                                                                    let Endezeit = new Date();                                                                                                                                                                                    // show result                                                                                                                                                                                     console.log('Fertig! Rows: ' + JSON.stringify(result.result[0].length) +' Dauer: ' + (Endezeit.getTime()-Startzeit.getTime()) + ' ms');                                                                                                                                                                                }                                                                                                                                                                            });                                            
                                  

                                  Ich habe den Test nun auch gestartet. Influxdb läuft als Docker auf der Sinologie DS920+

                                  	2023-03-04 13:18:44.732	info	Stop script script.js.TEST.Test_Performance_Influxdb
                                  
                                  javascript.0
                                  2023-03-04 13:18:40.244	info	script.js.TEST.Test_Performance_Influxdb: Fertig! Rows: 7228 Dauer: 200 ms
                                  
                                  javascript.0
                                  2023-03-04 13:18:40.044	info	script.js.TEST.Test_Performance_Influxdb: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                  
                                  javascript.0
                                  2023-03-04 13:18:40.035	info	Start javascript script.js.TEST.Test_Performance_Influxdb
                                  

                                  Gruß
                                  Martin


                                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                  Raspeberry mit USB Leseköpfen für Smartmeter
                                  Homematic und Homematic IP

                                  1 Antwort Letzte Antwort
                                  0
                                  • LatziL Latzi

                                    @boronsbruder
                                    Zeit von Zeile 2 - Zeile 3 😉

                                    Edit: geht auch so:

                                    let Startzeit = new Date();
                                    sendTo('influxdb.0', 'query', 'from(bucket: "iobroker") |> range(start: -24h) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur")', function (result) {
                                        if (result.error) {
                                            console.error(result.error);
                                        } else {
                                            let Endezeit = new Date();
                                            // show result
                                             console.log('Fertig! Rows: ' + JSON.stringify(result.result[0].length) +' Dauer: ' + (Endezeit.getTime()-Startzeit.getTime()) + ' ms');
                                        }
                                    });
                                    

                                    Liefert dann:

                                    10:16:04.177	info	javascript.0 (2815519) script.js.common.1_1_Test: Fertig! Rows: 2924 Dauer: 149 ms
                                    
                                    ? Offline
                                    ? Offline
                                    Ein ehemaliger Benutzer
                                    schrieb am zuletzt editiert von
                                    #4559

                                    @latzi

                                    Hier sieht das so aus:

                                    
                                    	javascript.0 (3488667) script.js.common.Test.Influxtestv2: Fertig! Rows: 52 Dauer: 16 ms
                                    
                                    
                                    LatziL mango1402M 2 Antworten Letzte Antwort
                                    0
                                    • NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      schrieb am zuletzt editiert von Negalein
                                      #4560

                                      @SBorg

                                      wo holst du dir die Daten von 0_userdata.0.VIS.Wetter.Regenvorschauher?


                                      wie sehen bei dir die Alias aus (true wird 1, false wird 0), bzw. wie wandle ich mit einem Alias true in 0, usw.?
                                      a5ec6ae9-5662-44d3-8d33-a4464919a4d3-image.png

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

                                      SBorgS 1 Antwort Letzte Antwort
                                      0
                                      • ? Ein ehemaliger Benutzer

                                        @latzi

                                        Hier sieht das so aus:

                                        
                                        	javascript.0 (3488667) script.js.common.Test.Influxtestv2: Fertig! Rows: 52 Dauer: 16 ms
                                        
                                        
                                        LatziL Online
                                        LatziL Online
                                        Latzi
                                        schrieb am zuletzt editiert von
                                        #4561

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

                                        javascript.0 (3488667) script.js.common.Test.Influxtestv2: Fertig! Rows: 52 Dauer: 16 ms

                                        @viper4iob wie sieht´s bei dir mit dieser Abfrage aus?

                                        1 Antwort Letzte Antwort
                                        0
                                        • G G.Hawk

                                          Hallo
                                          Das Skript läuft auf einem Rasberry 4.
                                          Bis Vorgestern lief alles wunderbar, dann habe ich probiert ein update zu machen.
                                          Jetzt kommen keine Daten mehr rein.

                                          ./wetterstation.sh --debug

                                          passierte folgendes:

                                          DATA von Wetterstation:
                                          
                                          
                                          
                                          Debug VAR:
                                           Installationsverzeichnis: /home/pi/wetterstation
                                           IPP: 192.168.10.13:8087	WS_PORT: 1080		WS_POLL: 30		PRE_DP: 0_userdata.0.Wetterstation
                                           WEB: HTTP		WS_PROT: Wunderground
                                          
                                          Zusatzsensoren:
                                           DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 
                                           WH31: 0 || WS90: 0
                                          
                                          Script-Version: V2.21.0	Config-Version: V2.21.0	Sub-Version: V2.21.0
                                          
                                          Kommunikationsfehler!
                                          
                                          
                                          Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein? 
                                          
                                          pi@raspberrypi:~/wetterstation $ 
                                          
                                          

                                          Also habe ich alles deinstalliert und nochmal von vorn.

                                          Bei der Anleitung ist mir aufgefallen das bei dem Befehl

                                          chmod +x ws_updater

                                          "Datei nicht gefunden kam. Ich habe dann ein .sh eingefügt und dann war die Meldung weg.
                                          Ob das richtig war weiß ich nicht genau, aber für mich war es logisch.

                                          Die drei Dateien wurden dann automatisch in das Verzeichnis kopiert.
                                          Installation ausgeführt.
                                          Wetterstation.conf angepasst und per WinSCP rüberkopiert.

                                          Dann kam wieder die gleiche Fehlermeldung siehe oben.

                                          Bei der Statusüberprüfung kommt das:

                                          wetterstation.service - Service für ioBroker Wetterstation
                                             Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabl
                                             Active: active (running) since Fri 2023-03-03 12:10:51 CET; 16s ago
                                           Main PID: 10398 (wetterstation.s)
                                              Tasks: 3 (limit: 4915)
                                             CGroup: /system.slice/wetterstation.service
                                                     |-10398 /bin/bash /home/pi/wetterstation/wetterstation.sh
                                                     |-14592 /bin/bash /home/pi/wetterstation/wetterstation.sh
                                                     `-14595 
                                          
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          Mär 03 12:11:07 raspberrypi wetterstation.sh[10398]: (standard_in) 1: syntax error
                                          ~
                                          ~
                                          ~
                                          lines 1-20/20 (END)
                                          
                                          

                                          Kann mir jemand helfen oder habe ich irgendwas vergessen?
                                          Gruß

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

                                          @g-hawk Da funktioniert die Verbindung "Display/Gateway" zum "Rechner auf dem das Skript läuft" nicht korrekt.

                                          Die IP in der WS-View[+]-App ist korrekt?
                                          Du nutzt "Wunderground" als Format, da ist auch der Stationsname wichtig (APP wie auch in der *.conf. Müssen beide identisch sein [case sensitiv]):

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

                                          G 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

                                          394

                                          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