Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    883

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 155 Posters 3.9m Views 137 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • NegaleinN Negalein

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

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

    Falls nicht bitte melden, sind ggf. nur wenige Zeilen.

    bei mir steht es still :(
    log.gif

    beim Start dieses Scripts von @liv-in-sky kommt nun

    00:14:32.040	error	javascript.0 (31206) script.js.Wetter.Wettertabelle: SyntaxError: Unexpected token o in JSON at position 1
    00:14:32.040	error	javascript.0 (31206) at script.js.Wetter.Wettertabelle:53:17
    00:14:32.040	error	javascript.0 (31206) at dataStuff (script.js.Wetter.Wettertabelle:49:15)
    00:14:32.040	error	javascript.0 (31206) at main (script.js.Wetter.Wettertabelle:149:4)
    
    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    wrote on last edited by
    #2968

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

    beim Start dieses Scripts von @liv-in-sky kommt nun

    + @all liv-in-sky Skript-Nutzer:
    Ändere mal so um Zeile ~#53 ab:

    let helper=JSON.parse(getState(id).val); 
    

    in

    //let helper=JSON.parse(getState(id).val); 
    let helper=getState(id).val[0];
    

    also Originalzeile auskommentieren und dafür die neue einfügen. Danach sollte es wieder laufen.

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

    NegaleinN 1 Reply Last reply
    0
    • L Langer

      @thomas-braun

      root@pi-slave:/home/iobroker# dir
      wetterstation.conf wetterstation.sh wetterstation.sub ws_updater.sh

      Ich hoffe das hast Du gemeint?

      MfG
      Wastl

      Thomas BraunT Online
      Thomas BraunT Online
      Thomas Braun
      Most Active
      wrote on last edited by
      #2969

      @langer

      Du springst da ja immer noch als root rum.
      Log dich aus und als Standarduser wieder an.

      ls -l /home/iobroker
      

      Linux-Werkzeugkasten:
      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
      NodeJS Fixer Skript:
      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

      1 Reply Last reply
      0
      • da_WoodyD da_Woody

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

        Mir gings nur um das aussehen.

        schau in den spiegel, dann weist du, das ist nebensächlich...
        goo.gif

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        wrote on last edited by
        #2970

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

        schau in den spiegel, dann weist du, das ist nebensächlich...

        Jeden Morgen...
        "Ich kenn dich zwar nicht, wasch dich aber trotzdem..." :grinning:

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

        1 Reply Last reply
        1
        • SBorgS SBorg

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

          beim Start dieses Scripts von @liv-in-sky kommt nun

          + @all liv-in-sky Skript-Nutzer:
          Ändere mal so um Zeile ~#53 ab:

          let helper=JSON.parse(getState(id).val); 
          

          in

          //let helper=JSON.parse(getState(id).val); 
          let helper=getState(id).val[0];
          

          also Originalzeile auskommentieren und dafür die neue einfügen. Danach sollte es wieder laufen.

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          wrote on last edited by
          #2971

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

          Danach sollte es wieder laufen.

          Merci
          läuft wieder :)

          ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
          ° Node.js Fixer ---> iob nodejs-update
          ° Fixer ---> iob fix

          1 Reply Last reply
          0
          • Rene55R Offline
            Rene55R Offline
            Rene55
            wrote on last edited by
            #2972

            @SBorg Danke für die Antwort. Probleme mit Influx/Grafana hatte ich eigentlich noch keine, oder sind mir nicht aufgefallen. Die Fehlermeldung aus dem ersten Post hatte ich ja auch nur einmal beim ersten Start des Scripts V1.0.0. Und da ja in dem Lgeintrag drin stand "Please report this to the developer." dachte ich mir, das sollte der Entwickler mal beäugen. Wenns nur bei mir auftrat ist es auch nicht weiter wichtig - es läuft ja alles.
            LG Rainer

            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
            Wetterstation: Froggit WH3000SE V1.6.6

            SBorgS 1 Reply Last reply
            0
            • NegaleinN Negalein

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

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

              Falls nicht bitte melden, sind ggf. nur wenige Zeilen.

              bei mir steht es still :(
              log.gif

              beim Start dieses Scripts von @liv-in-sky kommt nun

              00:14:32.040	error	javascript.0 (31206) script.js.Wetter.Wettertabelle: SyntaxError: Unexpected token o in JSON at position 1
              00:14:32.040	error	javascript.0 (31206) at script.js.Wetter.Wettertabelle:53:17
              00:14:32.040	error	javascript.0 (31206) at dataStuff (script.js.Wetter.Wettertabelle:49:15)
              00:14:32.040	error	javascript.0 (31206) at main (script.js.Wetter.Wettertabelle:149:4)
              
              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              wrote on last edited by
              #2973

              @negalein
              da wurden wohl die states geändert - da kann das script nicht von allein drauf kommen, dass sich da was geändert hat

              @SBorg - ich denk, deine änderung müßte so passen - wenn du das array - 0 - element einliest, sollten die daten wieder wie vorher verarbeitet werden :+1:

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              NegaleinN SBorgS 2 Replies Last reply
              0
              • liv-in-skyL liv-in-sky

                @negalein
                da wurden wohl die states geändert - da kann das script nicht von allein drauf kommen, dass sich da was geändert hat

                @SBorg - ich denk, deine änderung müßte so passen - wenn du das array - 0 - element einliest, sollten die daten wieder wie vorher verarbeitet werden :+1:

                NegaleinN Offline
                NegaleinN Offline
                Negalein
                Global Moderator
                wrote on last edited by
                #2974

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

                @SBorg - ich denk, deine änderung müßte so passen - wenn du das array - 0 - element einliest, sollten die daten wieder wie vorher verarbeitet werden

                Jepp, passt wieder :)

                ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                ° Node.js Fixer ---> iob nodejs-update
                ° Fixer ---> iob fix

                1 Reply Last reply
                0
                • liv-in-skyL liv-in-sky

                  @negalein
                  da wurden wohl die states geändert - da kann das script nicht von allein drauf kommen, dass sich da was geändert hat

                  @SBorg - ich denk, deine änderung müßte so passen - wenn du das array - 0 - element einliest, sollten die daten wieder wie vorher verarbeitet werden :+1:

                  SBorgS Offline
                  SBorgS Offline
                  SBorg
                  Forum Testing Most Active
                  wrote on last edited by
                  #2975

                  @liv-in-sky Mehr Zwangsweise, da der "neue" JSC mehr oder minder JSON nun als Array + Object vorschreibt. Von meiner Seite aus ändere ich nur sehr, sehr ungern etwas im laufenden Betrieb noch an States etc.

                  Da das hier im Thread wohl auch untergeht, magst du eine Änderung in deinem Skript hinzufügen, dass ab >=V1.0.0 Version xyz deines Skriptes zu nutzen ist :) :+1:

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

                  liv-in-skyL 1 Reply Last reply
                  0
                  • SBorgS SBorg

                    @liv-in-sky Mehr Zwangsweise, da der "neue" JSC mehr oder minder JSON nun als Array + Object vorschreibt. Von meiner Seite aus ändere ich nur sehr, sehr ungern etwas im laufenden Betrieb noch an States etc.

                    Da das hier im Thread wohl auch untergeht, magst du eine Änderung in deinem Skript hinzufügen, dass ab >=V1.0.0 Version xyz deines Skriptes zu nutzen ist :) :+1:

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    wrote on last edited by
                    #2976

                    @sborg

                    ich überlege gerade, ob man nicht einen teil einfügt, der überprüft, ob ein array oder pure json drinsteht - evtl umwandelt und dann weitermacht

                    muss das mal näher anschauen - dann bräuchten die user auch die alten dp nicht von hand konvertieren

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    SBorgS 1 Reply Last reply
                    0
                    • Rene55R Rene55

                      @SBorg Danke für die Antwort. Probleme mit Influx/Grafana hatte ich eigentlich noch keine, oder sind mir nicht aufgefallen. Die Fehlermeldung aus dem ersten Post hatte ich ja auch nur einmal beim ersten Start des Scripts V1.0.0. Und da ja in dem Lgeintrag drin stand "Please report this to the developer." dachte ich mir, das sollte der Entwickler mal beäugen. Wenns nur bei mir auftrat ist es auch nicht weiter wichtig - es läuft ja alles.
                      LG Rainer

                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      wrote on last edited by
                      #2977

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

                      Danke für die Antwort. Probleme mit Influx/Grafana hatte ich eigentlich noch keine, oder sind mir nicht aufgefallen.

                      Siehste, verwechselt... ;)
                      ...wobei die Fehlermeldung nicht schlüssig ist. Wenn aber jetzt Ruhe ist und auch alles läuft --> dann "gut" so, nachvollziehen kann ich es eh nicht

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

                      1 Reply Last reply
                      0
                      • liv-in-skyL liv-in-sky

                        @sborg

                        ich überlege gerade, ob man nicht einen teil einfügt, der überprüft, ob ein array oder pure json drinsteht - evtl umwandelt und dann weitermacht

                        muss das mal näher anschauen - dann bräuchten die user auch die alten dp nicht von hand konvertieren

                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        wrote on last edited by
                        #2978

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

                        dann bräuchten die user auch die alten dp nicht von hand konvertieren

                        Doch, da ich die auch am 01. des Monats wieder einlese (sonst muss ich immer etliche Datenbankabfragen und Auswertungen fahren die unnötig sind, denn zu dem entsprechenden Monat [wie bspw. aktuell Oktober 2020] liegen die Daten ja vor) und da es ein Array sein soll, schreibe ich das nun auch als Array. Ich kam zwar auch auf den Gedanken, um aber da spätere Inkompatibilitäten (zB. Nutzung in der VIS, Bindings...) zu vermeiden, bin ich dafür nur ein Format zu haben. Schlimmstenfalls 13 DPs zu ändern geht ja auch fix.

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

                        liv-in-skyL 2 Replies Last reply
                        0
                        • SBorgS SBorg

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

                          dann bräuchten die user auch die alten dp nicht von hand konvertieren

                          Doch, da ich die auch am 01. des Monats wieder einlese (sonst muss ich immer etliche Datenbankabfragen und Auswertungen fahren die unnötig sind, denn zu dem entsprechenden Monat [wie bspw. aktuell Oktober 2020] liegen die Daten ja vor) und da es ein Array sein soll, schreibe ich das nun auch als Array. Ich kam zwar auch auf den Gedanken, um aber da spätere Inkompatibilitäten (zB. Nutzung in der VIS, Bindings...) zu vermeiden, bin ich dafür nur ein Format zu haben. Schlimmstenfalls 13 DPs zu ändern geht ja auch fix.

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          wrote on last edited by liv-in-sky
                          #2979

                          @sborg

                          hat sich erledigt

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Reply Last reply
                          0
                          • SBorgS SBorg

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

                            dann bräuchten die user auch die alten dp nicht von hand konvertieren

                            Doch, da ich die auch am 01. des Monats wieder einlese (sonst muss ich immer etliche Datenbankabfragen und Auswertungen fahren die unnötig sind, denn zu dem entsprechenden Monat [wie bspw. aktuell Oktober 2020] liegen die Daten ja vor) und da es ein Array sein soll, schreibe ich das nun auch als Array. Ich kam zwar auch auf den Gedanken, um aber da spätere Inkompatibilitäten (zB. Nutzung in der VIS, Bindings...) zu vermeiden, bin ich dafür nur ein Format zu haben. Schlimmstenfalls 13 DPs zu ändern geht ja auch fix.

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            wrote on last edited by
                            #2980

                            @sborg

                            script ist upgedated und läuft für jede dp-version

                            dem script ist es jetzt egal, was da drin steht - wenn es ein object ist, nimmt es das object - ist es ein string - wie früher - nimmt es einen string

                            https://forum.iobroker.net/topic/38286/vis-tabelle-für-wlan-wetterstation

                            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                            NegaleinN 1 Reply Last reply
                            1
                            • L Langer

                              @thomas-braun

                              root@pi-slave:/home/iobroker# dir
                              wetterstation.conf wetterstation.sh wetterstation.sub ws_updater.sh

                              Ich hoffe das hast Du gemeint?

                              MfG
                              Wastl

                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              wrote on last edited by
                              #2981

                              @langer Ich nehme an durch den "bösen" root stimmen die Userrechte so nicht mehr.
                              Eigentlich sollte es so aussehen (bei mir läuft es unter User/Gruppe sborg )
                              Bild 1.png
                              wobei "wetterstation.js" uninteressant ist und bei der "sh" -rwxr--r-- völlig genügt, außer man arbeitet wirklich mit Gruppen.
                              Auch wenn es nerven mag, als User arbeiten und bei ev. nötigen Rechten halt ein "sudo" davor.

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

                              1 Reply Last reply
                              0
                              • liv-in-skyL liv-in-sky

                                @sborg

                                script ist upgedated und läuft für jede dp-version

                                dem script ist es jetzt egal, was da drin steht - wenn es ein object ist, nimmt es das object - ist es ein string - wie früher - nimmt es einen string

                                https://forum.iobroker.net/topic/38286/vis-tabelle-für-wlan-wetterstation

                                NegaleinN Offline
                                NegaleinN Offline
                                Negalein
                                Global Moderator
                                wrote on last edited by
                                #2982

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

                                script ist upgedated und läuft für jede dp-version

                                habs getestet, wirft aber Fehler aus.

                                12:12:36.575	error	javascript.0 (31206) script.js.Wetter.Wettertabelle: SyntaxError: Unexpected token ] in JSON at position 0
                                12:12:36.575	error	javascript.0 (31206) at script.js.Wetter.Wettertabelle:56:83
                                12:12:36.576	error	javascript.0 (31206) at dataStuff (script.js.Wetter.Wettertabelle:50:15)
                                12:12:36.576	error	javascript.0 (31206) at main (script.js.Wetter.Wettertabelle:153:4)
                                

                                ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                ° Node.js Fixer ---> iob nodejs-update
                                ° Fixer ---> iob fix

                                liv-in-skyL 1 Reply Last reply
                                0
                                • NegaleinN Negalein

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

                                  script ist upgedated und läuft für jede dp-version

                                  habs getestet, wirft aber Fehler aus.

                                  12:12:36.575	error	javascript.0 (31206) script.js.Wetter.Wettertabelle: SyntaxError: Unexpected token ] in JSON at position 0
                                  12:12:36.575	error	javascript.0 (31206) at script.js.Wetter.Wettertabelle:56:83
                                  12:12:36.576	error	javascript.0 (31206) at dataStuff (script.js.Wetter.Wettertabelle:50:15)
                                  12:12:36.576	error	javascript.0 (31206) at main (script.js.Wetter.Wettertabelle:153:4)
                                  
                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  wrote on last edited by
                                  #2983

                                  @negalein

                                  ich habe 3 werte umgewandelt mit [..] und als object type "object" statt "string" im raw geändert

                                  Image 1.png

                                  läuft bei mir

                                  hast du das in object umwandeln gemacht ?

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  NegaleinN SBorgS 2 Replies Last reply
                                  0
                                  • liv-in-skyL liv-in-sky

                                    @negalein

                                    ich habe 3 werte umgewandelt mit [..] und als object type "object" statt "string" im raw geändert

                                    Image 1.png

                                    läuft bei mir

                                    hast du das in object umwandeln gemacht ?

                                    NegaleinN Offline
                                    NegaleinN Offline
                                    Negalein
                                    Global Moderator
                                    wrote on last edited by
                                    #2984

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

                                    hast du das in object umwandeln gemacht ?

                                    Ja, schon gestern
                                    objects - ioBroker (6).png

                                    So schaut das Script jetzt aus.
                                    Eventuell siehst du einen copy/paste Fehler.

                                    // @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="black"
                                    const hintergrund="gray"
                                    const htmlFarbTableBorderColor="black";
                                    const abstandZelle=6;
                                    const htmlRahmenLinien="all"
                                    const htmlSchriftgroessehtmlSchriftart=""  //nicht verwendbar!
                                    const htmlFarbFelderschrift="red";         //nicht verwendbar!
                                    const htmlSchriftgroesse="14px";
                                    const htmlSchriftart="Ubuntu-Light"//"RobotoCondensed-Regular";       //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"},
                                                   heisse_Tage:      { einheit:"", name:'Heiße Tage (über 30°C)'},
                                                   Sommertage:       { einheit:"", name:"Sommertage (über 25°C)"},
                                                   warme_Tage:       { einheit:"", name:"Warme Tage (über 20°C)"},
                                                   kalte_Tage:       { einheit:"", name:"Kalte Tage (Max. unter 10°C)"},
                                                   Frost_Tage:       { einheit:"", name:"Frosttage (Min. unter 0°C)"},
                                                   Eistage:          { einheit:"", name:"Eistage (Max. unter 0°C)"},
                                                   sehr_kalte_Tage:  { einheit:"", name:"Sehr kalte Tage (Min. unter -10°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{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+'"\>Wetterwerte</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() { 
                                       setState("javascript." + instance + ".Wetterstation.MonatAuswahl", parseInt(formatDate(getDateObject((new Date().getTime())), "MM"))) ;
                                       setStateDelayed("javascript." + instance + ".Wetterstation.AuswahlJahr", parseInt(formatDate(getDateObject((new Date().getTime())), "JJJJ")),10000) ;
                                    });
                                    

                                    ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                    ° Node.js Fixer ---> iob nodejs-update
                                    ° Fixer ---> iob fix

                                    1 Reply Last reply
                                    0
                                    • liv-in-skyL liv-in-sky

                                      @negalein

                                      ich habe 3 werte umgewandelt mit [..] und als object type "object" statt "string" im raw geändert

                                      Image 1.png

                                      läuft bei mir

                                      hast du das in object umwandeln gemacht ?

                                      SBorgS Offline
                                      SBorgS Offline
                                      SBorg
                                      Forum Testing Most Active
                                      wrote on last edited by
                                      #2985

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

                                      läuft bei mir

                                      Sorry @Negalein , lüppt bei mir auch.
                                      Hast du ev. aus Versehen bei einem der Datenpunkte ein [ oder ] zu wenig/viel?

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

                                      NegaleinN 1 Reply Last reply
                                      0
                                      • SBorgS SBorg

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

                                        läuft bei mir

                                        Sorry @Negalein , lüppt bei mir auch.
                                        Hast du ev. aus Versehen bei einem der Datenpunkte ein [ oder ] zu wenig/viel?

                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        wrote on last edited by Negalein
                                        #2986

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

                                        Hast du ev. aus Versehen bei einem der Datenpunkte ein [ oder ] zu wenig/viel?

                                        Haaaa, tatsächlich.
                                        Hatte 1x in der 1. Zeile [ mit ] vertauscht.

                                        Kleiner Fehler-----große Auswirkung

                                        PS: schon Bier gekauft ;)

                                        ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                                        ° Node.js Fixer ---> iob nodejs-update
                                        ° Fixer ---> iob fix

                                        liv-in-skyL 1 Reply Last reply
                                        0
                                        • NegaleinN Negalein

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

                                          Hast du ev. aus Versehen bei einem der Datenpunkte ein [ oder ] zu wenig/viel?

                                          Haaaa, tatsächlich.
                                          Hatte 1x in der 1. Zeile [ mit ] vertauscht.

                                          Kleiner Fehler-----große Auswirkung

                                          PS: schon Bier gekauft ;)

                                          liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          wrote on last edited by
                                          #2987

                                          @negalein

                                          läuft also - dann is ja gut

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          708

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe