Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JSON File Auswerten

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    JSON File Auswerten

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

      das ist schon mal ein guter Ansatz, ich muss mir jettz überlegen wie ich von meinem Fronius WR die Datei auf meinen iobroker bekomme. Der läuft auf einer Synology im docker. Wenn ich dort einen FTP service zum laufen bringe dann könnte ich das file direkt in den iobroker schreiben. Ob das "cat" command bei dieser Version läuft muss ich erst schauen, ich werde weiter berichten,

      danke schon mal inzwischen für die Hilfe.

      1 Reply Last reply Reply Quote 0
      • ruhr70
        ruhr70 last edited by

        @dietlman:

        Wenn ich dort einen FTP service zum laufen bringe dann könnte ich das file direkt in den iobroker schreiben. `

        Kannst Du nicht das Verzeichnis von Deinem FTP Server mounten?

        Dann könntest Du den Pfad angeben.

        1 Reply Last reply Reply Quote 0
        • dietlman
          dietlman last edited by

          @ruhr70:

          @dietlman:

          Wenn ich dort einen FTP service zum laufen bringe dann könnte ich das file direkt in den iobroker schreiben. `

          Kannst Du nicht das Verzeichnis von Deinem FTP Server mounten?

          Dann könntest Du den Pfad angeben. `

          ja denke schon nur weiss ich noch nicht wie ich das im iobroker terminal mache…

          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            @dietlman:

            file auf meinen FTP Server geschrieben `
            Ist die Datei dann auch per HTTP erreichbar oder ist das ein reiner FTP-Server? Falls ersteres kannst du mit dem request-Modul die Datei in regelmäßigen Abständen abrufen und dann auslesen.

            1 Reply Last reply Reply Quote 0
            • dietlman
              dietlman last edited by

              @AlCalzone:

              @dietlman:

              file auf meinen FTP Server geschrieben Ist die Datei dann auch per HTTP erreichbar oder ist das ein reiner FTP-Server? Falls ersteres kannst du mit dem request-Modul die Datei in regelmäßigen Abständen abrufen und dann auslesen.

              Leider ist die Datei nicht per HTTP erreichbar, ich werde aber noch schauen ob ich es irgendwie schaffe diese per HTTP zur Verfügung zu stellen

              1 Reply Last reply Reply Quote 0
              • dietlman
                dietlman last edited by

                @AlCalzone:

                @dietlman:

                file auf meinen FTP Server geschrieben
                Ist die Datei dann auch per HTTP erreichbar

                so jetzt ist die Datei auch per HTTP erreichbar, jetzt bräuchte ich nur noch Hilfe mit dem request-modul. Wie muss ich das konfigurieren bzw. wie kann ich meine Datei dann per HTTP abfragen?

                habe folgende URL wo ich mein file angezeigt bekomme: 192.168.1.33/files/digital_out.json

                bekomme dann dieses file angezeigt, und möchte da eigentlich nur den teil in Rot markeirt abfragen:

                {

                "pin 0" : {

                "direction" : "out",

                "function" : "SystemOperationalManagementGranted",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 1" : {

                "direction" : "out",

                "function" : "EMRS_OUTPUT_1",

                "set" : true,

                "type" : "DIGITAL"

                },

                "pin 2" : {

                "direction" : "in",

                "function" : "EVU_INPUT_1",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 3" : {

                "direction" : "in",

                "function" : "EVU_INPUT_2",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 4" : {

                "direction" : "in",

                "function" : "SystemOperationalManagementRequest",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 5" : {

                "direction" : "in",

                "function" : "SystemOperationalManagementAcknowledge",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 6" : {

                "direction" : "in",

                "function" : "EVU_INPUT_5",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 7" : {

                "direction" : "in",

                "function" : "EVU_INPUT_6",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 8" : {

                "direction" : "in",

                "function" : "EVU_INPUT_7",

                "set" : false,

                "type" : "DIGITAL"

                },

                "pin 9" : {

                "direction" : "in",

                "function" : "EVU_INPUT_8",

                "set" : false,

                "type" : "DIGITAL"

                }

                }

                1 Reply Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer last edited by

                  @dietlman:

                  jetzt bräuchte ich nur noch Hilfe mit dem request-modul. Wie muss ich das konfigurieren bzw. wie kann ich meine Datei dann per HTTP abfragen? `
                  Du brauchst den JavaScript-Adapter und trägst in dessen Konfiguration bei "zusätliche Module" request ein.

                  Hier findest du Dokumentation dazu: https://github.com/request/request

                  Der einfachste Fall, der für dich ausreichen sollte steht ganz oben. Baue ein neues Skript (nicht unter global!):

                  var request = require('request');
                  
                  // Diese Funktion immer ausführen, wenn du neue Daten abrufen willst, z.b. per schedule:
                  request('!!!hier die URL hin!!!', function (error, response, body) {
                  	if (error) {
                  		log("Fehler aufgetreten: " + error);
                  	} else {
                  		var json = JSON.parse(body);
                  		// Daten aus json auswerten (siehe anderes Skript in diesem Thread)
                  	}
                  });
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    Etwa so

                    var request = require('request');
                    var url = '...';
                    
                    createState('Wechselrichter.pin1.set', false, {
                        type: 'boolean',
                        read: true,
                        write: true
                    });    
                    
                    function wr() {
                        request(url, function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                            else {
                                var obj = JSON.parse(body);
                                setState('Wechselrichter.pin1.set', obj['pin 1'].set);  // Wert von Pin 1: set in Datenpunkt
                            }    
                        });
                    }
                    
                    schedule('*/1 * * * *', wr);  // jede Minute
                    
                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @AlCalzone:

                      und trägst in dessen Konfiguration bei "zusätliche Module" request ein. `
                      Das ist nicht erforderlich, denn 'request' ist schon im JS-Adapter installiert.

                      1 Reply Last reply Reply Quote 0
                      • dietlman
                        dietlman last edited by

                        @ALLE

                        Vielen Dank für eure Hilfe. Funktioniert perfekt jetzt, hab wieder etwas dazugelernt 🙂

                        LG

                        Duke

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        822
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        4
                        12
                        2212
                        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