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

donate donate
  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.4k

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

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

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 153 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.
  • 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 Online
      BoronsbruderB Online
      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 :wink: . 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 :expressionless:
          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 Online
            BoronsbruderB Online
            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 Online
                BoronsbruderB Online
                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
                          • NegaleinN Negalein

                            @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

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

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

                            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.

                            Das war/ist auch soweit alles korrekt. Mit der ganz neuen Grafana-Version habe ich es noch nicht probiert (es kamen die Tage drei Updates), aber ich glaube da hat sich diesbzgl. ein Bug eingeschlichen. Als ich es exportiert habe ging es noch. Dann hatte ich plötzlich ein ähnliches Problem. Nach einer Änderung im Widget konnte ich partout keine Werte auswählen.
                            Erst nach einem Klick auf "Apply" und erneutem laden des Widget war dies möglich.

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

                            1 Antwort Letzte Antwort
                            1
                            • NegaleinN Negalein

                              @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

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

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

                              wie sehen bei dir die Alias aus (true wird 1, false wird 0), bzw. wie wandle ich mit einem Alias true in 0, usw.?

                              Ganz, ganz schwerer Voodoo :joy:

                              val ? 1 : 0

                              Bild 001.png

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

                              Aus dem Weatherunderground-Adapter mittels Skript:

                              /* Wunderground Regen
                              Abfrage des Weatherunderground Adapters im Bereich Vorhersage,
                              wann der nächste Regen erwartet wird.
                              
                              Findet in den forecastHourly-Datenpunkt den ersten Regen-Eintrag
                              Ausgabe in Text ("kein Regen", "X Stunden (X% [Wahrscheinlichkeit])")
                              
                              http://forum.iobroker.net/viewtopic.php?f=21&t=3447#p31858
                              
                              
                              01.08.2016 erstellt von Pix unter Nutzung des obigen Skriptes
                              28.06.2017 Korrekturen
                              12.07.2017 Fehler abfangen und Typ Variable auf String geändert
                              06.03.2019 Code optimiert
                                         berücksichtigt Niederschlag in der aktuellen Stunde (Stunde 0)
                              11.06.2019 auf neue Datenpunkte angepasst für weatherground-Adapter (getestet V3.0.11)
                              04.08.2019 geändert für Wunderground Adapter 3.1.1
                              08.03.2021 Codeoptimierungen @SBorg
                              
                              */
                              
                              
                              const vorstd = 36;                                       // Vorschau in Stunden (Weatherunderground bietet neuerdings bis 36h Vorschau), kann hier auch kleiner sein
                              const idRegen = "0_userdata.0.VIS.Wetter.Regenvorschau"; // Ziel-Datenpunkt
                              const wunder_inst = "weatherunderground.0.";             // Weatherground-Adapter Instanz
                              const logging = false;
                              
                              createState(idRegen, "kein Regen", { name: "Regenvorschau", type: "string", role: "text" });
                               
                              
                              function berechneZeit() {
                                  if (logging) log("Berechne Dauer in Stunden bis zum nächsten Regen");
                                  let data=0, pop=0;
                                  for (let i=0; i<vorstd; i++) {
                                      data = getState(wunder_inst + "forecastHourly." + i + "h.precipitation").val;
                                      if (data > 0) {   
                                          pop = getState(wunder_inst + "forecastHourly." + i + "h.precipitationChance").val;
                                          if (logging) log("Regeneintrag gefunden bei " + i + "h " + data + "mm");
                                          if (i == 0) { // wenn jetzt Regen
                                              if (logging) log("In dieser Stunde werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)");
                                              setState(idRegen, "jetzt (" + pop + "%)", true);
                                          } else {
                                              if (logging) log("In " + i + " Stunden werden " + data + "mm Regen erwartet (Wahrscheinlichkeit " + pop + "%)");
                                              if (i==1) { setState(idRegen, "1 Stunde (" + pop + "%)", true); } else { setState(idRegen, i + " Stunden (" + pop + "%)", true); }
                                          }
                                          i=vorstd-1; // beim ersten Auftreten der Regenwahrscheinlichkeit über 0 abbrechen
                                      } 
                                      if ((i == vorstd-1) && (pop == 0)) {
                                          setState(idRegen, "Kein Regen erwartet (" + pop + "%)", true);
                                          if (logging) log("Kein Regen erwartet (" + pop + "%)");
                                      }
                                  }
                              }
                               
                              // bei jeglicher Aktualisierung von Weatherunderground Berechnung starten
                               
                              on({
                                  id: /^weatherunderground\.[0-9]+\.forecast.*\.[0-9]+h\.precipitation$/,  // forecastHourly, forecastDaily, forecast
                                  change: "any"
                              }, berechneZeit);
                               
                              // bei Skriptstart
                              berechneZeit();
                              
                              

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

                              1 Antwort Letzte Antwort
                              1
                              • SBorgS SBorg

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

                                G Offline
                                G Offline
                                G.Hawk
                                schrieb am zuletzt editiert von
                                #4565

                                @sborg
                                Hallo Danke für deine Antwort.
                                Ich habe alles geprüft und es ist alles richtig.
                                Interessant war dass nach einem Reboot einmal die Daten geholt wurden und dann nicht mehr.
                                Dann habe ich probiert ein update vom Rasberry zu machen und habe Fehler bezüglich der Schlüssel von Influx und Grafana bekommen.
                                Den Influx update Fehler konnte ich beseitigen. Grafana noch nicht.
                                Aber nach der Update Aktion läuft alles wieder.
                                Ich weiß nur nicht woran es nun lag.

                                Gruß

                                1 Antwort Letzte Antwort
                                0
                                • BoronsbruderB Boronsbruder

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

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

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

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

                                  Waren das alle measurements über 24h?

                                  EDIT:
                                  Bei mir sah es über alle Measurements der letzten 24h so aus:
                                  script.js.Test.Test3: Fertig! Rows: 130968 Dauer: 11482 ms
                                  Nur Außentemperatur so:
                                  script.js.Test.Test3: Fertig! Rows: 1972 Dauer: 102 ms

                                  Ein Wert geht eigentlich noch recht schnell.
                                  Wenn man im iobroker in den Objekten bei der Außentemperatur auf die benutzerdefinierten Einstellungen geht (das Zahnrad) und die Verlaufsdaten der letzten 24h anschauen will, dann warte ich da etwa 10 sek bis die da sind.
                                  Wenn der Influx Adapter auf V1.x läuft, dauert das nicht mal eine Sekunde.
                                  Und auch wenn man den EChart Adapter benutzt, dauert der Aufbau eines Graphen im V2.x Modus mehrere Sekunden.
                                  Irgendwo ist da also noch der Wurm drin mit dem Influx Adapter.

                                  BoronsbruderB 1 Antwort Letzte Antwort
                                  0
                                  • V viper4iob

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

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

                                    Waren das alle measurements über 24h?

                                    EDIT:
                                    Bei mir sah es über alle Measurements der letzten 24h so aus:
                                    script.js.Test.Test3: Fertig! Rows: 130968 Dauer: 11482 ms
                                    Nur Außentemperatur so:
                                    script.js.Test.Test3: Fertig! Rows: 1972 Dauer: 102 ms

                                    Ein Wert geht eigentlich noch recht schnell.
                                    Wenn man im iobroker in den Objekten bei der Außentemperatur auf die benutzerdefinierten Einstellungen geht (das Zahnrad) und die Verlaufsdaten der letzten 24h anschauen will, dann warte ich da etwa 10 sek bis die da sind.
                                    Wenn der Influx Adapter auf V1.x läuft, dauert das nicht mal eine Sekunde.
                                    Und auch wenn man den EChart Adapter benutzt, dauert der Aufbau eines Graphen im V2.x Modus mehrere Sekunden.
                                    Irgendwo ist da also noch der Wurm drin mit dem Influx Adapter.

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

                                    @viper4iob
                                    ja

                                    let Startzeit = new Date();
                                    
                                    sendTo('influxdb.1', 'query', 'from(bucket: "wetter") |> range(start: -24h)', 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');
                                    
                                        }
                                    
                                    });
                                    

                                    Und bei mir laufen gerade 4 Influx-Instanzen 1x v1 und 3x v2 parallel

                                    Edit:
                                    Hab das mit den Verlaufsdaten AUSSENTEMPERATUR mal getestet und für die Daten vom 01.01.2021 - 05.02.2023 --> 9 sek -- letzte 24h 4 sek...

                                    V 1 Antwort Letzte Antwort
                                    0
                                    • BoronsbruderB Boronsbruder

                                      @viper4iob
                                      ja

                                      let Startzeit = new Date();
                                      
                                      sendTo('influxdb.1', 'query', 'from(bucket: "wetter") |> range(start: -24h)', 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');
                                      
                                          }
                                      
                                      });
                                      

                                      Und bei mir laufen gerade 4 Influx-Instanzen 1x v1 und 3x v2 parallel

                                      Edit:
                                      Hab das mit den Verlaufsdaten AUSSENTEMPERATUR mal getestet und für die Daten vom 01.01.2021 - 05.02.2023 --> 9 sek -- letzte 24h 4 sek...

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

                                      @boronsbruder
                                      Hab meine Werte oben eingefügt.
                                      Über alle Werte dauert es bei mir zwar deutlich länger, aber ein einzelner Wert geht generell gesehen noch recht schnell und erklärt nicht, warum der Abruf der Verlaufsdaten so lange dauert (Erklärung siehe oben) .
                                      Vielleicht kannst du mal checken, wie lange das bei dir dauert.

                                      BoronsbruderB 1 Antwort Letzte Antwort
                                      0
                                      • V viper4iob

                                        @boronsbruder
                                        Hab meine Werte oben eingefügt.
                                        Über alle Werte dauert es bei mir zwar deutlich länger, aber ein einzelner Wert geht generell gesehen noch recht schnell und erklärt nicht, warum der Abruf der Verlaufsdaten so lange dauert (Erklärung siehe oben) .
                                        Vielleicht kannst du mal checken, wie lange das bei dir dauert.

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

                                        @viper4iob
                                        siehe oben :D

                                        V 1 Antwort Letzte Antwort
                                        0
                                        • BoronsbruderB Boronsbruder

                                          @viper4iob
                                          siehe oben :D

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

                                          @boronsbruder
                                          Wenn du den Zeitraum umstellst, geht der Aufruf schneller.
                                          Stell ihn mal auf 24h, geh aus den Einstellungen raus und wieder rein, dann dauert es wahrscheinlich auch die 9 sek.
                                          Der erste Aufruf dauert irgendwie gefühlt immer gleich lang, als würden die erst mal alles abfragen und dann nochmal die Zeitspanne auf die Einstellung eingrenzen.
                                          Aber im Prinzip ist es mir an der Stelle wurscht, soll nur zeigen, dass da im Vergleich zu v1.x ein Performance Problem zu sein scheint.
                                          Mein Problem ist eigentlich, das im v2.x Modus auch Graphen vom ECharts Adapter pro Graph jetzt mehrere Sekunden Ladezeit haben und das nervt gewaltig.
                                          Bin deshalb aktuell dabei, diese Graphen in Grafana nachzubauen und die dann als iFrame in jarvis statt den ECharts zu embedden.
                                          Solange muss ich noch auf v1.x bleiben.

                                          BoronsbruderB 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

                                          933

                                          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