Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei Skripte von request auf httpGet umbauen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei Skripte von request auf httpGet umbauen

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rushmed Most Active @haus-automatisierung last edited by

      @haus-automatisierung
      ich habe:
      9862153b-f04f-4db7-8db4-00cf515c091f-grafik.png
      Ausgeführt und es ist garnichts passiert. Weder wurde der Befehl ausgeführt, noch kam eine Antwort.

      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @Rushmed last edited by

        @rushmed Mach das mal direkt per ssh oder auf einem anderen System. Also nicht aus Blockly heraus. Ansonsten müssen natürlich Anführungszeichen um die URL, damit die 1 am Ende noch dazu gehört (oder %20 dazwischen)

        R 1 Reply Last reply Reply Quote 0
        • R
          Rushmed Most Active @haus-automatisierung last edited by

          @haus-automatisierung

          pi@Smartazamba:~ $ curl -v http://192.168.178.138/cm?cmnd=Restart 1
          *   Trying 192.168.178.138:80...
          * Connected to 192.168.178.138 (192.168.178.138) port 80 (#0)
          > GET /cm?cmnd=Restart HTTP/1.1
          > Host: 192.168.178.138
          > User-Agent: curl/7.88.1
          > Accept: */*
          >
          < HTTP/1.1 200 OK
          < Content-Type: application/json
          < Server: Tasmota/14.1.0.1 (ESP8266EX)
          < Cache-Control: no-cache, no-store, must-revalidate
          < Pragma: no-cache
          < Expires: -1
          < Accept-Ranges: none
          < Transfer-Encoding: chunked
          < Connection: close
          <
          * Closing connection 0
          {"Restart":"1 to restart, 2 to halt"}*   Trying 0.0.0.1:80...
          

          Restart ist nicht erfolgt.

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • haus-automatisierung
            haus-automatisierung Developer Most Active @Rushmed last edited by

            @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen:

            Restart ist nicht erfolgt.

            Weil Du wieder keine Anführungszeichen um die Url gemacht hast und die 1 am Ende für curl somit nicht zur Url gehört (sieht man auch im verbose)

            R 1 Reply Last reply Reply Quote 0
            • R
              Rushmed Most Active @haus-automatisierung last edited by

              @haus-automatisierung Sorry.

              pi@Smartazamba:~ $ curl -v "http://192.168.178.138/cm?cmnd=Restart 1"
              * Closing connection -1
              curl: (3) URL using bad/illegal format or missing URL
              
              
              haus-automatisierung 1 Reply Last reply Reply Quote 0
              • haus-automatisierung
                haus-automatisierung Developer Most Active @Rushmed last edited by

                @rushmed curl -v "http://192.168.178.138/cm?cmnd=Restart%201"

                1 Reply Last reply Reply Quote 0
                • R
                  Rushmed Most Active last edited by Rushmed

                  @haus-automatisierung sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                  curl -v "http://192.168.178.138/cm?cmnd=Restart 1"

                  pi@Smartazamba:~ $ curl -v "http://192.168.178.138/cm?cmnd=Restart%201"
                  *   Trying 192.168.178.138:80...
                  * Connected to 192.168.178.138 (192.168.178.138) port 80 (#0)
                  > GET /cm?cmnd=Restart%201 HTTP/1.1
                  > Host: 192.168.178.138
                  > User-Agent: curl/7.88.1
                  > Accept: */*
                  >
                  < HTTP/1.1 200 OK
                  < Content-Type: application/json
                  < Server: Tasmota/14.1.0.1 (ESP8266EX)
                  < Cache-Control: no-cache, no-store, must-revalidate
                  < Pragma: no-cache
                  < Expires: -1
                  < Accept-Ranges: none
                  < Transfer-Encoding: chunked
                  < Connection: close
                  <
                  * Closing connection 0
                  {"Restart":"Restarting"}p
                  

                  Restart wir ausgeführt.
                  Script sendet wieder:

                  javascript.0	22:20:34.986	error	script.js.Matrix_Displays: timeout of 2000ms exceeded
                  

                  Das passiert ohne Scriptneustart o.ä.. Scheinbar lauscht das Script aber empfängt nichts.
                  Gesendet hab' ich den Befehl per Putty.

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @Rushmed last edited by haus-automatisierung

                    @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                    Transfer-Encoding: chunked

                    Könnte sein dass axios denkt dass da noch mehr kommen müsste und deswegen wartet (bis timeout). Muss ich mir mal ein Test-Setup aufbauen. Eventuell auch eine blöde Kombination in Tasmota mit Restart, dass die Verbindung dann nicht richtig geschlossen wird, weil ESP neustartet.

                    https://nothing-else.blog/blog/axios-timeout-for-chunked-responses

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      Rushmed Most Active @haus-automatisierung last edited by Rushmed

                      @haus-automatisierung Ich hab' noch eine Info:
                      38e03a61-d73f-4ad4-b41f-71223e79a4e2-grafik.png
                      Bringt nur:

                      javascript.0	22:26:05.158	error	script.js.Tasmota: timeout of 2000ms exceeded
                      javascript.0	22:26:05.164	error	script.js.Tasmota: timeout of 2000ms exceeded
                      

                      bei drei angesprochenen Geräten von denen zwei offline sind. Hier kommt die Meldung für das Verfügbare gerät nicht. Das ist schlüssig.
                      Wo liegt hier der Unterschied?

                      haus-automatisierung 1 Reply Last reply Reply Quote 0
                      • haus-automatisierung
                        haus-automatisierung Developer Most Active @Rushmed last edited by

                        @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                        Wo liegt hier der Unterschied?

                        Andere Tasmota-Version?

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          Rushmed Most Active @haus-automatisierung last edited by Rushmed

                          @haus-automatisierung Oha, da passiert was, ich prüfe kurz.

                          Edit1:
                          Tasmota Development Version" Tasmota 14.1.0.1 (display)" bringt den Error.
                          Tasmota Master Version "Tasmota 14.1.0 (display)" bringt den Error nicht.
                          Super!
                          Werde die Devices auf die Tasmota Master umstellen.
                          Vielen Dank!

                          Edit2:
                          Hab' mich zu früh gefreut. Der Error kommt wieder.

                          Edit3:
                          Jetzt sind zwei von drei Geräten angschlossen bei der Ausführung von:
                          04efa019-1d5e-4192-a564-47c674fd6447-1718396830836-38e03a61-d73f-4ad4-b41f-71223e79a4e2-grafik.png
                          und die Errormeldung kommt nurnoch einmal. Wieder schlüssig.

                          1 Reply Last reply Reply Quote 0
                          • BananaJoe
                            BananaJoe Most Active last edited by

                            @rushmed Probiere mal

                            /cm?cmnd=Restart%201
                            

                            Die %20 maskieren das Leerzeichen (URL-Encoding), vielleicht liegt es daran

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Rushmed Most Active @BananaJoe last edited by

                              @bananajoe sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                              %20

                              Hat leider nicht geholfen. Die Meldung kommt dennoch.

                              Ich verstehe wiklich nicht warum die Meldung bei:
                              66d18464-90a9-41d0-afb3-7b1fdf53be59-grafik.png
                              auftritt, aber bei:
                              f0650bd2-234c-4362-9a87-349a1a9cb631-grafik.png
                              nicht.

                              OliverIO liv-in-sky BananaJoe 3 Replies Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @Rushmed last edited by

                                @rushmed

                                Hier evtl eine zusatzinformation zum Problem
                                https://github.com/axios/axios/issues/5753

                                Eine Lösung dafür hab ich allerdings nicht gesehen und gesucht

                                nizar787 created this issue in axios/axios

                                closed New version of axios does not allow for encoding user:password in request URL #5753

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  Rushmed Most Active @OliverIO last edited by Rushmed

                                  @oliverio Danke aber Logindaten sind für den Befehl nicht notwendig.

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @Rushmed last edited by

                                    @rushmed

                                    Shit falscher thread

                                    1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Rushmed last edited by

                                      @rushmed

                                      bei tasmota mit dem httpget baustein bekomme ich öfters bei 2000ms einen fehler - verhindern kann ich das nur mit 4000ms timeout einstellung

                                      das wurde schon mal diskutiert und keine lösung gefunden - meine vermutung ist eher, das die esp's irgendwie beschäftigt sind, bevor sie eine antwort senden, da 2 sek eine ewigkeit im netztraffik sind und kein thema sein sollte

                                      ich würde auch evtl einen pause block in deine schleife einfügen - wenn man zu schnell mehrere esp' s anspricht, habe ich schon immer probleme gehabt

                                      Ralla66 1 Reply Last reply Reply Quote 0
                                      • Ralla66
                                        Ralla66 Most Active @liv-in-sky last edited by

                                        @liv-in-sky sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                        bei tasmota mit dem httpget baustein bekomme ich öfters bei 2000ms einen fehler

                                        ist bei mir auch so, aber erst gekommen mit dem neuen Get Baustein. Bei Request deprecated
                                        war auch noch Ruhe im Log. Das scheint aber nicht an Tasmota zu liegen da ich die Json auch von
                                        Esp zu Esp abhole und da läuft alles sauber.
                                        Es sollte der Wert auf 0 gesetzt werden können für Aus.

                                        Negalein 1 Reply Last reply Reply Quote 1
                                        • BananaJoe
                                          BananaJoe Most Active @Rushmed last edited by BananaJoe

                                          @rushmed der Sonoff-Adapter hat keine Funktion um beliebige Befehle zu senden, oder?
                                          Ich nutze Tasmota nativ mit einem MQTT-Broker, da würde ich einfach unter dem Topic /cmd/gerätename/Restart eine 1 senden ... Da gibt es dann auch keine Timeoutprobleme weil der Tasmota das abonniert hat und vom Broker benachrichtigt wird

                                          1 Reply Last reply Reply Quote 1
                                          • R
                                            Rushmed Most Active @Rushmed last edited by

                                            @liv-in-sky Das Timeout zu erhöhen brigt bei mir nichts.
                                            Wie gesagt der ESP regaiert auf den Befehl und sendet eine Antwort. Die Antwort kommt 60 ms nach Scriptstart, siehe unten.

                                            @rushmed sagte in Hilfe bei Skripte von request auf httpGet umbauen:

                                            Hallo meine Herren,

                                            ich muss nochmal nach dem Thema:

                                            timeout of 2000ms exceeded
                                            

                                            fragen.

                                            Wenn ich diesen Block ausführe:
                                            da94fe68-5856-4054-8ca8-5e974ef43b36-grafik.png
                                            bekomme ich diese Antwort:

                                            javascript.0	19:17:46.172	info	Start JavaScript script.js.Matrix_Displays (Blockly)
                                            javascript.0	19:17:46.207	info	script.js.Matrix_Displays: registered 69 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                            javascript.0	19:17:46.267	info	script.js.Matrix_Displays: {"Restart":"Restarting"}
                                            javascript.0	19:17:50.287	error	script.js.Matrix_Displays: timeout of 2000ms exceeded
                                            

                                            Der Befehl wird auf dem (Tasmota) Gerät ausgeführt und die Antwort kommt ja augenscheinlich auch im ioBroker an. Warum kommt dann hier der Error und kann ich etwas dagegen tun?

                                            Danke vorab.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            555
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            132
                                            9220
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo