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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Linux Shell-Skript] WLAN-Wetterstation

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

      @Nashra alles mit number loggen

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

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

        @Nashra alles mit number loggen

        Ok, werde es mal ändern. Wäre doch gelacht wenn wir das nicht ans laufen(anzeigen) bekommen 😉

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

          @Nashra hehe, langsam gehen mir die Ideen aus, was da noch falsch sein könnte😛

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

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

            @Nashra hehe, langsam gehen mir die Ideen aus, was da noch falsch sein könnte😛

            Hihi, mir brummt der Kopp. Weiß schon bald nicht mehr was ich alles probiert habe 😄
            Aber so langsam wird es ja, dank deiner Hilfe 👍

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

              Ha, noch zwei Fehler entdeckt bei Regenrate und UV Index, jetzt wird es angezeigt.
              Einzigst die Regenmenge macht noch zicken. Warum steht der Text über den Balken und nicht davor 🤔

              wetterstation-grafana4a.PNG

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

                @Nashra was klappt denn jetzt noch nicht?

                eigentlich hätte es ja auch reibungslos funktionieren müssen., sofern die Datenpunkte, wie im Orginal-Script beibehalten werden , dann müsste normalerweise auch nichts eingestellt werden, einfach nur die Json des Gesamt- Dashboards importieren, Datenbank anwählen, fertig.
                und natürlich, die Daten richtig , in die Datenbank loggen😜

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

                  @Nashra das passt sich automatisch an, wenn du doe Größe veränderst, da du nur 2 Reihen hast, ist mehr Platz. Mach es in der vertikalen schmäler, dann rutscht es automatisch.

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

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

                    @Nashra das passt sich automatisch an, wenn du doe Größe veränderst, da du nur 2 Reihen hast, ist mehr Platz. Mach es in der vertikalen schmäler, dann rutscht es automatisch.

                    Jetzt kapiert, View verkleinern bzw anpassen 🤦‍♂️

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

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

                      @Nashra was klappt denn jetzt noch nicht?

                      eigentlich hätte es ja auch reibungslos funktionieren müssen., sofern die Datenpunkte, wie im Orginal-Script beibehalten werden , dann müsste normalerweise auch nichts eingestellt werden, einfach nur die Json des Gesamt- Dashboards importieren, Datenbank anwählen, fertig.
                      und natürlich, die Daten richtig , in die Datenbank loggen😜

                      Hm hatte ich ja auch gemacht und DP's waren vorhanden und Datenbank war auch default.
                      Naja, wenigstens den Nachmittag beschäftigt umbekommen 😂

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

                        @Nashra ja nicht die ganze View, nur das Dashboard für Regenmenge.
                        Ansonsten, kannst du natürlich nach belieben dein Gesamt-Dashboard anordnen wie du möchtest, ist ja nur eine Beispiel-Vorlage

                        1 Reply Last reply Reply Quote 0
                        • R
                          rollerfreak2 @rollerfreak2 last edited by

                          @SBorg was komisch ist, das ich nicht mal ein einfach * * * * * echo "foobar" raus bekomme. Es sieht so aus als ob crontab gar nicht wirklich läuft. Auch wenn ich die Prozesse anzeigen lasse seh ich nicht mal den cron.

                          root@iobroker:/opt/iobroker# pstree                                             
                          sh─┬─bash───pstree                                                              
                             ├─dbus-daemon                                                                
                             └─iobroker.js-con─┬─io.admin.0───9*[{node}]                                  
                                               ├─io.backitup.0───9*[{node}]                               
                                               ├─io.discovery.0───9*[{node}]                              
                                               ├─io.fritzbox.0───9*[{node}]                               
                                               ├─io.homeconnect.───9*[{node}]                             
                                               ├─io.info.0───9*[{node}]                                   
                                               ├─io.innogy-smart───9*[{node}]                             
                                               ├─io.iot.0───9*[{node}]                                    
                                               ├─io.javascript.0───9*[{node}]                             
                                               ├─io.mihome-vacuu───9*[{node}]                             
                                               ├─io.simple-api.0───9*[{node}]                             
                                               ├─io.synology.0───9*[{node}]                               
                                               ├─io.tr-064.0───9*[{node}]                                 
                                               ├─io.vuplus.0───9*[{node}]                                 
                                               ├─io.web.0───9*[{node}]                                    
                                               ├─4*[{iobroker.js-con}]                                    
                                               └─5*[{node}]                                               
                          

                          Hat jemand noch eine Idee was ich falsch mache?

                          SBorg 1 Reply Last reply Reply Quote 0
                          • H
                            HerrKlaus last edited by

                            @SBorg Ich habe meine Ventus W830 mit Hilfe deiner super Anleitung und Skript v0.1.3 ebenfalls im ioBroker am laufen. Danke für die Umsetzung! Steigt der "WAF" wieder, da die Daten jetzt keine 10 Minuten (via Weatherunderground) mehr brauchen.

                            Ist der Money Pool schon geschlossen?

                            Btw: Den Umbau in v0.1.4beta auf Regenrate finde ich gut. Zeigt die W830 auch als Rate in mm/h an. Und auch die Bereitstellung der Windrichtung ist Top.

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

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

                              @SBorg ok, das mit dem 2x bzw 3x dazu addieren verstehe ich zwar nicht, aber du bist der Fachmann.
                              also im Prinzip auch nix anderes wie im Blockly(Vereinfacht gesagt)
                              ich befülle mit nem Blockly und funktioniert bis jetzt, (da ich davon ausgehe, das ca. alle 30 sek die Daten gesendet werden, eingestellt hab ich 16sek im script und App)
                              df9a7690-0b7e-465d-b5d1-ae1648c28928-image.png

                              ohne dem Blockly sieht man zwar das der Zeitstempel von javascript.0.Wetterstation.Regen_Jahr_kumuliert sich ändert 0:00Uhr, jedoch der Wert nicht

                              Wenn du ein 30 Sekundeninterval hast und ein Paket um 23:58:00 Uhr kommt, würde ich das addieren, dann kommt eines
                              um 23:58:30 (immer noch nicht genullt), würde ich es wieder hinzu addieren usw.
                              Im Grunde wie bei deinem Blockly, nur hast du dabei ein Problemchen. Ich weiß ja nicht welchen Intervall der User eingestellt hat und muss auf alles gefasst sein. Da die Station auch kein DCF oder NTP hat/macht, funktioniert dein Blockly auch nur dann, wenn die Uhrzeit stimmt. Geht die Uhr >30 Sekunden vor, nullt sie den Tageswert bevor du ihn um 23:59:30 abfragen kannst. Deswegen ist es im Skript ein wenig komplizierter, das Prinzip aber gleich.
                              Da sich der Zeitstempel vom "kumuliert" anscheinend korrekt ändert, ist mein Zeitpunkt offensichtlich falsch und ich lese den Tageszähler nach der Nullung aus 😞

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

                                @rollerfreak2 Ich habe leider weder eine Synology noch nutze ich Docker, ist also eher wie fischen im trüben.
                                Ob der cron läuft/vorhanden ist geht mittels which cron. Da sollte bspw. "/usr/sbin/cron" oä. kommen. Kommt nur wieder der prompt, ist cron nicht installiert.
                                Mit ps -aux | grep cron kannst du feststellen ob er auch läuft. Da sollte dann in etwa so etwas kommen:

                                root      1698  0.0  0.0  34404  2360 ?        Ss   Feb18   0:18 /usr/sbin/cron -f
                                
                                R 1 Reply Last reply Reply Quote 0
                                • SBorg
                                  SBorg Forum Testing Most Active @HerrKlaus last edited by

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

                                  Ist der Money Pool schon geschlossen?

                                  Habe ich gerade ca. 1 Stunde vorher aufgelöst, da ich die Conrad-Rechnung damit ausgeglichen habe (kannst dich aber auch ggf. per Chat bei mir melden). Einer Unterstützung für weitere Hardware-Modifikationen wäre ich nicht abgeneigt, nur müsste man zuerst klären ob das gewünscht ist. Ich werde es tun, brauche aber keine zusätzliche Arbeit hineinstecken wenn es sonst keiner möchte 😉

                                  Deswegen bzgl. der Hardware-Erweiterung weiter hier: https://forum.iobroker.net/topic/23147/projekt-diy-smarte-wetterstation/14

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

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

                                    würde ich es wieder hinzu addieren usw.

                                    warum wieder, das ist genau das was ich nicht verstehe,
                                    man definiert einen Zeitbereich, in diesem Zeitbereich(letzten 60sec vom Tag), einmalig den Tageswert zur Gesamtsumme addieren.
                                    Meiner Meinung spielt es doch keine grosse Rolle ob man da ne Minute "zu früh" den Wert schreibt.
                                    Wie oft kommt es vor, das genau zu diesem Zeitpunkt es aus Eimern gießt?
                                    Die "Jahresmenge" dient doch mehr oder weniger eh nur als eine Art Richtwert, denn so genau misst eine solche Station eh nicht.
                                    Hatte es so verstanden, das der (Zeitstempel/Uhrzeit) der Station in der Abfrage mitgesendet wird, (also die Uhrzeit wie sie in der Station eingestellt ist), dann wäre es doch wurscht ob sie 2 Minuten vor oder nach geht. man definiert doch dann nur : addiere einmalig Wert zwischen 23:59 und 0:00 und das ist der Zeitraum bevor die Station den Wert auf Null setzt. Einzige Bedingung Abfrageintervall muss kleiner 60sec, sein, also so das mindestens eine Abfrage in der letzten Minute gesendet wird.

                                    Oder lieg ich jetzt mit meiner Denkweise völlig daneben?

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

                                      @crunchip Ne, nicht völlig daneben 🙂
                                      Du musst nur eine klare Trennung vornehmen. Du bist auf der "Anwenderseite", ich auf der "Entwicklerseite". Was sich jetzt vielleicht zuerst mal recht hart anhört, sind aber tatsächlich zwei unterschiedliche Dinge.
                                      Du kannst mit Daten und Voraussetzungen arbeiten die ich nicht habe. Du weißt dein Abfrageintervall, ob deine Uhrzeit stimmt, hast Daten vorliegen...
                                      Ich kenne nicht das Intervall der Anwender, dass kann von 16 Sekunden bis xx Minuten reichen. Geht deren Uhr richtig, (noch) Sommer-/Winterzeit, habe nur einen Datensatz der Wetterstation vorliegen usw. Auf all das muss ich reagieren.
                                      So gesehen ist deine Denkweise völlig richtig, aber leider nur aus "Anwendersicht".

                                      "Meine" Herangehensweise (+ "wieder" 😉 ) ist zwar ähnlich, aber halt doch anders:
                                      wg. dem "wieder" bzw. mehrmals addieren, machen wir es erst mal falsch...

                                      Um die Systemlast zu minimieren, möchte ich nur zu bestimmten Zeiten eine "Regenberechnung" durchführen. Um Sommer-/Winterzeit und eine nicht korrekt gehende Uhr abzufangen, prüfe ich zuerst die Systemzeit des verarbeitenden Rechners (=der auf dem das Skript läuft). Ist es 23:50 Uhr - 0:00 Uhr, 0:50 - 1:00 oder 1:50 - 2:00 soll der Regenpart überhaupt nur stattfinden.

                                      23:49:30 - nix passiert
                                      23:50:00 - Regenberechnung durchführen

                                      Jetzt kommt der 2. Teil. Egal wie nun die genaue (oder eben nicht) Uhrzeit der Station ist, prüfe ich ob es 23:58 oder 23:59 Uhr auf der Station ist, denn nicht "unsere" Zeit ist maßgeblich, sondern die der Station, da sie aus "ihrer" Sicht ja um 0:00 Uhr den Tageswert nullt.
                                      Passt jetzt nicht, also passiert vorerst auch nix...

                                      23:51...
                                      23:52...
                                      ...
                                      23:57:30 - bei der Station ist es jetzt, weil sie etwas vorgeht, zB. 23:58:03

                                      Ok, 23:58 = 23:58 wir holen den Jahreswert vom ioB, addieren den Tageswert auf und schreiben den Wert wieder in den Jahreswert. Soweit eigentlich alles Ok.
                                      23:58:00 - (Station nun 23:58:33) 23:58 = 23:58 wir holen den Jahreswert vom ioB, addieren den Tageswert auf und schreiben den Wert wieder in den Jahreswert. Nicht Ok, denn jetzt addieren wir zum zweiten Mal den Tageswert auf.
                                      ...und das passiert jetzt noch 2x (wenn einer zB. 20 Sekunden Intervall hat sogar 6x usw.)

                                      Deswegen der "richtige" Weg per LC-Timestamp. Beim 1. Treffer oben um 23:58 Uhr schreibe ich ja einen neuen Jahreswert in den DP. Bevor ich das tue, prüfe ich jetzt aber das Alter des LC-Timestamp. Der müsste dann vom letzten geschriebenen Vortag so um die 24 Stunden alt sein. Damit man ihn ändern kann (zB. beim erstmaligen setzen auf einen bis dato aktuellen Jahreswert wenn man mit dem Skript startet) und hinsichtlich der Sommer-/Winterzeitproblematik nehme ich nur 1 Stunde.
                                      Ist der LC Jahresregenmenge_kumuliert also älter als 1 Stunde, schreibe ich den neuen Wert hinein.
                                      Beim nächsten Datenpaket schlägt aber die Prüfung fehl, denn der LC ist nun genau so alt wie das Abfrage-Intervall des Users (also zB. 30 Sekunden beim ersten Durchlauf, 60 Sekunden beim 2. usw.). Ich addiere also kein 2. - n. mal den Tageswert auf.
                                      Also wird der Tageswert nur genau 1x aufaddiert, egal wie oft ich die Routine (= Poll-Intervall des Users) aufrufe. Somit umgehe ich Zeitdifferenzen, und was eigentlich viel wichtiger ist, keinerlei Datenverlust durch Kommunikationsfehler der Station. Hat der User bspw. 30 Sekunden eingestellt, habe ich bei 2 Minuten 4x die Möglichkeit ein funktionsfähiges Paket auszuwerten.

                                      Ich hoffe das war nicht zu technisch und einigermaßen verständlich 😉
                                      Du siehst, ich muss "einfach etwas mehr" berücksichtigen als du 😁

                                      1 Reply Last reply Reply Quote 1
                                      • R
                                        rollerfreak2 @SBorg last edited by

                                        @SBorg hier der output:

                                        root@iobroker:/opt/iobroker# which cron                                         
                                        /usr/sbin/cron                                                                  
                                        root@iobroker:/opt/iobroker# ps -aux | grep cron                                
                                        root      8497  0.0  0.0  12788   964 pts/0    S+   23:24   0:00 grep cron      
                                        

                                        Bin leider kein linux Experte, sieht aber so aus also ob cron nicht läuft!?

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

                                          @rollerfreak2 Sieht nicht nur so aus 😉
                                          Um sicher zu gehen: service cron status (ev. sudo davor)

                                          Bild 1.png
                                          zum starten: service cron start (ev. sudo davor)

                                          Falls er nach einem reboot wieder nicht startet (wovon ich ausgehe): update-rc.d cron defaults (ev. sudo davor)

                                          1 Reply Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @rollerfreak2 last edited by Glasfaser

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

                                            ich bin der Anleitung gefolgt und soweit funktioniert auch alles,

                                            Was mich wundert ... das es bei dir auf anhieb geklappte hat , da du auch nochdazu im ioBroker Verzeichniss arbeitest .

                                            Ich habe auch eine Synology und bin schon bei bc und nc gescheitert , deshalb habe ich ohne viel zu überlegen eine Raspberry dafür genommen .

                                            Wie hast du es denn gelöst ... vielleicht komm ich mit dem Cron dann auch dahinter -

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            784
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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