Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @SBorg last edited by liv-in-sky

      @sborg

      hat sich erledigt

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @SBorg last edited by

        @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

        Negalein 1 Reply Last reply Reply Quote 1
        • SBorg
          SBorg Forum Testing Most Active @Langer last edited by

          @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.

          1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @liv-in-sky last edited by

            @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-sky 1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Negalein last edited by

              @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 ?

              Negalein SBorg 2 Replies Last reply Reply Quote 0
              • Negalein
                Negalein Global Moderator @liv-in-sky last edited by

                @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) ;
                });
                
                1 Reply Last reply Reply Quote 0
                • SBorg
                  SBorg Forum Testing Most Active @liv-in-sky last edited by

                  @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?

                  Negalein 1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @SBorg last edited by Negalein

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

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

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

                    Kleiner Fehler-----große Auswirkung

                    PS: schon Bier gekauft 😉

                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @Negalein last edited by

                      @negalein

                      läuft also - dann is ja gut

                      1 Reply Last reply Reply Quote 1
                      • SBorg
                        SBorg Forum Testing Most Active last edited by

                        [OFF Topic]
                        Ich bin nun wieder hin- und hergerissen. Zum einen ist es für mich nicht selbstverständlich, zum anderen hat es aber in meinen Augen immer einen schalen Beigeschmack. Wie man es macht ist es aber eh immer verkehrt.

                        Aber ich bin älter und so erzogen worden. Many Thx @CW ( 😉 ) für die Spende. Es wird aber Kaffee werden, da ich Alk weitest meiden soll 😉
                        ...und Schal: es braucht sich wirklich keiner deswegen genötigt zu sehen etwas spenden zu müssen. Ich will mich einfach nur bedanken. Es macht nichts besser oder schlechter, ich mach das gerne weil ich es (mehr oder minder gut) kann, zum Teil selbst nutze und an anderer Stelle auch von der Arbeit Anderer profitiere.

                        ...und jetzt kam dein Post dazwischen während ich hier tippe und du es selbst schon teilweise verraten hast, also Danke @Negalein 😊

                        Negalein 1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator @SBorg last edited by

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

                          ..und Schal: es braucht sich wirklich keiner deswegen genötigt zu sehen etwas spenden zu müssen. Ich will mich einfach nur bedanken.

                          Naja, das mach ich gerne. Gute Arbeit soll belohnt werden.
                          @liv-in-sky dürfte sich auch mal ein Kaffeekonto zulegen. Wäre längst überfällig! 😉

                          1 Reply Last reply Reply Quote 2
                          • Rene55
                            Rene55 last edited by

                            @liv-in-sky Hi, ich hab dein (neues) Script auch im Einsatz. In der VIS ist bei mir die Tabelle ganz rechts. kann ich die irgendwie besser/schöner positionieren? Oder hab ich da was verbaselt?
                            LG Rainer

                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Rene55 last edited by

                              @rene55

                              hast du mal ein bild, was du meinst

                              1 Reply Last reply Reply Quote 0
                              • Rene55
                                Rene55 last edited by Rene55

                                @liv-in-sky Hier ein Screenshot. Bitte nicht über die angezeigten Daten wundern. Meinem NUC war es gestern nicht so gut😕 :Screen.png

                                Sollten wir hierzu den Kanal wechseln?

                                Negalein liv-in-sky 2 Replies Last reply Reply Quote 0
                                • Negalein
                                  Negalein Global Moderator @Rene55 last edited by

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

                                  Hier ein Screenshot

                                  Widgets markieren und beliebig verschieben

                                  1 Reply Last reply Reply Quote 0
                                  • Rene55
                                    Rene55 last edited by

                                    @Negalein Danke. Ich hab mit der VIS noch nicht viel am Hut. Dass das so einfach ist - manOman, ich muss noch viel lernen.

                                    1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Rene55 last edited by

                                      @rene55 du meinst rechts auf der seite - und nicht innerhalb der tabelle

                                      das macht man eigentlich durch die breite des widgets - hast du da was geändert - oder evtl hast du beim widget setting was eingestellt

                                      im script gibt es nur const weite - und die sollte auto sein

                                      1 Reply Last reply Reply Quote 0
                                      • Rene55
                                        Rene55 last edited by

                                        @liv-in-sky Ja genau, das meinte ich. @Negalein hat mir schon geholfen, die Tabelle und die Steuerelemente nach links zu rücken. Geändert habe ich nur die Datenpunkte, die bei mir alle in 0_userdata liegen. Das hat (erstaunlich) gut funktioniert. Auch von mir nochmal Danke für das Script.

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          Langer @Rene55 last edited by

                                          @SBorg
                                          @Thomas-Braun

                                          Ich bin es leid, das ich immer Problem mit den Rechten bekomme.
                                          Nun meine Bitte:
                                          Ich möchte alles neu aufsetzten und beschreibe den Weg den ich gehe. Sollte hier schon ein Fehler bestehen, bitte ich um Hilfe.
                                          Also, ich nehme 3 Pi 4 mit 4gb RAM, 125gb SSD-Platte sowie einen Fujitsu E920 als Anzeige. Als Bildschirm ein 24“ Touch-Screen angeschlossen am Fujitsu.
                                          Alle Pi’s sind so eingestellt das sie von SSD und nicht von einer Micro-SD Karte booten.
                                          1 Pi als Master, die beiden anderen als Slave.
                                          Auf allen Pi’s wird Raspbian aufgespielt mit dem „User“ pi und natürlich einem neuen Password.
                                          Frage 1: der User „pi“ ist doch nicht automatisch „Root“ oder?
                                          Auf allen wird auch „SSH“ freigegeben und „update“ und „upgrade“ ausgeführt.
                                          Mit Putty wird auf allen 3 Pi’s ioBroker installiert und zwar mit folgenden Befehl:

                                          curl -sL https://iobroker.net/install.sh | bash -
                                          

                                          Auf dem „Master“ wird Multihost freigegeben und auf den „Slaves“ über „connect“ verbunden!
                                          Bei der Installation von Adaptern in ioBroker habe ich bisher keine Probleme gehabt, darum weiter mit der Wetterstation.
                                          Nach der Installationsanleitung auf github habe ich alles gemacht aber keinen Erfolg.

                                          Bei „./wetterstation.sh –debug“ bekomme ich folgende Fehlermeldung:

                                          -bash: ./wetterstation.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
                                          

                                          Bei „sudo systemctl status wetterstation“:

                                          pi@pi-iobroker:/home/iobroker $ sudo systemctl status wetterstation
                                          ● wetterstation.service - Service für ioBroker Wetterstation
                                             Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                                             Active: failed (Result: exit-code) since Tue 2021-10-05 11:04:52 CEST; 7s ago
                                            Process: 14097 ExecStart=/home/iobroker/wetterstation.sh (code=exited, status=203/EXEC)
                                           Main PID: 14097 (code=exited, status=203/EXEC)
                                          
                                          Okt 05 11:04:52 pi-iobroker systemd[1]: Started Service für ioBroker Wetterstation.
                                          Okt 05 11:04:52 pi-iobroker systemd[14097]: wetterstation.service: Failed to execute command: No such file or directory
                                          Okt 05 11:04:52 pi-iobroker systemd[14097]: wetterstation.service: Failed at step EXEC spawning /home/iobroker/wetterstation.sh: No such file or directory
                                          Okt 05 11:04:52 pi-iobroker systemd[1]: wetterstation.service: Main process exited, code=exited, status=203/EXEC
                                          Okt 05 11:04:52 pi-iobroker systemd[1]: wetterstation.service: Failed with result 'exit-code'.
                                          
                                          

                                          Bei „ls -la“ kommt

                                          pi@pi-iobroker:/home/iobroker $ ls -la
                                          insgesamt 128
                                          drwxr-xr-x 4 iobroker iobroker  4096 Okt  5 09:44 .
                                          drwxr-xr-x 4 root     root      4096 Okt  4 16:56 ..
                                          -rw-r--r-- 1 iobroker iobroker   220 Apr 18  2019 .bash_logout
                                          -rw-r--r-- 1 iobroker iobroker  3523 Mai  7 16:42 .bashrc
                                          drwx------ 3 iobroker iobroker  4096 Okt  5 07:45 .config
                                          drwxr-xr-x 4 iobroker iobroker  4096 Okt  5 09:56 .npm
                                          -rw-r--r-- 1 iobroker iobroker   807 Apr 18  2019 .profile
                                          -rw-r--r-- 1 iobroker iobroker  5738 Okt  5 07:49 wetterstation.conf
                                          -rwxr-xr-x 1 iobroker iobroker 14766 Okt  5 07:42 wetterstation.sh
                                          -rw-r--r-- 1 iobroker iobroker 63070 Okt  5 07:42 wetterstation.sub
                                          -rwxr-xr-x 1 iobroker iobroker  8421 Okt  4 17:11 ws_updater.sh
                                          

                                          Was bekomme ich da nicht richtig hin?

                                          MfG
                                          Wastl

                                          Thomas Braun 1 Reply Last reply Reply Quote 0
                                          • Thomas Braun
                                            Thomas Braun Most Active @Langer last edited by Thomas Braun

                                            @langer

                                            Frage 1: der User „pi“ ist doch nicht automatisch „Root“ oder?

                                            Nein, aber der user 'pi' (mit der UserID / uid) 1000 ist als sudoer voreingestellt, der dann per vorangesetztem 'sudo' für den nachfolgenden Befehl die root-Rechte erlangen kann.

                                            Bei „./wetterstation.sh –debug“ bekomme ich folgende Fehlermeldung:
                                            -bash: ./wetterstation.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden

                                            Dazu musst du im Verzechnis stehen, in dem auch das skript wetterstation ausführbar liegt. Offenbar stehst du nicht im richtigen Verzeichnis oder der user hat keine ausreichenden Rechte an dem skript.

                                            Ich würde den user pi der Gruppe iobroker hinzufügen:

                                            sudo usermod -aG iobroker pi
                                            

                                            Danach den pi einmal ausloggen und wieder anmelden.

                                            L 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            904
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2874122
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo