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
    17
    1
    3.6k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 156 Posters 3.9m Views 138 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.
  • Rene55R Rene55

    @SBorg Ich habe gerade mal die Wetterstatistik bei mir angepasst und eingebaut.
    Hier bekomme ich dann folgende Meldungen:

    javascript.0	2021-10-03 17:08:58.609	info	State value to set for "0_userdata.0.Wetterstatistik.Rekordwerte" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.609	info	State value to set for "0_userdata.0.Wetterstatistik.Jahreswerte" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.609	info	State value to set for "0_userdata.0.Wetterstatistik.Control" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.609	info	State value to set for "0_userdata.0.Wetterstatistik.VorTag" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.608	info	State value to set for "0_userdata.0.Wetterstatistik.Data" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.608	info	State value to set for "0_userdata.0.Wetterstatistik.Vorjahres_Monat" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.608	info	State value to set for "0_userdata.0.Wetterstatistik.aktueller_Monat" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.533	info	State value to set for "0_userdata.0.Wetterstatistik" has to be type "folder" but received type "string"
    javascript.0	2021-10-03 17:08:58.433	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.433	warn	Object 0_userdata.0.Wetterstatistik.Rekordwerte is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.433	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.433	warn	Object 0_userdata.0.Wetterstatistik.Jahreswerte is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.431	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.431	warn	Object 0_userdata.0.Wetterstatistik.Control is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.431	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.431	warn	Object 0_userdata.0.Wetterstatistik.VorTag is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.431	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.431	warn	Object 0_userdata.0.Wetterstatistik.Data is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.431	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.431	warn	Object 0_userdata.0.Wetterstatistik.Vorjahres_Monat is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.431	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.431	warn	Object 0_userdata.0.Wetterstatistik.aktueller_Monat is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    javascript.0	2021-10-03 17:08:58.431	warn	This object will not be created in future versions. Please report this to the developer.
    javascript.0	2021-10-03 17:08:58.430	warn	Object 0_userdata.0.Wetterstatistik is invalid: obj.common.type has an invalid value (folder) but has to be one of number, string, boolean, array, object, mixed, file, json
    
    

    Ist das so OK oder gibt es da Irritationen mit den Typen der DPs?
    LG Rainer

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

    @rene55 Antwort auf beide Posts ;) :

    zum 1. Da stimmt so einiges an der Zuordnung der Datenpunkte nicht. Sieht aber dann beim 2. Post Ok aus :)
    Hattest du nicht auch schon öfters Probleme mit Influx/Grafana?

    btw @all: geht bitte nicht davon aus, dass ich mich immer an alles erinnere oder speziell auch zuordnen kann wer, was, wieso, warum....
    Meine "grauen Zellen" werden allmählich wirklich grau und bei der Menge an Posts, Chats, Emails, Issues ... verliere ich den Überblick. Bei einer Anfrage "...du erinnerst dich..." muss ich, ohne jemand zu Nahe treten zu wollen, öfters auch mal mit "Nein" antworten. Es ist einfach zu viel. Wenn ich also mal was verwechsele oder nicht mehr weiß, Sorry, keine Absicht :)

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

    1 Reply Last reply
    2
    • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          788

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          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