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

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

Community Forum

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

NEWS

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

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

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

[Linux Shell-Skript] WLAN-Wetterstation

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

    @Negalein Ich hab im Moment nur August und September 2021, und zwar gerade gestern neu angelegt (Hatte in der vorigen Nacht einen Crash des gesamten NUCs:cry: ).

    {
      "common": {
        "name": "Monatsstatistik für September 2021",
        "type": "object",
        "role": "json"
      },
      "native": {
        "name": "Monatsstatistik für September 2021",
        "type": "object",
        "role": "json"
      },
      "type": "state",
      "_id": "0_userdata.0.Wetterstatistik.Data.2021.09",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      },
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1633278954065
    }
    

    bei der Ausführung in der Nacht gab es nur den Eintrag, dass das Script ausgeführt wurde - sonst keine weiteren Einträge ins Log. Also sollte alles gut sein.

    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

    1 Antwort Letzte Antwort
    0
    • NegaleinN Negalein

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

      Bild 1a.png

      erledigt.

      Aber warum siehst du es in 1 Wurst und ich untereinander?

      Kann man das umstellen?

      objects - ioBroker (4).png

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

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

      Aber warum siehst du es in 1 Wurst und ich untereinander?
      Kann man das umstellen?

      Sagen wir mal so, ich wüsste aktuell nicht wie oder wo. Ist "einfach" bei mir so. Durch was das kam...? Am dunklen Skin wird es wohl nicht liegen. Ev. Browser (bei mir aktueller FF) oder ein AddOn...?

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

      1 Antwort Letzte Antwort
      0
      • 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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #2971

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

                Danach sollte es wieder laufen.

                Merci
                läuft wieder :)

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

                1 Antwort Letzte Antwort
                0
                • Rene55R Offline
                  Rene55R Offline
                  Rene55
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antworten Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      1 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antworten Letzte Antwort
                              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
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      liv-in-skyL 1 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antworten Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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: 20.17.0 NPM: 10.8.2
                                          ° Proxmox, Ubuntu 22.04.3 LTS
                                          ° Fixer ---> iob fix

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          700

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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