NEWS
request package is deprecated - please use httpGet
-
Ich hänge mich hier mal mit dran. Ich habe bisher das hier benutzt:
Der Befehl steuert einen ESP an, damit der ein Soundfile abspielt. Das liest also nix, sondern triggert ein Gerät.Jetzt verstehe ich weder, ob ich GET oder POST benutzen muss, noch, ob ich in der Befehlsektion in dem Blockly dann irgendwas eintragen muss (oder es einfach reicht, die URL reinzuschrieben, sonst nix).
Soll das neu jetzt so?
-
@bertderkleine sagte in request package is deprecated - please use httpGet:
Soll das neu jetzt so?
tut's das nicht?
es
@bertderkleine sagte in request package is deprecated - please use httpGet:
reicht, die URL reinzuschrieben, sonst nix
du hast ja auch bisher keine Ergebnisse verarbeitet
-
@homoran sagte in request package is deprecated - please use httpGet:
@bertderkleine sagte in request package is deprecated - please use httpGet:
Soll das neu jetzt so?
tut's das nicht?
Das Skript wurde noch noch nicht ausgelöst und ich wollte daher erstmal prinzipiell wissen, wie es geht.
Ich entnehme Deiner Antwort, dass es so aber funktionieren sollte.
-
@bertderkleine sagte in request package is deprecated - please use httpGet:
Ich entnehme Deiner Antwort, dass es so aber funktionieren sollte.
ich weiß es nicht, ich sammle auch noch Feedbacks um helfen zu können.
-
@bertderkleine sagte in request package is deprecated - please use httpGet:
Jetzt verstehe ich weder, ob ich GET oder POST benutzen muss
Der Request-Baustein konnte bisher nur GET-Requests, also GET. Rest hat @Homoran schon beantwortet. Sieht genau richtig aus.
Siehe auch https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/upgrade-guide.md
-
@haus-automatisierung ich hab jetzt gut reden weil ich absolut keine Ahung von dem habe, aber wäre es sehr aufwändig hier ebenfalls eine Checkbox "mit Ergebnissen/Rückgabe/..." einzubauen und nur nach aktivierter Checkbox das Rückgabeformat abzufragen und das "Maul" sichtbar zu machen.
-
@homoran Ne, aber nachdem die Version jetzt stable ist, möchte ich nicht schon wieder so viel ändern und die Leute verwirren. Die Anmerkung kommt ein paar Wochen zu spät (am 13.03.24 hatte ich das Feature im Forum vorgestellt).
-
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
Die Anmerkung kommt ein paar Wochen zu spät (am 13.03.24 hatte ich das Feature im Forum vorgestellt).
Die Diskussion hatten wir dort schon!
die rein theoretische Abhandlung des Themas mit böhmischen Dörfern zum request/httpGet war ohne praktischen Einsatz so nicht erkennbarAber ob eine erneute Änderung zum momentanen Zeitpunkt gut ist, weiss ich auch nicht. Allerdings denke ich, dass die große Welle der Fragen noch auf uns zukommen wird.
Nicht dass es nachher wie bei Captain Jack Sparrow heißt: Wenn du den passenden Moment suchst, das war er!
-
@homoran Welche Anwendungsfälle gibt es eigentlich, wo man einen HTTP-Request absetzt und einen die Antwort / Rückmeldung bzw. der Status-Code absolut gar nicht interessiert? Ich habe den bisher immer validiert. Sonst weiß man doch gar nicht, ob etwas geklappt hat.
Ich bestätigte darin dann z.B. damit meine eigenen Datenpunkte, wo die Trigger nur auf unbestätigte Änderungen reagieren.
-
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
Welche Anwendungsfälle gibt es eigentlich, wo man einen HTTP-Request absetzt und einen die Antwort / Rückmeldung bzw. der Status-Code absolut gar nicht interessiert?
Keine Ahnung! ich fange gerade erst seit 3 Tagen an mich ansatzweise mit der request/httpGet Thematik zu befassen.
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
Ich habe den bisher immer validiert. Sonst weiß man doch gar nicht, ob etwas geklappt hat.
so hab ich das noch gar nicht gesehen. Ich hab request bisher nur zur Abfrage von Daten verwendet, wofür ein request abgesetzt wird ohne was abzurufen ist mir gar nicht klar, kam aber heute schon mindestens dreimal in Beispielen vor.
Und da tauchte dann das Unverständnis für die Zusatzoptionen auf.
BTW wofür ist der Arraybuffer?
-
@haus-automatisierung sagte in request package is deprecated - please use httpGet:
@homoran Welche Anwendungsfälle gibt es eigentlich, wo man einen HTTP-Request absetzt und einen die Antwort / Rückmeldung bzw. der Status-Code absolut gar nicht interessiert?
Ich benutze ESP32 Controller und die sind am einfachsten per HTTP-Request anzusteuern mit Tasmota Firmware:
https://tasmota.github.io/docs/Commands/#how-to-use-commandsVon Rückmeldung und "Statuscode" weiss ich nichts.
Das alles dürfte erheblich auf die Kluft zwischen IT-Wissenden und IT-Anfängern (wie mir) zurückzuführen sein.
Die neuen Blockly-Befehle verstehe ich nach wie vor Null. Ich weiss jetzt nur, wie ich meine HTTP-Befehlszeile unterbringe.
Ich habe den bisher immer validiert. Sonst weiß man doch gar nicht, ob etwas geklappt hat.
Hm. Klingt schön, aber wie soll das mit Tasmota-Befehlen genau funktionieren?
-
Vom Tasmota Esp können auch Daten oder Zustände per Get abgeholt werden,
Beispiel : -
@ralla66 sagte in request package is deprecated - please use httpGet:
Vom Tasmota Esp können auch Daten oder Zustände per Get abgeholt werden,
Beispiel :Kannst Du beschreiben, was das Blockly da genau macht?
Ich verstehe nämlich unterhlab der URL gar nichts.
Was bedeutet der Timeout? Was soll das?
Was bewirkt der Antwort-Datentyp?
Was macht dieser "Data" Baustein?
Was für Befehle packt man überhaupt (und warum) in diese Stelle des Blocklys?Der upgrade-guide.md bringt mich nämlich vom Verständnis her gar nicht weiter.
Man bräuchte hier sowas https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/10. -
@bertderkleine sagte in request package is deprecated - please use httpGet:
Man bräuchte hier sowas
Ausführlicher als in den Videos im Kurs kann ich es Dir auch nicht bieten
-
@bertderkleine bitte mal tief durchatmen!
@bertderkleine sagte in request package is deprecated - please use httpGet:
Was bedeutet der Timeout?
ist jetzt nicht dein Ernst?
ein timeout ist dazu da eine zeitlang zu warten.hier ist es die Zeit, die es bis zur Antwort dauern darf ohne als Fehler zu gelten
@bertderkleine sagte in request package is deprecated - please use httpGet:
Was soll das?
das soll eine fehlende Verbindung zum URL erkennen und dann die weitere Abarbeitung abbrechen.
@bertderkleine sagte in request package is deprecated - please use httpGet:
Was bewirkt der Antwort-Datentyp?
dass der Baustein entsprechend des Typs mit der Antwort zurechtkommt.
@bertderkleine sagte in request package is deprecated - please use httpGet:
Was macht dieser "Data" Baustein?
Das ist die Antwort die man bekommt (get)
@bertderkleine sagte in request package is deprecated - please use httpGet:
Was für Befehle packt man überhaupt (und warum) in diese Stelle des Blocklys?
alle die, die du auch bei request reingesetzt hättest um die Antwort weiter zu bearbeiten
-
@homoran sagte in request package is deprecated - please use httpGet:
r ist es die Zeit, die es bis zur Antwort dauern darf ohne als Fehler zu gelte
Ich habe auch noch eine Frage zum Timeout. Wenn der Timeout erreicht wird, gibt es ja einen Fehler im Log! Ist es möglich, diesen abzufangen (Blockly)? Also wie setze ich das um, falls die URL nicht erreichbar ist, dann mache nichts, oder irgendwas... Beim "alten" request Block konnte man das Loglevel auf "Keins" setzten. Geht das beim http (GET) Block auch irgendwie?
Danke und beste Grüße
Werner -
@schmuh sagte in request package is deprecated - please use httpGet:
gibt es ja einen Fehler im Log! Ist es möglich, diesen abzufangen (Blockly
ggfs. mehrere.
Den Fehler
timeout exceeded
und die daraus resultierenden Fehler, dass für die nachfolgenden Aktionen kein Wert, sondern nurnull
vorliegt.Für ersteres habe ich keine Lösung gefunden, für die wesentlich mehr Fehlermeldungen kann man die nachfolgende Logik in ein falls - mache setzen und falls
status code = 200
setzen
Bei mir war allerdings nach dem Hochsetzen des timeouts kein einziger Fehler mehr im log.
Es gibt auch im Forum weitere Berichte, nach denen der Timeout bei httpGet höher eingestellt werden muss. -
@homoran
Danke schon mal, aber bei ist die Logmeldung:connect EHOSTUNREACH 192.168.1.21:5000
(stimmt ja auch) Ich würde das nur gerne abfangen. Komischerweise kommt die Meldung anscheinend unabhängig von der eingestellten Timeout Zeit, immer nach drei Sekunden.
-
@schmuh sagte in request package is deprecated - please use httpGet:
aber bei ist die Logmeldung:
das ist ja ganz was anderes. da ist der Host gar nicht erreichbar.
@schmuh sagte in request package is deprecated - please use httpGet:
unabhängig von der eingestellten Timeout Zeit
natürlich.
Timeout wirkt nur wenn der Host erreicht wurde, die Antwort aber auf sich warten lässt -
@schmuh sagte in request package is deprecated - please use httpGet:
Komischerweise kommt die Meldung anscheinend unabhängig von der eingestellten Timeout Zeit, immer nach drei Sekunden.
Normalerweise sollte die Meldung schon eher kommen. Kann gut sein, dass da intern andere Timeouts genutzt werden, wenn die Verbindung nicht aufgebaut werden kann.
Der
timeout
ist die Zeit, in der der Server Zeit hat auf die Anfrage zu antworten. Wenn die Verbindung gar nicht erst zustande kommt, wird der nicht greifen.