Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. fs.appendFileSync funktioniert nicht mehr

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    fs.appendFileSync funktioniert nicht mehr

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      wolfren last edited by Homoran

      Hallo,

      habe mir bisher meine javascript-Lösungen zusammengesucht und es lief ganz gut.

      Ich erstelle z.B. jeden Tag eine .csv-Datei mit Fotovoltaik-Daten und konnte den Schreibbefehl bisher recht einfach halten, indem ich einen Datensatz immer angehängt habe, auch morgens, wenn die Datei noch gar nicht existiert.

      fs.appendFileSync (...) erstellte mir die Datei oder hing den aktuellen Datensatz an.

      Nachdem ich am 01.06.24 Module im ioBroker aktualisiert habe, funktionert das wohl nicht mehr.

      Die Dateien sollen in /opt/iobroker/iobroker-data/files/javascript.admin/ erstellt werden.

      Error: script....: Error: Permission denied
      Error: at Request._callback (script ...:306:8) // *Das bezieht sich wohl auf fs.appendFileSync* //
      
      Warning: request package is deprecated - please use httpGet (or a stable lib like axios instead).
      

      Gibt es einen einfachen Weg, um mein Script wieder in Betrieb nehmen zu können?

      Liebe Grüße

      Wolfgang

      Homoran Jey Cee haus-automatisierung W 4 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @wolfren last edited by

        @wolfren sagte in fs.appendFileSync funktioniert nicht mehr:

        Gibt es einen einfachen Weg, um mein Script wieder in Betrieb nehmen zu können?

        ja!

        @wolfren sagte in fs.appendFileSync funktioniert nicht mehr:

        please use httpGet

        weil

        @wolfren sagte in fs.appendFileSync funktioniert nicht mehr:

        request package is deprecated

        Dazu gibt es gefühlt 100 Threads im Forum.

        Da du dein Skript nicht zeigst, kann ich mehr nicht sagen

        1 Reply Last reply Reply Quote 0
        • Jey Cee
          Jey Cee Developer @wolfren last edited by

          @wolfren sagte in fs.appendFileSync funktioniert nicht mehr:

          Die Dateien sollen in /opt/iobroker/iobroker-data/files/javascript.admin/ erstellt werden.

          Aus dem Changelog vom Javascript Adapter v8.0.0:

          (klein0r) Breaking change: Protected filesystem (iobroker-data/files) to prevent direct file writes

          Kurz um dieser Pfad wurde für alle Schreibvorgänge durch fs gesperrt.
          Der Hintergrund ist das ioBroker zum Teil spezielle Dinge mit den Dateien macht, die durch externe Änderungen nicht passieren. Daher gibt es extra Funktionen im Javascript Adapter wie writeFile die sich darum Kümmern.
          Allerdings scheint es kein appendFile zu geben.
          Deswegen würde ich empfehlen einen anderen Pfad wie "/home/iobroker" zu verwenden.

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @wolfren last edited by

            @wolfren sagte in fs.appendFileSync funktioniert nicht mehr:

            Die Dateien sollen in /opt/iobroker/iobroker-data/files/javascript.admin/

            Warum? Was haben die da zu suchen? Nichts, daher ist das nicht mehr erlaubt. Einfach ein Verzeichnis höher gehen. Also z.b. /opt/iobroker/iobroker-data/. Alles in files ist nicht erlaubt (und war auch nie gut oder richtig).

            1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Jey Cee last edited by

              @jey-cee sagte in fs.appendFileSync funktioniert nicht mehr:

              Allerdings scheint es kein appendFile zu geben.

              Ja, füge ich noch hinzu (steht auf Todo). Bis dahin muss man selbst laden, anhängen, schreiben.

              1 Reply Last reply Reply Quote 0
              • W
                wolfren @wolfren last edited by

                @wolfren

                Vielen Dank an alle, die mir geantwortet haben. Soweit habe ich dieses Problem nun verstanden.

                Der ioBroker ist schon ein komplexes System und mit dem Zusammensuchen von Infos mit Google schleichen sich Probleme ein, die erst später auffallen.

                Für meine Dateien habe ich in /opt/iobroker/iobroker-data ein neues Unterverzeichnis erstellt und dort werden meine Dateien nun wieder mit fs.appendFileSync erzeugt.

                haus-automatisierung 1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @wolfren last edited by

                  @wolfren sagte in fs.appendFileSync funktioniert nicht mehr:

                  mit dem Zusammensuchen von Infos mit Google schleichen sich Probleme ein

                  Ja, es gibt leider extrem viele Beiträge mit Fehlern und Dingen, welche man nicht so tun sollte. 😞

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  743
                  Online

                  31.8k
                  Users

                  80.0k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  297
                  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