NEWS
Unfolded Circle Remote 3
-
Guten Tag zusammen
Um diverse Befehle von ioBroker zur Remote (Unfolded Circle 3) zu senden, nutze ich den Baustein "EXEC".
Sofern ich es richtig versanden habe, wäre es besser, wenn diese HTTP-Befehle direkt mit dem "HTTP-Get"-Block gesendet werden und nicht mit EXEC?
Dies kann ich jedoch nicht umsetzen, sprich ich schaffe die "Authentifizierung" nicht.
Falls der "HTTP-Get" Block wirklich besser ist als der "EXEC" Block besser wäre, dann wäre ich für die Unterstützung dankbar.
Was ich versucht habe, den Befehl in ein JavaScript zu schreiben, was funktioniert. Leider lässt sich die "Ausgabe" nur in ein Objekt schreiben, und nicht ohne weiteres als Variable mit Blockly weiterverwenden.
const url = 'http://' + IP + '/api/system/power/battery'; const token = Token; // Ersetzen Sie 'xxx' durch Ihren tatsächlichen Token httpGet( url, { // Konfigurationsobjekt, um Header zu übergeben headers: { 'Authorization': 'Bearer ' + token } }, (error, response) => { if (error) { console.error('HTTP GET Fehler:', error); return; } if (response.statusCode === 200) { // Erfolgreiche Antwort setState('0_userdata.0.Unfolded_Circle.Antwort', (response.data)); //console.log(response.data); // Hier können Sie die Daten in einen ioBroker-Datenpunkt schreiben // setState('0_userdata.0.Batteriestatus', JSON.parse(response.data)); } else { // Fehlerhafte Antwort (z.B. 401 Unauthorized) console.warn('Remote ist nicht erreichbar.'); } } ); -
Guten Tag zusammen
Um diverse Befehle von ioBroker zur Remote (Unfolded Circle 3) zu senden, nutze ich den Baustein "EXEC".
Sofern ich es richtig versanden habe, wäre es besser, wenn diese HTTP-Befehle direkt mit dem "HTTP-Get"-Block gesendet werden und nicht mit EXEC?
Dies kann ich jedoch nicht umsetzen, sprich ich schaffe die "Authentifizierung" nicht.
Falls der "HTTP-Get" Block wirklich besser ist als der "EXEC" Block besser wäre, dann wäre ich für die Unterstützung dankbar.
Was ich versucht habe, den Befehl in ein JavaScript zu schreiben, was funktioniert. Leider lässt sich die "Ausgabe" nur in ein Objekt schreiben, und nicht ohne weiteres als Variable mit Blockly weiterverwenden.
const url = 'http://' + IP + '/api/system/power/battery'; const token = Token; // Ersetzen Sie 'xxx' durch Ihren tatsächlichen Token httpGet( url, { // Konfigurationsobjekt, um Header zu übergeben headers: { 'Authorization': 'Bearer ' + token } }, (error, response) => { if (error) { console.error('HTTP GET Fehler:', error); return; } if (response.statusCode === 200) { // Erfolgreiche Antwort setState('0_userdata.0.Unfolded_Circle.Antwort', (response.data)); //console.log(response.data); // Hier können Sie die Daten in einen ioBroker-Datenpunkt schreiben // setState('0_userdata.0.Batteriestatus', JSON.parse(response.data)); } else { // Fehlerhafte Antwort (z.B. 401 Unauthorized) console.warn('Remote ist nicht erreichbar.'); } } );@kusi sagte: Leider lässt sich die "Ausgabe" nur in ein Objekt schreiben, und nicht ohne weiteres als Variable mit Blockly weiterverwenden.
Du kannst auf den Datenpunkt "0_userdata.0.Unfolded_Circle.Antwort" triggern, um die Ausgabe per Blockly zu verarbeiten.
-
@kusi sagte: Leider lässt sich die "Ausgabe" nur in ein Objekt schreiben, und nicht ohne weiteres als Variable mit Blockly weiterverwenden.
Du kannst auf den Datenpunkt "0_userdata.0.Unfolded_Circle.Antwort" triggern, um die Ausgabe per Blockly zu verarbeiten.
@paul53 Danke für die rasche Antwort.
Der Trigger auf den Datenpunkt "0_userdata.0.Unfolded_Circle.Antwort" habe ich testweise eingefügt.
Jedoch stellt sich für mich weiterhin die Frage, soll ich die bereits bestehende Befehle mit dem "EXEC"-Block senden oder wäre der HTTP-Befehl in einem JavaScript besser?
Oder wäre es ggfs. sogar möglich auf den HTTP-Get Block zu gehen?
Was ist Ressourcenschonender?
Meinerswissens nutzt man EXEC doch eher für interne Operationen auf einem Gerät und nicht im Netzwerk?