Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Datei auslesen und mit Payload vergleich

    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

    Datei auslesen und mit Payload vergleich

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

      Hallo,

      ich möchte eine Datei auslesen und diese in einem Array speichern und danach dieses Array mit einem String eines Payloads vergleichen.

      Beispiel:

      Datei:

      Kunde;Grund

      123456;Urlaub

      654321;gestoppt

      diese Datei soll eingelesen werden(beim starten oder regelmäßig müsste man noch definieren)

      dann möchte ich den ersten teil bis zum Semikolon suchen gegen den Inhalt des MSG.Payload

      und wenn es gefunden wurde soll er alles nach dem Semikolon ausgeben.

      ich hoffe es ist verständlich was ich meine.

      vielen Dank

      gruß

      Stefan

      1 Reply Last reply Reply Quote 0
      • T
        tantalus last edited by

        Hallo,

        ich habe eine Lösung gefunden:

        der Eingangsscan wird zuerst in eine Globale Variable geschrieben

        var scanneingang=msg.payload;
        global.set('scannkdnr', scanneingang);
        return msg;
        
        

        und dann im nächsten Schritt mit dem Inhalt der Datei über eine Funktion verglichen.

        var outputMsgs = [];
        var words = msg.payload.split(";");		//Inhalt von Datei wird Zeilenweise per Payload übergeben und in 2 Arrays geteilt
        var scannkdnr = global.get('scannkdnr');  	//Variable mit zu Vergleichendem Inhalt
        var stopp ="";
        if ( scannkdnr == words[0])			//Erste Teil vom Array mit Scan vergleichen
        { 
            stopp=words[1];
                outputMsgs.push({payload:stopp});	//Ausgabe zweiter Teil vom Array wenn erster gefunden wurde
        }
        global.set('stoppdata', stopp);			//Übergabe des Stopps an nachfolgende Funktionen
        return [ outputMsgs];
        
        

        bis jetzt wird die Datei jedesmal neu eingelesen.

        falls wer noch eine Idee hat um den Inhalt der Datei anders einzulesen damit es schneller geht immer her mit Infos 😉

        gruß

        Stefan

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

        Support us

        ioBroker
        Community Adapters
        Donate

        957
        Online

        31.7k
        Users

        79.9k
        Topics

        1.3m
        Posts

        1
        2
        1708
        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