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. Skripten / Logik
  4. [Gelöst] Javascript Permission Error

NEWS

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

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

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

[Gelöst] Javascript Permission Error

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
11 Beiträge 4 Kommentatoren 1.9k Aufrufe
  • Ä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.
  • S Offline
    S Offline
    strackfi
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    Ich habe folgendes Script gestern noch erfolgreich getestet und nach dem heutigen Update auf admin 3.3.9

    kommt im Log nur noch eine Fehlermeldung:

    Script:

    //####################################Kalender Script#######################################
    //Zuerst objects.json kopieren, da auf diese nicht zugegreiffen werden kann
    exec("cp /opt/iobroker/iobroker-data/objects.json /opt/iobroker/iobroker-data/obj.json","");
    //Datei Pfad zur kopierten objects.json angeben 
    const datei = "/opt/iobroker/iobroker-data/obj.json";
    //fs einbinden
    var fs = require('fs');
    
    on({id: "system.adapter.fullcalendar.0.alive" }, function (obj) {
      //per fs file einlesen und Namen, der Events als Array spiechern
      fs.readFile(datei, function(err, json) {
       if(err) log('Fehler Datei lesen: ' + err, 'error');
       else {
        log("Abfrage durchgeführt");
        var list = new Array("");
        var strList = "";
        var obj = JSON.parse(json);
        for(var index in obj) { 
            // var indexObj = JSON.stringify(obj);
            if (index.indexOf('fullcalendar.0.20') !== -1) { list.push(getObject(index).common.name); }
            strList += getObject(index).common.name;
        }
        setState("admin.0.calendar.event_list",strList);
       }
      }); 
    });
    
    

    und die besagte Fehlermeldung:

    javascript.2	2018-04-19 14:55:45.132	error	Error in callback: Error: Permission denied
    javascript.2	2018-04-19 14:55:45.131	error	May not read /opt/iobroker/iobroker-data/obj.json
    
    

    Danke schomal für eure Hilfe

    Gruß Finn

    1 Antwort Letzte Antwort
    0
    • wendy2702W Online
      wendy2702W Online
      wendy2702
      schrieb am zuletzt editiert von
      #2

      Mal die Datei Berechtigungen der Datei angeschaut?

      ls -la /opt/iobroker/iobroker-data/
      

      Bitte keine Fragen per PN, die gehören ins Forum!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        strackfi
        schrieb am zuletzt editiert von
        #3

        Hat damit leider nix zu tun, da ich in egal welchem Verzeichnis immer diesen Error bekomme.

        Trotzdem hier mal das Ergebnis:

        drwxrwxr-x  3 root root    4096 Apr 19 14:43 .
        drwxrwxrwx  7 root root    4096 Apr 19 14:40 ..
        drwxrwxrwx 18 root root    4096 Apr 16 19:48 files
        -rwxrwxrwx  1 root root    2234 Apr  5 14:18 iobroker.json
        -rwxrwxrwx  1 root root 1081114 Apr 19 14:56 obj.json
        -rwxrwxrwx  1 root root 1081115 Apr 19 14:57 objects.json
        -rwxrwxrwx  1 root root 1081114 Apr 19 14:57 objects.json.bak
        -rwxrwxrwx  1 root root   15464 Apr 19 15:07 states.json
        -rwxrwxrwx  1 root root   15466 Apr 19 15:07 states.json.bak
        
        
        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          Hast Du es mal mit einer anderen Dateiendung versucht, z.B. obj.text ?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            strackfi
            schrieb am zuletzt editiert von
            #5

            @paul53 auch hier kommt die besagte Fehlermeldung. Auch bei einer komplett leeren Datei in einem anderen Verzeichnis wird die Fehlermeldung ausgegeben.

            So langsam bin ich am verzweifeln :oops:

            Gruß Finn

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              Weshalb wird auf "system.adapter.fullcalendar.0.alive" bei "any" getriggert ? Das passiert alle 15 s, also recht häufig.

              Anmerkung: Das Kopieren der Datei objects.json erfolgt nur einmal bei Skriptstart. Wenn getriggert wird, ist die Kopie nicht unbedingt aktuell. Damit das Kopieren beendet ist, bevor die Datei eingelesen wird, sollte das Lesen innerhalb einer Callback-Funktion von exec(cmd, callback) erfolgen.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                Auf meinem RPi 2 habe ich mal den Dateizugriff getestet (ohne Auswertung des Inhalts).

                const datei = "/opt/iobroker/iobroker-data/objects.test";
                
                var fs = require('fs');
                
                function getCal() {
                    exec('cp /opt/iobroker/iobroker-data/objects.json ' + datei, function(err, stdout, stderr) {
                        if(err) log(stderr, 'error');
                        else {
                            fs.readFile(datei, function(err, json) {
                                if(err) log('Fehler Datei lesen: ' + err, 'error');
                                else {
                                    log('Datei gelesen');
                                }
                            });
                        }
                    });
                }
                
                getCal(); // Scriptstart
                
                

                Die Datei wird kopiert und anschließend problemlos gelesen (Log: Datei gelesen).

                Keine Ahnung, was bei Dir schief läuft :shock:

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  schrieb am zuletzt editiert von
                  #8

                  Habe das mit Deinem Skript und identischer Admin Version auch einmal getestet.

                  Die Datei wird kopiert und gelesen.

                  Der Teil mit der Auswertung erzeugt dann allerdings einen Fehler.

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @ruhr70:

                    Der Teil mit der Auswertung erzeugt dann allerdings einen Fehler. `
                    Ich habe mal das Skript um eine Auswertung erweitert (fullcalendar habe ich auf dem PI nicht installiert, da Produktivsystem) und das Ergebnis ist wie erwartet.

                                    else {
                                        var obj = JSON.parse(json);
                                        var strlist = '';
                                        for(var index in obj) { 
                                            if (index.indexOf('javascript.0.Aussen.T') !== -1) {
                                                strlist = strlist + getObject(index).common.name + ';';
                                            }
                                        }
                                        log('Datei gelesen: ' + strlist);
                                    }
                    
                    

                    Log:

                    javascript.0 script.js.common.Test: Datei gelesen: Aussen.Temperatur;Aussen.Taupunkt;Aussen.Temperatur-Min-24h;Aussen.Temperatur-Max-24h;Aussen.Temperatur-Mittel-24h;Aussen.Temperatur-Liste-24h;
                    

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      schrieb am zuletzt editiert von
                      #10

                      @paul53:

                      Ich habe mal das Skript um eine Auswertung erweitert (fullcalendar habe ich auf dem PI nicht installiert, da Produktivsystem) und das Ergebnis ist wie erwartet. `

                      Hätte ich jetzt auch erwartet :-)

                      Der Code-Teil oben, der nicht funktioniert, ist auch ein Anderer:

                          var list = new Array("");
                          var strList = "";
                          var obj = JSON.parse(json);
                          for(var index in obj) { 
                              // var indexObj = JSON.stringify(obj);
                              if (index.indexOf('fullcalendar.0.20') !== -1) { list.push(getObject(index).common.name); }
                              strList += getObject(index).common.name;
                          }
                      

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        strackfi
                        schrieb am zuletzt editiert von
                        #11

                        Hi,

                        Ich habs jetzt auch mal geschafft zu antworten..

                        1. Das Auslesen hat nicht funktioniert, da ich in der javascript.js einige Änderungen gemacht hatte. Diese wurde jetzt natürlich überschrieben …..

                        2. Das Skript habe ich auch angepasst, ich darf ja nur ein Objekt von der ID fordern wenn die ID auch fullcalender.0.20..... entspricht. Ansonsten funktioniert die Punkt Notation ja nicht.

                        Jetzt funktioniert alles.

                        Danke für eure Hilfe

                        Gruß Finn

                        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

                        536

                        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