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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JS Script FTP Upload

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.1k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

JS Script FTP Upload

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
10 Beiträge 2 Kommentatoren 642 Aufrufe 3 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.
  • B Offline
    B Offline
    bitwicht
    schrieb am zuletzt editiert von bitwicht
    #1

    Hallo.

    Ich suche ein JS für einen FTP Datei Upload.

    Ich habe hier gelesen das es mittels jsftp gehen soll.

    jsftp habe ich installiert

    xx@raspberrypi:~ $ npm install jsftp
    up to date, audited 17 packages in 2s
    

    Dann habe ich jsftp in der JS Instanz eingetragen und neu gestartet:
    IO-B9.JPG

    Bei meinem Test Script bekomme ich immer einen Fehler:

    const Jsftp = require('jsftp');
    
    const ftp = new Jsftp({
      host: "ftp.example.com",
      port: 21, // defaults to 21
      user: "username", // defaults to "anonymous"
      pass: "password" // defaults to "@anonymous"
    });
    
    ftp.put('myfile.txt', '/path/to/myfile.txt', function(hadError) {
      if (!hadError)
        console.log("File transferred successfully!");
    });
    
    22:13:27.396	info	javascript.0 (60276) Start javascript script.js.FTP-Upload-Test
    22:13:27.421	error	javascript.0 (60276) script.js.FTP-Upload-Test: Error: Cannot find module 'jsftp'
    22:13:27.422	error	javascript.0 (60276) at script.js.FTP-Upload-Test:1:15
    22:13:27.423	error	javascript.0 (60276) at script.js.FTP-Upload-Test:14:3
    22:13:27.423	info	javascript.0 (60276) script.js.FTP-Upload-Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
    22:13:27.425	error	javascript.0 (60276) script.js.FTP-Upload-Test: TypeError: Jsftp is not a constructor
    22:13:27.425	error	javascript.0 (60276) at script.js.FTP-Upload-Test:3:13
    22:13:27.425	error	javascript.0 (60276) at script.js.FTP-Upload-Test:14:3
    22:13:30.342	info	javascript.0 (60276) Stop script script.js.FTP-Upload-Test
    

    Findet er das Modul nicht - aber warum oder habe ich einen Fehler im Code ?

    OliverIOO 1 Antwort Letzte Antwort
    0
    • B bitwicht

      Hallo.

      Ich suche ein JS für einen FTP Datei Upload.

      Ich habe hier gelesen das es mittels jsftp gehen soll.

      jsftp habe ich installiert

      xx@raspberrypi:~ $ npm install jsftp
      up to date, audited 17 packages in 2s
      

      Dann habe ich jsftp in der JS Instanz eingetragen und neu gestartet:
      IO-B9.JPG

      Bei meinem Test Script bekomme ich immer einen Fehler:

      const Jsftp = require('jsftp');
      
      const ftp = new Jsftp({
        host: "ftp.example.com",
        port: 21, // defaults to 21
        user: "username", // defaults to "anonymous"
        pass: "password" // defaults to "@anonymous"
      });
      
      ftp.put('myfile.txt', '/path/to/myfile.txt', function(hadError) {
        if (!hadError)
          console.log("File transferred successfully!");
      });
      
      22:13:27.396	info	javascript.0 (60276) Start javascript script.js.FTP-Upload-Test
      22:13:27.421	error	javascript.0 (60276) script.js.FTP-Upload-Test: Error: Cannot find module 'jsftp'
      22:13:27.422	error	javascript.0 (60276) at script.js.FTP-Upload-Test:1:15
      22:13:27.423	error	javascript.0 (60276) at script.js.FTP-Upload-Test:14:3
      22:13:27.423	info	javascript.0 (60276) script.js.FTP-Upload-Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      22:13:27.425	error	javascript.0 (60276) script.js.FTP-Upload-Test: TypeError: Jsftp is not a constructor
      22:13:27.425	error	javascript.0 (60276) at script.js.FTP-Upload-Test:3:13
      22:13:27.425	error	javascript.0 (60276) at script.js.FTP-Upload-Test:14:3
      22:13:30.342	info	javascript.0 (60276) Stop script script.js.FTP-Upload-Test
      

      Findet er das Modul nicht - aber warum oder habe ich einen Fehler im Code ?

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #2

      @bitwicht

      Du musst es bei zusätzliche Module eintragen und nicht bei syntaxhilfe

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      1 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        bitwicht
        schrieb am zuletzt editiert von bitwicht
        #3

        @OliverIO

        Danke !

        Jetzt kommt kein Fehler mehr aber er läd auch keine Datei auf den FTP.
        Wo sehe ich denn was das Problem ist?

        08:58:52.107	info	javascript.0 (62828) script.js.FTP-Upload-Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
        08:58:57.058	info	javascript.0 (62828) Stop script script.js.FTP-Upload-Test
        

        Mein Script:

        Die Datei heißt: daily_previous_month.txt'
        Liegt hier: /opt/iobroker/exports/

        const Jsftp = require('jsftp');
        
        const ftp = new Jsftp({
          host: "xxxx.de",
          port: 21, // defaults to 21
          user: "xxxx", // defaults to "anonymous"
          pass: "xxxxx" // defaults to "@anonymous"
        });
        
        ftp.put('/opt/iobroker/exports/daily_previous_month.txt', '/test/daily_previous_month', function(hadError) {
          if (!hadError)
            console.log("File transferred successfully!");
        });
        
        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          bitwicht
          schrieb am zuletzt editiert von bitwicht
          #4

          Die Datei auf dem FTP Server ist immer leer.

          Weiß jemand warum ?

          OliverIOO 2 Antworten Letzte Antwort
          0
          • B bitwicht

            Die Datei auf dem FTP Server ist immer leer.

            Weiß jemand warum ?

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #5

            @bitwicht

            du musst schauen was in hadError steht.
            Das dürfte ein Objekt sein in dem mehr Informationen stehen

            Ich selbst verwende die Bibliothek
            https://www.npmjs.com/package/ftp

            var Client = require('ftp');
                var c = new Client();
                c.on('ready', function() {
                  c.put(localPath+messageFile, remotePath+messageFile, function(err) {
                    if (err) throw err;
                    c.end();
                  });
                });
                c.connect({
                    host:"host",
                    user:"user",
                    password:"password"
                }
                );
            

            und das funktioniert mit hosteurope

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            1 Antwort Letzte Antwort
            0
            • B bitwicht

              Die Datei auf dem FTP Server ist immer leer.

              Weiß jemand warum ?

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #6

              @bitwicht sagte in JS Script FTP Upload:

              Die Datei auf dem FTP Server ist immer leer.
              Weiß jemand warum ?

              evtl hast du ein Rechteproblem. der user iobroker muss die Datei lesen können.
              testen kannst du das auf der konsole mit

              sudo -u iobroker bash
              

              dann darfst du genau das, was iobroker auf dienen system darf und kannst schauen ob du die datei lesen kannst

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              1 Antwort Letzte Antwort
              0
              • B Offline
                B Offline
                bitwicht
                schrieb am zuletzt editiert von
                #7

                @OliverIO

                Die Berechtigung passen.

                Wenn ich npm nehme, muss ich das auch m JS Adapter registrieren?

                Ich habe noch einen Betrag gefunden, dass ich die Datei erst einlesen muss.

                
                        fs.readFile('/opt/iobroker/exports/daily_previous_month.txt', 'utf8', function(err, buff){
                            if(err){
                                console.log(err);
                            }
                            else{
                                ftp.put(buff, 'daily_previous_month.txt', function(err){
                             if (err) {
                                 console.error(err);
                                      }
                             else {
                                 alert(file + " - uploaded successfuly");
                                  }
                             });
                            }
                        });
                

                Hier kommt dann folgender Fehler:

                10:28:17.127	error	javascript.0 (63246) script.js.FTP-Upload-Test: {}
                

                Aber ich habe doch alle Klammer auf und wieder zu ?!

                1 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  bitwicht
                  schrieb am zuletzt editiert von
                  #8

                  @OliverIO

                  Danke. mit NPM habe ich es jetzt hinbekommen.
                  Beim JSFTP finde ich den Fehler nicht.

                  OliverIOO 1 Antwort Letzte Antwort
                  0
                  • B bitwicht

                    @OliverIO

                    Danke. mit NPM habe ich es jetzt hinbekommen.
                    Beim JSFTP finde ich den Fehler nicht.

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von OliverIO
                    #9

                    @bitwicht

                    Was meinst du mit? „Wenn ich npm“ nehme?
                    Npm steht für Node Package Manager.
                    Alle Bibliotheken sind da registriert, so das sie einfach heruntergeladen und installiert werden können.
                    Auch für jsftp hast du npm verwendet.

                    Die genaue Anwendung jeder einzelnen Bibliothek steht in der jeweiligen Dokumentation.

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • B Offline
                      B Offline
                      bitwicht
                      schrieb am zuletzt editiert von
                      #10

                      @OliverIO

                      Verstehe. Ich meine dann ob ich die andere Bibliothek auch im Adapter als zusätzliche Module eintragen muss.
                      Habe ich so gemacht und es scheint alles zu passen.
                      Danke.

                      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

                      443

                      Online

                      32.5k

                      Benutzer

                      81.7k

                      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