Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Status über längeren Zeitraum prüfen - wie setze ich das um?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    305

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    281

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    919

Status über längeren Zeitraum prüfen - wie setze ich das um?

Geplant Angeheftet Gesperrt Verschoben Blockly
7 Beiträge 4 Kommentatoren 567 Aufrufe 3 Beobachtet
  • Ä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.
  • M Offline
    M Offline
    mymomo
    schrieb am zuletzt editiert von
    #1

    Moin!

    Ich benötige mal einen Denkanstoß und vermutlich auch ein wenig Hilfe bei der Umsetzung zu folgender Aufgabe:

    Ich habe einen 3D-Drucker im Keller. Er ist also außer Hör- und Sichtweite. An den Druckkopf möchte ich einen Xiaomi Erschütterungssensor verbauen.

    Jetzt möchte ich regelmäßig prüfen lassen, ob sich der Drucker noch bewegt.
    Ich möchte nun 2 "Prüfschleifen" realisieren.
    Die erste Schleife soll nach der ersten Erschütterung gestartet. Jetzt soll über zB 10 Minuten hinweg geprüft werden, ob es weiterhin Erschütterungen gibt (eventuell habe ich nur kurz etwas daran gemacht).
    a) nein = stoppe alle weiteren Prüfungen
    b) ja = mache das gleiche wie die erste Schleife. Wenn hier nun aber irgendwann auch keine Bewegung mehr stattfindet, dann soll zB irgendwo eine Lampe angehen oder sowas.

    Wie kann ich sowas umsetzen?

    mickymM HomoranH 2 Antworten Letzte Antwort
    0
    • M mymomo

      Moin!

      Ich benötige mal einen Denkanstoß und vermutlich auch ein wenig Hilfe bei der Umsetzung zu folgender Aufgabe:

      Ich habe einen 3D-Drucker im Keller. Er ist also außer Hör- und Sichtweite. An den Druckkopf möchte ich einen Xiaomi Erschütterungssensor verbauen.

      Jetzt möchte ich regelmäßig prüfen lassen, ob sich der Drucker noch bewegt.
      Ich möchte nun 2 "Prüfschleifen" realisieren.
      Die erste Schleife soll nach der ersten Erschütterung gestartet. Jetzt soll über zB 10 Minuten hinweg geprüft werden, ob es weiterhin Erschütterungen gibt (eventuell habe ich nur kurz etwas daran gemacht).
      a) nein = stoppe alle weiteren Prüfungen
      b) ja = mache das gleiche wie die erste Schleife. Wenn hier nun aber irgendwann auch keine Bewegung mehr stattfindet, dann soll zB irgendwo eine Lampe angehen oder sowas.

      Wie kann ich sowas umsetzen?

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      @mymomo Ich kann Dir nur raten, Dich gedanklich von "Schleifen" komplett zu lösen und nur noch in Triggern zu denken. Ich arbeite zwar nicht mit Blockly - aber im Prinzip ist die Logik immer gleich, egal mit welcher Logikmaschine Du es umsetzt.

      Erschütterung = Trigger macht was und startet Timer mit 10 Minuten oder setzt vorhanden Timer wieder auf 10 Minuten.
      Timer abgelaufen, Lampe an.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      M 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @mymomo Ich kann Dir nur raten, Dich gedanklich von "Schleifen" komplett zu lösen und nur noch in Triggern zu denken. Ich arbeite zwar nicht mit Blockly - aber im Prinzip ist die Logik immer gleich, egal mit welcher Logikmaschine Du es umsetzt.

        Erschütterung = Trigger macht was und startet Timer mit 10 Minuten oder setzt vorhanden Timer wieder auf 10 Minuten.
        Timer abgelaufen, Lampe an.

        M Offline
        M Offline
        mymomo
        schrieb am zuletzt editiert von mymomo
        #3

        @mickym
        hey!
        danke für den Hinweis.
        okay, mit Timeouts habe ich schon gearbeitet.

        ich weiß jedoch nicht wie ich diese Verschachtelung bauen kann.
        ist es erlaubt einfach "nichts" als Befehl zurück zu geben?

        die ersten 10 Minuten nach der ersten Erschütterung sollen ja erst mal nicht weiter beachtet werden. vielleicht reinige ich den Drucker ja nur oder mach neues Material in den Drucker.
        heißt: ich prüfe ob "Erschütterung = wahr" und dann verlangt die Logik ja nach "mach das und das". Aber er soll ja einfach nix machen. Könnte ich einfach gar nichts eintragen und nur bei "falsch" den Befehl zum Abbruch hinterlegen?
        wenn er mir innerhalb der ersten 10 Minuten ein "falsch" zurück gibt, dann soll einfach nur alles abgebrochen werden und KEINE Lampe angehen.

        erst wenn er länger als 10 Minuten immer wieder den Status "Erschütterung = wahr" zurück gibt soll der Timeout einfach in die nächste Runde gehen. Erst wenn er mir dann irgendwann auf "falsch" springt soll zB eine Lampe anmachen.

        HomoranH mickymM 2 Antworten Letzte Antwort
        0
        • M mymomo

          @mickym
          hey!
          danke für den Hinweis.
          okay, mit Timeouts habe ich schon gearbeitet.

          ich weiß jedoch nicht wie ich diese Verschachtelung bauen kann.
          ist es erlaubt einfach "nichts" als Befehl zurück zu geben?

          die ersten 10 Minuten nach der ersten Erschütterung sollen ja erst mal nicht weiter beachtet werden. vielleicht reinige ich den Drucker ja nur oder mach neues Material in den Drucker.
          heißt: ich prüfe ob "Erschütterung = wahr" und dann verlangt die Logik ja nach "mach das und das". Aber er soll ja einfach nix machen. Könnte ich einfach gar nichts eintragen und nur bei "falsch" den Befehl zum Abbruch hinterlegen?
          wenn er mir innerhalb der ersten 10 Minuten ein "falsch" zurück gibt, dann soll einfach nur alles abgebrochen werden und KEINE Lampe angehen.

          erst wenn er länger als 10 Minuten immer wieder den Status "Erschütterung = wahr" zurück gibt soll der Timeout einfach in die nächste Runde gehen. Erst wenn er mir dann irgendwann auf "falsch" springt soll zB eine Lampe anmachen.

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          @mymomo nimm die Erschütterung als Trigger und prüfe dann auf die Differenz der Timestamps

          kein Support per PN! - Fragen im Forum stellen -
          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Muchul
            schrieb am zuletzt editiert von
            #5

            Wie lange hält die Batterie, wenn der sensor Stundenlang sendet?
            Würde es nicht mehr Sinn machen den Stromverbrauch zu überwachen?

            1 Antwort Letzte Antwort
            0
            • M mymomo

              @mickym
              hey!
              danke für den Hinweis.
              okay, mit Timeouts habe ich schon gearbeitet.

              ich weiß jedoch nicht wie ich diese Verschachtelung bauen kann.
              ist es erlaubt einfach "nichts" als Befehl zurück zu geben?

              die ersten 10 Minuten nach der ersten Erschütterung sollen ja erst mal nicht weiter beachtet werden. vielleicht reinige ich den Drucker ja nur oder mach neues Material in den Drucker.
              heißt: ich prüfe ob "Erschütterung = wahr" und dann verlangt die Logik ja nach "mach das und das". Aber er soll ja einfach nix machen. Könnte ich einfach gar nichts eintragen und nur bei "falsch" den Befehl zum Abbruch hinterlegen?
              wenn er mir innerhalb der ersten 10 Minuten ein "falsch" zurück gibt, dann soll einfach nur alles abgebrochen werden und KEINE Lampe angehen.

              erst wenn er länger als 10 Minuten immer wieder den Status "Erschütterung = wahr" zurück gibt soll der Timeout einfach in die nächste Runde gehen. Erst wenn er mir dann irgendwann auf "falsch" springt soll zB eine Lampe anmachen.

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #6

              @mymomo sagte in Status über längeren Zeitraum prüfen - wie setze ich das um?:

              heißt: ich prüfe ob "Erschütterung = wahr" und dann verlangt die Logik ja nach "mach das und das". Aber er soll ja einfach nix machen. Könnte ich einfach gar nichts eintragen und nur bei "falsch" den Befehl zum Abbruch hinterlegen?
              wenn er mir innerhalb der ersten 10 Minuten ein "falsch" zurück gibt, dann soll einfach nur alles abgebrochen werden und KEINE Lampe angehen.

              Du könntest doch einfach mit einem eigenen DP arbeiten. Sprich beim Triggern setzt Du in einem 1. Blockly einen Datenpunkt sagen wir mal Timer läuft auf true. Der Timer setzt ihn nach Ablauf auf false zurück.

              In einem 2. Blockly triggerst Du wieder auf Erschütterung und kannst dann ja entscheiden, ob Du was machst oder nicht solange der Timer Datenpunkt auf true steht.

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Antwort Letzte Antwort
              0
              • M mymomo

                Moin!

                Ich benötige mal einen Denkanstoß und vermutlich auch ein wenig Hilfe bei der Umsetzung zu folgender Aufgabe:

                Ich habe einen 3D-Drucker im Keller. Er ist also außer Hör- und Sichtweite. An den Druckkopf möchte ich einen Xiaomi Erschütterungssensor verbauen.

                Jetzt möchte ich regelmäßig prüfen lassen, ob sich der Drucker noch bewegt.
                Ich möchte nun 2 "Prüfschleifen" realisieren.
                Die erste Schleife soll nach der ersten Erschütterung gestartet. Jetzt soll über zB 10 Minuten hinweg geprüft werden, ob es weiterhin Erschütterungen gibt (eventuell habe ich nur kurz etwas daran gemacht).
                a) nein = stoppe alle weiteren Prüfungen
                b) ja = mache das gleiche wie die erste Schleife. Wenn hier nun aber irgendwann auch keine Bewegung mehr stattfindet, dann soll zB irgendwo eine Lampe angehen oder sowas.

                Wie kann ich sowas umsetzen?

                HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #7

                @mymomo sagte in Status über längeren Zeitraum prüfen - wie setze ich das um?:

                An den Druckkopf möchte ich einen Xiaomi Erschütterungssensor verbauen.

                Ich weiß sowieso nicht, ob das eine gute Idee ist, oder ob der Sensor nicht die Präzision des Druckkopfs stören wird.

                Außerdem ist die Frage
                @muchul sagte in Status über längeren Zeitraum prüfen - wie setze ich das um?:

                Wie lange hält die Batterie, wenn der sensor Stundenlang sendet?

                vollkommen berechtigt, da der Sensor während des Betriebes wahrscheinlich dauersenden wird.

                Wozu willst du das ganze eigentlich umsetzen?

                Im Prinzip kann man das alles hinterfragen:

                • Willst du erfahren, ob der Drucker fertig ist?
                  • Wenn ja, zu welchem Zweck?
                    • Hast du so viel zu drucken, dass es auf die Minute ankommt, um das nächste Teil zu starten?
                  • wenn Nein, warum brauchst du die Info überhaupt?

                Wenn es dann "unbedingt" sein muss, würde ich da wohl auch eher über eine Leistungsmessung arbeiten

                kein Support per PN! - Fragen im Forum stellen -
                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                566

                Online

                32.8k

                Benutzer

                82.8k

                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