Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. WLAN-Wetterstation in ioBroker direkt einbinden

    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

    WLAN-Wetterstation in ioBroker direkt einbinden

    This topic has been deleted. Only users with topic management privileges can see it.
    • Latzi
      Latzi @Berchemer last edited by

      @Berchemer hier meine Einstellungen:
      5b4b5017-8aa8-4437-8c80-a7fd0e578d73-grafik.png
      Lasse das http weg und wähle einen anderen Port, da 8087 vom Simple-Adapter belegt sein wird.

      Path wie vorgegeben, StationID und Key kannst leer lassen, ich hab´s belegt - muss nicht sein.

      Versuchs mal, wenns klappt kann ich das Script reinstellen, ist zwar sicher verbesserungswürdig aber es läuft.

      SBorg 1 Reply Last reply Reply Quote 1
      • Latzi
        Latzi @SBorg last edited by

        @SBorg sagte in WLAN-Wetterstation in ioBroker direkt einbinden:

        Zumindest würde ich als ServerIP implizieren, dass er hier xxx.xxx.xxx.xxx erwartet. http://xxx.xxx.xxx.xxx ist eine URL

        Absolut richtig 👍

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

          @Latzi sagte in WLAN-Wetterstation in ioBroker direkt einbinden:

          Versuchs mal, wenns klappt kann ich das Script reinstellen, ist zwar sicher verbesserungswürdig aber es läuft.

          Schöner wäre natürlich ein Adapter, aber da habe ich schon x-mal angefangen, und genauso oft wieder aufgehört 😉
          Man könnte es natürlich auch optimieren, wie bspw. eine Funktion nutzen, um die wiederkehrende Konvertierung von °F nach °C durchzurechnen und, und, und...

          1 Reply Last reply Reply Quote 0
          • B
            Berchemer last edited by Berchemer

            Habe mal auf Port 8096 geändert und das http:// weggelassen und habe tatsächlich Daten erhalten.
            Danke 👍 👍 👏 👏 😀

            Jetzt muss ich mal den Weg von Latzi nachverfolgen, um zu sehen, was ich noch umsetzen muss 😀

            Latzi 1 Reply Last reply Reply Quote 0
            • Latzi
              Latzi @Berchemer last edited by

              @Berchemer

              hier mal das Script:

              #!/bin/bash
              
              ###Settings
              
              debug=true                        #[true/false]
              
              IPP=10.0.0.210:8087               #ioBroker-IP:Port
              
              PRE_DP=javascript.0.Wetterstation #Datenpunkt
              DP_TEMP_INNEN=${PRE_DP}.Innentemperatur
              DP_TEMP_AUSSEN=${PRE_DP}.Aussentemperatur
              DP_TAUPUNKT=${PRE_DP}.Taupunkt
              DP_CHILL=${PRE_DP}.Chillfaktor
              DP_FEUCHTE_INNEN=${PRE_DP}.Innenfeuchtigkeit
              DP_FEUCHTE_AUSSEN=${PRE_DP}.Aussenfeuchtigkeit
              DP_WIND=${PRE_DP}.Wind
              DP_WIND_MAX=${PRE_DP}.Wind_max
              DP_WIND_DIR=${PRE_DP}.Windrichtung
              DP_DRUCK_ABS=${PRE_DP}.Druck_absolut
              DP_DRUCK_REL=${PRE_DP}.Druck_relativ
              DP_REGEN_AKT=${PRE_DP}.Regen_aktuell
              DP_REGEN_TAG=${PRE_DP}.Regen_Tag
              DP_REGEN_WOCHE=${PRE_DP}.Regen_Woche
              DP_REGEN_MONAT=${PRE_DP}.Regen_Monat
              DP_SONNE=${PRE_DP}.Sonnenstrahlung
              DP_UV_INDEX=${PRE_DP}.UV_Index
              DP_DATUM=${PRE_DP}.Datum
              DP_ZEIT=${PRE_DP}.Zeit
              
              # Endlosschleife
               
              while true
              do
                #Datenzeile von Wetterstation abholen und Zeile mit GET am Anfang rausfiltern
                DATA=`nc -lv 80|grep GET`
              
                #DATA zerlegen
                #Innentemperatur:
                 TEMP_INNEN=$(echo ${DATA}|cut -d'&' -f3 | cut -d"=" -f2)
                 TEMP_INNEN=`echo "scale=2;(${TEMP_INNEN}-32)*5/9"|bc -l`
                #Aussentemperatur:
                 TEMP_AUSSEN=$(echo ${DATA}|cut -d'&' -f4 | cut -d"=" -f2)
                 TEMP_AUSSEN=`echo "scale=2;(${TEMP_AUSSEN}-32)*5/9"|bc -l`
                #Taupunkt:
                 TAUPUNKT=$(echo ${DATA}|cut -d'&' -f5 | cut -d"=" -f2)
                 TAUPUNKT=`echo "scale=2;(${TAUPUNKT}-32)*5/9"|bc -l`
                #Chill-Faktor:
                 CHILL=$(echo ${DATA}|cut -d'&' -f6 | cut -d"=" -f2)
                 CHILL=`echo "scale=2;(${CHILL}-32)*5/9"|bc -l`
                #Innenluftfeuchte:
                 FEUCHTE_INNEN=$(echo ${DATA}|cut -d'&' -f7 | cut -d"=" -f2)
                #Aussenluftfeuchte:
                 FEUCHTE_AUSSEN=$(echo ${DATA}|cut -d'&' -f8 | cut -d"=" -f2)
                #Windgeschwindigkeit:
                 WIND=$(echo ${DATA}|cut -d'&' -f9 | cut -d"=" -f2)
                 WIND=`echo "scale=2;${WIND}*16094/10000"|bc -l`
                #Windgeschwindigkeit max:
                 WIND_MAX=$(echo ${DATA}|cut -d'&' -f10 | cut -d"=" -f2)
                 WIND_MAX=`echo "scale=2;${WIND_MAX}*16094/10000"|bc -l`
                #Windrichtung:
                 WIND_DIR=$(echo ${DATA}|cut -d'&' -f11 | cut -d"=" -f2)
                #Luftdruck absolut:
                 DRUCK_ABS=$(echo ${DATA}|cut -d'&' -f12 | cut -d"=" -f2)
                 DRUCK_ABS=`echo "scale=2;${DRUCK_ABS}*33864/1000"|bc -l`
                #Luftdruck relativ:
                 DRUCK_REL=$(echo ${DATA}|cut -d'&' -f13 | cut -d"=" -f2)
                 DRUCK_REL=`echo "scale=2;${DRUCK_REL}*33864/1000"|bc -l`
                #Regen aktuell:
                 REGEN_AKT=$(echo ${DATA}|cut -d'&' -f14 | cut -d"=" -f2)
                 REGEN_AKT=`echo "scale=1;${REGEN_AKT}*254/10"|bc -l`
                #Regen Tag:
                 REGEN_TAG=$(echo ${DATA}|cut -d'&' -f15 | cut -d"=" -f2)
                 REGEN_TAG=`echo "scale=1;${REGEN_TAG}*254/10"|bc -l`
                #Regen Woche:
                 REGEN_WOCHE=$(echo ${DATA}|cut -d'&' -f16 | cut -d"=" -f2)
                 REGEN_WOCHE=`echo "scale=1;${REGEN_WOCHE}*254/10"|bc -l`
                #Regen Monat:
                 REGEN_MONAT=$(echo ${DATA}|cut -d'&' -f17 | cut -d"=" -f2)
                 REGEN_MONAT=`echo "scale=1;${REGEN_MONAT}*254/10"|bc -l`
                #Sonnenstrahlung:
                 SONNE=$(echo ${DATA}|cut -d'&' -f18 | cut -d"=" -f2)
                #UV-Index:
                 UV_INDEX=$(echo ${DATA}|cut -d'&' -f19 | cut -d"=" -f2)
              
                #Datum und Zeit abfragen
                 DAT_ZEIT=`timedatectl |grep Local`
                 DATUM=$(echo ${DAT_ZEIT}|cut -d' ' -f4)
                 UHRZEIT=$(echo ${DAT_ZEIT}|cut -d' ' -f5)
              
              #Daten an ioB schicken
              
                 curl --data "${DP_TEMP_INNEN}=$TEMP_INNEN&${DP_TEMP_AUSSEN}=$TEMP_AUSSEN&${DP_TAUPUNKT}=$TAUPUNKT&${DP_CHILL}=$CHILL&${DP_FEUCHTE_INNEN}=$FEUCHTE_INNEN&${DP_FEUCHTE_AUSSEN}=$FEUCHTE_AUSSEN&${DP_WIND}=$WIND&${DP_WIND_MAX}=$WIND_MAX&${DP_WIND_DIR}=$WIND_DIR&${DP_DRUCK_ABS}=$DRUCK_ABS&${DP_DRUCK_REL}=$DRUCK_REL&${DP_REGEN_AKT}=$REGEN_AKT&${DP_REGEN_TAG}=$REGEN_TAG&${DP_REGEN_WOCHE}=$REGEN_WOCHE&${DP_REGEN_MONAT}=$REGEN_MONAT&${DP_SONNE}=$SONNE&${DP_UV_INDEX}=$UV_INDEX&${DP_DATUM}=$DATUM&${DP_ZEIT}=$UHRZEIT&prettyPrint" http://${IPP}/setBulk
              
              if [ $debug == "true" ]; then
                 # Datenfelder ausgeben
                 echo Temperatur Innen: $TEMP_INNEN °C
                 echo Temperatur Aussen: $TEMP_AUSSEN °C
                 echo Taupunkt: $TAUPUNKT °C
                 echo Chill-Faktor: $CHILL °C
                 echo Luftfeuchte Innen: $FEUCHTE_INNEN %
                 echo Luftfeuchte Aussen: $FEUCHTE_AUSSEN %
                 echo Windgeschwindkeit: $WIND km/h
                 echo max. Windgeschwindkeit: $WIND_MAX km/h
                 echo Windrichtung: $WIND_DIR °
                 echo Luftdruck absolut: $DRUCK_ABS hPa
                 echo Luftdruck relativ: $DRUCK_REL hPa
                 echo Regen aktuell: $REGEN_AKT mm
                 echo Regen Tag: $REGEN_TAG mm
                 echo Regen Woche: $REGEN_WOCHE mm
                 echo Regen Monat: $REGEN_MONAT mm
                 echo Sonnenstrahlung: $SONNE W/m^2
                 echo UV-Index: $UV_INDEX
                 echo Datum: $DATUM Zeit: $UHRZEIT
              fi
              
              done
              
              

              Zusätzlich sind die Datenpunkte anzulegen ( ich hab´s unter javascript.0.Wetterstation) und der Adapter (Simple RESTFul) zu installieren, sowie das Script im "Autostart" (crontab -e) zu platzieren (@SBorg hat das sehr schön beschrieben) - das war´s auch schon!

              Bei der Umrechnung der Windgeschwindigkeiten bin ich mir noch nicht sicher, leider bläst gerade kein Wind 🙂

              B 1 Reply Last reply Reply Quote 0
              • B
                Berchemer @Latzi last edited by

                @Latzi

                Ach ja... Da war noch das Bash-Script...
                Muss jetzt erst mal nachschauen, wie ich das nochmal mache 😉

                Datei erstellen, Skript hineinkopieren und als "/opt/iobroker/WS3500Abfrage.sh" abspeichern.

                Dann "crontab -e" als Befehl eingeben, den Editor aussuchen und am Ende der Datei "@reboot /opt/iobroker/WS3500Abfrage.sh &" eingeben. Richtig?

                Mache ich zumindest mal so...

                B Latzi 2 Replies Last reply Reply Quote 0
                • B
                  Berchemer @Berchemer last edited by

                  @Berchemer

                  Ok... Soweit eingegeben und natürlich die IP im Skript geändert.
                  Und natürlich den Datenpunkt vergessen einzutragen.

                  Latzi 1 Reply Last reply Reply Quote 0
                  • Latzi
                    Latzi @Berchemer last edited by

                    @Berchemer
                    Ja genau so! Rechte beim Script beachten (wenn nicht root) und VORHER Datenpunkte anlegen

                    1 Reply Last reply Reply Quote 0
                    • Latzi
                      Latzi @Berchemer last edited by

                      @Berchemer
                      Im Script beim Aufruf von nc den Port ändern (80 bei mir) nicht vergessen!

                      B 2 Replies Last reply Reply Quote 0
                      • B
                        Berchemer last edited by Berchemer

                        Habe also Datenpunkt unter javascript.0.Wetterstation angelegt.
                        Die Rechte des Eigentums und Ausführung des Skripts vergebe ich an iobroker und "Der Datei erlauben sie als Programm auszuführen" habe ich nicht angeklickt.
                        Muss ich eigentlich neu starten???

                        1 Reply Last reply Reply Quote 0
                        • B
                          Berchemer @Latzi last edited by

                          @Latzi sagte in WLAN-Wetterstation in ioBroker direkt einbinden:

                          @

                          Stimmt hatte ich auch vergessen 🙄

                          1 Reply Last reply Reply Quote 0
                          • B
                            Berchemer @Latzi last edited by

                            @Latzi sagte in WLAN-Wetterstation in ioBroker direkt einbinden:

                            @Berchemer
                            Im Script beim Aufruf von nc den Port ändern (80 bei mir) nicht vergessen!

                            Stimmt hatte ich auch vergessen 🙄

                            1 Reply Last reply Reply Quote 0
                            • B
                              Berchemer last edited by

                              Musste ich eigentlich noch etwas im "simple-api"-Adapter anpassen???
                              Ich habe ihn nur eingeschaltet, weil er bei mir bisher ausgeschaltet war.

                              Latzi B 2 Replies Last reply Reply Quote 0
                              • Latzi
                                Latzi @Berchemer last edited by

                                @Berchemer
                                Nein, nur einschalten, Port (vermutlich 8087) mit Script vergleichen und reboot - fertig. Danach sollten die Daten reinflattern

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

                                  @Latzi Willst/kannst du noch etwas Zeit investieren? Ich würde es ggf. gerne noch optimieren und als Package auf GitHub stellen mit Installationsanleitung etc. "Hier" ist es doch etwas konfus, da es sich dynamisch entwickelt hat ^^

                                  Unabhängig davon würde mich aber die Prozesslast noch interessieren. Ich nenne das Skript mal ws.sh

                                  ps -A|grep ws.sh
                                  

                                  Da steht dann vorne eine Zahl (=PID), dann

                                  top -p ermittelte_Zahl_von_oben
                                  

                                  Wie sieht die CPU-Last im Idle aus, und wie wenn er ein Datenpaket empfängt und verarbeitet?
                                  Ggf. musst du auch anstelle von ws.sh noch auf nc prüfen.

                                  Latzi 2 Replies Last reply Reply Quote 0
                                  • Latzi
                                    Latzi @SBorg last edited by

                                    @SBorg sagte in WLAN-Wetterstation in ioBroker direkt einbinden:

                                    @Latzi Willst/kannst du noch etwas Zeit investieren?

                                    Ja, mach ich gerne, da lerne ich sicherlich etwas. Ich melde mich mit den Ergebnissen.

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

                                      @SBorg sagte in WLAN-Wetterstation in ioBroker direkt einbinden:

                                      Wie sieht die CPU-Last im Idle aus, und wie wenn er ein Datenpaket empfängt und verarbeitet?
                                      Ggf. musst du auch anstelle von ws.sh noch auf nc prüfen.

                                      Tja, ich bekomme 2 PID´s:
                                      05b2f2e2-3360-4c13-92fc-216948c002f1-grafik.png

                                      Die PID 21222 wechselt andauernd, 423 ist dauerhaft erreichbar.

                                      wetterdaten.sh: Keine merkbare Veränderung idle/active

                                      0a19276f-f127-44f6-be30-dc44b2d8a85a-grafik.png

                                      nc: auch hier tut sich nicht viel (komisch ist 0 Tasks???) und bei jeder ps-Abfrage bekomme ich eine andere PID ??? Ich kann gar nicht schnell genug die ID bei top -p eintippseln ist sie auch schon wieder weg 😞

                                      68f338d8-39e4-40a4-bb1c-a626d2f5257a-grafik.png

                                      @SBorg hilft dir das weiter?

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

                                        @Latzi Danke, zumindest sieht die Last gut aus 🙂
                                        Eigentlich sollte wetterdaten.sh nur 1x auftauchen. Außer er würde bei bc oder curl dies als 2. Prozess werten (dann würde sich auch die PID ändern). Ich werde trotzdem mal was anderes versuchen, denn der Vorschlag von @OliverIO ist auch nicht ohne und mal schnell umgesetzt.

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

                                          @Latzi Hast du einen GitHub-Account? Ich will die überarbeitete Version nicht öffentlich zur Verfügung stellen, da sie zum Großteil neu geschrieben ist. Da ich selbst nur bedingt testen kann sind Fehler vorprogrammiert. Außerdem habe ich noch nicht alles umgesetzt. Dann kommen nur wieder "geht nicht, was mache ich falsch..."-Posts 😉

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            ToxSox last edited by ToxSox

                                            So, ich habe nun auch so ne tolle Wetterstation zu Weihnachten bekommen (froggit WH3000SE). Hab mir den ganzen Thread durchgearbeitet und läuft nun so wie bei @Latzi auch bei mir. Musste nur etwas umstellen, da bei mir die Daten per Post ankommen. Kann aber auch an den Einstellungen in der WS liegen.
                                            Hatte gestern auch angefangen zu basteln https://github.com/ToxSox/ioBroker.weatherstation_server aber BITTE, DA FUNKTIONIERT BEI MIR NUR EIN WERT! ES IST MEIN ERSTER ADAPTER! Also das dauert noch, bis da was geht. Ggf. komme ich auch garnicht weiter weil @SBorg was besseres hat 😄
                                            @SBorg kann auch gerne bei mir testen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            620
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter wlan-wetterstation
                                            21
                                            134
                                            34290
                                            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