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

donate donate
  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.5k

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

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

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 153 Kommentatoren 3.8m Aufrufe 135 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.
  • M Offline
    M Offline
    Matt77CHE
    schrieb am zuletzt editiert von Matt77CHE
    #3457

    @Latzi
    habe die ecowitt App schnell installiert - ja da bekomme ich die Daten....

    LatziL SBorgS 2 Antworten Letzte Antwort
    0
    • M Matt77CHE

      @Latzi
      habe die ecowitt App schnell installiert - ja da bekomme ich die Daten....

      LatziL Online
      LatziL Online
      Latzi
      schrieb am zuletzt editiert von Latzi
      #3458

      @matt77che
      Somit ist mal sicher, dass das Display die Wetterdaten per WLAN versendet. Wie hast du die IP des ioBroker´s der Wetterstation bekanntgegeben?

      Edit: Ich meine den Punkt 3 in der Grafik
      28ee5e7a-e36a-42ec-a63b-30b67978b7a9-image.png

      M 1 Antwort Letzte Antwort
      0
      • M Matt77CHE

        @Latzi
        habe die ecowitt App schnell installiert - ja da bekomme ich die Daten....

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

        @matt77che
        Hast du den Service wie von @a200 genannt auch gestoppt? Zweimal auf dem selben Port geht schief.
        ps -aux|grep nc|grep 1080 dann darf das nicht kommen:

        Bild 1.png

        Sonst halt sudo service stop wetterstation dann sollte auch ./wetterstation.sh --debug wieder etwas liefern.
        Die Frage zum Eingangsfehler bliebe aber noch, denn so einfach von selbst stellt es seinen Dienst nicht ein. Da muss noch was anderes klemmen.

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

        M 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @matt77che
          Hast du den Service wie von @a200 genannt auch gestoppt? Zweimal auf dem selben Port geht schief.
          ps -aux|grep nc|grep 1080 dann darf das nicht kommen:

          Bild 1.png

          Sonst halt sudo service stop wetterstation dann sollte auch ./wetterstation.sh --debug wieder etwas liefern.
          Die Frage zum Eingangsfehler bliebe aber noch, denn so einfach von selbst stellt es seinen Dienst nicht ein. Da muss noch was anderes klemmen.

          M Offline
          M Offline
          Matt77CHE
          schrieb am zuletzt editiert von
          #3460

          @sborg

          also bei ps -aux etc gibt er mir nichts aus - also gar nichts;

          der Befehl sudo service stop wetterstation gibt aus: stop: unrecognized service ;

          der Befehl wie in der Anleitung: sudo systemctl stop wetterstation funktioniert;

          bekomme jedoch noch immer keine Daten....

          LatziL 1 Antwort Letzte Antwort
          0
          • LatziL Latzi

            @matt77che
            Somit ist mal sicher, dass das Display die Wetterdaten per WLAN versendet. Wie hast du die IP des ioBroker´s der Wetterstation bekanntgegeben?

            Edit: Ich meine den Punkt 3 in der Grafik
            28ee5e7a-e36a-42ec-a63b-30b67978b7a9-image.png

            M Offline
            M Offline
            Matt77CHE
            schrieb am zuletzt editiert von
            #3461

            @latzi
            ich habe die IP Adresse vom ioBroker angegeben: 192.168.1.245
            Beim Port dann 1080

            SBorgS 1 Antwort Letzte Antwort
            0
            • M Matt77CHE

              @sborg

              also bei ps -aux etc gibt er mir nichts aus - also gar nichts;

              der Befehl sudo service stop wetterstation gibt aus: stop: unrecognized service ;

              der Befehl wie in der Anleitung: sudo systemctl stop wetterstation funktioniert;

              bekomme jedoch noch immer keine Daten....

              LatziL Online
              LatziL Online
              Latzi
              schrieb am zuletzt editiert von
              #3462

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

              der Befehl wie in der Anleitung: sudo systemctl stop wetterstation funktioniert;

              damit ist das service gestoppt; sudo systemctl start wetterstation

              1 Antwort Letzte Antwort
              0
              • M Matt77CHE

                @latzi
                ich habe die IP Adresse vom ioBroker angegeben: 192.168.1.245
                Beim Port dann 1080

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

                @matt77che Sorry, habe mich verleiten lassen, muss nicht "service" sondern "systemctl" lauten, aber egal, er läuft nicht.

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

                192.168.1.245

                ...und das ist auch die IP von dem Rechner auf dem das Skript läuft, also "Skript-Rechner" = "ioB-Rechner" (was so Ok ist, aber das Display schickt halt die Daten genau dahin und dann muss auch dort das Skript laufen)

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

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Matt77CHE
                  schrieb am zuletzt editiert von
                  #3464

                  oook - ihr habt mich auf die Spur gebracht.....!

                  Ich bekomme nun bei --debug alle Daten angezeigt!

                  • lag daran (danke SBorg für den Wink mit dem Zaunpfahl), dass ich bei der Wetterstation die IP 192.168.1.244 (die vom Proxmox) angeben musste - und nicht die vom ioBroker (192.168.1.245) - da das Skript auf der 244 installiert ist obwohl es da im Ordner iobroker liegt.. (der iobroker ist in einem Container in Proxmox).

                  jetzt habe ich zwar die Daten beim Debug - aber noch nicht im iobroker.....

                  da_WoodyD 1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Matt77CHE
                    schrieb am zuletzt editiert von
                    #3465

                    halt!

                    Sie sind Drin!!!

                    HERZLICHEN DANK euch für die Hilfe!!

                    Gruss
                    Matt

                    1 Antwort Letzte Antwort
                    0
                    • M Matt77CHE

                      oook - ihr habt mich auf die Spur gebracht.....!

                      Ich bekomme nun bei --debug alle Daten angezeigt!

                      • lag daran (danke SBorg für den Wink mit dem Zaunpfahl), dass ich bei der Wetterstation die IP 192.168.1.244 (die vom Proxmox) angeben musste - und nicht die vom ioBroker (192.168.1.245) - da das Skript auf der 244 installiert ist obwohl es da im Ordner iobroker liegt.. (der iobroker ist in einem Container in Proxmox).

                      jetzt habe ich zwar die Daten beim Debug - aber noch nicht im iobroker.....

                      da_WoodyD Offline
                      da_WoodyD Offline
                      da_Woody
                      schrieb am zuletzt editiert von
                      #3466

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

                      die IP 192.168.1.244 (die vom Proxmox) angeben musste - und nicht die vom ioBroker (192.168.1.245)

                      eigentlich jetzt egal, funzt ja, aber du hast 2 verschiedene IPs vom ioBroker?
                      nein, nicht egal... du hast das direkt im knoten und nicht in deinem ioB container installiert?
                      ob das so gut ist...

                      gruß vom Woody
                      HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • da_WoodyD da_Woody

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

                        die IP 192.168.1.244 (die vom Proxmox) angeben musste - und nicht die vom ioBroker (192.168.1.245)

                        eigentlich jetzt egal, funzt ja, aber du hast 2 verschiedene IPs vom ioBroker?
                        nein, nicht egal... du hast das direkt im knoten und nicht in deinem ioB container installiert?
                        ob das so gut ist...

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

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

                        ob das so gut ist...

                        Du stellst dir die Frage wahrscheinlich nicht selbst, aber es lesen ja auch andere still mit.
                        Da ich pauschal nix böses will oder mache, ist es nicht sooo schlimm....

                        ...aber, wenn ich wollte (gerade wenn man wie fast üblich als root unterwegs ist), oder man direkt von GitHub installiert und mein Account wäre dort gehackt, kann der Angreifer dadurch volle Kontrolle über den Knoten erlangen. Dann stehen ihm/ihr/es what ever ;) auch die Türen zu den Containern offen...

                        Merke: nie, niemals, nimmr als root arbeiten und soviel es geht "kapseln" (auf diverse Maschinen aufteilen). Dann wird es sehr schwer etwas zu kompromittieren :)

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

                        da_WoodyD 1 Antwort Letzte Antwort
                        0
                        • SBorgS SBorg

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

                          ob das so gut ist...

                          Du stellst dir die Frage wahrscheinlich nicht selbst, aber es lesen ja auch andere still mit.
                          Da ich pauschal nix böses will oder mache, ist es nicht sooo schlimm....

                          ...aber, wenn ich wollte (gerade wenn man wie fast üblich als root unterwegs ist), oder man direkt von GitHub installiert und mein Account wäre dort gehackt, kann der Angreifer dadurch volle Kontrolle über den Knoten erlangen. Dann stehen ihm/ihr/es what ever ;) auch die Türen zu den Containern offen...

                          Merke: nie, niemals, nimmr als root arbeiten und soviel es geht "kapseln" (auf diverse Maschinen aufteilen). Dann wird es sehr schwer etwas zu kompromittieren :)

                          da_WoodyD Offline
                          da_WoodyD Offline
                          da_Woody
                          schrieb am zuletzt editiert von
                          #3468

                          @sborg noe.png die frage stell ich mir sicher nicht! ;)
                          als root unterwegs? na hoffentlich bekommt das keiner mit! ;)
                          ich meinte damit eigentlich nur, wie man auf den trichter kommt, dein script nicht in der ioB VM/container zu insten...

                          gruß vom Woody
                          HAPPINESS is not a DESTINATION, it's a WAY of LIFE!

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            tege0
                            schrieb am zuletzt editiert von
                            #3469

                            Hallo zusammen,

                            ich habe die Installation via Docker gemacht, gibt es hierzu auch updates oder ähnliches?
                            Wie laufen die Updates über docker ab?
                            Container recreate mit drope the last image?
                            /opt/wetterstation ist ja aufgelagert also sollten die Einstellungen und Daten doch bleiben oder?

                            Danke

                            SBorgS 1 Antwort Letzte Antwort
                            0
                            • T tege0

                              Hallo zusammen,

                              ich habe die Installation via Docker gemacht, gibt es hierzu auch updates oder ähnliches?
                              Wie laufen die Updates über docker ab?
                              Container recreate mit drope the last image?
                              /opt/wetterstation ist ja aufgelagert also sollten die Einstellungen und Daten doch bleiben oder?

                              Danke

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

                              @tege0 Ich kenne mich mit Docker nahezu Null aus. Da es aber ebenfalls in einem Verzeichnis liegt müsste die Standard-Updateroutine ebenfalls greifen:

                              • wetterstation.sh, wetterstation.sub und ws_updater.sh ersetzen
                              • dann die Änderungen in der *.conf mittels ./ws_updater.sh --patch im Installationsverzeichnis durchführen

                              Wichtig ist lediglich die wetterstation.conf, da hier deine ganzen Einstellungen liegen. Es wird zwar standardmäßig vorher ein Backup angelegt, wenn man aber ganz sicher gehen will, legt man selbst vorher irgendwo eine Kopie ab.

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

                              1 Antwort Letzte Antwort
                              1
                              • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          841

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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