NEWS
API Werte in ioBroker
-
@wuschl sagte in API Werte in ioBroker:
Per ip werden mir die Daten im Browser angezeigt.
und wo liegt dein Problem?
mit der Logikmaschine deiner Wahl die IP aufrufen und die Antwort auswerten und in eigene Datenpunkte schreiben. -
@homoran Logikmaschine? Ich check es einfach nicht. Wie muss ich das mit Simple-API handhaben? Ich habe die Datenpunkte erstellt, und in Javascript ein Script eingefügt, das bringt aber leider keine Daten, nur eine Fehlermeldung.
const url = 'http://192.168.30.127/api/fetch'; // IP-Adresse eintragen ! const idTemp = '0_userdata.0.EZOGateway.Temperatur'; const idPH = '0_userdata.0.EZOGateway.pH_Wert'; const idRedox = '0_userdata.0.EZOGateway.Redox_Potential'; schedule('* * * * *', function() { // jede Minute request(url, function(error, response, result) { let obj = JSON.parse(result); setState(idTemp, obj['1'].Value, true); setState(idPH, obj['2'].Value, true); setState(idRedox, obj['3'].Value, true); }); });
javascript.0 09:26:00.004 error at Object.<anonymous> (script.js.Pool.PoolLab:8:5)
-
@wuschl sagte in API Werte in ioBroker:
Wie muss ich das mit Simple-API handhaben? Ich habe die Datenpunkte erstellt,
von simple api war bisher keine Rede!
@wuschl sagte in API Werte in ioBroker:
Logikmaschine? Ich check es einfach nicht. ...und in Javascript ein Script eingefügt,
Das wäre eine der möglichen Logikmaschinen.
@wuschl sagte in API Werte in ioBroker:
nur eine Fehlermeldung.
wenn das diese ist,
@wuschl sagte in API Werte in ioBroker:
javascript.0 09:26:00.004 error at Object.<anonymous> (script.js.Pool.PoolLab:8:5)
hast du in Zeile 8 an Position 5 einen Fehler.
näheres siehe log.BTW
@wuschl sagte in API Werte in ioBroker:request(url, function(error, response, result) {
request ist deprecated, da sollte im log auch eine Warnung stehen
-
@homoran Ich habe noch ein anderes Script,
const url = 'http://192.168.30.127/api/fetch'; // IP-Adresse eintragen ! const idTemp = '0_userdata.0.EZOGateway.Temperatur'; const idPH = '0_userdata.0.EZOGateway.pH_Wert'; const idRedox = '0_userdata.0.EZOGateway.Redox_Potential'; schedule('* * * * *', function() { // jede Minute request(url, function(error, response, result) { if(!error && result) { let obj = JSON.parse(result); setState(idTemp, obj['1'].Value, true); setState(idPH, obj['2'].Value, true); setState(idRedox, obj['3'].Value, true); } });
da kommt diese Fehlermeldung
javascript.0 10:00:02.679 error script.js.Pool.PoolLab compile failed: at script.js.Pool.PoolLab:20
Stehe momentan voll auf dem Schlauch...
-
@wuschl sagte: anderes Script
Wenn es das vollständige Skript ist, dann ist schedule() nicht abgeschlossen. Zeile 15:
});
@wuschl sagte in API Werte in ioBroker:
Per ip werden mir die Daten im Browser angezeigt.
Wir sollen nun raten, welche Daten geliefert werden?
-
@paul53 das wird geliefert
{ "1": { "Name": "", "Timestamp": "2024-06-07T08:15:24.2908368+02:00", "Value": "NaN", "Unit": "", "Symbol": "" }, "2": { "Name": "PH value", "Timestamp": "2024-06-07T08:15:24.2908368+02:00", "Value": 9.532, "Unit": "", "Symbol": "" }, "3": { "Name": "Redox potential", "Timestamp": "2024-06-07T08:15:24.2908368+02:00", "Value": -586.3, "Unit": "Millivolt", "Symbol": "mV" } }
-
@paul53 said in API Werte in ioBroker:
});
Die Fehlermeldung ist mit dem Abschluß weg
Jetzt kommt wieder diese
javascript.0 10:34:00.004 error at Object.<anonymous> (script.js.Pool.PoolLab:8:5)
-
@wuschl sagte: Jetzt kommt wieder diese
Im Tab "Protokolle" findet man weitere Information zu der Fehlermeldung.
-
avascript.0 2024-06-07 10:51:00.010 error at processTimers (node:internal/timers:512:7) javascript.0 2024-06-07 10:51:00.010 error at listOnTimeout (node:internal/timers:569:17) javascript.0 2024-06-07 10:51:00.010 error at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/Invocation.js:228:7) javascript.0 2024-06-07 10:51:00.010 error at /opt/iobroker/node_modules/node-schedule/lib/Invocation.js:268:28 javascript.0 2024-06-07 10:51:00.010 error at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/Job.js:171:15) javascript.0 2024-06-07 10:51:00.009 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1769:34) javascript.0 2024-06-07 10:51:00.009 error at Object.<anonymous> (script.js.Pool.PoolLab:8:5) javascript.0 2024-06-07 10:51:00.009 error Error in callback: ReferenceError: request is not defined
-
@wuschl sagte: request is not defined
Stelle auf httpGet() um:
const url = 'http://192.168.30.127/api/fetch'; // IP-Adresse eintragen ! const idTemp = '0_userdata.0.EZOGateway.Temperatur'; const idPH = '0_userdata.0.EZOGateway.pH_Wert'; const idRedox = '0_userdata.0.EZOGateway.Redox_Potential'; schedule('* * * * *', function() { // jede Minute httpGet(url, function(error, response) { if(!error) { const obj = JSON.parse(response.data); if(typeof obj['1'].Value == 'number') setState(idTemp, obj['1'].Value, true); if(typeof obj['2'].Value == 'number') setState(idPH, obj['2'].Value, true); if(typeof obj['3'].Value == 'number') setState(idRedox, obj['3'].Value, true); } }); });
-
@paul53 cool
Danke, das wars. Jetzt kommen die Daten.