Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Blockly und FTP

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly und FTP

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

      Hallo

      Ich habe mal da mal eine Frage zu Blockly.

      Zur Vorgeschichte:
      Ich wollte Datenpunkte in Datein Speichern um die Später verarbeiten zu können.
      Als Speicherort habe ich Textfile gewählt.
      Diese können leicht verarbeitet werden.

      Da meine Kenntnisse in Java gleich 0 sind, habe ich nach einer Lösung gesucht.
      Gelöst habe ich es mit einem ESP32 der Daten vom ioBroker-MQTT abholt
      und diese auf einem FTP-Server in Textfiles anfügt oder Neu Textfiles erzeugt.
      Das war nicht weiter schwierig da C für mich kein Hexenwerk ist.
      Darum diese umständliche Lösung.
      Das läuft momentan ohne Problem.

      Jetzt zur Frage, wie kann man so etwas mit Blockly lösen oder muss ich auch noch Java lernen?
      Ja ich weis eine Datenbank gibt es auch aber auch hier sind die Kenntnisse eher Rudimentär.
      Hat einer so etwas schon mal gemacht?

      Folgendes benötige ich :
      Anmelden am FTP-Server
      Verzeichnis wechseln
      Feststellen ob ein File vorhanden ist
      Neues File erzeugen
      Schreibe Textzeile
      Füge eine Textzeile an

      Grüße aus dem Sauerland
      Frank

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

        @berges01

        ich hatte mal ein paar tests gemacht, ob da was passiert - zugriff auf meine fritzbox - hier das ergebnis
        https://www.npmjs.com/package/basic-ftp

        du musst im der javascript instanz setting das "basic-ftp" und "fs" als node hinzufügen

        vielleicht kannst du da was daraus brauchen - ordner , filenamen müssen angeglichen werden

        
        
        
        //https://forum.iobroker.net/post/676313
        const fs = require("fs")
        
        const ftp = require("basic-ftp")
        
        example()
        
        async function example() {
            const client = new ftp.Client()
            client.ftp.verbose = true
            try {
                await client.access({
                    host: "192.168.178.1",
                    user: "user",
                    password: "passwort",
                    secure: false
                })
                await client.cd('test')  //hier directory eintragen
                log(await client.list())
               
        
        
                await checkFile(await client.list())
                await client.append(fs.createReadStream('/Daten/append.txt'),'filmstatus.txt')  // /Daten ist ein pfad auf dem iobroker server
                //console.log(await client.list())
                await client.download(fs.createWriteStream("/Daten/downloaded.txt"), "filmstatus.txt", 0);
            }
            catch(err) {
                console.log(err)
            }
            client.close()
        }
        
        async function checkFile(vari) {
            
                     let fileTrue=vari; log(" Länge: "+fileTrue.length)
                        for (let i=0;i<fileTrue.length;i++) {
                            log(fileTrue[i].name+" Type: "+fileTrue[i].type)
                            if (fileTrue[i].name=="filmstatus.txt") log("File filmstatus.txt ist da")
                             }
        }
        
        
        
        

        so sieht das ftp-dir aus

        Image 7.png Image 6.png

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

        Support us

        ioBroker
        Community Adapters
        Donate

        902
        Online

        32.0k
        Users

        80.5k
        Topics

        1.3m
        Posts

        2
        2
        193
        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