NEWS
[gelöst] BHKW Status abfragen
-
Gut, das hilft mir schon weiter. Damit sollte ich dir heute abend was basteln können.
Einen Versuch könntest Du trotzdem noch machen - kann aber sein dass Javascript da einen Fehler wirft. So ganz hab ich die Gepflogenheiten von Javascript auch nicht intus, ist nicht direkt meine bevorzugte Programmiersprache…
log(JSON.stringify(body.split("\n")));
-
Keine Fehlermeldungen, folgendes erscheint im Log:
10:07:58.499 [info] javascript.0 Stop script script.js.common.BhkwDaten 10:07:58.780 [info] javascript.0 Start javascript script.js.common.BhkwDaten 10:07:58.781 [info] javascript.0 script.js.common.BhkwDaten: registered 0 subscriptions and 0 schedules 10:07:58.875 [info] javascript.0 script.js.common.BhkwDaten: ["Hka_Mw1.Aktor.fUPHeizkreis2=false","Hka_Mw1.Aktor.fUPHeizkreis1=false","Hka_Mw1.Aktor.bWwPumpe=0","Hka_Mw1.Temp.sbAussen=1.600","Hka_Mw1.sWirkleistung=0.000","",""]
Was mir auffällt: zB bei Hka_Mw1.Temp.sbAussen=1.600 , soll natürlich 16.00 sein. Da lässt sich später bestimmt noch irgendwo ein Faktor (hier x10) definieren, oder?
Echt Hammer, welche Mühe du dir machst. DANKE!!
Gruß
-
Sehr gut. Machen wir noch einen Versuch. Muss ich heute Abend nicht so viel testen
var gesplittet = body.split("\n").split("=")); log(JSON.stringify(gesplittet); log(gesplittet[1][0]);
-
Okay. Hier kam ne Fehlermeldung:
12:31:41.832 [error] javascript.0 script.js.common.BhkwDaten compile failed: SyntaxError: Unexpected token )
In der ersten Zeile ist ein ) zu viel, dafür fehlt es in der zweiten Zeile. Ich hab das mal korrigiert, dann kommt im Logfile:
12:35:32.032 [error] javascript.0 TypeError: body.split(...).split is not a function at Request._callback (script.js.common.BhkwDaten:20:35) at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:188:22) at emitTwo (events.js:87:13) at Request.emit (events.js:172:7) at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1171:10) at emitOne (events.js:77:13) at Request.emit (events.js:169:7) at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1091:12) at IncomingMessage.g (events.js:260:16) at emitNone (events.js:72:20)
Hoffe, das hilft dir weiter!
Gruß
-
Versuche es mal so:
var gesplittet = body.split("\n"); log(JSON.stringify(gesplittet)); log(gesplittet[1].split("=")[0]);
-
Da die Rückgabe in umgekehrter Reihenfolge zum Abfrage-String erfolgt, erhältst Du so die Werte:
var list = body.split("\n"); var hk2 = toBoolean(list[0].split("=")[1]); var hk1 = toBoolean(list[1].split("=")[1]); var bww = toBoolean(list[2].split("=")[1]); var at = 10 * parseFloat(list[3].split("=")[1]); var power = parseFloat(list[4].split("=")[1]);
-
Hey Thisoft und paul53,
ich DANKE euch wie verrückt. Es läuft, die Variablen werden mit (den richtigen) Werten bestückt. Damit kann ich jetzt arbeiten und das mit den mir wichtigen Sachen erweitern.
Ob sich daraus vielleicht sogar ein Adapter für die wichtigen bzw. gebräuchlichsten (verbreitetsten) Heizungen bauen lässt? Vielleicht hat ja mal jemand Lust dazu!
Wenn ich das mal soweit hab, kann ich ja das Skript mal hier noch rein posten!
Gruß
jgoller
-
Ooch - jetzt wird mir doch heut abend langweilig und ihr seid schuld :lol:
Super dass es jetzt läuft. Siehst Du war doch gar nicht schwer…
-
Es läuft, die Variablen werden mit (den richtigen) Werten bestückt.
Dann markiere bitte das Thema als gelöst (im ersten Beitrag).
-
Hallo,
könnte ich mal das ganz Script sehen ?
Gruß
Tim