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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Linux Shell-Skript] WLAN-Wetterstation

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

      Moin, habe ein kleines Script von hier für die Statistik.
      Da ich mich damit nicht auskenne, frage hier mal an die Script -Gurus 😀

      on({id: 'javascript.0.Wetterstation.Aussentemperatur'}, function (obj) {
      	let min = getState('0_userdata.0.Statistik.Wetter.AussenMin').val;
      	let max = getState('0_userdata.0.Statistik.Wetter.AussenMax').val;
      
      	if (obj.state.val < min) {
      		setState("0_userdata.0.Statistik.Wetter.AussenMin", obj.state.val, true);
      	}
      
      	if (obj.state.val > max) {
      		setState("0_userdata.0.Statistik.Wetter.AussenMax", obj.state.val, true);
      	}
      });
      
      function Werte_Reset() {
      	setState('0_userdata.0.Statistik.Wetter.AussenMin',100,true);
      	setState('0_userdata.0.Statistik.Wetter.AussenMax',-100,true);
      };
      
      schedule('0 0 * * *', Werte_Reset);
      

      statistik.PNG

      Wie bekomme ich folgende Fehlermeldung weg

      2021-08-24 01:03:00.772 - error: javascript.0 (878) script.js.Wetter.Statistik-Wetterstation: error: TypeError: Cannot read property '0' of null
      

      und was müßte wie geändert werden dass das Script nur alle z.B. 5 oder 10 Minuten triggert und nicht jede Minute.
      Gut wäre es natürlich wenn man das einstellen kann.

      SBorg Boronsbruder 2 Replies Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @Nashra last edited by

        @nashra Das Skript zu ändern wäre nicht schwierig, aber du nutzt doch Grafana? --> dann nutzt du auch Influx --> dann hast du (wenn du Influx in der .conf aktivierst/einrichtest) -->
        Bild 1.png
        Das wird automatisch zu jeder vollen Viertelstunde aktualisiert 😉

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

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

          @nashra Das Skript zu ändern wäre nicht schwierig, aber du nutzt doch Grafana? --> dann nutzt du auch Influx --> dann hast du (wenn du Influx in der .conf aktivierst/einrichtest) -->
          Bild 1.png
          Das wird automatisch zu jeder vollen Viertelstunde aktualisiert 😉

          Na wenn ich das mal wieder hinbekomme in meinem Alter 😁
          So in der .conf alles eingetragen, hoffe das es richtig ist. Ah gerade hat er aktualisiert, von 0°C auf (null) °C.
          Scheint also richtig zu sein mit den Daten in der .conf, dann warten wir mal bis da ein richtiger Wert auftaucht.
          Hatte ich gar nicht auf dem Schirm mit der .conf, danke @SBorg

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

            @nashra
            ich denke der Fehler liegt bei

             schedule('0 0 * * *', Werte_Reset);
            

            müsste

            schedule('0 0 * * *', Werte_Reset());
            
            oder 
            
            schedule('0 0 * * *', function(){Werte_Reset();});
            

            schau mal hier wegen der Einstellung des schedule

            Nashra 1 Reply Last reply Reply Quote 0
            • Nashra
              Nashra Most Active Forum Testing @Boronsbruder last edited by

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

              @nashra
              ich denke der Fehler liegt bei

               schedule('0 0 * * *', Werte_Reset);
              

              müsste

              schedule('0 0 * * *', Werte_Reset());
              
              oder 
              
              schedule('0 0 * * *', function(){Werte_Reset();});
              

              schau mal hier wegen der Einstellung des schedule

              also beim ersten kommt

              javascript.0 (878) script.js.Wetter.Temp-Min-Max: schedule callback missing
              

              beim zweiten wird nicht gemoppert, mal sehen was morgen im Protokoll steht

              1 Reply Last reply Reply Quote 0
              • Nashra
                Nashra Most Active Forum Testing last edited by

                @Boronsbruder, Fehler war heute Morgen wieder aber nicht schlimm, Script deaktiviert
                da ich den Tip von @SBorg jetzt genommen habe.

                @SBorg, läuft jetzt. Was ich aber nicht ganz verstehe ist das die max. Temperatur von der
                tatsächlichen Temperatur um ca. 6 °C abweicht. Berechnest Du das aus den letzten 24 Stunden?
                Dann würde dies bei mir, da es ja um den heutigen Tag geht, nicht passen sage ich jetzt mal.

                statistik1.PNG
                Oder habe ich alter Sack hier einen Gedankenfehler 😁

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

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

                  Fehler war heute Morgen wieder aber nicht schlimm, Script deaktiviert
                  da ich den Tip von @SBorg jetzt genommen habe.

                  Der wird auch bleiben 😉

                  2021-08-24 01:03:00.772 - error: javascript.0 (878) script.js.Wetter.Statistik-Wetterstation: error: TypeError: Cannot read property '0' of null 
                  

                  Man beachte die Uhrzeit (1:03 Uhr) und script.js.Wetter.Statistik-Wetterstation ...
                  Das kommt vom Statistik-Skript, nicht von dem Min-/Max-Temp Skript 😉

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

                  Berechnest Du das aus den letzten 24 Stunden

                  Jepp, siehe Bezeichnung ...der letzten 24h...
                  Einen "echten" Tageswert habe ich bis dato nicht drin, da dass wieder Auslegungssache ist. Im Grunde kann es einen Max-/Minwert erst ab 0:00 Uhr des Folgetages geben, denn ab da liegen auch erst alle Messwerte des (nun vergangenen) Tages vor. Korrekt müsste es dann bspw. "bisheriger Max/Minwert" oä. lauten. Es kann ja bspw. um 23:55 Uhr ein neuer Tiefstwert erreicht werden. Ist zwar dann nur noch 5 Minuten gültig, aber eben ein neuer Tiefstwert für den aktuellen Tag.
                  Da das aber nichts desto Trotz zwei simple Datenbankabfragen sind (im Gegensatz zu dem JS mit dauerndem Triggern und Vergleich der aktuellen mit gespeicherten Werten), kann ich dir/euch aber die zwei Werte recht einfach liefern (zB. bei den 15-Minuten Jobs) 🙂

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

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

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

                    Fehler war heute Morgen wieder aber nicht schlimm, Script deaktiviert
                    da ich den Tip von @SBorg jetzt genommen habe.

                    Der wird auch bleiben 😉

                    Nix da, Fehler muß weg 😁 😉

                    2021-08-24 01:03:00.772 - error: javascript.0 (878) script.js.Wetter.Statistik-Wetterstation: error: TypeError: Cannot read property '0' of null

                    Man beachte die Uhrzeit (%(#ff0000)[1:03 Uhr]) und script.js.%(#ff0000)[Wetter.Statistik-Wetterstation] ...
                    Das kommt vom Statistik-Skript, nicht von dem Min-/Max-Temp Skript ;)
                    

                    Jow du hast recht. Da schaut man 100mal drauf und überliest es trotzdem weil man sich an
                    anderer Stelle festgebissen hat 😵
                    Und was sehe ich, das Script ist auch noch von dir. Ne ne mein Freund so geht das aber nicht 😂 😂 😂 😂

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

                    Berechnest Du das aus den letzten 24 Stunden

                    Jepp, siehe Bezeichnung ...der letzten 24h...
                    Einen "echten" Tageswert habe ich bis dato nicht drin, da dass wieder Auslegungssache ist. Im Grunde kann es einen Max-/Minwert erst ab 0:00 Uhr des Folgetages geben, denn ab da liegen auch erst alle Messwerte des (nun vergangenen) Tages vor. Korrekt müsste es dann bspw. "bisheriger Max/Minwert" oä. lauten. Es kann ja bspw. um 23:55 Uhr ein neuer Tiefstwert erreicht werden. Ist zwar dann nur noch 5 Minuten gültig, aber eben ein neuer Tiefstwert für den aktuellen Tag.
                    Da das aber nichts desto Trotz zwei simple Datenbankabfragen sind (im Gegensatz zu dem JS mit dauerndem Triggern und Vergleich der aktuellen mit gespeicherten Werten), kann ich dir/euch aber die zwei Werte recht einfach liefern (zB. bei den 15-Minuten Jobs) 🙂

                    Ja, das wäre klasse wenn Du dies machen würdest. Bisheriger Max/Min wäre für mich sinnvoller
                    wobei die Zwei letzten 24h Min/max natürlich auch gebraucht werden, die kommen dann in den
                    VIS-Bereich von gestern.

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

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

                      Und was sehe ich, das Script ist auch noch von dir. Ne ne mein Freund so geht das aber nicht
                      ...
                      Ja, das wäre klasse wenn Du dies machen würdest.

                      Nach dieser infamen Diskriminierung meinerseits: nö, keine Lust... 😌 😎

                      ...aber im Alter wird man ja bekanntlich nicht nur weise...
                      Bild 1.png
                      und lt. Grafana
                      Bild 2.png
                      👍 ich lade es relativ zeitnah auf GitHub als V2.9.0, allerdings ohne große Beta-Release Ankündigung.


                      Den Statistik-Fehler habe ich auf der toDo-Liste, allerdings mit geringer Prio, da nur 1x täglich und ohne sonstige Auswirkungen (aktuell auch keine Idee was er da nicht lesen kann...)

                      Nashra 1 Reply Last reply Reply Quote 2
                      • Nashra
                        Nashra Most Active Forum Testing @SBorg last edited by

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

                        Nach dieser infamen Diskriminierung meinerseits: nö, keine Lust... 😌 😎

                        ...aber im Alter wird man ja bekanntlich nicht nur weise...

                        Du sagst es 😁 👍

                        Bild 1.png
                        und lt. Grafana
                        Bild 2.png
                        👍 ich lade es relativ zeitnah auf GitHub als V2.9.0, allerdings ohne große Beta-Release Ankündigung.

                        Das ging aber schnell, ich verbeuge mich Sir @SBorg


                        Den Statistik-Fehler habe ich auf der toDo-Liste, allerdings mit geringer Prio, da nur 1x täglich und ohne sonstige Auswirkungen (aktuell auch keine Idee was er da nicht lesen kann...)

                        Kein Problem 😉

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

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

                          Das ging aber schnell, ich verbeuge mich Sir @SBorg

                          Ist halt eine "simple" Datenbankabfrage, mehr nicht. Deswegen lässt sich es auch einfach und zügig umsetzen.
                          Ist auf GitHub --> sh + sub ersetzen, js ebenfalls und einmalig ausführen wg. neuer Datenpunkte, Service neu starten.
                          conf + updater bleiben aktuell gleich

                          So richtig testen konnte ich es nicht, da heute der Höchst- u. Tiefswert bei mir war, somit sind die Werte von "Heute" mit denen "der letzten 24h" identisch 😉
                          Aber die Abfrage läuft von "heute 0:00 Uhr" bis "jetzt", sollte also eigentlich funktionieren 🙂

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

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

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

                            Das ging aber schnell, ich verbeuge mich Sir @SBorg

                            Ist halt eine "simple" Datenbankabfrage, mehr nicht. Deswegen lässt sich es auch einfach und zügig umsetzen.

                            Egal, manch einer braucht für sowas 2 Wochen 😀

                            Ist auf GitHub --> sh + sub ersetzen, js ebenfalls und einmalig ausführen wg. neuer Datenpunkte, Service neu starten.
                            conf + updater bleiben aktuell gleich

                            Hatte ich sofort gemacht

                            So richtig testen konnte ich es nicht, da heute der Höchst- u. Tiefswert bei mir war, somit sind die Werte von "Heute" mit denen "der letzten 24h" identisch 😉
                            Aber die Abfrage läuft von "heute 0:00 Uhr" bis "jetzt", sollte also eigentlich funktionieren 🙂

                            Warten wir mal bis morgen Abend oder Übermorgen, dann sieht man ja ob es richtig läuft 😉
                            Danke @SBorg

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

                              Sieht IMHO gut aus:
                              Bild 1.png

                              btw: Hätte man mich aktuell gefragt, wäre ich davon ausgegangen, dass es genau vor einem Jahr deutlich wärmer war. So kann man sich irren 😉

                              Negalein 1 Reply Last reply Reply Quote 0
                              • Nashra
                                Nashra Most Active Forum Testing last edited by Nashra

                                Moin, bei mir jetzt auch

                                temp-heute.PNG

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

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

                                  Sieht IMHO gut aus:

                                  ebenfalls 🙂

                                  objects - ioBroker.png

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

                                    🙂
                                    Ich habe noch eine Änderung vorgenommen (noch nicht auf GitHub), aber heute Nacht verpeilt den Erfolg oder Misserfolg zu kontrollieren.
                                    Unter Umständen kann es eine ganze Zeit nach Mitternacht dauern bis Werte angezeigt werden. "Null" ist nicht das gewünschte Ergebnis. Mit der Änderung wird (oder sollte) solange Influx nichts liefert (zB. Werte stehen noch im RAM und sind noch nicht geschrieben) die aktuelle Aussentemperatur als Min/Max angezeigt werden.

                                    Bei nur einem Messwert, bzw. bis sich auch mal der Wert ändert, ist Min/Max (und Avg) sowieso gleich. Erst mit der 1. Wertänderung gibt es ein "echtes" Min/Max/Avg wenn ihr wisst was ich meine.

                                    ...und nochmals: wenn was fehlt, einfach nachfragen. Mehr als "Nein" kann ja nicht passieren 😁
                                    Entweder aus technischer Sicht, Aufwand oder Sinnlosigkeit ich wüsste gerne ob vor 200 Tagen um 0:23 Uhr die Sonne schien... (würde mit 0% Wahrscheinlichkeit umgesetzt werden)
                                    Ich kann halt nur nicht immer "wann" und "ob" versprechen 😉

                                    Nashra 1 Reply Last reply Reply Quote 3
                                    • Nashra
                                      Nashra Most Active Forum Testing @SBorg last edited by

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

                                      🙂
                                      Entweder aus technischer Sicht, Aufwand oder Sinnlosigkeit ich wüsste gerne ob vor 200 Tagen um 0:23 Uhr die Sonne schien... (würde mit 0% Wahrscheinlichkeit umgesetzt werden)

                                      Ok, dann nehmen wir 199 Tage 😂 😂 😂 😂 😂 😂 😂
                                      Sorry, konnte ich mir jetzt nicht verkneifen 😁
                                      Und Danke nochmal für die tolle Arbeit und deinen Support 👍

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

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

                                        Sorry, konnte ich mir jetzt nicht verkneifen

                                        Och bisserl Spaß muss auch sein...

                                        if $Anfrage and $User == "Nashra" then delete $Anfrage
                                        

                                        😇 😂 😂 😂
                                        💩 happens 🖖 😎

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

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

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

                                          Sorry, konnte ich mir jetzt nicht verkneifen

                                          Och bisserl Spaß muss auch sein...

                                          if $Anfrage and $User == "Nashra" then delete $Anfrage
                                          

                                          😇 😂 😂 😂
                                          💩 happens 🖖 😎

                                          👍 😂

                                          a200 1 Reply Last reply Reply Quote 0
                                          • a200
                                            a200 @Nashra last edited by a200

                                            @SBorg - Moin. Ich versuche jetzt auf influx2 zu migrieren und habe ein Problem an dem du nicht ganz unschuldig bist! 😉

                                            Ich habe die meine Daten aus v1 mit:

                                            influx_inspect export \
                                              -database <database-name> \
                                              -out <output-file-path> \
                                              -lponly
                                            

                                            exportiert um sie dann mir:

                                            influx write \
                                              --bucket <bucket-name> \
                                              --file <path-to-line-protocol-file>
                                            

                                            in der v2 zu importieren. (siehe: https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/manual-upgrade/#migrate-time-series-data )

                                            jetzt bekomme ich eine Meldung:

                                            Error: Failed to write data: unable to parse 'javascript.0.Wetterstation.Wetter_aktuell value="stürmisch, Regen': unbalanced quotes.
                                            

                                            Ein Blick in die Datei verrät gleich:

                                            javascript.0.Wetterstation.Wetter_aktuell value="stürmisch, Regen
                                            " 1609109126391000000
                                            

                                            dass am Ende des Strings ein Zeilenumbruch erstellt wird. Bei Zeilen mit nur einem Wort als String stört ihn das aber gar nicht. d.h. diese Zeile ist ok.

                                            javascript.0.Wetterstation.Wetter_aktuell value="regnerisch
                                            " 1609075829705000000
                                            

                                            Die erste Bitte ist, ob du es prüfen könntest und ggf. mit tr den unnötigen Zeilenwechsel entfernen.

                                            Die zweite ist: mir bei dem sed Befehl helfen, bei dem das \n am Ende einer Zeile entfernt wird, aber nur wenn die Zeile mit einem Buchstaben endet.

                                            Das habe ich mit:

                                            #!/bin/bash
                                            while read LINE
                                            do
                                            if [[ $(echo $LINE| grep -Po '.(?=.{0}$)') =~ [a-z] ]]; then
                                                echo $LINE | tr -d '\n'
                                            else
                                                echo $LINE
                                            fi
                                            done < $1
                                            

                                            Danke und Gruß,
                                            a200.

                                            ps. ich hoffe, dass der Bezug zu deinem Skript ausreichend ist. 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            976
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2909469
                                            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