Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine

Geplant Angeheftet Gesperrt Verschoben Tester
148 Beiträge 24 Kommentatoren 31.7k Aufrufe 30 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • DiginixD Diginix

    @haus-automatisierung Bekomme mit 7.9.3 und basic auth URLs immer noch 401 Unauthorized
    URL sieht so aus: http://user:pw@IP

    Das Passwort enthält eine spitze Klammer > als Sonderzeichen, falls das relevant ist.

    haus-automatisierungH Online
    haus-automatisierungH Online
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von
    #45

    @diginix Stell das Script mal auf verbose um mehr Infos im Log zu bekommen was genau gesendet wird

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    DiginixD 1 Antwort Letzte Antwort
    0
    • haus-automatisierungH haus-automatisierung

      @diginix Stell das Script mal auf verbose um mehr Infos im Log zu bekommen was genau gesendet wird

      DiginixD Offline
      DiginixD Offline
      Diginix
      schrieb am zuletzt editiert von
      #46

      @haus-automatisierung Wie schon vermutet ist die spitze Klammer glaube das Problem.
      In der Logausgabe ist sie encodiert:

      "auth":{"username":"user","password":"W4qkVKo%3E"}
      

      eigentlich ist es "W4qkVKo>"

      ..:: So long! Tom ::..

      NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

      haus-automatisierungH 1 Antwort Letzte Antwort
      0
      • DiginixD Diginix

        @haus-automatisierung Wie schon vermutet ist die spitze Klammer glaube das Problem.
        In der Logausgabe ist sie encodiert:

        "auth":{"username":"user","password":"W4qkVKo%3E"}
        

        eigentlich ist es "W4qkVKo>"

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #47

        @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

        In der Logausgabe ist sie encodiert:

        Diese Baustelle macht mich noch fertig :) 7.9.4 ist auf dem Weg

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        Ralla66R 1 Antwort Letzte Antwort
        1
        • haus-automatisierungH haus-automatisierung

          @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

          In der Logausgabe ist sie encodiert:

          Diese Baustelle macht mich noch fertig :) 7.9.4 ist auf dem Weg

          Ralla66R Offline
          Ralla66R Offline
          Ralla66
          Most Active
          schrieb am zuletzt editiert von
          #48

          @haus-automatisierung

          senden ohne Daten so ?

          Post 1.jpg

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • Ralla66R Ralla66

            @haus-automatisierung

            senden ohne Daten so ?

            Post 1.jpg

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #49

            @ralla66 Post Request ohne Daten?

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            Ralla66R 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @ralla66 Post Request ohne Daten?

              Ralla66R Offline
              Ralla66R Offline
              Ralla66
              Most Active
              schrieb am zuletzt editiert von
              #50

              @haus-automatisierung

              genau, sollte per Get und Post gehen nach Web Api OpenDTU
              OpenDTU

              Post_G.jpg

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • Ralla66R Ralla66

                @haus-automatisierung

                genau, sollte per Get und Post gehen nach Web Api OpenDTU
                OpenDTU

                Post_G.jpg

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von
                #51

                @ralla66 Pack mal null da rein. Also keinen Leerstring.

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                Ralla66R 1 Antwort Letzte Antwort
                0
                • haus-automatisierungH haus-automatisierung

                  @ralla66 Pack mal null da rein. Also keinen Leerstring.

                  Ralla66R Offline
                  Ralla66R Offline
                  Ralla66
                  Most Active
                  schrieb am zuletzt editiert von
                  #52

                  @haus-automatisierung

                  leider nein,
                  wird der Body Leer mit gesendet ?

                  haus-automatisierungH 1 Antwort Letzte Antwort
                  0
                  • Ralla66R Ralla66

                    @haus-automatisierung

                    leider nein,
                    wird der Body Leer mit gesendet ?

                    haus-automatisierungH Online
                    haus-automatisierungH Online
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #53

                    @ralla66 sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                    leider nein,

                    Gerade getestet, funktioniert.

                    Screenshot 2024-03-20 at 20.09.21.png

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    Ralla66R 1 Antwort Letzte Antwort
                    0
                    • haus-automatisierungH haus-automatisierung

                      @ralla66 sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                      leider nein,

                      Gerade getestet, funktioniert.

                      Screenshot 2024-03-20 at 20.09.21.png

                      Ralla66R Offline
                      Ralla66R Offline
                      Ralla66
                      Most Active
                      schrieb am zuletzt editiert von Ralla66
                      #54

                      @haus-automatisierung

                      Post24.jpg

                      ich schau mal morgen mit Wireshark nach

                      haus-automatisierungH 1 Antwort Letzte Antwort
                      0
                      • Ralla66R Ralla66

                        @haus-automatisierung

                        Post24.jpg

                        ich schau mal morgen mit Wireshark nach

                        haus-automatisierungH Online
                        haus-automatisierungH Online
                        haus-automatisierung
                        Developer Most Active
                        schrieb am zuletzt editiert von haus-automatisierung
                        #55

                        @ralla66 Du wollest einen leeren Post-Request und jetzt kommt die andere Seite damit nicht klar und möchte Werte? :)

                        Was rufst Du auf? Die ntp config? Die braucht doch Werte für die Konfiguration - laut Doku:

                        curl -u "admin:password" http://192.168.10.10/api/ntp/config -d 'data={"ntp_server":"my.own.ntp.server.home","ntp_timezone":"CET-1CEST,M3.5.0,M10.5.0/3","ntp_timezone_descr":"Europe/Berlin"}'
                        {"type":"success","message":"Settings saved!"}
                        

                        Ich suche mal nicht weiter, gerne erklären wo der Fehler im JavaScript liegt mit einem funktionierenden Beispiel in curl.

                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                        📚 Meine inoffizielle ioBroker Dokumentation

                        Ralla66R 2 Antworten Letzte Antwort
                        1
                        • haus-automatisierungH haus-automatisierung

                          @ralla66 Du wollest einen leeren Post-Request und jetzt kommt die andere Seite damit nicht klar und möchte Werte? :)

                          Was rufst Du auf? Die ntp config? Die braucht doch Werte für die Konfiguration - laut Doku:

                          curl -u "admin:password" http://192.168.10.10/api/ntp/config -d 'data={"ntp_server":"my.own.ntp.server.home","ntp_timezone":"CET-1CEST,M3.5.0,M10.5.0/3","ntp_timezone_descr":"Europe/Berlin"}'
                          {"type":"success","message":"Settings saved!"}
                          

                          Ich suche mal nicht weiter, gerne erklären wo der Fehler im JavaScript liegt mit einem funktionierenden Beispiel in curl.

                          Ralla66R Offline
                          Ralla66R Offline
                          Ralla66
                          Most Active
                          schrieb am zuletzt editiert von
                          #56

                          @haus-automatisierung

                          Danke soweit,
                          hatte auch die npt time getestet.
                          Schaue mal weiter, dann kann nur die Anfrage falsch sein.

                          1 Antwort Letzte Antwort
                          0
                          • DiginixD Offline
                            DiginixD Offline
                            Diginix
                            schrieb am zuletzt editiert von Diginix
                            #57

                            @haus-automatisierung mit 7.9.4 funktioniert basic auth nun
                            DANKE!

                            ..:: So long! Tom ::..

                            NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                            1 Antwort Letzte Antwort
                            1
                            • DiginixD Offline
                              DiginixD Offline
                              Diginix
                              schrieb am zuletzt editiert von Diginix
                              #58

                              @haus-automatisierung Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

                              1b67f1da-629a-40d3-94c5-9c881f6cc112-image.png

                              09:24:16.358	info	javascript.0 (1952275) script.js.test.Test: httpGet({"method":"get","url":"http://192.168.2.77/cm?cmnd=Restart%2099&user=admin&password=gzJIi3ab","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}})
                              09:24:18.604	error	javascript.0 (1952275) script.js.test.Test: maxContentLength size of -1 exceeded
                              

                              ..:: So long! Tom ::..

                              NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                              haus-automatisierungH 2 Antworten Letzte Antwort
                              0
                              • DiginixD Diginix

                                @haus-automatisierung Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

                                1b67f1da-629a-40d3-94c5-9c881f6cc112-image.png

                                09:24:16.358	info	javascript.0 (1952275) script.js.test.Test: httpGet({"method":"get","url":"http://192.168.2.77/cm?cmnd=Restart%2099&user=admin&password=gzJIi3ab","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}})
                                09:24:18.604	error	javascript.0 (1952275) script.js.test.Test: maxContentLength size of -1 exceeded
                                
                                haus-automatisierungH Online
                                haus-automatisierungH Online
                                haus-automatisierung
                                Developer Most Active
                                schrieb am zuletzt editiert von
                                #59

                                @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW

                                Welche FW Version? Dann kann ich das mal testen.

                                PS: Warum nicht per MQTT? :)

                                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                📚 Meine inoffizielle ioBroker Dokumentation

                                DiginixD 1 Antwort Letzte Antwort
                                0
                                • haus-automatisierungH haus-automatisierung

                                  @jwerlsdf sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                  wie ich genau den http get block benutzen muss, damit ich keinen timeout Fehler erhalte.

                                  Aktuell ist der Timeout fix auf 2000ms gestellt. Warum dauert es denn so lange bis zum Response? Das ist ja eine halbe Ewigkeit. In der nächsten Version mach ich den Timeout konfigurierbar.

                                  @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                  Wie kann ich denn nun Basic Auth mit http://user:pw@ip im http GET verwenden?

                                  Wie im Ausgangspost beschrieben, kann der Blockly-Baustein das aktuell nicht. Nur per JavaScript. Siehe Doku

                                  https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httpget

                                  Ich muss mal schauen wie ich das alles anbieten kann, ohne den Baustein komplett zu überfrachten.

                                  J Offline
                                  J Offline
                                  jwerlsdf
                                  schrieb am zuletzt editiert von
                                  #60

                                  @haus-automatisierung
                                  Den timeout auf z.b. 4000 zu erhöhen, bringt leider auch nichts. Hast du noch eine andere Idee?

                                  haus-automatisierungH 1 Antwort Letzte Antwort
                                  0
                                  • J jwerlsdf

                                    @haus-automatisierung
                                    Den timeout auf z.b. 4000 zu erhöhen, bringt leider auch nichts. Hast du noch eine andere Idee?

                                    haus-automatisierungH Online
                                    haus-automatisierungH Online
                                    haus-automatisierung
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #61

                                    @jwerlsdf sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                    Hast du noch eine andere Idee?

                                    Schauen warum der Request so lange läuft und z.B. mal mit curl testen was zurück kommt (und wann).

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    J 1 Antwort Letzte Antwort
                                    0
                                    • haus-automatisierungH haus-automatisierung

                                      @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                      Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW

                                      Welche FW Version? Dann kann ich das mal testen.

                                      PS: Warum nicht per MQTT? :)

                                      DiginixD Offline
                                      DiginixD Offline
                                      Diginix
                                      schrieb am zuletzt editiert von Diginix
                                      #62

                                      @haus-automatisierung FW: 13.4.0(lite) und die Sonoff hängen alle am sonoff Adapter und nicht am mqtt. Hab noch nicht geschaut ob es da auch ein Topic gibt den man für den Reboot schreiben kann.

                                      Konnte auf die Schnelle kein Objekt unter sonoff.0.%device% für reboot finden.

                                      ..:: So long! Tom ::..

                                      NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                      1 Antwort Letzte Antwort
                                      0
                                      • DiginixD Diginix

                                        @haus-automatisierung Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

                                        1b67f1da-629a-40d3-94c5-9c881f6cc112-image.png

                                        09:24:16.358	info	javascript.0 (1952275) script.js.test.Test: httpGet({"method":"get","url":"http://192.168.2.77/cm?cmnd=Restart%2099&user=admin&password=gzJIi3ab","responseType":"text","responseEncoding":"utf8","timeout":2000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}})
                                        09:24:18.604	error	javascript.0 (1952275) script.js.test.Test: maxContentLength size of -1 exceeded
                                        
                                        haus-automatisierungH Online
                                        haus-automatisierungH Online
                                        haus-automatisierung
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #63

                                        @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                        Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

                                        Sieht so aus als wäre das ein Bug in Axios, wenn die Verbindung einfach geschlossen wird (was scheinbar beim Restart passiert). Das heißt, Tasmota antwortet da nicht sauber. Siehe auch

                                        https://github.com/axios/axios/issues/5286

                                        Wenn ich das mit curl mache, dann wartet der auch ewig auf ein Ergebnis, ohne dass die Verbindung sauber geschlossen wird. Muss ich dann manuell abbrechen.

                                        Kann ich also nicht beheben - muss Tasmota tun.

                                        curl -vvv "http://10.10.9.241/cm?cmnd=Restart%2099"
                                        *   Trying 10.10.9.241:80...
                                        * Connected to 10.10.9.241 (10.10.9.241) port 80 (#0)
                                        > GET /cm?cmnd=Restart%2099 HTTP/1.1
                                        > Host: 10.10.9.241
                                        > User-Agent: curl/7.88.1
                                        > Accept: */*
                                        > 
                                        < HTTP/1.1 200 OK
                                        < Content-Type: application/json
                                        < Server: Tasmota/13.4.0 (ESP8285N08)
                                        < Cache-Control: no-cache, no-store, must-revalidate
                                        < Pragma: no-cache
                                        < Expires: -1
                                        < Accept-Ranges: none
                                        < Transfer-Encoding: chunked
                                        < Connection: close
                                        < 
                                        
                                        ^C
                                        

                                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                        📚 Meine inoffizielle ioBroker Dokumentation

                                        haus-automatisierungH 1 Antwort Letzte Antwort
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          @diginix sagte in JavaScript 7.9.0 - Neue Objekt- und HTTP-Bausteine:

                                          Bie diesem Block zum Reboot eines Sonoff mit Tasmota FW kommt eine Fehlermeldung

                                          Sieht so aus als wäre das ein Bug in Axios, wenn die Verbindung einfach geschlossen wird (was scheinbar beim Restart passiert). Das heißt, Tasmota antwortet da nicht sauber. Siehe auch

                                          https://github.com/axios/axios/issues/5286

                                          Wenn ich das mit curl mache, dann wartet der auch ewig auf ein Ergebnis, ohne dass die Verbindung sauber geschlossen wird. Muss ich dann manuell abbrechen.

                                          Kann ich also nicht beheben - muss Tasmota tun.

                                          curl -vvv "http://10.10.9.241/cm?cmnd=Restart%2099"
                                          *   Trying 10.10.9.241:80...
                                          * Connected to 10.10.9.241 (10.10.9.241) port 80 (#0)
                                          > GET /cm?cmnd=Restart%2099 HTTP/1.1
                                          > Host: 10.10.9.241
                                          > User-Agent: curl/7.88.1
                                          > Accept: */*
                                          > 
                                          < HTTP/1.1 200 OK
                                          < Content-Type: application/json
                                          < Server: Tasmota/13.4.0 (ESP8285N08)
                                          < Cache-Control: no-cache, no-store, must-revalidate
                                          < Pragma: no-cache
                                          < Expires: -1
                                          < Accept-Ranges: none
                                          < Transfer-Encoding: chunked
                                          < Connection: close
                                          < 
                                          
                                          ^C
                                          
                                          haus-automatisierungH Online
                                          haus-automatisierungH Online
                                          haus-automatisierung
                                          Developer Most Active
                                          schrieb am zuletzt editiert von
                                          #64

                                          Wenn ich Restart 1 (1 = restart device with configuration saved to flash) nutze, klappt das übrigens und ich bekomme auch einen vernünftigen Response:

                                          {"Restart":"Restarting"

                                          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                          📚 Meine inoffizielle ioBroker Dokumentation

                                          DiginixD 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          566

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe