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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Probleme mit Timeout

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    14
    1
    187

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Probleme mit Timeout

Geplant Angeheftet Gesperrt Verschoben Blockly
9 Beiträge 3 Kommentatoren 317 Aufrufe 2 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.
  • A Offline
    A Offline
    Automatix2024
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    Im September 2023 habe ich begonnen meinen ersten Raspi mit IOBrocker, InfluxDB und Grafana aufzusetzen.
    Angefangen hat das ganze mit dem Auslesen des Stromzählers via Tasmota und das anschließende Darstellen mit Grafana.
    Hier im Forum war ich schon länger unterwegs allerdings bis jetzt nur als „stiller Leser“, nun bin ich jedoch an einem Punkt angekommen,
    an dem ich nicht mehr allein durch Suchen weiterkomme.
    Daher bin ich jetzt hier ganz frisch angemeldet. :-)

    Seit ca. 1,5 Monaten befindet sich nun auch ein Balkonkraftwerk auf dem Garagendach, welches fleißig seinen Dienst verrichtet.
    Daher habe ich regelmäßig Überschuss, welchen ich gerne Sinnvoll einsetzen möchte z.B. in dem ich bei ausreichend Überschuss bestimmte Verbraucher ein und ausschalte.
    Als ersten Verbraucher habe ich mir meine Teichpumpe vorgenommen. Diese soll nur laufen, wenn ich Überschuss habe.
    Die Teichpumpe verbraucht ca. 40W

    Somit war mein Plan wenn der Netzbezug dauerhaft länger als 10 Minuten kleiner als -60W ist die Pumpe einschalten.
    Und wenn der Netzbezug dauerhaft länger als 1 Minute größer als -10W ist wieder auszuschalten.

    Aktuell sieht mein blockly folgendermaßen aus:
    test.PNG

    Jedoch habe ich das Problem das bereits ein kleines Tal in dem der Netzbezug auf unter -60W ausreicht das die Pumpe 10 Minuten später angeht.
    Auch wenn nach zwei Minuten der Netzbezug gleich wieder Positiv wird läuft der Timer weiter.
    Ich möchte jedoch das der Timer abgelöscht wird, sobald der Netzbezug nicht mehr dauerhaft unter -60W ist.

    Beim Abschalten habe ich dann auch Probleme, da fängt dann die Regelung an zu „flattern“ und schaltet nicht nachvollziehbar aus und ein.
    Dieses Flattern passiert in jedoch viel kleineren Zeitabständen als die Verzögerungszeiten (teilweise alle paar Sekunden).
    Dies ist natürlich entsprechend schadhaft für die Hardware, und darf so nicht vorkommen.

    Ich gehe davon aus das bei mir etwas mit den Timern nicht stimmt.
    Wäre es machbar das jemand von euch über das blockly drüber schaut und mir meinen Fehler erklärt?
    Gibt es evtl. auch eine Möglichkeit den aktuellen Zeitwert des Timers zu beobachten?
    Das würde mir sicherlich auch schon mal ein ganzes Stück weiterhelfen bei der Fehlersuche.

    In Zukunft wäre noch geplant, dass wenn über einen gesamten Tag die Pumpe weniger als 60 Minuten gelaufen ist.
    Die Pumpe abends ab einer bestimmten Uhrzeit „zwangseinschalten“ wird, sodass sie dann noch mal mit Netzstrom läuft bis die 60 Minuten voll sind.
    Aber diese Aufgabe würde ich eher hinten anstellen, da sie für mich mehr Kühr als Pflicht ist.

    vielen Dank jetzt schon mal für eure Unterstützung!!

    P.S. Auf der Arbeit programmiere ich Maschinensteuerungen (üblicherweise Siemens SPS in z.B. FUP) und Industrieroboter für die Automatisierungstechnik.
    Von daher sind ein paar Programmiergrundlagen vorhanden sein,
    allerdings habe ich mittlerweile schon öfters gemerkt das in blockly anders „tickt“ als meine Industriemaschinen.

    Gruß
    Automatix2024

    paul53P rug1024R 2 Antworten Letzte Antwort
    0
    • A Automatix2024

      Hallo zusammen,

      Im September 2023 habe ich begonnen meinen ersten Raspi mit IOBrocker, InfluxDB und Grafana aufzusetzen.
      Angefangen hat das ganze mit dem Auslesen des Stromzählers via Tasmota und das anschließende Darstellen mit Grafana.
      Hier im Forum war ich schon länger unterwegs allerdings bis jetzt nur als „stiller Leser“, nun bin ich jedoch an einem Punkt angekommen,
      an dem ich nicht mehr allein durch Suchen weiterkomme.
      Daher bin ich jetzt hier ganz frisch angemeldet. :-)

      Seit ca. 1,5 Monaten befindet sich nun auch ein Balkonkraftwerk auf dem Garagendach, welches fleißig seinen Dienst verrichtet.
      Daher habe ich regelmäßig Überschuss, welchen ich gerne Sinnvoll einsetzen möchte z.B. in dem ich bei ausreichend Überschuss bestimmte Verbraucher ein und ausschalte.
      Als ersten Verbraucher habe ich mir meine Teichpumpe vorgenommen. Diese soll nur laufen, wenn ich Überschuss habe.
      Die Teichpumpe verbraucht ca. 40W

      Somit war mein Plan wenn der Netzbezug dauerhaft länger als 10 Minuten kleiner als -60W ist die Pumpe einschalten.
      Und wenn der Netzbezug dauerhaft länger als 1 Minute größer als -10W ist wieder auszuschalten.

      Aktuell sieht mein blockly folgendermaßen aus:
      test.PNG

      Jedoch habe ich das Problem das bereits ein kleines Tal in dem der Netzbezug auf unter -60W ausreicht das die Pumpe 10 Minuten später angeht.
      Auch wenn nach zwei Minuten der Netzbezug gleich wieder Positiv wird läuft der Timer weiter.
      Ich möchte jedoch das der Timer abgelöscht wird, sobald der Netzbezug nicht mehr dauerhaft unter -60W ist.

      Beim Abschalten habe ich dann auch Probleme, da fängt dann die Regelung an zu „flattern“ und schaltet nicht nachvollziehbar aus und ein.
      Dieses Flattern passiert in jedoch viel kleineren Zeitabständen als die Verzögerungszeiten (teilweise alle paar Sekunden).
      Dies ist natürlich entsprechend schadhaft für die Hardware, und darf so nicht vorkommen.

      Ich gehe davon aus das bei mir etwas mit den Timern nicht stimmt.
      Wäre es machbar das jemand von euch über das blockly drüber schaut und mir meinen Fehler erklärt?
      Gibt es evtl. auch eine Möglichkeit den aktuellen Zeitwert des Timers zu beobachten?
      Das würde mir sicherlich auch schon mal ein ganzes Stück weiterhelfen bei der Fehlersuche.

      In Zukunft wäre noch geplant, dass wenn über einen gesamten Tag die Pumpe weniger als 60 Minuten gelaufen ist.
      Die Pumpe abends ab einer bestimmten Uhrzeit „zwangseinschalten“ wird, sodass sie dann noch mal mit Netzstrom läuft bis die 60 Minuten voll sind.
      Aber diese Aufgabe würde ich eher hinten anstellen, da sie für mich mehr Kühr als Pflicht ist.

      vielen Dank jetzt schon mal für eure Unterstützung!!

      P.S. Auf der Arbeit programmiere ich Maschinensteuerungen (üblicherweise Siemens SPS in z.B. FUP) und Industrieroboter für die Automatisierungstechnik.
      Von daher sind ein paar Programmiergrundlagen vorhanden sein,
      allerdings habe ich mittlerweile schon öfters gemerkt das in blockly anders „tickt“ als meine Industriemaschinen.

      Gruß
      Automatix2024

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @automatix2024 sagte: Gibt es evtl. auch eine Möglichkeit den aktuellen Zeitwert des Timers zu beobachten?

      Nein.

      @automatix2024 sagte in Probleme mit Timeout:

      Ich gehe davon aus das bei mir etwas mit den Timern nicht stimmt.

      Ein funktionierendes Prinzip wurde schon öfter im Forum gezeigt.

      Blockly_temp.JPG

      Zur Erläuterung: Wichtig ist die Timer-Sperre, die verhindert, dass mehrere Timer gleichzeitig laufen, die sich dann nicht mehr stoppen lassen.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      A 1 Antwort Letzte Antwort
      1
      • paul53P paul53

        @automatix2024 sagte: Gibt es evtl. auch eine Möglichkeit den aktuellen Zeitwert des Timers zu beobachten?

        Nein.

        @automatix2024 sagte in Probleme mit Timeout:

        Ich gehe davon aus das bei mir etwas mit den Timern nicht stimmt.

        Ein funktionierendes Prinzip wurde schon öfter im Forum gezeigt.

        Blockly_temp.JPG

        Zur Erläuterung: Wichtig ist die Timer-Sperre, die verhindert, dass mehrere Timer gleichzeitig laufen, die sich dann nicht mehr stoppen lassen.

        A Offline
        A Offline
        Automatix2024
        schrieb am zuletzt editiert von
        #3

        @paul53 Vielen Dank für die schnelle Antwort!
        Ich habe es nach deinem Prinzip umgebaut und nun funktioniert es erstmal. :-)
        Was mir jedoch nicht ganz einleuchtet: ich musste den Vergleich invertieren, da bei meinem script die Logik genau invertiert war. Erwartest du bei dem von dir gezeigten Prinzip, dass die Variable „Bezug-Einspeisung“ Positiv oder Negativ bei Einspeisung ist?

        paul53P 1 Antwort Letzte Antwort
        0
        • A Automatix2024

          @paul53 Vielen Dank für die schnelle Antwort!
          Ich habe es nach deinem Prinzip umgebaut und nun funktioniert es erstmal. :-)
          Was mir jedoch nicht ganz einleuchtet: ich musste den Vergleich invertieren, da bei meinem script die Logik genau invertiert war. Erwartest du bei dem von dir gezeigten Prinzip, dass die Variable „Bezug-Einspeisung“ Positiv oder Negativ bei Einspeisung ist?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @automatix2024 sagte: dass die Variable „Bezug-Einspeisung“ Positiv oder Negativ bei Einspeisung ist?

          Positiv bei Bezug und negativ bei Einspeisung. Deshalb wird der Wert für ueberschuss invertiert.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          A 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @automatix2024 sagte: dass die Variable „Bezug-Einspeisung“ Positiv oder Negativ bei Einspeisung ist?

            Positiv bei Bezug und negativ bei Einspeisung. Deshalb wird der Wert für ueberschuss invertiert.

            A Offline
            A Offline
            Automatix2024
            schrieb am zuletzt editiert von
            #5

            @paul53 Ok, stimmt das man Sinn. Vielen Dank für deine Unterstützung!

            gab es hier schon mal etwas passendes blockly für die Funktion Zwangseinschaltung?
            Also sozusagen ein Tages-Betriebsstundenzähler und wenn dieser unter einer festgelegten Dauer ist,
            Wir für "festgelegte Dauer" - "Betriebsstunden" eingeschaltet.

            paul53P 1 Antwort Letzte Antwort
            0
            • A Automatix2024

              @paul53 Ok, stimmt das man Sinn. Vielen Dank für deine Unterstützung!

              gab es hier schon mal etwas passendes blockly für die Funktion Zwangseinschaltung?
              Also sozusagen ein Tages-Betriebsstundenzähler und wenn dieser unter einer festgelegten Dauer ist,
              Wir für "festgelegte Dauer" - "Betriebsstunden" eingeschaltet.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @automatix2024 sagte: für "festgelegte Dauer" - "Betriebsstunden" eingeschaltet.

              Blockly_temp.JPG

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              A 1 Antwort Letzte Antwort
              1
              • A Automatix2024

                Hallo zusammen,

                Im September 2023 habe ich begonnen meinen ersten Raspi mit IOBrocker, InfluxDB und Grafana aufzusetzen.
                Angefangen hat das ganze mit dem Auslesen des Stromzählers via Tasmota und das anschließende Darstellen mit Grafana.
                Hier im Forum war ich schon länger unterwegs allerdings bis jetzt nur als „stiller Leser“, nun bin ich jedoch an einem Punkt angekommen,
                an dem ich nicht mehr allein durch Suchen weiterkomme.
                Daher bin ich jetzt hier ganz frisch angemeldet. :-)

                Seit ca. 1,5 Monaten befindet sich nun auch ein Balkonkraftwerk auf dem Garagendach, welches fleißig seinen Dienst verrichtet.
                Daher habe ich regelmäßig Überschuss, welchen ich gerne Sinnvoll einsetzen möchte z.B. in dem ich bei ausreichend Überschuss bestimmte Verbraucher ein und ausschalte.
                Als ersten Verbraucher habe ich mir meine Teichpumpe vorgenommen. Diese soll nur laufen, wenn ich Überschuss habe.
                Die Teichpumpe verbraucht ca. 40W

                Somit war mein Plan wenn der Netzbezug dauerhaft länger als 10 Minuten kleiner als -60W ist die Pumpe einschalten.
                Und wenn der Netzbezug dauerhaft länger als 1 Minute größer als -10W ist wieder auszuschalten.

                Aktuell sieht mein blockly folgendermaßen aus:
                test.PNG

                Jedoch habe ich das Problem das bereits ein kleines Tal in dem der Netzbezug auf unter -60W ausreicht das die Pumpe 10 Minuten später angeht.
                Auch wenn nach zwei Minuten der Netzbezug gleich wieder Positiv wird läuft der Timer weiter.
                Ich möchte jedoch das der Timer abgelöscht wird, sobald der Netzbezug nicht mehr dauerhaft unter -60W ist.

                Beim Abschalten habe ich dann auch Probleme, da fängt dann die Regelung an zu „flattern“ und schaltet nicht nachvollziehbar aus und ein.
                Dieses Flattern passiert in jedoch viel kleineren Zeitabständen als die Verzögerungszeiten (teilweise alle paar Sekunden).
                Dies ist natürlich entsprechend schadhaft für die Hardware, und darf so nicht vorkommen.

                Ich gehe davon aus das bei mir etwas mit den Timern nicht stimmt.
                Wäre es machbar das jemand von euch über das blockly drüber schaut und mir meinen Fehler erklärt?
                Gibt es evtl. auch eine Möglichkeit den aktuellen Zeitwert des Timers zu beobachten?
                Das würde mir sicherlich auch schon mal ein ganzes Stück weiterhelfen bei der Fehlersuche.

                In Zukunft wäre noch geplant, dass wenn über einen gesamten Tag die Pumpe weniger als 60 Minuten gelaufen ist.
                Die Pumpe abends ab einer bestimmten Uhrzeit „zwangseinschalten“ wird, sodass sie dann noch mal mit Netzstrom läuft bis die 60 Minuten voll sind.
                Aber diese Aufgabe würde ich eher hinten anstellen, da sie für mich mehr Kühr als Pflicht ist.

                vielen Dank jetzt schon mal für eure Unterstützung!!

                P.S. Auf der Arbeit programmiere ich Maschinensteuerungen (üblicherweise Siemens SPS in z.B. FUP) und Industrieroboter für die Automatisierungstechnik.
                Von daher sind ein paar Programmiergrundlagen vorhanden sein,
                allerdings habe ich mittlerweile schon öfters gemerkt das in blockly anders „tickt“ als meine Industriemaschinen.

                Gruß
                Automatix2024

                rug1024R Offline
                rug1024R Offline
                rug1024
                schrieb am zuletzt editiert von Homoran
                #7

                @automatix2024
                Willkommen im Forum und in der Welt der Automatisierung! Blockly-Scripte erstellen macht einfach Spaß und wenn es dann hinterher auch mal funktioniert umso mehr.
                Deine Frage zum PV-Script wurde schon beantwortet, ich selber könnte dazu auch nicht viel sagen, bei uns läuft im Sommer die Pool-Pumpe und die Klimaanlage halt so wie es benötigt wird, auch wenn die PV mal nicht so viel abwirft.
                Wir haben in der Wohnung ein LED-Matrix Display (MAX7919 @ ESP32S2) welches immer gut sichtbar die aktuelle PV-Leistung anzeigt, so kann die Frau selber abschätzen ob es sich gerade lohnt die Wasch- oder Spülmaschine anzuwerfen :-D

                Zum Raspi: damit habe ich auch angefangen, ist aber irgendwann dann doch nicht mehr so der Hit (Speicher auf SD und somit ausfallgefährdet, gefrickel mit SSD, langsam weil wenig Leistung), etc.
                Wenn Du upgraden willst (was Du irgendwann sowieso wirst ;-) ) empfehle ich einen NUC mit Proxmox als System (ioBroker läuft darauf als Container). Alternativ zum NUC nehmen viele auch sowas in der Art: (https://gebrauchte-technik.de/Dell-OptiPlex-3050-micro-PC-i5-6500T-8GB-256GB-Desktop-hervorragend/M012543). Diese refurbished Thin-Clients übertreffen die Leistung eines Raspi um das vielfache und verbrauchen oft kaum mehr Strom. Mit Proxmox als Virtualsierung kannst Du tägliche Backups deines ioBroker machen und wegspeichern, z.B. auf ein NAS. Denn mit der Zeit wächst der ioBroker und wird somit unentbehrlich. Ein Ausfall wird dann umso schmerzhafter.

                A 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @automatix2024 sagte: für "festgelegte Dauer" - "Betriebsstunden" eingeschaltet.

                  Blockly_temp.JPG

                  A Offline
                  A Offline
                  Automatix2024
                  schrieb am zuletzt editiert von
                  #8

                  @paul53
                  Vielen Dank für das blockly, das werde ich gleich die nächsten Tage mal ausprobieren:+1: und dann berichten....

                  1 Antwort Letzte Antwort
                  0
                  • rug1024R rug1024

                    @automatix2024
                    Willkommen im Forum und in der Welt der Automatisierung! Blockly-Scripte erstellen macht einfach Spaß und wenn es dann hinterher auch mal funktioniert umso mehr.
                    Deine Frage zum PV-Script wurde schon beantwortet, ich selber könnte dazu auch nicht viel sagen, bei uns läuft im Sommer die Pool-Pumpe und die Klimaanlage halt so wie es benötigt wird, auch wenn die PV mal nicht so viel abwirft.
                    Wir haben in der Wohnung ein LED-Matrix Display (MAX7919 @ ESP32S2) welches immer gut sichtbar die aktuelle PV-Leistung anzeigt, so kann die Frau selber abschätzen ob es sich gerade lohnt die Wasch- oder Spülmaschine anzuwerfen :-D

                    Zum Raspi: damit habe ich auch angefangen, ist aber irgendwann dann doch nicht mehr so der Hit (Speicher auf SD und somit ausfallgefährdet, gefrickel mit SSD, langsam weil wenig Leistung), etc.
                    Wenn Du upgraden willst (was Du irgendwann sowieso wirst ;-) ) empfehle ich einen NUC mit Proxmox als System (ioBroker läuft darauf als Container). Alternativ zum NUC nehmen viele auch sowas in der Art: (https://gebrauchte-technik.de/Dell-OptiPlex-3050-micro-PC-i5-6500T-8GB-256GB-Desktop-hervorragend/M012543). Diese refurbished Thin-Clients übertreffen die Leistung eines Raspi um das vielfache und verbrauchen oft kaum mehr Strom. Mit Proxmox als Virtualsierung kannst Du tägliche Backups deines ioBroker machen und wegspeichern, z.B. auf ein NAS. Denn mit der Zeit wächst der ioBroker und wird somit unentbehrlich. Ein Ausfall wird dann umso schmerzhafter.

                    A Offline
                    A Offline
                    Automatix2024
                    schrieb am zuletzt editiert von
                    #9

                    @rug1024
                    früher ging bei mir die teichpumpe einfach über ein Zeitschaltuhr alle Stunde für eine halbe Stunde an.
                    Den Tieren ist es im Teich vermutlich sowieso egal, wann sie ein und ausgeschaltet wird - Hauptsache sie haben genug Sauerstoff :grin:
                    An sich bin ich mit der Lösung über den PV Überschuss ganz zufrieden, denn je mehr die Sonne scheint umso mehr Sauerstoff braucht der Teich.

                    Das das Thema Haus Automatisierung (und vor allen dingen das Thema PV) süchtig macht, habe ich bereits nach kurzer Zeit festgestellt, leider fehlt es mir hierfür vor allen Dingen an der notwendigen Zeit.... :see_no_evil:

                    Mit dem Raspi muss ich gestehen, dass ich auch nicht 100% zufrieden bin.
                    Denn meine InfluxDB war bereits nach kurzer Zeit auf über 22GB angeschwollen, sodass es meine SD-Karte im Raspi lahmgelegt hat. Aktuell ist die InfluxDB provisorisch auf einen großen USB-Stick ausgelagert, damit das System überhaupt wieder läuft.

                    Wie ich es in Zukunft mache, weiß ich noch nicht.
                    Evtl eine externe SSD an den Raspi oder gleich einen Thin-Client.
                    Vom Thin-Client hält mich eigentlich der deutlich höhere Stromverbrauch ab....

                    Am schönsten wäre natürlich wenn ich das Problem der angeschwollenen InflluxDB finden würde.
                    Aber das wäre hier Offtopic

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


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    536

                    Online

                    32.7k

                    Benutzer

                    82.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