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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [GELÖST][Frage] JSON-Datei auslesen?

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[GELÖST][Frage] JSON-Datei auslesen?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
33 Beiträge 6 Kommentatoren 10.5k 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.
  • VardaaranV Offline
    VardaaranV Offline
    Vardaaran
    schrieb am zuletzt editiert von
    #8

    siehe Anhang oben:

    ! ![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... &mode=view">http://forum.iobroker.net/download/file.php?id=11462&mode=view</link_text>" /> ~~Ich glaube, das Problem ist der Zugriff auf die URL. Kann ich die Angaben zu Name, PW und Port noch irgendwie anders übergeben?

    Beim Licht - welches über eine GET-Anweisung über das gleiche Gerät gesteuert wird - werden die Angaben so übergeben:

    ! ````
    var options1 = { // URL, die abgefragt, bzw. gesendet werden soll
    host: '192.168.0.131',
    path: '/control?key=26',
    port: 31,
    auth: 'NAME:PASSWORT',
    method: 'GET'
    };

    Funktioniert hier aber offenbar nicht. :(~~
    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #9

      So wie Du den JSON-String über den Browser erhältst, sollte es auch mit request() funktionieren (URL identisch). Name und Passwort stimmen überein ?

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • ruhr70R Offline
        ruhr70R Offline
        ruhr70
        schrieb am zuletzt editiert von
        #10

        @Vardaaran:

        s

        Beim Licht - welches über eine GET-Anweisung über das gleiche Gerät gesteuert wird - werden die Angaben so übergeben: `

        Kannst Du nicht einfach Dein Licht-Skript kopieren und die URL anpassen?

        Adapter: Fritzbox, Unify Circuit
        Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

        1 Antwort Letzte Antwort
        0
        • VardaaranV Offline
          VardaaranV Offline
          Vardaaran
          schrieb am zuletzt editiert von
          #11

          @paul53:

          So wie Du den JSON-String über den Browser erhältst, sollte es auch mit request() funktionieren (URL identisch). Name und Passwort stimmen überein ? `
          Ja, alles 3 mal überprüft.

          @ruhr70:

          Kannst Du nicht einfach Dein Licht-Skript kopieren und die URL anpassen? `
          Das übersteigt leider etwas meine Kompetenzen. Aber ich poste das Skript mal hier, vielleicht könnt ihr etwas damit anfangen…

          ! ````
          var logOn = false; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
          var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
          var http = require('http'); // Node Module http verwenden
          ! // Datenpunkte anlegen:
          // -----------------------------------------------------------------------------
          var idDatenpunkt = "alexa.arbeitszimmer.raumlicht"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
          createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
          name: 'Arbeitszimmer Raumlicht',
          desc: 'Hauptbeleuchtung des Arbeitszimmers',
          type: 'number',
          unit: '%',
          def: 0,
          min: 0,
          max: 100,
          role: 'value'
          });
          ! // Funktionen:
          // -----------------------------------------------------------------------------
          function requestSenden(options) {
          var req = http.get(options, function(res) {
          if(logOn) log('STATUS: ' + res.statusCode); // Statuscode
          if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
          ! // Buffer the body entirely for processing as a whole.
          var bodyChunks = [];
          var chunkLine = 0;
          res.on('data', function(chunk) {
          chunkLine = chunkLine + 1;
          if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk);

              // Hier können die einzelnen Zeilen verarbeitet werden...
              bodyChunks.push(chunk);
          
          }).on('end', function() {
              if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
              if(logOn) log("ARRAY Länge: " + bodyChunks.length);
          

          ! var body = Buffer.concat(bodyChunks);
          ! if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis.
          ! });
          });
          ! req.on('error', function(e) { // Fehler abfangen
          log('ERROR: ' + e.message,"warn");
          });
          }
          ! // Level Einstellen
          // -----------------------------------------------------------------------------
          function leveldef(dp) {
          dpWert = dp.state.val;

          if (dpWert === 0) {
              rqPath = '/control?cmd=off,typ,it,did,974500,aid,2,acmd,0,seq,5&id=2';
          } else {
              lichtlvl = Math.ceil(dpWert / 100 * 16);
              rqPath = '/control?cmd=dim,typ,it,did,974500,aid,2,acmd,5,lvl,' + lichtlvl + ',seq,5&id=2';
          }
          
          var options = {             // URL, die abgefragt, bzw. gesendet werden soll
            host: '192.168.0.131',
            path: rqPath,
            port: 31,
            auth: 'BENUTZER:PASSWORT',
            method: 'GET'
          };
          requestSenden(options);
          

          }

          ! // Abfrage des Datenpunkts
          // -----------------------------------------------------------------------------
          on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
          leveldef(dp);
          });

          1 Antwort Letzte Antwort
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            schrieb am zuletzt editiert von
            #12

            Probier mal:

            ! ````
            var logOn = true; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
            var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
            var http = require('http'); // Node Module http verwenden
            ! var options = { // URL, die abgefragt, bzw. gesendet werden soll
            host: '192.168.0.131',
            path: '/weather.json',
            port: 31,
            auth: 'BENUTZER:PASSWORT',
            method: 'GET'
            };
            ! // Datenpunkte anlegen:
            // -----------------------------------------------------------------------------
            var idDatenpunkt = "Wetterstation .auslesen"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
            createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
            name: 'Taster um die Wetterstation auszulesen',
            desc: 'Taster um die Wetterstation auszulesen',
            type: 'boolean',
            unit: '',
            role: 'button'
            });
            ! // Funktionen:
            // -----------------------------------------------------------------------------
            function requestSenden(options) {
            var req = http.get(options, function(res) {
            if(logOn) log('STATUS: ' + res.statusCode); // Statuscode
            if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
            ! // Buffer the body entirely for processing as a whole.
            var bodyChunks = [];
            var chunkLine = 0;
            res.on('data', function(chunk) {
            chunkLine = chunkLine + 1;
            if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk);

                // Hier können die einzelnen Zeilen verarbeitet werden...
                bodyChunks.push(chunk);
            
            }).on('end', function() {
                if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
                if(logOn) log("ARRAY Länge: " + bodyChunks.length);
            

            ! var body = Buffer.concat(bodyChunks);
            ! if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis.
            return JSON.parse(body);
            });
            });
            ! req.on('error', function(e) { // Fehler abfangen
            log('ERROR: ' + e.message,"warn");
            return("error");
            });
            }
            ! // -----------------------------------------------------------------------------
            function getJson() {
            var result = requestSenden();
            if(result == "error") {
            return;
            }
            log("----------");
            log ("internal.temperature:"+ result.internal.temperature);
            log("----------");
            log ("owm.temperature:"+ result.owm.temperature);
            log ("owm.humidity:"+ result.owm.humidity);
            log ("owm.wind:"+ result.owm.wind);
            log ("owm.rain:"+ result.owm.rain);
            log ("owm.weather:"+ result.owm["weather id"]);
            log("----------");

            }

            ! // Abfrage über Datenpunkt triggern
            // -----------------------------------------------------------------------------
            on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
            getJson();
            });
            ! //beim Skriptstart die Werte auslesen
            setTimeout(getJson, 1000);
            ! ````

            Adapter: Fritzbox, Unify Circuit
            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

            1 Antwort Letzte Antwort
            0
            • VardaaranV Offline
              VardaaranV Offline
              Vardaaran
              schrieb am zuletzt editiert von
              #13

              klappt leider nicht: 😞

              ![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... 147524aa3f">http://forum.iobroker.net/download/file.php?mode=view&id=11470&sid=7bd6238c31795d7cb1dd39147524aa3f</link_text>" /> 2335_rq02.jpg

              1 Antwort Letzte Antwort
              0
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #14

                @Vardaaran:

                klappt leider nicht: 😞 `

                Kannst Du das Log mal hiervon posten, um es einzugrenzen:

                ! ````
                var logOn = true; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
                var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                var http = require('http'); // Node Module http verwenden
                ! var options = { // URL, die abgefragt, bzw. gesendet werden soll
                host: '192.168.0.131',
                path: '/weather.json',
                port: 31,
                auth: 'BENUTZER:PASSWORT',
                method: 'GET'
                };
                ! // Datenpunkte anlegen:
                // -----------------------------------------------------------------------------
                var idDatenpunkt = "Wetterstation .auslesen"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
                name: 'Taster um die Wetterstation auszulesen',
                desc: 'Taster um die Wetterstation auszulesen',
                type: 'boolean',
                unit: '',
                role: 'button'
                });
                ! // Funktionen:
                // -----------------------------------------------------------------------------
                function requestSenden(options) {
                var req = http.get(options, function(res) {
                if(logOn) log('STATUS: ' + res.statusCode); // Statuscode
                if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
                ! // Buffer the body entirely for processing as a whole.
                var bodyChunks = [];
                var chunkLine = 0;
                res.on('data', function(chunk) {
                chunkLine = chunkLine + 1;
                if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk);

                    // Hier können die einzelnen Zeilen verarbeitet werden...
                    bodyChunks.push(chunk);
                
                }).on('end', function() {
                    if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
                    if(logOn) log("ARRAY Länge: " + bodyChunks.length);
                

                ! var body = Buffer.concat(bodyChunks);
                ! if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis.
                return body;
                });
                });
                ! req.on('error', function(e) { // Fehler abfangen
                log('ERROR: ' + e.message,"warn");
                return("error");
                });
                }
                ! // -----------------------------------------------------------------------------
                function getJson() {
                var result = requestSenden();
                if(result == "error") {
                return;
                }
                log("result:" + result);
                log("JSON.stringify(result):" + JSON.stringify(result));
                /*
                log("----------");
                log ("internal.temperature:"+ result.internal.temperature);
                log("----------");
                log ("owm.temperature:"+ result.owm.temperature);
                log ("owm.humidity:"+ result.owm.humidity);
                log ("owm.wind:"+ result.owm.wind);
                log ("owm.rain:"+ result.owm.rain);
                log ("owm.weather:"+ result.owm["weather id"]);
                log("----------");
                */
                }

                ! // Abfrage über Datenpunkt triggern
                // -----------------------------------------------------------------------------
                on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
                getJson();
                });
                ! //beim Skriptstart die Werte auslesen
                setTimeout(getJson, 1000);
                ! ````

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Antwort Letzte Antwort
                0
                • ruhr70R Offline
                  ruhr70R Offline
                  ruhr70
                  schrieb am zuletzt editiert von
                  #15

                  Bitte die Logs eingeschaltet lassen und das Skript nicht ändern.

                  Ist sonst schwer, wenn man es nicht vor sich hat 😉

                  Adapter: Fritzbox, Unify Circuit
                  Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                  1 Antwort Letzte Antwort
                  0
                  • VardaaranV Offline
                    VardaaranV Offline
                    Vardaaran
                    schrieb am zuletzt editiert von
                    #16

                    @ruhr70:

                    Bitte die Logs eingeschaltet lassen und das Skript nicht ändern.

                    Ist sonst schwer, wenn man es nicht vor sich hat 😉 `

                    Habe nur den Namen und Pfad vom Datenpunkt geändert und die Angaben zu Benutzername und Passwort. Hoffe das war ok bzw. sogar notwendig:
                    2335_rq03.jpg

                    1 Antwort Letzte Antwort
                    0
                    • ruhr70R Offline
                      ruhr70R Offline
                      ruhr70
                      schrieb am zuletzt editiert von
                      #17

                      @Vardaaran:

                      Habe nur den Namen und Pfad vom Datenpunkt geändert und die Angaben zu Benutzername und Passwort. Hoffe das war ok bzw. sogar notwendig: `

                      notwendig 🙂

                      Kannst Du bitte das Log hier als Code reinkopieren?

                      Im Log oben rechts das mittlere Icon (kopieren). Dann das Log kopieren.

                      Adapter: Fritzbox, Unify Circuit
                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                      1 Antwort Letzte Antwort
                      0
                      • VardaaranV Offline
                        VardaaranV Offline
                        Vardaaran
                        schrieb am zuletzt editiert von
                        #18

                        @ruhr70:

                        Kannst Du bitte das Log hier als Code reinkopieren?

                        Im Log oben rechts das mittlere Icon (kopieren). Dann das Log kopieren. `

                        Drücke Strg+A und danach Strg+C, um den Inhalt in die Zwischenablage zu kopieren. Klicke irgendwo, um das Fenster zu schliessen.
                        javascript.0	2017-05-14 23:21:25.375	info	Stop script script.js.TEST.SensorenTEST
                        javascript.0	2017-05-14 23:21:21.823	info	script.js.TEST.SensorenTEST: BODY:
                        Index of /
                        [ICO]	Name	Last modified	Size	Description
                        [DIR]	HTML/	2017-04-28 16:16 	- 	 
                        Apache/2.4.10 (Raspbian) Server at localhost Port 80
                        javascript.0	2017-05-14 23:21:21.823	info	script.js.TEST.SensorenTEST: ARRAY Länge: 1
                        javascript.0	2017-05-14 23:21:21.822	info	script.js.TEST.SensorenTEST: ARRAY mit den einzelnen Zeilen:
                        Index of /
                        [ICO]	Name	Last modified	Size	Description
                        [DIR]	HTML/	2017-04-28 16:16 	- 	 
                        Apache/2.4.10 (Raspbian) Server at localhost Port 80
                        javascript.0	2017-05-14 23:21:21.822	info	script.js.TEST.SensorenTEST: Zeilennummer: 1 ,Inhalt:
                        Index of /
                        [ICO]	Name	Last modified	Size	Description
                        [DIR]	HTML/	2017-04-28 16:16 	- 	 
                        Apache/2.4.10 (Raspbian) Server at localhost Port 80
                        javascript.0	2017-05-14 23:21:21.822	info	script.js.TEST.SensorenTEST: HEADERS: {'date':'Sun, 14 May 2017 21:21:21 GMT','server':'Apache/2.4.10 (Raspbian)','vary':'Accept-Encoding','content-length':'743','connection':'close','content-type':'text/html;charset=UTF-8'}
                        javascript.0	2017-05-14 23:21:21.821	info	script.js.TEST.SensorenTEST: STATUS: 200
                        javascript.0	2017-05-14 23:21:21.786	info	script.js.TEST.SensorenTEST: JSON.stringify(result):undefined
                        javascript.0	2017-05-14 23:21:21.785	info	script.js.TEST.SensorenTEST: result:undefined
                        javascript.0	2017-05-14 23:21:20.786	info	script.js.TEST.SensorenTEST: registered 1 subscription and 0 schedules
                        javascript.0	2017-05-14 23:21:20.785	info	Start javascript script.js.TEST.SensorenTEST
                        
                        
                        1 Antwort Letzte Antwort
                        0
                        • ruhr70R Offline
                          ruhr70R Offline
                          ruhr70
                          schrieb am zuletzt editiert von
                          #19

                          @Vardaaran

                          So sollte es funktionieren, wenn die Ausgabe bei Dir richtig ist:

                          (das Skript konnte vorher nicht richtig funktionieren)

                          ! ````
                          var logOn = true; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
                          var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                          var http = require('http'); // Node Module http verwenden
                          ! var options = { // URL, die abgefragt, bzw. gesendet werden soll
                          host: '192.168.0.131',
                          path: '/weather.json',
                          port: 31,
                          auth: 'BENUTZER:PASSWORT',
                          method: 'GET',
                          headers: {
                          'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
                          'content-Type': 'text/plain',
                          'Accept' : 'application/json, text/javascript'
                          }
                          };
                          ! // Datenpunkte anlegen:
                          // -----------------------------------------------------------------------------
                          var idDatenpunkt = "Wetterstation .auslesen"; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                          createState(idDatenpunkt, 0, forecreation, { // Datenpunkt wird angelegt
                          name: 'Taster um die Wetterstation auszulesen',
                          desc: 'Taster um die Wetterstation auszulesen',
                          type: 'boolean',
                          unit: '',
                          role: 'button'
                          });
                          ! // Funktionen:
                          // -----------------------------------------------------------------------------
                          function requestSenden() {
                          var req = http.get(options, function(res) {
                          if(logOn) log('STATUS: ' + res.statusCode); // Statuscode
                          if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
                          ! // Buffer the body entirely for processing as a whole.
                          var bodyChunks = [];
                          var chunkLine = 0;
                          res.on('data', function(chunk) {
                          chunkLine = chunkLine + 1;
                          if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk);

                              // Hier können die einzelnen Zeilen verarbeitet werden...
                              bodyChunks.push(chunk);
                          
                          }).on('end', function() {
                              if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
                              if(logOn) log("ARRAY Länge: " + bodyChunks.length);
                          

                          ! var body = Buffer.concat(bodyChunks);
                          ! if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis.
                          datenVerarbeiten(body);
                          });
                          });
                          ! req.on('error', function(e) { // Fehler abfangen
                          log('ERROR: ' + e.message,"warn");
                          return("error");
                          });
                          }
                          ! // -----------------------------------------------------------------------------
                          function datenVerarbeiten(result) {
                          var json = JSON.parse(result);
                          log("----------");
                          log ("internal.temperature:"+ json.internal.temperature);
                          log("----------");
                          log ("owm.temperature:"+ json.owm.temperature);
                          log ("owm.humidity:"+ json.owm.humidity);
                          log ("owm.wind:"+ json.owm.wind);
                          log ("owm.rain:"+ json.owm.rain);
                          log ("owm.weather:"+ json.owm["weather id"]);
                          log("----------");
                          }

                          ! // Abfrage über Datenpunkt triggern
                          // -----------------------------------------------------------------------------
                          on({id: "javascript.0." + idDatenpunkt, change:'any'}, function (dp) {
                          requestSenden();
                          });
                          ! //beim Skriptstart die Werte auslesen
                          setTimeout(requestSenden, 1000);
                          ! ````

                          Allerdings stimmt mit Deinem Ergebnis was noch nicht. Du hast kein JSON zurückerhalten, sondern:

                          Index of /
                          [ICO]   Name   Last modified   Size   Description
                          [DIR]   HTML/   2017-04-28 16:16    -     
                          Apache/2.4.10 (Raspbian) Server at localhost Port 80
                          

                          Prüf mal bitte Deine IP, URL und den Port.

                          Ich habe am Header noch was geändert. Wenn in der ip/url/port noch ein Fehler drin ist…

                          Adapter: Fritzbox, Unify Circuit
                          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                          1 Antwort Letzte Antwort
                          0
                          • VardaaranV Offline
                            VardaaranV Offline
                            Vardaaran
                            schrieb am zuletzt editiert von
                            #20

                            KLAPPT!!! 🙂 Vielen, vielen, VIELEN DANK für die ausdauernde Hilfe!!

                            ! ` > Drücke Strg+A und danach Strg+C, um den Inhalt in die Zwischenablage zu kopieren. Klicke irgendwo, um das Fenster zu schliessen.

                            javascript.0 2017-05-14 23:49:29.702 info Stop script script.js.TEST.SensorenTEST

                            javascript.0 2017-05-14 23:48:48.600 info script.js.TEST.SensorenTEST: –--------

                            javascript.0 2017-05-14 23:48:48.600 info script.js.TEST.SensorenTEST: owm.weather:800

                            javascript.0 2017-05-14 23:48:48.600 info script.js.TEST.SensorenTEST: owm.rain:0.0

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: owm.wind:1.8

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: owm.humidity:82

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: owm.temperature:14.0

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: ----------

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: internal.temperature:26.6

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: ----------

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: BODY: { 'os selected': { 'inside': '0', 'outside': '0' }, 'internal': { 'temperature': '26.6' }, 'channel1': { 'temperature': '', 'humidity': '' }, 'channel2': { 'temperature': '', 'humidity': '' }, 'channel3': { 'temperature': '', 'humidity': '' }, 'channel4': { 'temperature': '', 'humidity': '' }, 'channel5': { 'temperature': '', 'humidity': '' }, 'channel6': { 'temperature': '', 'humidity': '' }, 'channel7': { 'temperature': '', 'humidity': '' }, 'channel8': { 'temperature': '', 'humidity': '' }, 'channel9': { 'temperature': '', 'humidity': '' }, 'channel10': { 'temperature': '', 'humidity': '' }, 'owm': { 'temperature': '14.0', 'humidity': '82', 'wind': '1.8', 'rain': '0.0', 'weather id': '800' } }

                            javascript.0 2017-05-14 23:48:48.599 info script.js.TEST.SensorenTEST: ARRAY Länge: 1

                            javascript.0 2017-05-14 23:48:48.598 info script.js.TEST.SensorenTEST: ARRAY mit den einzelnen Zeilen: { 'os selected': { 'inside': '0', 'outside': '0' }, 'internal': { 'temperature': '26.6' }, 'channel1': { 'temperature': '', 'humidity': '' }, 'channel2': { 'temperature': '', 'humidity': '' }, 'channel3': { 'temperature': '', 'humidity': '' }, 'channel4': { 'temperature': '', 'humidity': '' }, 'channel5': { 'temperature': '', 'humidity': '' }, 'channel6': { 'temperature': '', 'humidity': '' }, 'channel7': { 'temperature': '', 'humidity': '' }, 'channel8': { 'temperature': '', 'humidity': '' }, 'channel9': { 'temperature': '', 'humidity': '' }, 'channel10': { 'temperature': '', 'humidity': '' }, 'owm': { 'temperature': '14.0', 'humidity': '82', 'wind': '1.8', 'rain': '0.0', 'weather id': '800' } }

                            javascript.0 2017-05-14 23:48:48.598 info script.js.TEST.SensorenTEST: Zeilennummer: 1 ,Inhalt: { 'os selected': { 'inside': '0', 'outside': '0' }, 'internal': { 'temperature': '26.6' }, 'channel1': { 'temperature': '', 'humidity': '' }, 'channel2': { 'temperature': '', 'humidity': '' }, 'channel3': { 'temperature': '', 'humidity': '' }, 'channel4': { 'temperature': '', 'humidity': '' }, 'channel5': { 'temperature': '', 'humidity': '' }, 'channel6': { 'temperature': '', 'humidity': '' }, 'channel7': { 'temperature': '', 'humidity': '' }, 'channel8': { 'temperature': '', 'humidity': '' }, 'channel9': { 'temperature': '', 'humidity': '' }, 'channel10': { 'temperature': '', 'humidity': '' }, 'owm': { 'temperature': '14.0', 'humidity': '82', 'wind': '1.8', 'rain': '0.0', 'weather id': '800' } }

                            javascript.0 2017-05-14 23:48:48.598 info script.js.TEST.SensorenTEST: HEADERS: {'connection':'close','content-type':'application/json','cache-control':'no-cache'}

                            javascript.0 2017-05-14 23:48:48.595 info script.js.TEST.SensorenTEST: STATUS: 200

                            javascript.0 2017-05-14 23:48:47.527 info script.js.TEST.SensorenTEST: registered 1 subscription and 0 schedules

                            javascript.0 2017-05-14 23:48:47.526 info Start javascript script.js.TEST.SensorenTEST

                            javascript.0 2017-05-14 23:48:34.358 info Stop script script.js.TEST.SensorenTEST `

                            Angaben zu Port, Benutzer und Passwort und IP waren richtig. Ich bin da sehr peniebel und habe die Angaben wirklich mehrfach überprüft… 😉 😄

                            ! 2335_rq04.jpg

                            1 Antwort Letzte Antwort
                            0
                            • ruhr70R Offline
                              ruhr70R Offline
                              ruhr70
                              schrieb am zuletzt editiert von
                              #21

                              Schön, dass es klapp! 🙂 Ich geh jetzt erst einmal schlafen.

                              Adapter: Fritzbox, Unify Circuit
                              Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                              1 Antwort Letzte Antwort
                              0
                              • VardaaranV Offline
                                VardaaranV Offline
                                Vardaaran
                                schrieb am zuletzt editiert von
                                #22

                                @ruhr70:

                                Schön, dass es klapp! 🙂 Ich geh jetzt erst einmal schlafen. `

                                ich auch! 😄

                                Schlaf gut!

                                1 Antwort Letzte Antwort
                                0
                                • VardaaranV Offline
                                  VardaaranV Offline
                                  Vardaaran
                                  schrieb am zuletzt editiert von
                                  #23

                                  muss nochmals nerven :oops:

                                  Was muss ich deswegen tun?

                                  ! ` > javascript.0 2017-05-15 14:24:41.213 warn Wrong type of javascript.0.variablen.lmair1.sensoren.owm.weather_id: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.213 warn Wrong type of javascript.0.variablen.lmair1.sensoren.owm.rain: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.212 warn Wrong type of javascript.0.variablen.lmair1.sensoren.owm.wind: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.212 warn Wrong type of javascript.0.variablen.lmair1.sensoren.owm.humidity: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.212 warn Wrong type of javascript.0.variablen.lmair1.sensoren.owm.temperature: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.212 warn Wrong type of javascript.0.variablen.lmair1.sensoren.internal.temperature: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.212 warn Wrong type of javascript.0.variablen.lmair1.sensoren.os_selected.outside: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:41.211 warn Wrong type of javascript.0.variablen.lmair1.sensoren.os_selected.inside: 'string'. Please fix, while deprecated and will not work in next versions.

                                  javascript.0 2017-05-15 14:24:40.145 info script.js.susy.lmair1.sensorenauslesen: registered 0 subscriptions and 1 schedule

                                  javascript.0 2017-05-15 14:24:40.145 info Start javascript script.js.susy.lmair1.sensorenauslesen `

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #24

                                    Wenn die Datenpunkte vom Typ 'number' sind, dann parseFloat() anwenden. Beispiel:

                                                setState('variablen.lmair1.sensoren.owm.temperature', parseFloat(result.owm.temperature));  // Temperatur in Datenpunkt
                                    
                                    

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • VardaaranV Offline
                                      VardaaranV Offline
                                      Vardaaran
                                      schrieb am zuletzt editiert von
                                      #25

                                      @paul53:

                                      Wenn die Datenpunkte vom Typ 'number' sind, dann parseFloat() anwenden. Beispiel:

                                                  setState('variablen.lmair1.sensoren.owm.temperature', parseFloat(result.owm.temperature));  // Temperatur in Datenpunkt
                                      
                                      ```` `  
                                      

                                      1A! VIELEN DANK!! 😄

                                      1 Antwort Letzte Antwort
                                      0
                                      • H Offline
                                        H Offline
                                        hanschris
                                        schrieb am zuletzt editiert von
                                        #26

                                        Hallo,

                                        Vardaan, könntest du so nett sein und einmal dein komplettes Skript posten? Ich habe nämlich auch einen Lightmanager und würde die Daten in ioBroker einlesen lassen.

                                        Vielen Dank! 😄

                                        1 Antwort Letzte Antwort
                                        0
                                        • VardaaranV Offline
                                          VardaaranV Offline
                                          Vardaaran
                                          schrieb am zuletzt editiert von
                                          #27

                                          @hanschris:

                                          Hallo,

                                          Vardaan, könntest du so nett sein und einmal dein komplettes Skript posten? Ich habe nämlich auch einen Lightmanager und würde die Daten in ioBroker einlesen lassen.

                                          Vielen Dank! 😄 `
                                          Natürlich sehr gerne:

                                          ! ````
                                          var logOn = false; // Skript Logausgabe ein- (true) / ausschalten (false). Fehler werden immer ausgegeben.
                                          var forecreation = false; // Default: false. true: Datenpunkte werden überschrieben (wenn z.B. Bezeichnungen geändert wurden)
                                          var http = require('http'); // Node Module http verwenden
                                          var RQoptions = { // URL, die abgefragt, bzw. gesendet werden soll
                                          host: '192.168.0.131',
                                          path: '/weather.json',
                                          port: 80,
                                          auth: 'XYZLAN:12345', // UNBEDINGT ANPASSEN!
                                          method: 'GET',
                                          headers: {
                                          'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36',
                                          'content-Type': 'text/plain',
                                          'Accept' : 'application/json, text/javascript'
                                          }
                                          };
                                          ! // Datenpunkte anlegen:
                                          // -----------------------------------------------------------------------------
                                          // Datenpunkt-Variablen:
                                          // -------------------------------------------------------------------------
                                          var idVariablenDP;
                                          var dpGruppe;
                                          var dpPunkt;
                                          // -------------------------------------------------------------------------
                                          // --- GRUPPE "os selected"
                                          var dpGruppe = "os_selected";
                                          var dpPunkt = "inside";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "outside";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "internal"
                                          var dpGruppe = "internal";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel1"
                                          var dpGruppe = "channel1";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel2"
                                          var dpGruppe = "channel2";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel3"
                                          var dpGruppe = "channel3";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel4"
                                          var dpGruppe = "channel4";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel5"
                                          var dpGruppe = "channel5";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel6"
                                          var dpGruppe = "channel6";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel7"
                                          var dpGruppe = "channel7";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel8"
                                          var dpGruppe = "channel8";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel9"
                                          var dpGruppe = "channel9";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "channel10"
                                          var dpGruppe = "channel10";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          // --- GRUPPE "owm"
                                          var dpGruppe = "owm";
                                          var dpPunkt = "temperature";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "humidity";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "wind";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "rain";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          var dpPunkt = "weather_id";
                                          var idVariablenDP = "variablen.lmair1.sensoren." + dpGruppe + "." + dpPunkt; // Pfad und Name, unter dem in der Javascript-Instanz der Datenpunkte angelegt wird
                                          createState(idVariablenDP, 0, forecreation, { // Datenpunkt wird angelegt
                                          name: dpPunkt, // <-- !!!!!
                                          desc: dpPunkt + ' von ' + dpGruppe, // <-- !!!!!
                                          type: 'number',
                                          def: 0.0,
                                          role: 'value'
                                          });
                                          ! // Funktionen:
                                          // -----------------------------------------------------------------------------
                                          function DatenAuslesen() {
                                          var req = http.get(RQoptions, function(res) {
                                          if(logOn) log('STATUS: ' + res.statusCode); // Statuscode
                                          if(logOn) log('HEADERS: ' + JSON.stringify(res.headers)); // Header (Rückmeldung vom Webserver)
                                          // Buffer the body entirely for processing as a whole.
                                          var bodyChunks = [];
                                          var chunkLine = 0;
                                          res.on('data', function(chunk) {
                                          chunkLine = chunkLine + 1;
                                          if(logOn) log("Zeilennummer: " + chunkLine+ " ,Inhalt: " + chunk);
                                          // Hier können die einzelnen Zeilen verarbeitet werden...
                                          bodyChunks.push(chunk);
                                          }).on('end', function() {
                                          if(logOn) log("ARRAY mit den einzelnen Zeilen: " + bodyChunks);
                                          if(logOn) log("ARRAY Länge: " + bodyChunks.length);
                                          ! var body = Buffer.concat(bodyChunks);// erhaltene Daten
                                          ! if(logOn) log('BODY: ' + body); // ...und/oder das Gesamtergebnis.
                                          DatenVerarbeiten(body); // Abrufen der Bearbeitungs-Funktion
                                          });
                                          });
                                          req.on('error', function(e) { // Fehler abfangen
                                          log('ERROR: ' + e.message,"warn");
                                          return("error");
                                          });
                                          }
                                          // -----------------------------------------------------------------------------
                                          function DatenVerarbeiten(result) {
                                          var json = JSON.parse(result);

                                          if (json !== null) {
                                          	// GRUPPE "os selected"
                                          	setState("javascript.0.variablen.lmair1.sensoren.os_selected.inside", parseFloat(json["os selected"].inside));
                                          	setState("javascript.0.variablen.lmair1.sensoren.os_selected.outside", parseFloat(json["os selected"].outside));
                                          	// GRUPPE "internal"
                                          	setState("javascript.0.variablen.lmair1.sensoren.internal.temperature", parseFloat(json.internal.temperature));
                                          	// GRUPPE "channel1"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel1.temperature", parseFloat(json.channel1.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel1.humidity", parseFloat(json.channel1.humidity));
                                          	// GRUPPE "channel2"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel2.temperature", parseFloat(json.channel2.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel2.humidity", parseFloat(json.channel2.humidity));
                                          	// GRUPPE "channel3"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel3.temperature", parseFloat(json.channel3.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel3.humidity", parseFloat(json.channel3.humidity));
                                          	// GRUPPE "channel4"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel4.temperature", parseFloat(json.channel4.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel4.humidity", parseFloat(json.channel4.humidity));
                                          	// GRUPPE "channel5"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel5.temperature", parseFloat(json.channel5.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel5.humidity", parseFloat(json.channel5.humidity));
                                          	// GRUPPE "channel6"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel6.temperature", parseFloat(json.channel6.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel6.humidity", parseFloat(json.channel6.humidity));
                                          	// GRUPPE "channel7"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel7.temperature", parseFloat(json.channel7.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel7.humidity", parseFloat(json.channel7.humidity));
                                          	// GRUPPE "channel8"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel8.temperature", parseFloat(json.channel8.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel8.humidity", parseFloat(json.channel8.humidity));
                                          	// GRUPPE "channel9"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel9.temperature", parseFloat(json.channel9.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel9.humidity", parseFloat(json.channel9.humidity));
                                          	// GRUPPE "channel10"
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel10.temperature", parseFloat(json.channel10.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.channel10.humidity", parseFloat(json.channel10.humidity));
                                          	// GRUPPE "owm"
                                          	setState("javascript.0.variablen.lmair1.sensoren.owm.temperature", parseFloat(json.owm.temperature));
                                          	setState("javascript.0.variablen.lmair1.sensoren.owm.humidity", parseFloat(json.owm.humidity));
                                          	setState("javascript.0.variablen.lmair1.sensoren.owm.wind", parseFloat(json.owm.wind));
                                          	setState("javascript.0.variablen.lmair1.sensoren.owm.rain", parseFloat(json.owm.rain));
                                          	setState("javascript.0.variablen.lmair1.sensoren.owm.weather_id", parseFloat(json.owm["weather id"]));
                                          } else {
                                          	log ("Fehler beim Einlesen der Daten.");
                                          }
                                          

                                          }

                                          ! // Beim Skriptstart die Werte auslesen:
                                          // --------------------------------------------------------------------------
                                          setTimeout(DatenAuslesen, 1000);
                                          ! // Werte automatisch aktualisieren:
                                          // --------------------------------------------------------------------------
                                          schedule('*/2 * * * *', DatenAuslesen); // alle 2 Minuten
                                          ! ````
                                          Habe hier alle Daten der Datei ausgelesen.

                                          Du musst die Zugangsdaten des LMAir, die Pfade der Datenpunkte und den Intervall (ganz unten) natürlich nach Deinen Wünschen/Vorgaben anpassen.

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          716

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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