Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. JSON Daten auslesen

    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

    JSON Daten auslesen

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

      @Ingo1977:

      An was liegts? `
      Nicht am Skript, denn ich habe es gerade getestet und erhalte keinen Fehler "compile failed", sondern

      script.js.common.Test2: Fehler request: Error: connect ETIMEDOUT 192.168.178.10:80
      

      da kein Gerät an der IP-Adresse vorhanden ist.

      1 Reply Last reply Reply Quote 0
      • I
        Ingo1977 last edited by

        Danke, scheint zu funktionieren.

        Wie erzeuge ich nun Einträge unter den Objekten, die ich dann weiterverwenden kann?

        1 Reply Last reply Reply Quote 0
        • P
          pix last edited by

          Hallo,

          createState() und setState() sind die Befehle. Ich empfehle dir diese Dokumentation

          http://www.iobroker.net/docu/?page_id=2786&lang=de

          und speziell http://www.iobroker.net/docu/?page_id=5385&lang=de

          Einführung in die Programmierung mit JavaScript

          Ebenso den Blick in andere Skripte hier im Forum.

          Pix

          1 Reply Last reply Reply Quote 0
          • I
            Ingo1977 last edited by

            Common oder Global Script?

            Das hier geht nicht…

            var request = require('request');

            function versionen() {

            request('http://x.x.x.x/json', function(error,response, body) {

            if(error) log('Fehler request: ' + error, 'error');

            else {

            var obj = JSON.parse(body);

            log('Hardware-Version' + obj.Hardware-Version);

            log('Firmware-Version' + obj.Firmware-Version);

            }

            });

            }

            versionen(); // Skriptstart

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

              @Ingo1977:

              Common oder Global Script? `
              <u>Nicht</u> in der Gruppe global !

              Unter common ist OK.

              1 Reply Last reply Reply Quote 0
              • I
                Ingo1977 last edited by

                Bekomme folgende Fehler…

                13:11:26.315 javascript.0 Start javascript script.js.Scripts.Skript1

                13:11:26.316 javascript.0 script.js.Scripts.Skript1: registered 0 subscriptions and 0 schedules

                13:11:26.354 javascript.0 ReferenceError: Version is not defined at Request._callback (script.js.Scripts.Skript1:9:51) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22) at emitTwo (events.js:126:13) at Request.emit (events.js:214:7) at Request. (/opt/iobroker/node_modules/request/request.js:1163:10) at emitOne (events.js:116:13) at Request.emit (events.js:211:7) at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1085:12) at Object.onceWrapper (events.js:313:30) at emitNone (events.js:111:20)

                13:11:26.384 Caught by controller[0]: at Request._callback (script.js.Scripts.Skript1:9:51)

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

                  @Ingo1977:

                  ReferenceError: Version is not defined at Request._callback (script.js.Scripts.Skript1:9:51) `
                  In meinem Skript gibt es keine Zeichenpostion 51 in Zeile 9. Sorry, habe meine Glaskugel verlegt.

                  Bitte Programm-Code und Log-Ausgaben in Code tags (5. Button ) posten !

                  1 Reply Last reply Reply Quote 0
                  • I
                    Ingo1977 last edited by

                    Hier der Code…

                    var request = require('request');
                    
                    function versionen() {
                        request('http://192.168.178.21/json', function(error,response, body) {
                            if(error) log('Fehler request: ' + error, 'error');
                            else {
                                var obj = JSON.parse(body);
                                log('Hardware-Version' + obj.Hardware-Version);
                                log('Firmware-Version' + obj.Firmware-Version);
                            }    
                        });
                    }
                    
                    versionen(); // Skriptstart
                    
                    

                    Und hier das Log dazu…

                    07:34:07.094
                    [info]
                    javascript.0 Stop script script.js.Scripts.Skript1
                    07:51:45.909
                    [info]
                    javascript.0 Start javascript script.js.Scripts.Skript1
                    07:51:45.909
                    [info]
                    javascript.0 script.js.Scripts.Skript1: registered 0 subscriptions and 0 schedules
                    07:51:45.974
                    [error]
                    javascript.0 ReferenceError: Version is not defined at Request._callback (script.js.Scripts.Skript1:9:51) at Request.self.callback (/opt/iobroker/node_modules/request/request.js:186:22) at emitTwo (events.js:126:13) at Request.emit (events.js:214:7) at Request. (/opt/iobroker/node_modules/request/request.js:1163:10) at emitOne (events.js:116:13) at Request.emit (events.js:211:7) at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1085:12) at Object.onceWrapper (events.js:313:30) at emitNone (events.js:111:20) 
                    07:51:46.004
                    [error]
                    Caught by controller[0]: at Request._callback (script.js.Scripts.Skript1:9:51)
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • Stabilostick
                      Stabilostick last edited by

                      Randbemerkung für JavaScript -> Objektbezeichner, Funktionen, Variablen. Bei selbst vergebenen Namen gelten folgende Regeln:

                      sie dürfen keine Leerzeichen enthalten

                      sie dürfen nur aus Buchstaben und Ziffern bestehen - das erste Zeichen muss ein Buchstabe sein; es sind Groß- und Kleinbuchstaben erlaubt. Groß- und Kleinschreibung werden unterschieden!

                      sie dürfen keine deutschen Umlaute oder scharfes S enthalten

                      sie dürfen als einziges Sonderzeichen den Unterstrich "_" enthalten

                      sie dürfen nicht mit einem reservierten Wort identisch sein.

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

                        @Stabilostick:

                        sie dürfen als einziges Sonderzeichen den Unterstrich "_" enthalten `
                        Stimmt, - ist nicht zulässig. Bei unzulässigen Bezeichnern muss man eine andere Schreibweise verwenden.

                                    log('Hardware-Version ' + obj['Hardware-Version']);
                                    log('Firmware-Version ' + obj['Firmware-Version']);
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 last edited by paul53

                          @Stabilostick:

                          Bei selbst vergebenen Namen gelten folgende Regeln:

                          Die Regeln sind nicht ganz korrekt. Genauer:

                          Ein Bezeichner darf nur aus Buchstaben, Dezimalziffern (0-9), dem Dollarzeichen ($) sowie dem Unterstrich (_) bestehen. Jedes dieser Zeichen darf an beliebiger Stelle vorkommen, mit Ausnahme der Ziffern, welche nicht an erster Stelle stehen dürfen. Groß- und Kleinbuchstaben werden unterschieden. Bezeichner dürfen nicht mit einem reservierten Wort identisch sein.

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

                            Da war selfHTML (Quelle) wohl etwas lax. Einfach das $ zu unterschlagen 🙂

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

                              @Stabilostick:

                              Da war selfHTML (Quelle) wohl etwas lax. `
                              Ja. https://molily.de/js/variablen.html#bezeichner.

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

                                Sehe schon Code wie „ein[emoji813]FürTiere“ vor mir. Wäre lustig mit Emoticons … [emoji12]

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

                                  @Stabilostick:

                                  Sehe schon Code wie „ein[emoji813]FürTiere“ vor mir. Wäre lustig mit Emoticons … [emoji12] `

                                  Auch wenn es in JSON nicht erlaubt ist, als Variablenname geht sowas… (bitte nicht!)

                                  https://mathiasbynens.be/notes/javascript-identifiers

                                  The following are all examples of valid JavaScript variable names.
                                  
                                  // How convenient!
                                  var π = Math.PI;
                                  
                                  // Sometimes, you just have to use the Bad Parts of JavaScript:
                                  var ಠ_ಠ = eval;
                                  
                                  // Code, Y U NO WORK?!
                                  var ლ_ಠ益ಠ_ლ = 42;
                                  
                                  // How about a JavaScript library for functional programming?
                                  var λ = function() {};
                                  
                                  // Obfuscate boring variable names for great justice
                                  var \u006C\u006F\u006C\u0077\u0061\u0074 = 'heh';
                                  
                                  // …or just make up random ones
                                  var Ꙭൽↈⴱ = 'huh';
                                  
                                  // While perfectly valid, this doesn’t work in most browsers:
                                  var foo\u200Cbar = 42;
                                  
                                  // This is *not* a bitwise left shift (`<<`):
                                  var 〱〱 = 2;
                                  // This is, though:
                                  〱〱 << 〱〱; // 8
                                  
                                  // Give yourself a discount:
                                  var price_9̶9̶_89 = 'cheap';
                                  
                                  // Fun with Roman numerals
                                  var Ⅳ = 4;
                                  var Ⅴ = 5;
                                  Ⅳ + Ⅴ; // 9
                                  
                                  // Cthulhu was here
                                  var Hͫ̆̒̐ͣ̊̄ͯ͗͏̵̗̻̰̠̬͝ͅE̴̷̬͎̱̘͇͍̾ͦ͊͒͊̓̓̐_̫̠̱̩̭̤͈̑̎̋ͮͩ̒͑̾͋͘Ç̳͕̯̭̱̲̣̠̜͋̍O̴̦̗̯̹̼ͭ̐ͨ̊̈͘͠M̶̝̠̭̭̤̻͓͑̓̊ͣͤ̎͟͠E̢̞̮̹͍̞̳̣ͣͪ͐̈T̡̯̳̭̜̠͕͌̈́̽̿ͤ̿̅̑Ḧ̱̱̺̰̳̹̘̰́̏ͪ̂̽͂̀͠ = 'Zalgo';
                                  
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Stabilostick
                                    Stabilostick last edited by

                                    Wenn alle Unicode-Buchstaben erlaubt sind warum klappt es dann mit dem - beim Objekt-Property nicht? - ist kein Buchstabe? Liegt’s am JSON.parse()?

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

                                      @Stabilostick:

                                      • ist kein Buchstabe? `
                                        Richtig. - ist ein unerlaubtes Sonderzeichen.
                                      1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer last edited by

                                        @Stabilostick:

                                        Wenn alle Unicode-Buchstaben erlaubt sind warum klappt es dann mit dem - beim Objekt-Property nicht? - ist kein Buchstabe? Liegt’s am JSON.parse()? `

                                        • ist ein Minus.

                                        Wäre es erlaubt, könnte JS nicht wissen, ob du mit - einen Teil der Eigenschaft meinst oder subtrahieren willst:

                                        obj.lange-eigenschaft; // (obj.lange minus eigenschaft) oder (ist eigenschaft Teil des Namens)?
                                        
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Stabilostick
                                          Stabilostick last edited by

                                          Super Erklärung für Ingo1977. Hoffentlich liest er noch mit 😉

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          442
                                          Online

                                          31.9k
                                          Users

                                          80.1k
                                          Topics

                                          1.3m
                                          Posts

                                          6
                                          27
                                          9574
                                          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