NEWS
Erbitte Hilfe: Request - 9 Zeilen Code
-
Hallo zusammen,
ich Bitte um Eure Hilfe:
Nachdem es nun endlich aufgehört hat zu Regnen, habe ich den Pool betriebsbereit gemacht und die im Herbst gestoppten Scripte wieder gestartet. Wie ich nun gelesen habe, ist der request-Befehl bei einem Javascript-Update weggefallen. ==> Ergo das Poolthermometer funktioniert nicht mehr:
const url = 'http://192.168.16.83/api'; const idTemp1 = '0_userdata.0.Pool.Wassertemperatur'; schedule('* * * * *', function() { //every minute request(url, function(error, response, result) { let obj = JSON.parse(result); setState(idTemp1, parseFloat(obj.sensors['0'].value), true); }); });Der darauf hin mir vom Entwickler vorgeschlagene (und von mir leicht angepasste) Code liefert zwar in den Datenpunkt, jedoch keinen Temperaturwert, sondern "(null)":
const axios = require('axios'); const url = 'http://192.168.16.83/api'; const idTemp1 = '0_userdata.0.Pool.Wassertemperatur'; // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi'; schedule('* * * * *', async function() { //every minute try { let response = await axios.get(url); let obj = response.data; setState(idTemp1, parseFloat(obj.sensors['0'].Value), true); // setState(idTemp2, parseFloat(obj.sensors['1'].Value), true); } catch (error) { log(exMsg, 'error'); } });Ich danke für´s Lesen und Eure Hilfe!
LG S.
-
Hallo zusammen,
ich Bitte um Eure Hilfe:
Nachdem es nun endlich aufgehört hat zu Regnen, habe ich den Pool betriebsbereit gemacht und die im Herbst gestoppten Scripte wieder gestartet. Wie ich nun gelesen habe, ist der request-Befehl bei einem Javascript-Update weggefallen. ==> Ergo das Poolthermometer funktioniert nicht mehr:
const url = 'http://192.168.16.83/api'; const idTemp1 = '0_userdata.0.Pool.Wassertemperatur'; schedule('* * * * *', function() { //every minute request(url, function(error, response, result) { let obj = JSON.parse(result); setState(idTemp1, parseFloat(obj.sensors['0'].value), true); }); });Der darauf hin mir vom Entwickler vorgeschlagene (und von mir leicht angepasste) Code liefert zwar in den Datenpunkt, jedoch keinen Temperaturwert, sondern "(null)":
const axios = require('axios'); const url = 'http://192.168.16.83/api'; const idTemp1 = '0_userdata.0.Pool.Wassertemperatur'; // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi'; schedule('* * * * *', async function() { //every minute try { let response = await axios.get(url); let obj = response.data; setState(idTemp1, parseFloat(obj.sensors['0'].Value), true); // setState(idTemp2, parseFloat(obj.sensors['1'].Value), true); } catch (error) { log(exMsg, 'error'); } });Ich danke für´s Lesen und Eure Hilfe!
LG S.
@rotamint said in Erbitte Hilfe: Request - 9 Zeilen Code:
let obj = response.data;füge mal zwischen zweile 12 und 13 folgende zeilen ein
console.log(JSON.parse(response.data)); obj=JSON.parse(response.data);wenn du das dann im javascript adapter laufen lässt, schalte in der skript-ansicht oben rechts im käfersymbol noch debug und verbose an.
dann sieht man in der console etwas mehr. -
@rotamint said in Erbitte Hilfe: Request - 9 Zeilen Code:
let obj = response.data;füge mal zwischen zweile 12 und 13 folgende zeilen ein
console.log(JSON.parse(response.data)); obj=JSON.parse(response.data);wenn du das dann im javascript adapter laufen lässt, schalte in der skript-ansicht oben rechts im käfersymbol noch debug und verbose an.
dann sieht man in der console etwas mehr.@oliverio Danke für Deine Hilfe!
Die Fehlermeldung bleibt der gleiche und es gibt keinen zusätzlichen Logeintrag...
javascript.0 2024-07-18 07:09:22.116 info Stopping script script.js.common.Pool.Skript_1 javascript.0 2024-07-18 07:09:00.148 error at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2024-07-18 07:09:00.148 error at Object.<anonymous> (script.js.common.Pool.Skript_1:23:13) javascript.0 2024-07-18 07:09:00.147 error script.js.common.Pool.Skript_1: ReferenceError: exMsg is not defined javascript.0 2024-07-18 07:08:03.290 info script.js.common.Pool.Skript_1: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 2024-07-18 07:08:03.290 info script.js.common.Pool.Skript_1: schedule(cron=* * * * *) javascript.0 2024-07-18 07:08:03.251 info Start JavaScript script.js.common.Pool.Skript_1 (Javascript/js) -
@oliverio Danke für Deine Hilfe!
Die Fehlermeldung bleibt der gleiche und es gibt keinen zusätzlichen Logeintrag...
javascript.0 2024-07-18 07:09:22.116 info Stopping script script.js.common.Pool.Skript_1 javascript.0 2024-07-18 07:09:00.148 error at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2024-07-18 07:09:00.148 error at Object.<anonymous> (script.js.common.Pool.Skript_1:23:13) javascript.0 2024-07-18 07:09:00.147 error script.js.common.Pool.Skript_1: ReferenceError: exMsg is not defined javascript.0 2024-07-18 07:08:03.290 info script.js.common.Pool.Skript_1: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions javascript.0 2024-07-18 07:08:03.290 info script.js.common.Pool.Skript_1: schedule(cron=* * * * *) javascript.0 2024-07-18 07:08:03.251 info Start JavaScript script.js.common.Pool.Skript_1 (Javascript/js)@rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
script.js.common.Pool.Skript_1:23:13)
das kann nicht oder du postetst nicht alles
code Ziele 23 ist nicht da in deinem Post
const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); });was ist damit... ohne cron ohne nix.. einfach nur so ...
-
@rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
script.js.common.Pool.Skript_1:23:13)
das kann nicht oder du postetst nicht alles
code Ziele 23 ist nicht da in deinem Post
const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); });was ist damit... ohne cron ohne nix.. einfach nur so ...
@arteck sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
@rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
script.js.common.Pool.Skript_1:23:13)
das kann nicht oder du postetst nicht alles
code Ziele 23 ist nicht da in deinem Post
Entschuldige, klar. Hier nochmals:
const axios = require('axios'); const url = 'http://192.168.16.83/api'; const idTemp1 = '0_userdata.0.Pool.Wassertemperatur'; // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi'; schedule('* * * * *', async function() { //every minute try { let response = await axios.get(url); let obj = response.data; console.log(JSON.parse(response.data)); obj=JSON.parse(response.data); setState(idTemp1, parseFloat(obj.sensors['0'].Value), true); // setState(idTemp2, parseFloat(obj.sensors['1'].Value), true); } catch (error) { log(exMsg, 'error'); } });const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); });was ist damit... ohne cron ohne nix.. einfach nur so ...
Ausgabe zu Deinem Vorschlag:
javascript.0 2024-07-18 07:34:44.254 error at processImmediate (node:internal/timers:478:21) javascript.0 2024-07-18 07:34:44.254 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1688:17) javascript.0 2024-07-18 07:34:44.253 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2230:17 javascript.0 2024-07-18 07:34:44.253 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2132:37) javascript.0 2024-07-18 07:34:44.253 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1866:21) javascript.0 2024-07-18 07:34:44.253 error at new Script (node:vm:99:7) javascript.0 2024-07-18 07:34:44.253 error SyntaxError: Unexpected token ')' javascript.0 2024-07-18 07:34:44.253 error ^ javascript.0 2024-07-18 07:34:44.253 error }); javascript.0 2024-07-18 07:34:44.252 error script.js.common.Pool.Skript_1_Test compile failed: at script.js.common.Pool.Skript_1_Test:18 javascript.0 2024-07-18 07:34:44.250 info Start JavaScript script.js.common.Pool.Skript_1_Test (Javascript/js) -
@arteck sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
@rotamint sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
script.js.common.Pool.Skript_1:23:13)
das kann nicht oder du postetst nicht alles
code Ziele 23 ist nicht da in deinem Post
Entschuldige, klar. Hier nochmals:
const axios = require('axios'); const url = 'http://192.168.16.83/api'; const idTemp1 = '0_userdata.0.Pool.Wassertemperatur'; // const idTemp2 = '0_userdata.0.Temp2IoT.Temperatur_Ambi'; schedule('* * * * *', async function() { //every minute try { let response = await axios.get(url); let obj = response.data; console.log(JSON.parse(response.data)); obj=JSON.parse(response.data); setState(idTemp1, parseFloat(obj.sensors['0'].Value), true); // setState(idTemp2, parseFloat(obj.sensors['1'].Value), true); } catch (error) { log(exMsg, 'error'); } });const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); });was ist damit... ohne cron ohne nix.. einfach nur so ...
Ausgabe zu Deinem Vorschlag:
javascript.0 2024-07-18 07:34:44.254 error at processImmediate (node:internal/timers:478:21) javascript.0 2024-07-18 07:34:44.254 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1688:17) javascript.0 2024-07-18 07:34:44.253 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2230:17 javascript.0 2024-07-18 07:34:44.253 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2132:37) javascript.0 2024-07-18 07:34:44.253 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1866:21) javascript.0 2024-07-18 07:34:44.253 error at new Script (node:vm:99:7) javascript.0 2024-07-18 07:34:44.253 error SyntaxError: Unexpected token ')' javascript.0 2024-07-18 07:34:44.253 error ^ javascript.0 2024-07-18 07:34:44.253 error }); javascript.0 2024-07-18 07:34:44.252 error script.js.common.Pool.Skript_1_Test compile failed: at script.js.common.Pool.Skript_1_Test:18 javascript.0 2024-07-18 07:34:44.250 info Start JavaScript script.js.common.Pool.Skript_1_Test (Javascript/js)@rotamint hab ne klammer vergessen
const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); } });sollte tun
ansonsten
http://192.168.16.83/apiim browser aufrufen und screenshot posten von der ausgabe
-
@rotamint hab ne klammer vergessen
const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); } });sollte tun
ansonsten
http://192.168.16.83/apiim browser aufrufen und screenshot posten von der ausgabe
@arteck sagte in Erbitte Hilfe: Request - 9 Zeilen Code:
@rotamint hab ne klammer vergessen
const url = 'http://192.168.16.83/api'; httpGet(url, { timeout: 5000, responseType: 'text' }, async (err, response) => { if (err) { console.error(err); } else { const jsonData = JSON.parse(response.data); console.log(JSON.stringify(jsonData)); } });sollte tun
DANKE:
javascript.0 2024-07-18 08:37:19.097 info script.js.common.Pool.Skript_1_Test: {"systemname":"Poolthermometer","secure_counter":24127,"firmware":"2.3.05-b","sensors":[{"name":"Wassertemperatur","value":21.75,"mean-1":{"value":21.78437,"count":60,"period":3600},"mean-24":{"value":22.79323,"count":1440,"period":86400},"unit":"Celsius","time":"Thu Jul 18 08:37:18 2024"}]} javascript.0 2024-07-18 08:37:18.779 info script.js.common.Pool.Skript_1_Test: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions javascript.0 2024-07-18 08:37:18.746 info Start JavaScript script.js.common.Pool.Skript_1_Test (Javascript/js)ansonsten
http://192.168.16.83/apiim browser aufrufen und screenshot posten von der ausgabe
Vorschlag von oben liefert Daten, trotzdem zusätzlich anbei:
{ "systemname": "Poolthermometer", "secure_counter": 24112, "firmware": "2.3.05-b", "sensors": [ { "name": "Wassertemperatur", "value": 21.75, "mean-1": { "value": 21.78542, "count": 60, "period": 3600 }, "mean-24": { "value": 22.79371, "count": 1440, "period": 86400 }, "unit": "Celsius", "time": "Thu Jul 18 08:36:03 2024" } ] }
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