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

      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
                                        • Negalein
                                          Negalein Global Moderator @Ralla66 last edited by

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

                                          Bei Request deprecated
                                          war auch noch Ruhe im Log

                                          bei mir selbes Verhalten.

                                          @liv-in-sky
                                          bei mir noch immer das mit dem Timeout.
                                          Immer zur 10. Minute und zur 61. Minute.

                                          iobroker, [03.06.2024 06:00]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 06:01]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 06:10]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 06:20]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 06:30]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 06:40]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 06:50]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 07:00]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 07:01]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          iobroker, [03.06.2024 07:10]
                                          VZ Script-Timeout über 2 Sekunden
                                          
                                          liv-in-sky 1 Reply Last reply Reply Quote 0
                                          • haus-automatisierung
                                            haus-automatisierung Developer Most Active last edited by

                                            Kann jemand zuverlässig die Timeouts zu Tasmota reproduzieren?

                                            Wenn ja, bitte ich um ein Script und um die genaue Angabe der Tasmota-Version.
                                            Am Ende läuft unter httpGet aktuell auch nur axios und es wird alles 1:1 so weitergegeben.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            411
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            132
                                            9222
                                            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