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.
    • Negalein
      Negalein Global Moderator @Protheus last edited by

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

      Selbstverständlich

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

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

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

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

        Selbstverständlich

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            Macht ' vs " eigentlich einen Unterschied?

            Weil

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

            steht in "..."

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

            Habs jetzt mal angepasst und wir schauen mal.

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

            Grüße
            Protheus

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

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

              Macht ' vs " eigentlich einen Unterschied?

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

              Ein "tolles" JS zur Veranschaulichung:

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


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

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

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

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

                @sborg

                Hm, ich glaube da liegt ein anderes Problem vor:

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

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

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

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

                Grüße
                Protheus

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

                  @sborg

                  Hi,

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

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

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

                  Viele Grüße
                  Protheus

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

                    @sborg nachdem ich ja den umstieg damals verpennt habe und ich heute draufgekommen bin das meine station offline ist, hab ich mich mal drangehockt und mit der 2.5.0 neu angefangen. station is wieder online, alles brav wieder eingerichtet, ./wetterstation.sh --debug pöff, kommunikationsfehler...
                    @Negalein meinte, das man das öfter aufrufen sollte. ok, nach ca. 15x wurde dann endlich 192.168.0.99 gefunden, die DP gefüllt, aber sofort wieder rot. in unregelmäßigen abständen verbindet sich das script, sonst der kommunikationsfehler...
                    vllt kannst du da was rauslesen... bevor ich das wieder automatisch laufen lasse und die statistik aktiviere, würds mich interessieren was das soll... 🙂

                    woody@ioBroker:~$ ./wetterstation.sh --debug
                    (UNKNOWN) [192.168.0.250] 8087 (?) open
                    listening on [any] 6969 ...
                    no connection : Connection timed out
                    
                    
                    Messwerteblock:
                    
                    
                    Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)!
                    
                    Temperatur Innen        :  °C
                    Temperatur Aussen       :  °C
                    Taupunkt                :  °C
                    Gefühlte Temperatur     :  °C
                    Luftfeuchte Innen       :  %
                    Luftfeuchte Aussen      :  %
                    Windgeschwindkeit       :  km/h
                    Windböengeschwindkeit   :  km/h
                    max. Windböe            :  km/h
                    Windrichtung            :  °
                    Windrichtung            :
                    Luftdruck absolut       :  hPa
                    Luftdruck relativ       :  hPa
                    Regenrate               :  mm/h
                    Regenstatus             :
                    Regen seit Regenbeginn  :  mm
                    Regen Stunde            :  mm
                    Regen Tag               :  mm
                    Regen Woche             :  mm
                    Regen Monat             :  mm
                    Regen Jahr              :  mm
                    Regen Gesamt            :  mm
                    Sonnenstrahlung         :  W/m²
                    UV-Index                :
                    Zeitstempel             :
                    Firmware                :
                    Batteriestand:          :
                    Gateway-Modell          :
                    
                    Zusatzsensoren: keine
                    
                    
                    Datenstring für ioBroker:
                    
                    
                    
                    DATA von Wetterstation:
                    
                    
                    
                    Debug VAR:
                    Installationsverzeichnis: /home/woody
                    IPP: 192.168.0.250:8087 WS_PORT: 6969           WS_POLL: 20             PRE_DP: 0_userdata.0.WoodyWetter
                    WEB: HTTP               WS_PROT: Wunderground   DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0
                    Script-Version: V2.5.0  Config-Version: V2.5.0  Sub-Version: V2.5.0
                    
                    Kommunikationsfehler!
                    
                    
                    woody@ioBroker:~$ ./wetterstation.sh --debug
                    (UNKNOWN) [192.168.0.250] 8087 (?) open
                    listening on [any] 6969 ...
                    connect to [192.168.0.250] from (UNKNOWN) [192.168.0.99] 8525
                    [
                      {
                        "id": "0_userdata.0.WoodyWetter.Innentemperatur",
                        "val": 18.88
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Aussentemperatur",
                        "val": 1
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Taupunkt",
                        "val": -0.27
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Gefuehlte_Temperatur",
                        "val": 1
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Innenfeuchtigkeit",
                        "val": 38
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Aussenfeuchtigkeit",
                        "val": 91
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Wind",
                        "val": 2.89
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Wind_max",
                        "val": 5.47
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Windrichtung",
                        "val": 0
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Druck_absolut",
                        "val": 998.24
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Druck_relativ",
                        "val": 1019.64
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Regenrate",
                        "val": 1.8
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Regen_Tag",
                        "val": 7.6
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Regen_Woche",
                        "val": 14.5
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Regen_Monat",
                        "val": 16.3
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Regen_Jahr",
                        "val": 0
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Sonnenstrahlung",
                        "val": 0
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.UV_Index",
                        "val": 0
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Zeitstempel",
                        "val": "13.04.2021 21:00:54"
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Info.FW_Version",
                        "val": "EasyWeatherV1.5.8"
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Regenstatus",
                        "val": "mäßiger Regen"
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.UV_Belastung",
                        "val": "keine"
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Windrichtung_Text",
                        "val": "N"
                      },
                      {
                        "id": "0_userdata.0.WoodyWetter.Info.Hitzeindex",
                        "val": ""
                      }
                    ]
                    
                    Messwerteblock: 18.88 1.00 -.27 1.00 38 91 2.89 5.47 0 998.24 1019.64 1.8 7.6 14.5 16.3 0 0.00 0 13.04.2021%2021:00:54 EasyWeatherV1.5.8
                    
                    
                    Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)!
                    
                    Temperatur Innen        : 18.88 °C
                    Temperatur Aussen       : 1.00 °C
                    Taupunkt                : -.27 °C
                    Gefühlte Temperatur     : 1.00 °C
                    Luftfeuchte Innen       : 38 %
                    Luftfeuchte Aussen      : 91 %
                    Windgeschwindkeit       : 2.89 km/h
                    Windböengeschwindkeit   : 5.47 km/h
                    max. Windböe            :  km/h
                    Windrichtung            : 0 °
                    Windrichtung            : N
                    Luftdruck absolut       : 998.24 hPa
                    Luftdruck relativ       : 1019.64 hPa
                    Regenrate               : 1.8 mm/h
                    Regenstatus             : mäßiger Regen
                    Regen seit Regenbeginn  :  mm
                    Regen Stunde            :  mm
                    Regen Tag               : 7.6 mm
                    Regen Woche             : 14.5 mm
                    Regen Monat             : 16.3 mm
                    Regen Jahr              : 0 mm
                    Regen Gesamt            :  mm
                    Sonnenstrahlung         : 0.00 W/m²
                    UV-Index                : 0
                    Zeitstempel             : 13.04.2021%2021:00:54
                    Firmware                : EasyWeatherV1.5.8
                    Batteriestand:          :
                    Gateway-Modell          :
                    
                    Zusatzsensoren: keine
                    
                    
                    Datenstring für ioBroker:
                    0_userdata.0.WoodyWetter.Innentemperatur=18.88&0_userdata.0.WoodyWetter.Aussentemperatur=1.00&0_userdata.0.WoodyWetter.Taupunkt=-.27&0_userdata.0.WoodyWetter.Gefuehlte_Temperatur=1.00&0_userdata.0.WoodyWetter.Innenfeuchtigkeit=38&0_userdata.0.WoodyWetter.Aussenfeuchtigkeit=91&0_userdata.0.WoodyWetter.Wind=2.89&0_userdata.0.WoodyWetter.Wind_max=5.47&0_userdata.0.WoodyWetter.Windrichtung=0&0_userdata.0.WoodyWetter.Druck_absolut=998.24&0_userdata.0.WoodyWetter.Druck_relativ=1019.64&0_userdata.0.WoodyWetter.Regenrate=1.8&0_userdata.0.WoodyWetter.Regen_Tag=7.6&0_userdata.0.WoodyWetter.Regen_Woche=14.5&0_userdata.0.WoodyWetter.Regen_Monat=16.3&0_userdata.0.WoodyWetter.Regen_Jahr=0&0_userdata.0.WoodyWetter.Sonnenstrahlung=0.00&0_userdata.0.WoodyWetter.UV_Index=0&0_userdata.0.WoodyWetter.Zeitstempel=13.04.2021%2021:00:54&0_userdata.0.WoodyWetter.Info.FW_Version=EasyWeatherV1.5.8&0_userdata.0.WoodyWetter.Regenstatus=mäßiger Regen&0_userdata.0.WoodyWetter.UV_Belastung=keine&0_userdata.0.WoodyWetter.Windrichtung_Text=N&0_userdata.0.WoodyWetter.Info.Hitzeindex=
                    
                    
                    DATA von Wetterstation:
                    GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=66.0&tempf=33.8&dewptf=31.5&windchillf=33.8&indoorhumidity=38&humidity=91&windspeedmph=1.8&windgustmph=3.4&winddir=0&absbaromin=29.478&baromin=30.110&rainin=0.071&dailyrainin=0.303&weeklyrainin=0.571&monthlyrainin=0.642&yearlyrainin=0&solarradiation=0.00&UV=0&dateutc=2021-04-13%2019:00:54&softwaretype=EasyWeatherV1.5.8&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0
                    
                    
                    Debug VAR:
                    Installationsverzeichnis: /home/woody
                    IPP: 192.168.0.250:8087 WS_PORT: 6969           WS_POLL: 20             PRE_DP: 0_userdata.0.WoodyWetter
                    WEB: HTTP               WS_PROT: Wunderground   DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0
                    Script-Version: V2.5.0  Config-Version: V2.5.0  Sub-Version: V2.5.0
                    woody@ioBroker:~$
                    
                    
                    SBorg 1 Reply Last reply Reply Quote 0
                    • SBorg
                      SBorg Forum Testing Most Active @Protheus last edited by

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

                      ("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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            790
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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