NEWS
[gelöst] Wärmepumpe anbinden - Daten aus JSON einlesen
-
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.
-
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] -
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 -
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
-
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] -
Danke paul, dein Vorschlag hat funktioniert:
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.
-
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.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden