Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Wärmepumpe anbinden - Daten aus JSON einlesen

    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

    [gelöst] Wärmepumpe anbinden - Daten aus JSON einlesen

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

      In der Log-Wiedergabe sehe ich eine öffnende eckige Klammer aber keine schließende.

      Wenn es ein Array ist, dann für den Wert "3.00"

      var t_ext = JSON.parse(result)[0].resp; // liefert Zeichenkette
      
      1 Reply Last reply Reply Quote 0
      • mattgas
        mattgas last edited by

        Danke für die schnelle Antwort, ich hab das gerade ausprobiert. Es kommt wieder die Fehlermeldungen, die mir aus diversen Versuchen schon bekannt ist:

        // Werte aus Heizung abfragen
        schedule("* * * * *", function (werte, t_ext) {
          exec("python3 /usr/share/pyHPSU/bin/pyHPSU.py -d PYCAN  -c t_ext -c flow_rate -o JSON", function (error, result) {
              console.log(result);
            var t_ext = JSON.parse(result)[0].resp;
            console.log(t_ext);
          });
        });
        

        liefert

        15:25:02.841	[info]	javascript.0 script.js.common.HPSU_java: [{'resp': '2.70', 'timestamp': 1545229502.640406, 'name': 't_ext'}, {'resp': '0.0', 'timestamp': 1545229502.657885, 'name': 'flow_rate'}]
        15:25:02.842	[error]	javascript.0 SyntaxError: Unexpected token ' in JSON at position 2 at Object.parse (native) at script.js.common.HPSU_java:9:22 at ChildProcess.exithandler (child_process.js:190:7) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internal/child_process.js:920:16) at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
        

        Deshalb habe ich eine Weile den Anstaz verfolgt, die ' gegen " zu ersetzen, bin damit aber auch gescheitert.

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          probier mal :

          `// Werte aus Heizung abfragen
          schedule("* * * * *", function (werte, t_ext) {
            exec("python3 /usr/share/pyHPSU/bin/pyHPSU.py -d PYCAN  -c t_ext -c flow_rate -o JSON", function (error, result) {
                console.log(result);
          var i;
          for (i in result){
          	console.log(result[i].name
          
            });
          });` [/i]
          
          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            @mattgas:

            Deshalb habe ich eine Weile den Anstaz verfolgt, die ' gegen " zu ersetzen, bin damit aber auch gescheitert. `
            Versuche es mal so:

            var json = result.replace(/\'/g,'\"');
            var obj = JSON.parse(json);
            log(obj[0].resp);
            
            1 Reply Last reply Reply Quote 0
            • mattgas
              mattgas last edited by

              Habs gerade ausprobiert….das liefert jede Menge undefiends (vermutlich für jede Stelle in result?)

              17:25:02.639	[info]	javascript.0 script.js.common.HPSU_java: undefined
              17:25:02.639	[info]	javascript.0 script.js.common.HPSU_java: undefined
              17:25:02.639	[info]	javascript.0 script.js.common.HPSU_java: undefined
              17:25:02.640	[info]	javascript.0 script.js.common.HPSU_java: undefined
              
              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @mattgas:

                Habs gerade ausprobiert….das liefert jede Menge undefiends (vermutlich für jede Stelle in result?) `

                das beispiel von paul oder mir ? Wen das meine dan lasse mal .name weck also nur result

                1 Reply Last reply Reply Quote 0
                • Dutchman
                  Dutchman Developer Most Active Administrators last edited by

                  hier mal beispiel aus source code eines adapters welche ich gerade bauen

                  `const test_obj = [
                  	{
                  		"Device": "discovergy.0.1024000034.Power_Total",
                  		"alias": "Device_1",
                  		"unit": "kWh",
                  		"days": 7,
                  		"weeks": 4,
                  		"quarters": 4,
                  		"months": 12,
                  		"years": 1
                  	},
                  	{
                  		"Device": "discovergy.0.1030002797.Power_Total",
                  		"alias": "Device_2",
                  		"unit": "kWh",
                  		"days": 7,
                  		"weeks": 4,
                  		"quarters": 4,
                  		"months": 12,
                  		"years": 1
                  	}
                  }];
                  
                  for (const i in state_list){
                  	console.info("Value i : " + state_list[i].device));` 
                  
                  weis jetzt nicht ob der Javascript adapter const acceptiert, sonst aendern nach var[/i]
                  
                  1 Reply Last reply Reply Quote 0
                  • mattgas
                    mattgas last edited by

                    Danke paul, dein Vorschlag hat funktioniert:

                    @paul53:

                    Versuche es mal so:

                    var json = result.replace(/\'/g,'\"');
                    var obj = JSON.parse(json);
                    log(obj[0].resp);
                    ```` `  
                    

                    Ich werde nun versuchen, die Vairablen mit Datenpunkten zu verknüpfen…sollte ja nicht so schwierig sein :? . Vielen Dank für die schnelle und kompetente Unterstützung! Wenn ich fertig bin, stelle ich das Ergebnis hier zur Verfügung....im Forum hatten vor einger Zeit schonmal Leute nach einer Anbindung der Rotex HPSU gefragt, könnte also auch für andere interessant sein.

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

                      @mattgas:

                      Vorschlag hat funktioniert: `
                      Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].

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

                        @mattgas:

                        Danke paul, dein Vorschlag hat funktioniert:

                        Ich werde nun versuchen, die Vairablen mit Datenpunkten zu verknüpfen…sollte ja nicht so schwierig sein :? . Vielen Dank für die schnelle und kompetente Unterstützung! Wenn ich fertig bin, stelle ich das Ergebnis hier zur Verfügung....im Forum hatten vor einger Zeit schonmal Leute nach einer Anbindung der Rotex HPSU gefragt, könnte also auch für andere interessant sein. `

                        Eine Anbindung der Rotex HPSU (nur zur Datendarstellung in iobroker) fehlt mir auch noch. Habe einen Raspi mit Canbus Interface und möchte darüber die Daten erfassen und für iobroker bereitstellen. Bin aber noch ganz am Anfang.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        533
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        4
                        11
                        1410
                        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