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 @Protheus last edited by

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

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

      Hatte ich noch vergessen. "Update" wird erst befüllt wenn auch tatsächlich der "Check" aktiviert wurde.
      Den "Check" muss man selbst aktivieren falls gewünscht. Per Default ist er leer (=false) wird also nicht ausgeführt. Der Anwender muss ihn selbst aktiv auf "true" setzen wenn er die Funktion nutzen möchte. Immerhin wird hier aktiv eine Seite (meines) GitHub-Projektes gelesen (+so ggf. eine INet-Verbindung aufgebaut) und die aktuelle Versionsnummer heraus geparst. Will ja ev. nicht jeder.

      ...und zum Problem:

      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
      

      Er kann nichts aus der InfluxDB lesen. Er spricht sie auch korrekt an und es kommt zu keinem Fehler (error:null):

      ..."ts":1618308660007,"error":null},"from":"system.adapter.influxdb.1",...
      

      Müsste ich raten, wäre mein Favorit, dass die DB schlichtweg leer ist?
      Kannst du direkt per Influx oder Grafana zB. die Aussentemperatur aus der 1er Instanz lesen?
      Ich habe leider keine Testumgebung und kann es nicht gerade mal eben in meiner Produktivumgebung nachbilden. Deswegen weiß ich aktuell nicht ob bei dir (denn es läuft so problemlos unter "0" bei allen Anderen) ev. ein pauschales Problem vorliegt, oder es prinzipiell nicht wg. der 1er Instanz (was aber im Grunde keinen Unterschied machen darf und auch funktionieren muss) geht.

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

        @da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
        Gleich Zeile #2:

        (UNKNOWN) [192.168.0.250] 8087 (?) open

        Er baut keine (stabile) Verbindung zur API des ioB auf. Heißt aber auch im Umkehrschluss, die Verbindung zum Display "steht" auch nicht richtig 😉

        Leider hat es noch keiner gemacht (auch per Issue unter GitHub bekomme ich keine Antwort, aber keine Antwort dürfte dann auch so viel heißen wie Problem gelöst...):

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

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

        Ich zähl auf dich 😁
        Kannst du das bitte mal vorher bei dir checken?
        Dann bitte noch mal ein sudo update-alternatives --config nc
        Da sollte dann in etwa (oder halt traditional)

        Es gibt nur eine Alternative in Link-Gruppe nc (die /bin/nc bereitstellt): /bin/nc.openbsd
        Nichts zu konfigurieren.
        

        kommen, wenn beide Versionen bei dir installiert sind, dann

        There are 2 choices for the alternative nc (providing /bin/nc).
        
          Selection    Path                 Priority   Status
        ------------------------------------------------------------
          0            /bin/nc.openbsd       50        auto mode
        * 1            /bin/nc.openbsd       50        manual mode
          2            /bin/nc.traditional   10        manual mode
        
        Press enter to keep the current choice[*], or type selection number:
        

        Dann musst du sogar nur die Nummer des "openbsd" auswählen, sonst siehe WiKi wie oben beschrieben (Openbsd nachinstallieren).
        Dann könnte ich es im Skript zukünftig abfangen, oder "wir" schwenken zukünftig vom netcat zum neueren socat über 🙂

        da_Woody 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:

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

          Hatte ich noch vergessen. "Update" wird erst befüllt wenn auch tatsächlich der "Check" aktiviert wurde.
          Den "Check" muss man selbst aktivieren falls gewünscht. Per Default ist er leer (=false) wird also nicht ausgeführt. Der Anwender muss ihn selbst aktiv auf "true" setzen wenn er die Funktion nutzen möchte. Immerhin wird hier aktiv eine Seite (meines) GitHub-Projektes gelesen (+so ggf. eine INet-Verbindung aufgebaut) und die aktuelle Versionsnummer heraus geparst. Will ja ev. nicht jeder.

          ...und zum Problem:

          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
          

          Er kann nichts aus der InfluxDB lesen. Er spricht sie auch korrekt an und es kommt zu keinem Fehler (error:null):

          ..."ts":1618308660007,"error":null},"from":"system.adapter.influxdb.1",...
          

          Müsste ich raten, wäre mein Favorit, dass die DB schlichtweg leer ist?
          Kannst du direkt per Influx oder Grafana zB. die Aussentemperatur aus der 1er Instanz lesen?
          Ich habe leider keine Testumgebung und kann es nicht gerade mal eben in meiner Produktivumgebung nachbilden. Deswegen weiß ich aktuell nicht ob bei dir (denn es läuft so problemlos unter "0" bei allen Anderen) ev. ein pauschales Problem vorliegt, oder es prinzipiell nicht wg. der 1er Instanz (was aber im Grunde keinen Unterschied machen darf und auch funktionieren muss) geht.

          Hi,

          ich habe das jetzt mal etwas umgestellt.
          Ich schreibe die Werte jetzt in beide Instanzen der InfluxDB und lese jetzt wieder Instanz 0 aus.

          Möglicherweise lag es auch daran, das ich die Aliase gesetzt habe (in Instanz 0 wird dies nun automatisch gemacht).

          Und ja, ich monitore die Werte ja mit Grafana und die werden befüllt.
          Ich warte jetzt mal die Nacht ab, wenn genug Werte in der DB stehen obs dann besser klappt.

          Viele Grüße
          Protheus

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

            @protheus Wäre schön wenn es daran läge und würde dann auch so einiges erklären.
            Dann kommt aber auch das ABER, es müsste auch mittels Alias funktionieren... 😉

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

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

              Ich zähl auf dich
              Da sollte dann in etwa (oder halt traditional)

              bin ja da! 😄
              da kommt:

              woody@ioBroker:~$ sudo update-alternatives --config nc
              [sudo] Passwort für woody:
              Es gibt nur eine Alternative in Link-Gruppe nc (die /bin/nc bereitstellt): /bin/nc.traditional
              Nichts zu konfigurieren.
              woody@ioBroker:~$
              
              

              bei den anderen dingens:

              woody@ioBroker:~$ ls -al /etc/alternatives/nc|grep openbsd
              woody@ioBroker:~$ ls -al /etc/alternatives/nc|grep trad
              lrwxrwxrwx 1 root root 19 Jän 24 20:01 /etc/alternatives/nc -> /bin/nc.traditional
              woody@ioBroker:~$
              
              
              SBorg 1 Reply Last reply Reply Quote 1
              • SBorg
                SBorg Forum Testing Most Active @da_Woody last edited by

                @da_woody 😁 👍

                ...danke + jupp, musst den "openbsd" nachinstallieren, dann klappt es auch 🙂

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

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

                  @protheus Wäre schön wenn es daran läge und würde dann auch so einiges erklären.
                  Dann kommt aber auch das ABER, es müsste auch mittels Alias funktionieren... 😉

                  Nicht ganz 😉

                  Alias im Sinne von InfluxDB Alias

                  Screenshot - 2021-04-14 14_33_44-objects - ioBroker.png

                  Für die bessere Sortierung und Findbarkeit habe ich die Alias-Werte selbst festgelegt

                  Screenshot - 2021-04-14 14_31_58- Grafana.png

                  Wenn man da nichts festlegt, wird der komplette Datenpunkt-Pfad als Bezeichnung genommen

                  Screenshot - 2021-04-14 14_31_0 - Grafana.png

                  Ich denke mal, den fragst du auch ab.

                  Viele Grüße
                  Protheus

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

                    @sborg bitte sags mir wie, ich hab gestern 5 sachen gleichzeitig gemacht, die nacht fast nix gepennt. meine birne ist leer... 😞

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

                      @da_woody No Prop: sudo apt-get install netcat-openbsd

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

                        @sborg boah, jetzt ist's soweit, ich rauch grad 2 ziggen gleichzeitig... 😵
                        passt, erledigt und die vorgegebene 0 bestätigt.

                          Auswahl      Pfad                 Priorität Status
                        ------------------------------------------------------------
                        * 0            /bin/nc.openbsd       50        automatischer Modus
                          1            /bin/nc.openbsd       50        manueller Modus
                          2            /bin/nc.traditional   10        manueller Modus
                        
                        

                        ich schau mal obs jetzt tutet...

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

                          @protheus Jupp, dann isses klar. Das geht so nicht 😉
                          Irgendwo in der Anleitung/Skript (ja, die ist schon lang...) steht funktioniert nur mit der Original-Datenstruktur
                          Die Influx-Aliase hatte ich bei deinem Problem aktuell gar nicht auf dem Schirm.

                          Durch den Influx-Alias heißt dein Wert dann nicht mehr [0_userdata/javascript].n.xyz.Aussentemperatur sondern nur noch Aussentemperatur, er fragt aber explizit ersteres ab. Dann ist deine DB für ihn tatsächlich leer 🙂

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

                            @da_woody jep, funzt. wenn ich jetzt automatisch lafen lasse, sollten daten reinkommen...?
                            aktualisieren tuts mal wenn ich normal aufrufe...

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

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

                              @protheus Jupp, dann isses klar. Das geht so nicht 😉
                              Irgendwo in der Anleitung/Skript (ja, die ist schon lang...) steht funktioniert nur mit der Original-Datenstruktur
                              Die Influx-Aliase hatte ich bei deinem Problem aktuell gar nicht auf dem Schirm.

                              Durch den Influx-Alias heißt dein Wert dann nicht mehr [0_userdata/javascript].n.xyz.Aussentemperatur sondern nur noch Aussentemperatur, er fragt aber explizit ersteres ab. Dann ist deine DB für ihn tatsächlich leer 🙂

                              Ich hatte daran auch nicht gedacht. Ich bin zuversichtlich, das es heut Nacht dann tut 🙂
                              Ich spiel halt gern mal rum bzw. versuchs immer aufgeräumt und übersichtlich zu halten.

                              *funktioniert nur mit der Original-Datenstruktur*
                              

                              hatte ich nur auf die iobroker Objektstruktur bezogen und die DB völlig vergessen.

                              Danke für den Klasse Support (und die Geduld).
                              Das hat mir echt geholfen und wenns endlich warm wird, kann ich endlich die Bewässerung vergraben 🙂

                              Viele Grüße
                              Protheus

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

                                @da_woody Ja, ich bin aber persönlich nicht so ganz der Freund von automatismen. Funktioniert oft, aber...
                                Stell es lieber fest auf "1", der openbsd kann eh mehr, zumindest alles was auch der traditional kann 🙂

                                da_Woody 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:

                                  Ich hatte daran auch nicht gedacht. Ich bin zuversichtlich, das es heut Nacht dann tut

                                  Ich kam auch schon auf die Idee, sieht halt "netter" aus. Am nächsten Tag habe ich dann etliche Zeit gesucht warum in Grafana der Wert nicht mehr angezeigt wird...
                                  Ich werde es aber noch mal ausdrücklich mit Hinweis auf Influx-Aliase ins Skript aufnehmen.

                                  Mittlerweile gibt es so viele Berührungspunkte, dass man auch den Überblick verliert, bash, Influx, Javascript, ioB...

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

                                    @sborg kann ich ja noch machen wenn ich weis wie.
                                    hab jetzt laut wiki:

                                    woody@ioBroker:~$ sudo nano /etc/systemd/system/wetterstation.service
                                    woody@ioBroker:~$ sudo chmod +x /etc/systemd/system/wetterstation.service
                                    woody@ioBroker:~$ sudo systemctl daemon-reload
                                    woody@ioBroker:~$ sudo systemctl enable wetterstation.service
                                    Created symlink /etc/systemd/system/multi-user.target.wants/wetterstation.service → /etc/systemd/system/wetterstation.service.
                                    woody@ioBroker:~$ sudo systemctl status wetterstation
                                    ● wetterstation.service - Service für ioBroker Wetterstation
                                       Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                       Active: inactive (dead)
                                    woody@ioBroker:~$
                                    
                                    

                                    pfad angepasst. was heisst Active: inactive (dead)?

                                    oops, jetzt is was gekommen...

                                    woody@ioBroker:~$ sudo systemctl status wetterstation
                                    ● wetterstation.service - Service für ioBroker Wetterstation
                                       Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                       Active: active (running) since Wed 2021-04-14 15:07:54 CEST; 18s ago
                                     Main PID: 31460 (wetterstation.s)
                                        Tasks: 5 (limit: 4915)
                                       Memory: 3.1M
                                       CGroup: /system.slice/wetterstation.service
                                               ├─31460 /bin/bash /home/woody/wetterstation.sh
                                               ├─31785 /bin/bash /home/woody/wetterstation.sh
                                               ├─31786 timeout 46 nc -nlvw 1 -p 6969
                                               ├─31787 sed -n 1 p
                                               └─31788 nc -nlvw 1 -p 6969
                                    
                                    Apr 14 15:07:54 ioBroker systemd[1]: Started Service für ioBroker Wetterstation.
                                    Apr 14 15:07:54 ioBroker wetterstation.sh[31460]: Connection to 192.168.0.250 8087 port [tcp/*] succeeded!
                                    Apr 14 15:07:54 ioBroker wetterstation.sh[31460]: Listening on [0.0.0.0] (family 2, port 6969)
                                    Apr 14 15:08:06 ioBroker wetterstation.sh[31460]: Connection from 192.168.0.99 27799 received!
                                    Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min':
                                    Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min':
                                    Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min':
                                    Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min':
                                    Apr 14 15:08:08 ioBroker wetterstation.sh[31460]: Listening on [0.0.0.0] (family 2, port 6969)
                                    
                                    
                                    SBorg 1 Reply Last reply Reply Quote 0
                                    • P
                                      Protheus last edited by

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

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

                                      Ich hatte daran auch nicht gedacht. Ich bin zuversichtlich, das es heut Nacht dann tut

                                      Ich kam auch schon auf die Idee, sieht halt "netter" aus. Am nächsten Tag habe ich dann etliche Zeit gesucht warum in Grafana der Wert nicht mehr angezeigt wird...
                                      Ich werde es aber noch mal ausdrücklich mit Hinweis auf Influx-Aliase ins Skript aufnehmen.

                                      Mittlerweile gibt es so viele Berührungspunkte, dass man auch den Überblick verliert, bash, Influx, Javascript, ioB...

                                      iobroker ist halt keine Lösung für "nur mal eben schnell".
                                      Falls man eine Click and Run Automatisierungslösung will ist man bei iobroker falsch (oder man nimmt nur die Standardadapter).

                                      Sobald man aber mit solchen Skriptlösungen arbeitet, muss man sich halt mit den "Berührungspunkten" zwangsläufig beschäftigen.
                                      Da die Entwickler und die Community echt klasse sind, ist das Ganze auch nicht so schwer (Ich lerne auch ständig neues durch die Automatisierung dazu - und es macht Spaß).

                                      Und wenn ich mit meinen "Sonderwünschen/-konfigurationen" Entwicklern helfen kann, um so besser 🙂

                                      Viele Grüße
                                      Protheus

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

                                        @sborg Hi,
                                        mir wurde heute das Update auf Firmware 1.5.8 angeboten, habs gemacht, läuft.
                                        Bugfixes bei custom setup (stabilität) etc..

                                        Bis jetzt keine Auffälligkeiten.

                                        Der Datenpunkt "new firmware" ist jetzt noch true, obwohl das update drauf ist, wann geht der wieder auf false??

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

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

                                          @sborg Hi,
                                          mir wurde heute das Update auf Firmware 1.5.8 angeboten, habs gemacht, läuft.
                                          Bugfixes bei custom setup (stabilität) etc..

                                          Wo gibt es eine Beschreibung zu dem Update?

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

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

                                            kann ich ja noch machen wenn ich weis wie.

                                            Einfach wieder mittels sudo update-alternatives --config nc und dann den "openbsd im 'manual mode'" auswählen (bzw. dann die entsprechende Nummer eingeben).

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

                                            Der Datenpunkt "new firmware" ist jetzt noch true, obwohl das update drauf ist, wann geht der wieder auf false??

                                            Vom Skript aus bei den Mitternachtsjobs gegen 23:58 Uhr. Mehr als einmal täglich prüfen gibt IMO kaum Sinn, da bspw. die 1.5.7 zwei Monate alt war 😉
                                            Man kann auch den DP per Hand auf false setzen, der wird je nach Status dann um Mitternacht bei false belassen, oder falls es wieder ein Update gibt auf true gesetzt.

                                            @a200 ich trage es immer nochmals auf GitHub bei der Versionsnummer ein. Mehr als was die APP an Infos anbietet habe ich aber auch nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            311
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            143
                                            5478
                                            3281068
                                            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