NEWS
JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine
-
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Aber solange der neue den alten nicht vollständig ersetzen kann, brauche ihn ja.
Was kann der alte Request-Block denn, was der neue nicht kann?
-
@haus-automatisierung Basic Auth
Beim request Block funktionieren URLs mit user:pw@ip. Beim neuen funktioniert das nicht.
K.a. was du meinst, dass das mit JS gemacht werden muss. Demnach ist es aber komplizierter mit dem neuen Block. -
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Beim request Block funktionieren URLs mit user:pw@ip.
Ah, stimmt die request lib kann das sogar. Hab ich so noch nie verwendet. https://www.npmjs.com/package/request#http-authentication
Das Problem ist, dass das request-Paket seit Jahren deprecated ist (letztes Update vor 4 Jahren!) und eigentlich endlich mal einen sauberen cut haben möchte. Die Leute beschweren sich ja auch ständig über die deprecated-Warnings bei der Adapter-Installation.
Sonst bleib erstmal auf der stable-Version bis basicAuth im Blockly verfügbar ist.
As of Feb 11th 2020, request is fully deprecated. No new changes are expected land. In fact, none have landed for some time.
-
@haus-automatisierung Habe bei mir einfach mal *** auskommentiert.
-
@diginix Bitte schreib solche "Tipps" nicht öffentlich ins Forum. Das machen Leute nachher noch nach
-
@haus-automatisierung
Habe ich nun den Block richtig verwendet oder nicht? Wie gesagt, der output wie es am Ende laufen soll, funktioniert ja. Aber stimmt das so? Mir fehlt etwas im http get Block?! -
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Vllt wäre es gut vorerst die nervigen Logmeldung beim alten Block wegzulassen.
Fände ich kontraproduktiv.
Leute die das hier nicht lesen, und nicht regelmäßig den Baustein benötigen bemerken es so ggf nicht und verpassen die Gelegenheit was anzupassen. -
@david-g Mag ein, aber ich hatte das Problem dass ich Skripte mit Basic Auth GET mehrfach pro Minute auf den neuen Block umstellen wollte, was nicht geht. Nach Rückstellung auf den request fliegen dann >1000 Logzeilen. Hab aber ja nun eine Lösung für mich. Mit 7.9.2 und gemischtem Betrieb von request und http get Blöcken.
-
Dann würde ich Übergangsweise das Logging vom Adapter anders einstellen, falls du im Moment nicht noch mit anderen Fehlern zu kämpfen hast.
-
Versuche bei den Hoymiles Wechselrichtern das Limit per Post zu senden.
Wie würde denn ein Post gesendet ?
Beispiel Org.request({ method: 'POST', url: 'http://admin:blabla@192.168.2.173/api/limit/config', body: JSON.stringify({"serial":"114181867xxx", "limit_type":1, "limit_value":70}) }, function(error, respnse, body) { if(error) log(error, 'warn'); });
Wie wäre das richtig ?
-
@ralla66 sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
function(error, respnse, body) {
Typo?
-
@ralla66 Das ist komplett falsch die Objekt-Bausteine verwendest Du falsch und den Daten-Parameter hast Du gar nicht gefüllt
-
@homoran
o ja, glatt übersehen -
@ralla66 So
(aber Basic Authentication geht so nicht - wurde hier ja schon diskutiert)
-
Danke für das Post Beispiel.
-
@david-g Ganz schlechte Idee weil das ja auch alle Logmeldungen aller Skripte ausschaltet. Denn über warn kommt nur error und mit error logge ich nur sehr selten. Viel logischer war es die für mich nervige Logmeldung im Adapter auszukommentieren.
-
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Viel logischer war es die für mich nervige Logmeldung im Adapter auszukommentieren.
Noch logischer wäre, auf die stable Version zu gehen oder noch ein paar Stunden zu warten.
https://github.com/ioBroker/ioBroker.javascript/commit/9f115afdfb16a54f67e2a62cc296b987bc9377b2 -
@haus-automatisierung Hätte ich nicht schon Skripte auf http get Blöcke umgestellt, wäre ich auch einfach auf 7.8.0 zurück.
Für mich war die minimal aufwändigste Lösung logisch und außerdem wollte ich die neuen Blöcke ja weiterhin testen und mir ansehen. Denke mal Feedback sollte dir wichtig sein. Ohne wäre der Wegfall von basic Auth ja bisher unbemerkt geblieben.
Und wenn du nun schon eine Lösung hast, um so schöner. Danke dafür! -
@diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:
Denke mal Feedback sollte dir wichtig sein. Ohne wäre der Wegfall von basic Auth ja bisher unbemerkt geblieben.
Ja, mir war nicht klar dass request RFC 7617 unterstützt (und axios nicht). War ja auch nirgendwo dokumentiert dass das gehen müsste. Ein Browser macht aus den Daten in der URL ja auch nur einen HTTP-Header. Ich hab immer nur Beispiele mit exec und curl gesehen, sobald es um Authentication ging.
-
@haus-automatisierung Bekomme mit 7.9.3 und basic auth URLs immer noch 401 Unauthorized
URL sieht so aus: http://user:pw@IPDas Passwort enthält eine spitze Klammer
>
als Sonderzeichen, falls das relevant ist.