NEWS
request package is deprecated - please use httpGet
-
Moin zusammen,
erstmal vielen Dank, dass es nun endlich einen richtigen Block für den post gibt. In den verganenen Lösungen bedurfte es viel Unterstützung, um doch eine Lösung über Axios zu realisieren. Das neue Block ist eine riesen Hilfe und Erleichtung.Ich stelle fleißig auf httpget/post um und komme grundsätzlich klar, habe aber eine Konstellation, die sich nicht auflösen lässt... Vielleicht findet Ihr die Zeit mal draufzuschauen und mir einen Tipp zu geben:
- Im Einsatz ist ein Relaisboard über welches meine Fussbodenheizungsventile angesteuert werden.
- Der STATE des Boards wird über MQTT ausgelesen, was so aussieht und originär vom Typ "number" ist
- Geschaltet wird das Relais über einen http-request wie folgt:
- Das funktioniert technisch auch, führt aber zu dem Hinweis
- Ändere ich nun den Typ von STATE auf "string", erhalte ich folgende Meldung
Damit drehe ich mich nun im Kreis und denke, dass der korrekte Typ unter MQTT "number" sein muss. Dann weiß ich aber nicht, wie ich den Wert als "number" in einem "string" verpacke... Denn der "?cmd=gpio,15,1" wird doch immer ein "string" bleiben.
Ich bin sicher, dass ich hier etwas noch nicht komplett verstanden habe ;-).
Vielen Dank im Voraus und viele Grüße, Thomas -
@thomkast Das ist zwar Offtopic hier, aber
- Alle Datenpunkte unter
mqtt.0
sollte den Typmixed
haben und man sollte diesen auch nicht manuell bearbeiten (weil der Adapter den Typ nicht prüft und MQTT auch keine Datentypen kennt). - Wenn Du damit weiter arbeiten möchtest, dann kannst du den Konvertierungs-Block "nach Zahl" verwenden.
Und die URL für den Block kannst Du natürlich einfach per "Erstelle Text aus"-Block zusammenbauen. Auch, wenn die Quelle ein Typ Number ist. Wenn Du es ganz korrekt machen willst, kannst Du ja noch ein "nach String"-Block zur Konvertierung dazwischen packen.
- Alle Datenpunkte unter
-
Hi, hänge mich hier mal dran.
Ich habe ein Script, das mir über so ein http request Daten auf ein Wemos D1 Mini mit Tasmota schreibt. Der Wemos gibt dann die Daten auf einem Display aus.
Seit kurzer Zeit funktioniert das Script aber nicht mehr, da wohl diese request URL Funktion nicht mehr funktioniert.
Kann mir einer sagen wie ich mein Script ändern muss, dass es wieder funktioniert?
Danke -
@atifan Trotzdem sollte auch der Request funktionieren, er wird nur als "veraltet" dargestellt, damit man es ändert.
https://forum.iobroker.net/topic/74659/request-package-is-deprecated-please-use-httpget/32 -
Ich bekomme es einfach nicht hin:
mit request hat es immer funktioniert.
Mit GET bringe ich es einfach nicht hin:
-
@maschl die Blöcke "nach Zahl" und "JSON nach Objekt" entfernen.
-
@maschl
invalid character in chunk size
hatten wir letztens erst. Da lag daran, dass in der Antwort ein Leerzeichen drin war, das bei nodejs nicht akzeptiert wird. unter pure js würde es laufen -
@maschl sagte in request package is deprecated - please use httpGet:
Ich bekomme es einfach nicht hin:
Mh, was genau fragst Du denn da ab? (hast Du das gleiche schonmal in der Facebook-Gruppe gefragt? Da war auch jemand mit dieser Wetterstation)
Parse Error: Invalid character in chunk size
Da weiß ich noch nicht, wann und warum das kommt.
-
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
Da weiß ich noch nicht, wann und warum das kommt.
Suche verwenden
-
@homoran sagte in request package is deprecated - please use httpGet:
Danke, also macht die Wetterstation etwas falsch.
-
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
also macht die Wetterstation etwas falsch.
Kommt auf den Blickwinkel an.
...oder nodejs -
@homoran sagte in request package is deprecated - please use httpGet:
Kommt auf den Blickwinkel an.
Es kommt ausschließlich darauf an, was im rfc2616 steht und wie die chunk size übergeben werden darf. Wenn da kein Leerzeichen vorgesehen ist, hält der Server sich nicht an die Spezifikation.
-
@haus-automatisierung
Ich checks nicht ... -
@maschl sagte in request package is deprecated - please use httpGet:
Ich checks nicht ...
Das Problem liegt auf der "Serverseite" - also dem Webserver der Wetterstation. Es wird beim
Transfer-Encoding: chunked
(warum auch immer die das nutzen) genau definiert, wie die länge der einzelnen Chunks zu übergeben ist. Siehe Beispiel- httpGet verwendet intern aktuell auch axios
- axios kann auf verschiedene Adapter von nodejs zurückgreifen (http, fetch, xhr, ...).
- Ich könnte testen, das z.B. auf
fetch
umzustellen (eventuell das toleranter). Nur habe ich keine Testumgebung / mir fehlt die Wetterstation.
https://github.com/nodejs/node/issues/47528#issuecomment-1505631643
-
@haus-automatisierung
Hallo, ich habe meine Wetterstation updated.
Wenn ich im Brower die json abfage kommt folgendes:
Aber mit dem Blockly funktioniert es immer noch nicht.
Gibt es irgeneine möglichkeit diese Daten mit blockly abzufragen?
Meine Wetterstation:
https://www.jbmedia.eu/ -
@maschl sagte in request package is deprecated - please use httpGet:
Meine Wetterstation:
https://www.jbmedia.eu/Vermutlich die gleiche Wetterstation wie hier (???):
https://forum.iobroker.net/post/1164179 -
@maschl sagte in request package is deprecated - please use httpGet:
Hallo, ich habe meine Wetterstation updated.
Also gab es schon eine neue Firmware mit dem Fix?!
-
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
@maschl sagte in request package is deprecated - please use httpGet:
Hallo, ich habe meine Wetterstation updated.
Also gab es schon eine neue Firmware mit dem Fix?!
ja!
-
@homoran
bei mir funktioniert es trotz update nicht.
Ich kriegs einfach nicht hin -
@maschl sagte in request package is deprecated - please use httpGet:
bei mir funktioniert es trotz update nicht.
du hast die gleiche Wetterstation wie in dem anderen Thread?