Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 152 Kommentatoren 3.8m Aufrufe 134 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • NegaleinN Offline
    NegaleinN Offline
    Negalein
    Global Moderator
    schrieb am zuletzt editiert von
    #3471

    @SBorg

    f6108b5d-a783-487f-a80a-e01681bbab20-image.png

    javascript.0.Wetterstation.Regen_Jahr ist nicht vom 1.1. bis 31.12.?
    Muss ich dann javascript.0.Wetterstation.Regen_Jahr_kumuliert nehmen?

    ° Node.js: 20.17.0 NPM: 10.8.2
    ° Proxmox, Ubuntu 22.04.3 LTS
    ° Fixer ---> iob fix

    SBorgS 1 Antwort Letzte Antwort
    0
    • NegaleinN Negalein

      @SBorg

      f6108b5d-a783-487f-a80a-e01681bbab20-image.png

      javascript.0.Wetterstation.Regen_Jahr ist nicht vom 1.1. bis 31.12.?
      Muss ich dann javascript.0.Wetterstation.Regen_Jahr_kumuliert nehmen?

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #3472

      @negalein Ja. Da addiere ich einfach die ev. täglichen Regenmengen auf.
      "Regen_Jahr" liefert die Station (IMO ist die 4000er aktuell die einzige die es liefert).

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Antwort Letzte Antwort
      1
      • NashraN Offline
        NashraN Offline
        Nashra
        Most Active Forum Testing
        schrieb am zuletzt editiert von
        #3473

        Das hatte ich leider heute Morgen...

        Heute 01:03	error	javascript.0	at Object.main (script.js.Wetter.Statistik-Wetterstation:139:10)
        Heute 01:03	error	javascript.0	at VorJahr (script.js.Wetter.Statistik-Wetterstation:355:67)
        Heute 01:03	error	javascript.0	TypeError: Cannot read property 'Tiefstwert' of undefined
        

        wetterstatistik2.PNG

        Gruß Ralf
        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        H 1 Antwort Letzte Antwort
        0
        • NashraN Nashra

          Das hatte ich leider heute Morgen...

          Heute 01:03	error	javascript.0	at Object.main (script.js.Wetter.Statistik-Wetterstation:139:10)
          Heute 01:03	error	javascript.0	at VorJahr (script.js.Wetter.Statistik-Wetterstation:355:67)
          Heute 01:03	error	javascript.0	TypeError: Cannot read property 'Tiefstwert' of undefined
          

          wetterstatistik2.PNG

          H Offline
          H Offline
          halsi82
          schrieb am zuletzt editiert von
          #3474

          Hallo Zusammen

          Skript installiert. GW1000 läuft und hängt im Netz.

          IOBROKER IP ist die 10.0.50.111 mit dem Port 8087
          IP des Linux Hosts (läuft als Linux Container auf Proxmox) - 10.0.50.98
          IP des GW1100A - 10.0.50.97

          Ich dachte das Gateway wird unterstützt laut GitHub & Wiki.

          Habe mir nur das Gateway in Kombination mit dem 7in1 Sensor gekauft. Aktuell habe ich nur das Gateway in Betrieb - den Außensensor mache ich morgen oder übermorgen.

          Trotzdem kriege ich es irgendwie nicht hin. Hab es sowohl mit EcoWitt als auch mit WunderGround probiert. Hier der Output mit ECOWITT.

          Gateway Einstellungen:
          0d44e8cd-8dc0-4f80-94f4-fac48c1cfb06-image.png

          Debug Output:

           WLAN-Wetterstation V2.11.0 - (c)2019-2021 by SBorg
           Config-Version: V2.11.0
           Sub-Version   : V2.11.0
          
           'bc' installiert: [✓]
           'jq' installiert: [✓] 
          
           'nc' in der Openbsd-Variante installiert:  [✓]
           'netcat' in Openbsd-Variante aktiv, alles korrekt [✓]
          
          
          Connection to 10.0.50.111 8087 port [tcp/*] succeeded!
          
          
          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:
          
          Datenstring für ioBroker:
          
          
          DATA von Wetterstation:
          PASSKEY=xxxxxx&stationtype=GW1100A_V2.0.9&dateutc=2022-02-01+18:18:53&tempinf=74.8&humidityin=47&baromrelin=29.060&baromabsin=29.060&freq=868M&model=GW1100A
          
          
          Debug VAR:
          Installationsverzeichnis: /home/weather
          IPP: 10.0.50.111:8087   WS_PORT: 1080           WS_POLL: 30             PRE_DP: javascript.0.Wetterstation
          WEB: HTTP               WS_PROT: Ecowitt        DP40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 
          WH31: 0 
          Script-Version: V2.11.0 Config-Version: V2.11.0 Sub-Version: V2.11.0
          
          Kommunikationsfehler!
          

          wetterstation.conf

          ### Settings V2.11.0 -----------------------------------------------------------
           #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
            debug=false
           
           #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden?
            RESET_KOMFEHLER=true
           
           #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
            logging=false
          
           #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] 
            IPP=10.0.50.111:8087
          
           #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi / default: 2
            WS_PROTOKOLL=2
          
           #Anzahl der vorhandenen Zusatzsensoren / default: 0
            ANZAHL_WH31=0
            ANZAHL_DP40=0
            ANZAHL_DP50=0
            ANZAHL_DP60=0
            ANZAHL_DP70=0
            ANZAHL_DP100=0
            ANZAHL_DP200=0
            ANZAHL_DP250=0
            ANZAHL_DP300=0
          
           #Protokoll (HTTP oder HTTPS) / default: HTTP
            WEB=HTTP
           
           #User-Authentifizierung falls benutzt; sonst leer lassen
            AUTH_USER=
            AUTH_PASS=
          
           #Port der Wetterstation
            WS_PORT=1080
          
           #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden)
            WS_POLL=30
          
           #Name/ID der Wetterstation
            WS_ID=xxxxxx
          
           #wo sollen die Datenobjekte abgelegt werden
            PRE_DP=javascript.0.Wetterstation
          
           #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen
            #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
             INFLUX_API=
            #Name, User und Passwort der InfluxDB-Datenbank
             INFLUX_DB=
             INFLUX_USER=
             INFLUX_PASSWORD=
          
           #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen")
           # DATUM = 28.04.2020 13:12
           # UNIX  = 1588074964
           # DIFF  = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen
          
            LAST_RAIN=DIFF
           
           #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text"
           # zweistellig wird ggf. mit einer führenden "0" aufgefüllt
           # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig
           # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59)
           #
           # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden
           #
           # Auswahl                            | Ausgabe im Datenpunkt
           # ----------------------------------------------------------------------------
           # [0] = h Std. mm Min. ss Sek.       | 68 Std. 02 Min. 15 Sek.
           # [1] = h:mm                         | 68:02
           # [2] = d Tag/e h Std.               | 2 Tage 20 Std.
           # [3] = d Tag/e, h Std, m Min        | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0)
            
            SONNENSCHEIN_TXTFORMAT=3
           
          
            #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)?
             WETTERCOM_ID=
             WETTERCOM_PW=
           
          
          
          
           #############################################################################################
           ###    openSenseMap - Einstellungen (nur nötig falls openSenseMap benutzt werden soll)    ###
           ###                                                                                       ###
           ###    Für die Registrierung muss "openSenseMap" auf "false" eingestellt sein!            ###
           ###    Erst wenn auch Sensoren angelegt wurden, darf auf "true" umgestellt werden!        ###
           #############################################################################################
            
            #openSenseMap aktivieren [true/false] / default: false
             openSenseMap=false
          
            #SenseBox-User
             senseBox_USER=
          
            #SenseBox-Password
             senseBox_PWD=
          
            #ID der senseBox (24-stellig)
             senseBox_ID=
          
            #Security-Token der Box
             BOX_TOKEN=
          
          
          
            ### Die restlichen Einstellungen für OpenSenseMap werden vom System generiert/benutzt ######
            ### Änderungen sind hier nicht nötig, außer man weiß ganz genau was man tut! ###############
          
            #Sensor-IDs (wird automatisch anhand der Sensoren erzeugt)
             SENSEBOX_IDSENSOR=()
          
            #Sensor-Bezeichnung (Reihenfolge muss zur Sensor-ID identisch sein!)
             SENSEBOX_IDNAME=("Temperatur" "Luftfeuchte" "Luftdruck relativ" "Luftdruck absolut" "Taupunkt" "gefühlte Temperatur" "Sonnenstrahlung" "Windgeschwindigkeit" "Windrichtung" "UV-Index" "Regenrate")
          
            #Messwertezuordnung (Reihenfolge muss zur Sensor-ID identisch sein!)
             SENSEBOX_IDMESSWERT=(1 5 10 9 2 3 16 6 8 17 11)
          
            #Sensorendefinitionen
             ICONS=(osem-thermometer osem-humidity osem-barometer osem-barometer osem-thermometer osem-thermometer osem-brightness osem-particulate-matter osem-particulate-matter osem-brightness osem-umbrella)
             UNITS=('°C' '%H' 'hPa' 'hPa' '°C' '°C' 'W/m²' 'km/h' '°' 'Index' 'mm/h')
          
           #############################################################################################
           ###    openSenseMap - Ende der Einstellungen    #############################################
           #############################################################################################
          
          
          
           #############################################################################################
           ###    Windy - Einstellungen (nur nötig falls Windy benutzt werden soll)                  ###
           #############################################################################################
          
            #Windy aktivieren [true/false] / default: false
             use_windy=false
          
            #Windy API-Key
             windy_APIKey=
          
            #Station [number: 0 - 2147483647] / default: 0
             windy_Station=
          
            #Name der Station [Text]
             windy_Name=
          
            #Latitude/Breitengrad der Station
             windy_Latitude=
          
            #Longitude/Längengrad der Station
             windy_Longitude=
          
            #Elevation/Höhe ÜNN
             windy_Elevation=
          
            #Montagehöhe Temperatursensor über Boden
             windy_Tempheight=
          
            #Montagehöhe Windsensor über Boden
             windy_Windheight=
          
           #############################################################################################
           ###    Windy - Ende der Einstellungen    ####################################################
           #############################################################################################
          
          
          ###  Ende Usereinstellungen  
          ###EoF
          
          H 1 Antwort Letzte Antwort
          0
          • H halsi82

            Hallo Zusammen

            Skript installiert. GW1000 läuft und hängt im Netz.

            IOBROKER IP ist die 10.0.50.111 mit dem Port 8087
            IP des Linux Hosts (läuft als Linux Container auf Proxmox) - 10.0.50.98
            IP des GW1100A - 10.0.50.97

            Ich dachte das Gateway wird unterstützt laut GitHub & Wiki.

            Habe mir nur das Gateway in Kombination mit dem 7in1 Sensor gekauft. Aktuell habe ich nur das Gateway in Betrieb - den Außensensor mache ich morgen oder übermorgen.

            Trotzdem kriege ich es irgendwie nicht hin. Hab es sowohl mit EcoWitt als auch mit WunderGround probiert. Hier der Output mit ECOWITT.

            Gateway Einstellungen:
            0d44e8cd-8dc0-4f80-94f4-fac48c1cfb06-image.png

            Debug Output:

             WLAN-Wetterstation V2.11.0 - (c)2019-2021 by SBorg
             Config-Version: V2.11.0
             Sub-Version   : V2.11.0
            
             'bc' installiert: [✓]
             'jq' installiert: [✓] 
            
             'nc' in der Openbsd-Variante installiert:  [✓]
             'netcat' in Openbsd-Variante aktiv, alles korrekt [✓]
            
            
            Connection to 10.0.50.111 8087 port [tcp/*] succeeded!
            
            
            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:
            
            Datenstring für ioBroker:
            
            
            DATA von Wetterstation:
            PASSKEY=xxxxxx&stationtype=GW1100A_V2.0.9&dateutc=2022-02-01+18:18:53&tempinf=74.8&humidityin=47&baromrelin=29.060&baromabsin=29.060&freq=868M&model=GW1100A
            
            
            Debug VAR:
            Installationsverzeichnis: /home/weather
            IPP: 10.0.50.111:8087   WS_PORT: 1080           WS_POLL: 30             PRE_DP: javascript.0.Wetterstation
            WEB: HTTP               WS_PROT: Ecowitt        DP40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 
            WH31: 0 
            Script-Version: V2.11.0 Config-Version: V2.11.0 Sub-Version: V2.11.0
            
            Kommunikationsfehler!
            

            wetterstation.conf

            ### Settings V2.11.0 -----------------------------------------------------------
             #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
              debug=false
             
             #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden?
              RESET_KOMFEHLER=true
             
             #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
              logging=false
            
             #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] 
              IPP=10.0.50.111:8087
            
             #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi / default: 2
              WS_PROTOKOLL=2
            
             #Anzahl der vorhandenen Zusatzsensoren / default: 0
              ANZAHL_WH31=0
              ANZAHL_DP40=0
              ANZAHL_DP50=0
              ANZAHL_DP60=0
              ANZAHL_DP70=0
              ANZAHL_DP100=0
              ANZAHL_DP200=0
              ANZAHL_DP250=0
              ANZAHL_DP300=0
            
             #Protokoll (HTTP oder HTTPS) / default: HTTP
              WEB=HTTP
             
             #User-Authentifizierung falls benutzt; sonst leer lassen
              AUTH_USER=
              AUTH_PASS=
            
             #Port der Wetterstation
              WS_PORT=1080
            
             #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden)
              WS_POLL=30
            
             #Name/ID der Wetterstation
              WS_ID=xxxxxx
            
             #wo sollen die Datenobjekte abgelegt werden
              PRE_DP=javascript.0.Wetterstation
            
             #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen
              #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
               INFLUX_API=
              #Name, User und Passwort der InfluxDB-Datenbank
               INFLUX_DB=
               INFLUX_USER=
               INFLUX_PASSWORD=
            
             #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen")
             # DATUM = 28.04.2020 13:12
             # UNIX  = 1588074964
             # DIFF  = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen
            
              LAST_RAIN=DIFF
             
             #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text"
             # zweistellig wird ggf. mit einer führenden "0" aufgefüllt
             # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig
             # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59)
             #
             # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden
             #
             # Auswahl                            | Ausgabe im Datenpunkt
             # ----------------------------------------------------------------------------
             # [0] = h Std. mm Min. ss Sek.       | 68 Std. 02 Min. 15 Sek.
             # [1] = h:mm                         | 68:02
             # [2] = d Tag/e h Std.               | 2 Tage 20 Std.
             # [3] = d Tag/e, h Std, m Min        | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0)
              
              SONNENSCHEIN_TXTFORMAT=3
             
            
              #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)?
               WETTERCOM_ID=
               WETTERCOM_PW=
             
            
            
            
             #############################################################################################
             ###    openSenseMap - Einstellungen (nur nötig falls openSenseMap benutzt werden soll)    ###
             ###                                                                                       ###
             ###    Für die Registrierung muss "openSenseMap" auf "false" eingestellt sein!            ###
             ###    Erst wenn auch Sensoren angelegt wurden, darf auf "true" umgestellt werden!        ###
             #############################################################################################
              
              #openSenseMap aktivieren [true/false] / default: false
               openSenseMap=false
            
              #SenseBox-User
               senseBox_USER=
            
              #SenseBox-Password
               senseBox_PWD=
            
              #ID der senseBox (24-stellig)
               senseBox_ID=
            
              #Security-Token der Box
               BOX_TOKEN=
            
            
            
              ### Die restlichen Einstellungen für OpenSenseMap werden vom System generiert/benutzt ######
              ### Änderungen sind hier nicht nötig, außer man weiß ganz genau was man tut! ###############
            
              #Sensor-IDs (wird automatisch anhand der Sensoren erzeugt)
               SENSEBOX_IDSENSOR=()
            
              #Sensor-Bezeichnung (Reihenfolge muss zur Sensor-ID identisch sein!)
               SENSEBOX_IDNAME=("Temperatur" "Luftfeuchte" "Luftdruck relativ" "Luftdruck absolut" "Taupunkt" "gefühlte Temperatur" "Sonnenstrahlung" "Windgeschwindigkeit" "Windrichtung" "UV-Index" "Regenrate")
            
              #Messwertezuordnung (Reihenfolge muss zur Sensor-ID identisch sein!)
               SENSEBOX_IDMESSWERT=(1 5 10 9 2 3 16 6 8 17 11)
            
              #Sensorendefinitionen
               ICONS=(osem-thermometer osem-humidity osem-barometer osem-barometer osem-thermometer osem-thermometer osem-brightness osem-particulate-matter osem-particulate-matter osem-brightness osem-umbrella)
               UNITS=('°C' '%H' 'hPa' 'hPa' '°C' '°C' 'W/m²' 'km/h' '°' 'Index' 'mm/h')
            
             #############################################################################################
             ###    openSenseMap - Ende der Einstellungen    #############################################
             #############################################################################################
            
            
            
             #############################################################################################
             ###    Windy - Einstellungen (nur nötig falls Windy benutzt werden soll)                  ###
             #############################################################################################
            
              #Windy aktivieren [true/false] / default: false
               use_windy=false
            
              #Windy API-Key
               windy_APIKey=
            
              #Station [number: 0 - 2147483647] / default: 0
               windy_Station=
            
              #Name der Station [Text]
               windy_Name=
            
              #Latitude/Breitengrad der Station
               windy_Latitude=
            
              #Longitude/Längengrad der Station
               windy_Longitude=
            
              #Elevation/Höhe ÜNN
               windy_Elevation=
            
              #Montagehöhe Temperatursensor über Boden
               windy_Tempheight=
            
              #Montagehöhe Windsensor über Boden
               windy_Windheight=
            
             #############################################################################################
             ###    Windy - Ende der Einstellungen    ####################################################
             #############################################################################################
            
            
            ###  Ende Usereinstellungen  
            ###EoF
            
            H Offline
            H Offline
            halsi82
            schrieb am zuletzt editiert von
            #3475

            IT IS WORKING NOW!!!

            Hab den Außensensor angelernt und es ging sofort. Jetzt passt der String auch zusammen!

            Danke - alles gelöst.

            SBorgS 1 Antwort Letzte Antwort
            0
            • H halsi82

              IT IS WORKING NOW!!!

              Hab den Außensensor angelernt und es ging sofort. Jetzt passt der String auch zusammen!

              Danke - alles gelöst.

              SBorgS Offline
              SBorgS Offline
              SBorg
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #3476

              @halsi82

              :)


              @Nashra Nutzt du aktuell wieder das "Original" von liv-in-sky (die dürfte nach der Umstellung des Datenformates aktuell so nicht mehr laufen) oder die modifizierte Version?
              Bild 0.png

              Dein aktueller 2022er-01 Datenpunkt muss eigentlich vom Skript generiert so aussehen:
              Bild 1.png Bild 2.png Bild 3.png

              Wichtig sind hier bei #1 und #17 die eckigen Klammern.
              Dann sollte zumindest mit folgender Version aktuell der Januar (s.o.) angezeigt werden:

              
              // @liv-in-sky 4.10.2021 11:45
              //forum: https://forum.iobroker.net/topic/38286/vis-tabelle-f%C3%BCr-wlan-wetterstation
              
              
              const dataInputPath="0_userdata.0.Statistik.Wetter.Data";  //SEHR WICHTIG !!!!!!!!!
              const inhaltFarbe="black";
              const inhaltHintergrund="lightgray";
              const monatFarbe="white";
              const hintergrund="gray";
              const htmlFarbTableBorderColor="black";
              const abstandZelle=6;
              const htmlRahmenLinien="all";
              const htmlSchriftgroessehtmlSchriftart=""; //nicht verwendbar!
              const htmlFarbFelderschrift="red";         //nicht verwendbar!
              const htmlSchriftgroesse="13px";
              const htmlSchriftart="Ubuntu-Light";       //"monospace" oder z.b. "Helvetica"
              const weite="auto";                        //oder "500px"
              let myTable="table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" style=\"color:"+htmlFarbFelderschrift+";  font-size:"+htmlSchriftgroesse+
                                   "; font-family:"+htmlSchriftart+";\"";
                                   
              const varData={ 
                            Tiefstwert:       { einheit:"°C",   name:"Minimum Temperatur"},
                            Hoechstwert:      { einheit:"°C",   name:"Maximum Temperatur"}, 
                            Temp_Durchschnitt:{ einheit:"°C",   name:"Durchschnittstemperatur"},
                            Max_Windboe:      { einheit:'km/h', name:"Max Windböe"},
                            Max_Regenmenge:   { einheit:'l/m2', name:"Max. Regen/Tag"},
                            Regenmenge_Monat: { einheit:'l/m2', name:"Regen"},
                            sehr_kalte_Tage:  { einheit:"",     name:"Sehr kalte Tage (Min. unter -10°C)"},
                            Eistage:          { einheit:"",     name:"Eistage (Max. unter 0°C)"},
                            Frost_Tage:       { einheit:"",     name:"Frosttage (Min. unter 0°C)"},
                            kalte_Tage:       { einheit:"",     name:"Kalte Tage (Max. unter 10°C)"},
                            warme_Tage:       { einheit:"",     name:"Warme Tage (über 20°C)"},
                            Sommertage:       { einheit:"",     name:"Sommertage (über 25°C)"},
                            heisse_Tage:      { einheit:"",     name:'Heiße Tage (über 30°C)'}
              }  
              
              const monate =["JANUAR","FEBRUAR","MÄRZ","APRIL","MAI","JUNI","JULI","AUGUST","SEPTEMBER","OKTOBER","NOVEMBER","DEZEMBER"];
              
              
              //--------------------------nix mehr ändern ab hier--------------------------------------
              let myObj;
              let myArrAll=[]
              let myArrErstellt=[]
              let tableContent;
              let monWahlVIS;
              let lastThree;
              //----------------------------------------------------------------------------------------
              function dataStuff(){
              let myArrAll=[]
              let mySelector=dataInputPath+'.*.*'
              $(mySelector).each(function(id, i) {
               let ida=id.split("."); let lang=ida.length; let jahri=lang-2; let moni=lang-1;
               let obj2 = { jahr: ida[jahri]};
               let obj3 = { monat: ida[moni]};
               let formathelp=getState(id).val
               let helper;
               if (typeof(formathelp)=="object") {helper=getState(id).val[0];} 
                else if (typeof(formathelp)=="string") { helper=getState(id).val;
                                                         helper=JSON.parse(helper.substring(1, (getState(id).val).length-1)); }
                else {helper=JSON.parse(getState(id).val);}
              
               helper={ ...helper, ...obj2, ...obj3}
               myArrAll.push(JSON.stringify(helper))
              });
              //log(myArrAll)
              tableContent = ""  
              myObj=JSON.parse("["+myArrAll.toString()+"]")
              
              if (lastThree==0) {
              //KOPFZEILE
              let choseMonth=monate[monWahlVIS-1]
              let choseMonthArr=choseMonth.split('')
              let test=""
              for (let i=0;i<choseMonthArr.length;i++){
               // log(choseMonthArr[i])
                test=test+choseMonthArr[i]+`
                `    
              }
              
              //log(test)
              //tableContent+='<td  class=\"test-klein\"  rowspan=\"14\"\">'+choseMonth+'</td><td>Wetterwerte</td>'
              tableContent+='<td class=\"myWetterStation\" width=\"25px\"  style=\"color:'+monatFarbe+';font-size:26px; background-color:'+hintergrund+' ; vertical-align:middle; text-align:center \"   rowspan=\"14\"\">'+test+'</td><td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\>Jahreswerte</td>'
              for (let i=0;i<myObj.length;i++) {
                if(parseInt(myObj[i].monat)==monWahlVIS){
              tableContent += '<td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\ align=center>'  + myObj[i].jahr+'</td>'}
              }; tableContent="<tr style=\"font-weight\:bold\">"+tableContent+"</tr>"
              //RESTZEILEN
              for(var index in varData){
                tableContent+='<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\">'+varData[index].name+'</td>'
                for (let i=0;i<myObj.length;i++) {
                   if(myObj[i].monat==monWahlVIS){
                     tableContent += '<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\" align=right>' + myObj[i][index] + ' '+ varData[index].einheit+'</td>'}
                                                 }; tableContent="<tr>"+tableContent+"</tr>"
              
              }
              } //lastThree
              else {
              //log(myObj[0].monat)
                 myObj.sort(function (alpha, beta) {
                          if (parseInt(alpha.monat) > parseInt(beta.monat))
                              return 1;
                           if (parseInt(beta.monat) > parseInt(alpha.monat))
                              return -1;
                           return 0;});
                       //    log(myObj[0].monat)
              
              //KOPFZEILE LASTTHREE
              
              let choseJahr=lastThree.toString()//formatDate(getDateObject((new Date().getTime())), "JJJJ")//monate[monWahlVIS-1]
              let choseMonthArr=choseJahr.split('')
              let test=""
              for (let i=0;i<choseMonthArr.length;i++){
               // log(choseMonthArr[i])
                test=test+choseMonthArr[i]+`
                `    
              }
              
              //log(test)
              //tableContent+='<td  class=\"test-klein\"  rowspan=\"14\"\">'+choseMonth+'</td><td>Wetterwerte</td>'
              tableContent+='<td class=\"myWetterStation\" width=\"25px\"  style=\"color:'+monatFarbe+';font-size:26px; background-color:'+hintergrund+' ; vertical-align:middle; text-align:center \"   rowspan=\"14\"\">'+test+'</td><td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\>Wetterwerte</td>'
              
              for (let i=0;i<myObj.length;i++) {
                
                if( parseInt(myObj[i].jahr)==parseInt(choseJahr) ){ //&& (parseInt(myObj[i].monat)==parseInt(monWahlVIS) || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-1 || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-2)){
              tableContent += '<td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\ align=center>'  + monate[parseInt(myObj[i].monat)-1]+'</td>';}
              }; tableContent="<tr style=\"font-weight\:bold\">"+tableContent+"</tr>"
              //RESTZEILEN
              for(var index in varData){
                tableContent+='<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\">'+varData[index].name+'</td>'
                for (let i=0;i<myObj.length;i++) {
                 if( parseInt(myObj[i].jahr)==parseInt(choseJahr) ){ //&& (parseInt(myObj[i].monat)==parseInt(monWahlVIS) || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-1 || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-2)){
                     tableContent += '<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\" align=right>' + myObj[i][index] + ' '+ varData[index].einheit+'</td>'}
                                                 }; tableContent="<tr>"+tableContent+"</tr>"
              
              }
              
              
              }
              
              tableContent = '<'+myTable+' ><tbody>'+tableContent+'</tbody></table >'
              //log(tableContent)
              
              setState("javascript." + instance + ".Wetterstation.MonthlyDaten",tableContent)
              }
              
              //--------------------------------------------------------------------------------------------------
              async function main() {
                if (!(await existsStateAsync("javascript." + instance + ".Wetterstation.MonthlyDaten"))) {
                    await createStateAsync("Wetterstation.MonthlyDaten", "leer", {type: "string", name: "MonthlyDaten", role: "value", read: true, write: true, } ); }
                if (!(await existsStateAsync("javascript." + instance + ".Wetterstation.MonatAuswahl"))) {
                    await createStateAsync("Wetterstation.MonatAuswahl", 10, {type: "number", name: "MonatAuswahl", role: "value", read: true, write: true, } ); } 
                if (!(await existsStateAsync("javascript." + instance + ".Wetterstation.AuswahlJahr"))) {
                    await createStateAsync("Wetterstation.AuswahlJahr", 0, {type: "number", name: "AuswahlJahr", role: "value", read: true, write: true, } ); } 
                lastThree = (await getStateAsync("javascript." + instance + ".Wetterstation.AuswahlJahr")).val //? lastThree=true : lastThree=false;  
                     
                monWahlVIS=((await getStateAsync("javascript." + instance + ".Wetterstation.MonatAuswahl")).val ) 
                dataStuff(); 
              }
              
              //-----------------------------------------------------------------------------------------------------
              main()
              
              on({id: "javascript." + instance + ".Wetterstation.MonatAuswahl", change: "any"}, async function (obj) {
                main()
              });
              
              on({id: "javascript." + instance + ".Wetterstation.AuswahlJahr", change: "any"}, async function (obj) {
                main()
              });
              
              schedule('*/30 * * * *', function() { 
                let MonatTmp = parseInt(formatDate(getDateObject((new Date().getTime())), "MM"));
                if (MonatTmp>1) { MonatTmp--; } //Patch 
                setState("javascript." + instance + ".Wetterstation.MonatAuswahl", MonatTmp) ;
                setStateDelayed("javascript." + instance + ".Wetterstation.AuswahlJahr", parseInt(formatDate(getDateObject((new Date().getTime())), "JJJJ")),10000) ;
              });
              
              
              

              Dann müsstest du alle bisherigen Monatseinträge kontrollieren ob die nach demselben Schema angelegt sind.

              Es wird zwar temporär funktionieren wenn du die Klammern einfach löschst, dass ist aber keine dauerhafte Lösung:

              • du wirst den Fehler jeden Monat bekommen
              • du kannst dann in einem Jahr keine Vorjahreswerte einlesen

              LG SBorg ( SBorg auf GitHub)
              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

              1 Antwort Letzte Antwort
              0
              • NashraN Offline
                NashraN Offline
                Nashra
                Most Active Forum Testing
                schrieb am zuletzt editiert von Nashra
                #3477

                @SBorg
                die Klammern sind drin
                statistik-1.PNG
                statistik-2.PNG

                aber das Skript habe ich verglichen, ist die alte Version.
                Nehme das von dir jetzt.

                Beim Start von deinem Skript kommt

                17:17:44.965	error	javascript.0 (377) script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
                17:17:44.965	error	javascript.0 (377) at script.js.Wetter.Statistik-Tabelle-LivInSky:59:56
                17:17:44.965	error	javascript.0 (377) at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:51:15)
                17:17:44.966	error	javascript.0 (377) at main (script.js.Wetter.Statistik-Tabelle-LivInSky:157:3)
                

                Gruß Ralf
                Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                SBorgS 1 Antwort Letzte Antwort
                0
                • NashraN Nashra

                  @SBorg
                  die Klammern sind drin
                  statistik-1.PNG
                  statistik-2.PNG

                  aber das Skript habe ich verglichen, ist die alte Version.
                  Nehme das von dir jetzt.

                  Beim Start von deinem Skript kommt

                  17:17:44.965	error	javascript.0 (377) script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
                  17:17:44.965	error	javascript.0 (377) at script.js.Wetter.Statistik-Tabelle-LivInSky:59:56
                  17:17:44.965	error	javascript.0 (377) at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:51:15)
                  17:17:44.966	error	javascript.0 (377) at main (script.js.Wetter.Statistik-Tabelle-LivInSky:157:3)
                  
                  SBorgS Offline
                  SBorgS Offline
                  SBorg
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #3478

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

                  SyntaxError: Unexpected token : in JSON at position 12

                  Da meckert er den ":" in einem JSON-Datensatz an. Sieht nach einem (oder mehreren) inkonsistenten Datensatz/sätze aus.
                  Schau mal so ab Zeile ~#55 nach:

                    if (typeof(formathelp)=="object") {helper=getState(id).val[0];} 
                     else if (typeof(formathelp)=="string") { helper=getState(id).val;
                                                              helper=JSON.parse(helper.substring(1, (getState(id).val).length-1)); }
                     else {helper=JSON.parse(getState(id).val);}
                   console.log(helper);
                    helper={ ...helper, ...obj2, ...obj3}
                  

                  und füge da den Befehl console.log(helper); wie oben zu sehen ein. Dann sollten in der Console und Log bis zu 16 Meldungen (wir hatten IMHO so Sep. 2020 angefangen) auftauchen. Die müssen alle dem Schema nach sein:

                  script.js.common._wo_das_Skript_liegt_._wie_es_heißt_: {'Tiefstwert':-3.38,'Hoechstwert':12.5,'Temp_Durchschnitt':2.86,'Max_Windboe':40.39,'Max_Regenmenge':29.8,'Regenmenge_Monat':68.8,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':13,'kalte_Tage':27,'Eistage':0,'sehr_kalte_Tage':0}
                  

                  Wichtig dabei ist, dass der Datensatz mit {} beginnt/endet. Zur Kontrolle genügt dann auch noch der Blick auf den
                  ersten Messwert nach dem Muster 'Messwertbezeichnung':Messwert, (brauchst also nicht alle Werte kontrollieren, es genügt die reine Syntax. Ist der erste in der Syntax soweit korrekt, sind es die anderen diesen Datensatzes auch).
                  Sollte das alles korrekt sein, muss eigentlich einer/mehrere der Datenpunkte im falschen Format ("string/json") angelegt sein.

                  ...und nicht vergessen den "console.log..."-Befehl wieder zu löschen, sonst hast du jede Menge Meldungen im Log ;)

                  LG SBorg ( SBorg auf GitHub)
                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                  1 Antwort Letzte Antwort
                  0
                  • NashraN Offline
                    NashraN Offline
                    Nashra
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #3479

                    Hallo @SBorg, alles so gemacht wie beschrieben aber beim starten des Skripts immer ERROR-Meldung.

                    Gruß Ralf
                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    SBorgS 1 Antwort Letzte Antwort
                    0
                    • NashraN Nashra

                      Hallo @SBorg, alles so gemacht wie beschrieben aber beim starten des Skripts immer ERROR-Meldung.

                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #3480

                      @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

                      Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
                      Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

                      btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
                      Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      NashraN 1 Antwort Letzte Antwort
                      0
                      • SBorgS SBorg

                        @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

                        Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
                        Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

                        btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
                        Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

                        NashraN Offline
                        NashraN Offline
                        Nashra
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von Nashra
                        #3481

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

                        @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

                        Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
                        Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

                        btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
                        Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

                        Moin, Linux mit
                        Admin 5.2.3
                        JS 5.2.13
                        Node.js v14.18.2
                        NPM 6.14.15
                        Hosts 3.3.22

                        javascript.0	377	2022-02-05 11:01:30.065	info	Stop script script.js.Wetter.Statistik-Tabelle-LivInSky
                        javascript.0	377	2022-02-05 11:01:25.477	error	at main (script.js.Wetter.Statistik-Tabelle-LivInSky:158:3)
                        javascript.0	377	2022-02-05 11:01:25.477	error	at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:50:15)
                        javascript.0	377	2022-02-05 11:01:25.477	error	at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:819:29)
                        javascript.0	377	2022-02-05 11:01:25.477	error	at script.js.Wetter.Statistik-Tabelle-LivInSky:58:56
                        javascript.0	377	2022-02-05 11:01:25.477	error	at JSON.parse (<anonymous>)
                        javascript.0	377	2022-02-05 11:01:25.477	error	script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
                        javascript.0	377	2022-02-05 11:01:25.468	info	script.js.Wetter.Statistik-Tabelle-LivInSky: registered 2 subscriptions and 1 schedule
                        javascript.0	377	2022-02-05 11:01:25.448	info	Start javascript script.js.Wetter.Statistik-Tabelle-LivInSky
                        

                        Nachtrag:
                        habe die eckigen Klammern mal entfernt im json und das alte Skript
                        gestartet, Daten werden angezeigt.

                        Nachtrag2:
                        ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
                        steht "kalte_Tage": 52,

                        Gruß Ralf
                        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        SBorgS 1 Antwort Letzte Antwort
                        0
                        • NashraN Nashra

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

                          @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

                          Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
                          Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

                          btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
                          Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

                          Moin, Linux mit
                          Admin 5.2.3
                          JS 5.2.13
                          Node.js v14.18.2
                          NPM 6.14.15
                          Hosts 3.3.22

                          javascript.0	377	2022-02-05 11:01:30.065	info	Stop script script.js.Wetter.Statistik-Tabelle-LivInSky
                          javascript.0	377	2022-02-05 11:01:25.477	error	at main (script.js.Wetter.Statistik-Tabelle-LivInSky:158:3)
                          javascript.0	377	2022-02-05 11:01:25.477	error	at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:50:15)
                          javascript.0	377	2022-02-05 11:01:25.477	error	at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:819:29)
                          javascript.0	377	2022-02-05 11:01:25.477	error	at script.js.Wetter.Statistik-Tabelle-LivInSky:58:56
                          javascript.0	377	2022-02-05 11:01:25.477	error	at JSON.parse (<anonymous>)
                          javascript.0	377	2022-02-05 11:01:25.477	error	script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
                          javascript.0	377	2022-02-05 11:01:25.468	info	script.js.Wetter.Statistik-Tabelle-LivInSky: registered 2 subscriptions and 1 schedule
                          javascript.0	377	2022-02-05 11:01:25.448	info	Start javascript script.js.Wetter.Statistik-Tabelle-LivInSky
                          

                          Nachtrag:
                          habe die eckigen Klammern mal entfernt im json und das alte Skript
                          gestartet, Daten werden angezeigt.

                          Nachtrag2:
                          ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
                          steht "kalte_Tage": 52,

                          SBorgS Offline
                          SBorgS Offline
                          SBorg
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #3482

                          @nashra Hmm, ok, dann eben anders...

                          Neues JS, egal wo und wie es heißt mit folgendem Inhalt:

                          let t="0_userdata.0.Statistik.Wetter.Data.2022.01";
                          let wert=getState(t).val;
                          let test=JSON.parse(wert.substring(1, wert.length-1));
                          
                          console.log(typeof(t));
                          console.log(wert);
                          console.log(test);
                          

                          Bei #1 ggf. den Pfad anpassen, die Daten aber bitte vom Januar 2022 belassen (gerne aber auch mal mit bspw. Juni 2021 gegenchecken).
                          Erwarteter Output für 01.2022 wäre:

                          string
                          [{"Tiefstwert": ... }]
                          {'Tiefstwert': ... }
                          

                          Wichtig sind nur "string" (Juni 21 sollte hier "object" liefern), dass die eckigen Klammern entfallen und " durch ' ersetzt wurde.

                          Ich kann leider bei mir nichts simulieren, denn dazu müsste ich wissen was der Fehler ist. Dann könnte ich ihn aber auch gleich beseitigen... ;)


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

                          ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
                          steht "kalte_Tage": 52,

                          Ich weiß nicht wie lange schon und warum überhaupt, aber das Problem scheint älter. Da es nicht immer auftritt ist es wohl ein Timing-Problem. Teil 1 läuft noch während Teil 2 schon was von Teil 1 möchte...
                          Geändert habe ich es bereits, muss aber bis zum nächsten 1. warten ob es auch funktioniert.

                          LG SBorg ( SBorg auf GitHub)
                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                          1 Antwort Letzte Antwort
                          0
                          • NashraN Offline
                            NashraN Offline
                            Nashra
                            Most Active Forum Testing
                            schrieb am zuletzt editiert von
                            #3483

                            Also folgendes

                            15:44:39.706	error	javascript.0 (115229) script.js.Wetter.Test: SyntaxError: Unexpected token ] in JSON at position 327
                            15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                            15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                            

                            ändere ich den Pfad auf 2020.01 kommt dies

                            15:48:17.997	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                            15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: string
                            15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -1.77, "Hoechstwert": 12.27, "Temp_Durchschnitt": 2.95, "Max_Windboe": 40.39, "Max_Regenmenge": 22.3, "Regenmenge_Monat": 165.6, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 10, "kalte_Tage": 26, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                            15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: {'Tiefstwert':-1.77,'Hoechstwert':12.27,'Temp_Durchschnitt':2.95,'Max_Windboe':40.39,'Max_Regenmenge':22.3,'Regenmenge_Monat':165.6,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':10,'kalte_Tage':26,'Eistage':0,'sehr_kalte_Tage':0}
                            15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                            

                            sorry aber das kapier ich nicht :confused:

                            Gruß Ralf
                            Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            SBorgS 1 Antwort Letzte Antwort
                            0
                            • NashraN Nashra

                              Also folgendes

                              15:44:39.706	error	javascript.0 (115229) script.js.Wetter.Test: SyntaxError: Unexpected token ] in JSON at position 327
                              15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                              15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                              

                              ändere ich den Pfad auf 2020.01 kommt dies

                              15:48:17.997	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                              15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: string
                              15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -1.77, "Hoechstwert": 12.27, "Temp_Durchschnitt": 2.95, "Max_Windboe": 40.39, "Max_Regenmenge": 22.3, "Regenmenge_Monat": 165.6, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 10, "kalte_Tage": 26, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                              15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: {'Tiefstwert':-1.77,'Hoechstwert':12.27,'Temp_Durchschnitt':2.95,'Max_Windboe':40.39,'Max_Regenmenge':22.3,'Regenmenge_Monat':165.6,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':10,'kalte_Tage':26,'Eistage':0,'sehr_kalte_Tage':0}
                              15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                              

                              sorry aber das kapier ich nicht :confused:

                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #3484

                              @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                              Kommentiere mal #3 aus (// voranstellen):

                              //let test=...
                              

                              Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

                              LG SBorg ( SBorg auf GitHub)
                              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                              NashraN 1 Antwort Letzte Antwort
                              0
                              • SBorgS SBorg

                                @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                                Kommentiere mal #3 aus (// voranstellen):

                                //let test=...
                                

                                Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

                                NashraN Offline
                                NashraN Offline
                                Nashra
                                Most Active Forum Testing
                                schrieb am zuletzt editiert von
                                #3485

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

                                @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                                Kommentiere mal #3 aus (// voranstellen):

                                //let test=...
                                

                                Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

                                16:27:05.629	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: string
                                16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -4.77, "Hoechstwert": 14.88, "Temp_Durchschnitt": 4.58, "Max_Windboe": 38.46, "Max_Regenmenge": 12.9, "Regenmenge_Monat": 145.3, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 13, "kalte_Tage": 52, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                                16:27:05.632	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                                16:27:05.632	error	javascript.0 (115229) script.js.Wetter.Test: ReferenceError: test is not defined
                                16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:7:13
                                16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                                

                                Gruß Ralf
                                Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                SBorgS 1 Antwort Letzte Antwort
                                0
                                • NashraN Nashra

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

                                  @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                                  Kommentiere mal #3 aus (// voranstellen):

                                  //let test=...
                                  

                                  Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

                                  16:27:05.629	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                  16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: string
                                  16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -4.77, "Hoechstwert": 14.88, "Temp_Durchschnitt": 4.58, "Max_Windboe": 38.46, "Max_Regenmenge": 12.9, "Regenmenge_Monat": 145.3, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 13, "kalte_Tage": 52, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                                  16:27:05.632	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                                  16:27:05.632	error	javascript.0 (115229) script.js.Wetter.Test: ReferenceError: test is not defined
                                  16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:7:13
                                  16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                                  
                                  SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #3486

                                  @nashra Na immerhin "lebt" es ;)

                                  Ändere mal #3 in

                                  let test=wert.join());
                                  

                                  LG SBorg ( SBorg auf GitHub)
                                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                  NashraN 1 Antwort Letzte Antwort
                                  0
                                  • SBorgS SBorg

                                    @nashra Na immerhin "lebt" es ;)

                                    Ändere mal #3 in

                                    let test=wert.join());
                                    
                                    NashraN Offline
                                    NashraN Offline
                                    Nashra
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von
                                    #3487

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

                                    let test=wert.join());

                                    16:40:20.426	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                    16:40:20.432	error	javascript.0 (115229) script.js.Wetter.Test compile failed: at script.js.Wetter.Test:3
                                    

                                    Gruß Ralf
                                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    SBorgS 1 Antwort Letzte Antwort
                                    0
                                    • NashraN Nashra

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

                                      let test=wert.join());

                                      16:40:20.426	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                      16:40:20.432	error	javascript.0 (115229) script.js.Wetter.Test compile failed: at script.js.Wetter.Test:3
                                      
                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #3488

                                      @nashra Mist, eine Klammer zu viel...

                                      let test=wert.join();
                                      

                                      LG SBorg ( SBorg auf GitHub)
                                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                      NashraN 1 Antwort Letzte Antwort
                                      0
                                      • SBorgS SBorg

                                        @nashra Mist, eine Klammer zu viel...

                                        let test=wert.join();
                                        
                                        NashraN Offline
                                        NashraN Offline
                                        Nashra
                                        Most Active Forum Testing
                                        schrieb am zuletzt editiert von
                                        #3489

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

                                        @nashra Mist, eine Klammer zu viel...

                                        let test=wert.join();
                                        
                                        16:43:33.321	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                        16:43:33.345	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                                        16:43:33.347	error	javascript.0 (115229) script.js.Wetter.Test: TypeError: wert.join is not a function
                                        16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                                        16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                                        

                                        Gruß Ralf
                                        Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        SBorgS 1 Antwort Letzte Antwort
                                        0
                                        • NashraN Nashra

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

                                          @nashra Mist, eine Klammer zu viel...

                                          let test=wert.join();
                                          
                                          16:43:33.321	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                          16:43:33.345	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                                          16:43:33.347	error	javascript.0 (115229) script.js.Wetter.Test: TypeError: wert.join is not a function
                                          16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                                          16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                                          
                                          SBorgS Offline
                                          SBorgS Offline
                                          SBorg
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #3490

                                          @nashra Keine Ahnung was bei dir schief läuft...
                                          Muss ich mir im stillen Kämmerlein paar Gedanken dazu machen. Melde mich dann so am 30. Februar wieder :joy:

                                          Als Q&D nimm halt aktuell die alte Version und lösche die [] heraus (sind ja auch wieder schnell eingefügt ;) ).

                                          LG SBorg ( SBorg auf GitHub)
                                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                          NashraN 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          591

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe