Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • SBorg
      SBorg Forum Testing Most Active @Langer last edited by

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

      Was muß ich noch machen oder was habe ich falsch gemacht??

      Hi, der Fehler steckt wie so oft im Detail:

      (UNKNOWN) [192.168.xxx.xxx] 8087 (?) open
      

      mangels "korrekter" netcat-Version kann er keine stabile Verbindung aufbauen. Deswegen geht es mal, oder halt nicht...
      Ev. habe ich dafür aber eine Lösung (die habe ich schon, nur so kann ich ev. von vorn herein eine "falsche" Version ausfiltern).
      Gib bitte mal im Terminal ls -al /etc/alternatives/nc|grep openbsd ein, da sollte bei dir jetzt nichts erscheinen.
      Gegentest: ls -al /etc/alternatives/nc|grep trad (da kommt dann so etwas wie lrwxrwxrwx 1 root root 15 Mai 9 2020 /etc/alternatives/nc -> /bin/nc.traditional) ?

      Lösung deines Problems: im Wiki --> FAQ --> "erhalte keine Daten" (netcat in passender Version nachinstallieren)

      1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @Protheus last edited by

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

        nein kalibriert habe ich nichts.
        Da fehlen mir halt die Referenzdaten um den Offset festzulegen.

        Jupp, das ist dein "Regen-Problem". Habe eben mal bei dir in den geposteten Werten nachgeschaut:

        javascript.0.Wetterstation.Druck_absolut=985.91
        

        So tief bin ich fast nie, das wäre lt. Tabelle eben "Regen" (siehst du auch auf dem Bild vom Barometer 🙂 )
        Aktuell sonnig (+auch lt. Anzeige) bei 1003 hPa
        Bei meiner Station musste ich nur die Höhe meines Montageortes über NN angeben.

        P 1 Reply Last reply Reply Quote 0
        • P
          Protheus @SBorg last edited by

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

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

          nein kalibriert habe ich nichts.
          Da fehlen mir halt die Referenzdaten um den Offset festzulegen.

          Jupp, das ist dein "Regen-Problem". Habe eben mal bei dir in den geposteten Werten nachgeschaut:

          javascript.0.Wetterstation.Druck_absolut=985.91
          

          So tief bin ich fast nie, das wäre lt. Tabelle eben "Regen" (siehst du auch auf dem Bild vom Barometer 🙂 )
          Aktuell sonnig (+auch lt. Anzeige) bei 1003 hPa
          Bei meiner Station musste ich nur die Höhe meines Montageortes über NN angeben.

          Hi,

          naja, die Höhe konnte ich nicht angeben. (Hat halt nur die Koordinaten drin wenn ich das richtig gesehen hab)
          Aber den relativen Luftdruck ändern. Ich habe das dann mit dem nächstgelegenen Flughafen und der nächsten wunderground Wetterstation abgeglichen und den relativen Luftdruck auf 1025 hpa eingestellt.

          Das mit dem absoluten Luftdruck habe ich nicht ganz verstanden (außer das ich dafür nen extra Gerät bräuchte...). Der hat sich auf 988 umgestellt als ich Längen- und Breitengrad nochmal aktualisiert hatte.

          Grüße
          Protheus

          Boronsbruder 1 Reply Last reply Reply Quote 0
          • Boronsbruder
            Boronsbruder @Protheus last edited by

            @protheus
            Der absolute Luftdruck ist der Wert, den die Station misst. Der ist natürlich von der Höhe des Messpunkts abhängig (je höher, desto niedriger der Luftdruck).
            Deswegen wird der relative Luftdruck auf Meereshöhe Null umgerechnet, um die Werte vergleichen zu können. Mit diesem Wert wird dann gearbeitet.

            1 Reply Last reply Reply Quote 0
            • C
              chrissi1 @SBorg last edited by

              @sborg ich habe InfluxDB auf meinem Raspberry installiert und ebenfalls auch den Adapter im ioBroker.

              Der Adapter im ioBroker ist grün.

              Ich habe InfluxDB bei Aussentemperatur, Wind_max und Regen_Tag aktiviert, die Werte werden auch unter Einstellungen aufgelistet.

              Leider wird mir in der Statistik nichts angezeigt. Die Aufzeichnung läuft jetzt 1,5 Tage.

              Muss ich noch irgendwas aktivieren?

              Screenshot 2021-04-06 085154.jpg
              Screenshot 2021-04-06 085102.jpg

              Boronsbruder 1 Reply Last reply Reply Quote 0
              • Boronsbruder
                Boronsbruder @chrissi1 last edited by

                @chrissi1
                Das Statistikskript läuft aber noch?

                Ich hatte es aus Reflex, wie beim Skript für Anlegen der DP, wieder deaktiviert 😉

                C 1 Reply Last reply Reply Quote 0
                • C
                  chrissi1 @Boronsbruder last edited by

                  @boronsbruder Ich habe gerade nachgesehen, das Statistikskript war deaktiviert.

                  Ich habe es jetzt aktiviert.

                  Jetzt muss ich wahrscheinlich einen Tag warten um zusehen, ob die Werte übertragen werden oder?

                  Boronsbruder 1 Reply Last reply Reply Quote 0
                  • Boronsbruder
                    Boronsbruder @chrissi1 last edited by

                    @chrissi1
                    Ja, per default werden die Daten von gestern um 01:03 Uhr in die Statistik übernommen.

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      chrissi1 @Boronsbruder last edited by

                      @boronsbruder

                      Ok, dann warte ich jetzt bis Morgen ab und melde mich dann.

                      Danke.

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        chrissi1 @chrissi1 last edited by

                        @SBorg , @Boronsbruder

                        Es hat geklappt, die Statistik wird mir jetzt angezeigt. 😀

                        Es lag an dem deaktivierten Wetterstation-Statistik-Skript.

                        Vielen Dank für eure Hilfe. 👍

                        1 Reply Last reply Reply Quote 0
                        • P
                          Protheus last edited by

                          Hi,

                          leider tut bei mir das Statistik Skript auch nicht.

                          Ich habe eine 2. Influx-Instanz (influxdb.1) für die Wetterstation.

                          Aussentemperatur, Regen_Tag und Wind_Max werden dahin gelogged. (Daten werden auch tatsächlich in die DB geschrieben)

                          Das Statistik Skript habe ich angepasst

                          const INFLUXDB_INSTANZ='1';                       /* unter welcher Instanz läuft die InfluxDB [default: 0]        */
                          

                          aber den Rest alles beibehalten.

                          Aber leider sind alle Werte auf default:

                          Screenshot - 2021-04-12 09_55_59-objects - ioBroker.png

                          ("SkriptVersion_Update" und "SkriptVersion_UpdateCheck" sollten doch nicht leer sein oder?)

                          Hat da jemand eine Idee?

                          Grüße
                          Protheus

                          Negalein SBorg 2 Replies Last reply Reply Quote 0
                          • Negalein
                            Negalein Global Moderator @Protheus last edited by

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

                            Hat da jemand eine Idee?

                            Script ist gestartet?

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Protheus @Negalein last edited by

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

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

                              Hat da jemand eine Idee?

                              Script ist gestartet?

                              Selbstverständlich 😄

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

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

                              Hat da jemand eine Idee?

                              Script ist gestartet?

                              Selbstverständlich 😄

                              Screenshot - 2021-04-12 10_06_41-javascript - ioBroker.png

                              Negalein 1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator @Protheus last edited by

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

                                Selbstverständlich

                                seit wann läuft es?
                                Wenn du es erst heute gestartet hast, siehst du noch nichts.
                                Per Default werden die Daten von gestern um 01:03 Uhr in die Statistik übernommen.

                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  Protheus @Negalein last edited by

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

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

                                  Selbstverständlich

                                  seit wann läuft es?
                                  Wenn du es erst heute gestartet hast, siehst du noch nichts.
                                  Per Default werden die Daten von gestern um 01:03 Uhr in die Statistik übernommen.

                                  Seit ich die Wetterstation eingerichtet habe (also ca. 2 Wochen)

                                  SBorg 1 Reply Last reply Reply Quote 0
                                  • SBorg
                                    SBorg Forum Testing Most Active @Protheus last edited by

                                    @protheus Ich habe es zwar nie mit einer anderen Instanz als "0" getestet, aber der Aufruf erfolgt genau 2x im Skript:

                                    sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query',...
                                    

                                    Da kann eigentlich nicht viel falsch sein. Ich kann mir nur vorstellen, dass er bei "1" etwas missinterpretiert (was ihm bei "0" egal ist).
                                    Ändere mal versuchsweise das User-Setting ab auf

                                    const INFLUXDB_INSTANZ=1; /* unter welcher Instanz läuft die InfluxDB [default: 0] */ 
                                    

                                    also ohne '' bei 1 und berichte dann morgen oder später 🙂

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      Protheus @SBorg last edited by

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

                                      @protheus Ich habe es zwar nie mit einer anderen Instanz als "0" getestet, aber der Aufruf erfolgt genau 2x im Skript:

                                      sendTo('influxdb.'+INFLUXDB_INSTANZ, 'query',...
                                      

                                      Da kann eigentlich nicht viel falsch sein. Ich kann mir nur vorstellen, dass er bei "1" etwas missinterpretiert (was ihm bei "0" egal ist).
                                      Ändere mal versuchsweise das User-Setting ab auf

                                      const INFLUXDB_INSTANZ=1; /* unter welcher Instanz läuft die InfluxDB [default: 0] */ 
                                      

                                      also ohne '' bei 1 und berichte dann morgen oder später 🙂

                                      Macht ' vs " eigentlich einen Unterschied?

                                      Weil

                                      let REKORDWERTE_AUSGABEFORMAT="[WERT] im [MONAT_KURZ] [JAHR]"
                                      

                                      steht in "..."

                                      Alle anderen Werte (auch die DB-ID) stehen in '...'

                                      Habs jetzt mal angepasst und wir schauen mal.

                                      Grund für die 2. DB: Ich logge für Grafana noch mehr DP der Wetterstation und wollte nicht das meine normale InfluxDB so unübersichtlich voll wird.

                                      Grüße
                                      Protheus

                                      SBorg 1 Reply Last reply Reply Quote 0
                                      • SBorg
                                        SBorg Forum Testing Most Active @Protheus last edited by

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

                                        Macht ' vs " eigentlich einen Unterschied?

                                        Ja und nein. Es macht einen Unterschied, der ist aber an der Stelle nicht maßgeblich.

                                        Ein "tolles" JS zur Veranschaulichung:

                                        let a="\"";
                                        let b='"';
                                        let c=1
                                        let d="2"
                                        let e='3'
                                        
                                        console.log("Ergebnis: "+a+"|"+b);
                                        console.log(typeof(a));
                                        console.log(typeof(b));
                                        console.log(typeof(c));
                                        console.log(typeof(d));
                                        console.log(typeof(e));
                                        


                                        12.4.2021, 16:33:53.919 [info ]: javascript.0 (5881) Start javascript script.js.common.Test.TMP.Skript_2
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: Ergebnis: "|"
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: string
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: string
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: number
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: string
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: string
                                        12.4.2021, 16:33:53.928 [info ]: javascript.0 (5881) script.js.common.Test.TMP.Skript_2: registered 0 subscriptions and 0 schedules
                                        12.4.2021, 16:36:22.988 [info ]: javascript.0 (5881) Stop script script.js.common.Test.TMP.Skript_2

                                        Wie man nun ev. sieht wird die entsprechende Variable bei ' und " immer zu einer Zeichenkette (string).
                                        Lediglich #3 deklariert sie wirklich als Zahl (number). Es wäre also egal ob du xyz='1' oder xyz="1" schreibst. xyz wird immer eine Zeichenkette mit Inhalt 1 sein.
                                        Den Unterschied sieht man dann in #1 und #2. Du kannst in einer Zeichenkette die mit " deklariert wurde keine weiteren " innerhalb oder spezielle Zeichen (CR, LF, usw.) nutzen. Die musst du vorher "escapen" (siehe #1). Da ließt sich #2 einfach stellenweise besser...

                                        Der "sendTo"-Befehl funktioniert zwar bei "0" wenn es als String vorliegt, vielleicht geht es aber eigentlich nur als Zahl und funktioniert eher zufällig mit "0" als String. Mag ich zwar alles nicht so richtig glauben, aber es gibt sonst keine weitere Unterscheidung der Instanzen.
                                        Wenn du die Uhrzeit noch per Default auf 01:03 Uhr stehen hast, kommt dann um die Zeit eine Fehlermeldung vom Skript? Wenn er die DB so gar nicht lesen kann sollte er eigentlich "Fehler: ...[Fehlertext was ihn stört]" werfen.

                                        P da_Woody 2 Replies Last reply Reply Quote 0
                                        • P
                                          Protheus @SBorg last edited by

                                          @sborg

                                          Hm, ich glaube da liegt ein anderes Problem vor:

                                          javascript.0	2021-04-12 13:14:03.580	info	(1648) script.js.common.Wetterstation.WS-Statistic: registered 0 subscriptions and 1 schedule
                                          javascript.0	2021-04-12 13:14:03.580	info	(1648) script.js.common.Wetterstation.WS-Statistic: Wetterstation-Statistiken gestartet...
                                          javascript.0	2021-04-12 13:14:03.574	info	(1648) Start javascript script.js.common.Wetterstation.WS-Statistic
                                          javascript.0	2021-04-12 13:14:01.061	info	(1648) Stop script script.js.common.Wetterstation.WS-Statistic
                                          javascript.0	2021-04-12 13:14:01.060	error	(1648) Cannot write file /opt/iobroker-Scripts/javascript-backup/common/Wetterstation/WS-Statistic.js: Error: EACCES: permission denied, mkdir '/opt/iobroker-Scripts/javascript-backup/common/Wetterst
                                          javascript.0	2021-04-12 13:13:54.468	info	(1648) Stop script script.js.common.Wetterstation.WS-Statistic
                                          

                                          Ich habe die Berechtigung mal angepasst und nun kommt der Fehler nicht mehr.
                                          Das ist noch ein Überbleibsel vom Javascript-Backup

                                          javascript.0	2021-04-12 17:12:33.861	info	(1648) script.js.common.Wetterstation.WS-Statistic: registered 0 subscriptions and 1 schedule
                                          javascript.0	2021-04-12 17:12:33.855	info	(1648) script.js.common.Wetterstation.WS-Statistic: Wetterstation-Statistiken gestartet...
                                          javascript.0	2021-04-12 17:12:33.842	info	(1648) Start javascript script.js.common.Wetterstation.WS-Statistic
                                          

                                          Nach einem Neustart des Scripts passiert aber noch nichts.
                                          Also mal die Nacht abwarten.

                                          Grüße
                                          Protheus

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            Protheus last edited by

                                            @sborg

                                            Hi,

                                            leider heute wieder keine Daten im Statistik Skript.
                                            Ich habe den Schedule mal auf minütlich umgestellt, verbose und debug logging aktiviert und den javaskript-Adapter reinstalliert.
                                            Jetzt sehe ich auch Wanmeldungen im Log:

                                            javascript.0	2021-04-13 12:11:00.008	warn	at processImmediate (internal/timers.js:461:21)
                                            javascript.0	2021-04-13 12:11:00.008	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:232:37)
                                            javascript.0	2021-04-13 12:11:00.008	warn	at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5467:71)
                                            javascript.0	2021-04-13 12:11:00.008	warn	at Object.cb (script.js.common.Wetterstation.WS-Statistic:190:38)
                                            javascript.0	2021-04-13 12:11:00.008	warn	at Math.sum (script.js.common.Wetterstation.WS-Statistic:189:53)
                                            javascript.0	2021-04-13 12:11:00.008	warn	at Array.reduce (<anonymous>:null:null)
                                            javascript.0	2021-04-13 12:11:00.008	warn	(9301) TypeError: Reduce of empty array with no initial value
                                            javascript.0	2021-04-13 12:11:00.007	warn	(9301) States system pmessage io.messagebox.system.adapter.javascript.0 {"command":"query","message":{"result":[[],[],[]],"ts":1618308660007,"error":null},"from":"system.adapter.influxdb.1","callback
                                            javascript.0	2021-04-13 12:11:00.004	warn	(9301) script.js.common.Wetterstation.WS-Statistic: setForeignState(id=0_userdata.0.Statistik.Wetter.Control.Statusmeldung, state={"val":"erfolgreich","ack":true,"c":"script.js.common.Wetterstation.W
                                            javascript.0	2021-04-13 12:11:00.004	info	(9301) script.js.common.Wetterstation.WS-Statistic: setForeignState(id=0_userdata.0.Statistik.Wetter.Control.Statusmeldung, state={"val":"erfolgreich","ack":true,"c":"script.js.common.Wetterstation.W
                                            javascript.0	2021-04-13 12:11:00.004	info	(9301) script.js.common.Wetterstation.WS-Statistic: getState(id=0_userdata.0.Statistik.Wetter.Control.ScriptVersion_UpdateCheck, timerId=undefined) => {"val":"","ack":true,"ts":1617267968468,"q":0,"f
                                            javascript.0	2021-04-13 12:11:00.004	info	(9301) script.js.common.Wetterstation.WS-Statistic: Auswertung durchgeführt...
                                            javascript.0	2021-04-13 12:11:00.003	info	(9301) script.js.common.Wetterstation.WS-Statistic: getState(id=0_userdata.0.Statistik.Wetter.Control.Reset_Jahresstatistik, timerId=undefined) => {"val":false,"ack":true,"ts":1617267968468,"q":0,"fr
                                            javascript.0	2021-04-13 12:11:00.003	info	(9301) script.js.common.Wetterstation.WS-Statistic: sendTo(adapter=influxdb.1, cmd=query, msg="select * FROM \"javascript.0.Wetterstation.Aussentemperatur\" WHERE time >= 1618178400000000000 AND time
                                            

                                            Er scheint zumindest den richtigen InfluxDB-Adapter zu nehmen (sendTo(adapter=influxdb.1).
                                            Mit dem Rest kann ich aber nichts anfangen 🙂

                                            Viele Grüße
                                            Protheus

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            797
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            143
                                            5478
                                            3279663
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo