Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Funktionsweise Trigger in Blockly

    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

    [gelöst] Funktionsweise Trigger in Blockly

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sol21 last edited by

      Hallo zusammen

      irgendwie bringe ich meine Trigger jeweils zum laufen, bin mir aber nie sicher ob ich sie richtig einsetze.

      Konkret:

      • Was ist der Unterschied von "wurde geändert" und "wurde aktualisiert"

      • Wozu ist "anerkannt ist egal/Update/Kommando"

      Via Forensuche finde ich zwar einige Beiträge, da funktioniert meistens etwas nicht und dann ist die Lösung den Wert umzustellen aber richtig sauber erklärt weshalb wird es meist nicht. (oder ich habe es noch nicht gefunden…). Ebenfalls in der Anleitung sind die obigen Punkte nicht genauer erklärt.

      Besten Dank also wenn mir jemand diese Grundlage mal erklären könnte.

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Ich versuche es mal.

        Wurde geändert: der Wert des States hat sich geändert 😉

        wurde aktualisiert: ein neues Datentelegramm ist angekommen, der Wert hat sich geändert oder nicht.

        Anerkannt bezieht sich auf den ack flag, zu erkennen an der Farbe des Wertes unter Objekte. Meistens nimmt man egal, was die anderen beiden exakt bedeuten weiß ich auch nicht.

        Gruß Rainer

        1 Reply Last reply Reply Quote 0
        • S
          sol21 last edited by

          @Homoran:

          wurde aktualisiert: ein neues Datentelegramm ist angekommen, der Wert hat sich geändert oder nicht. `
          ich nehme an das "Datentelegramm" ist ein Mechanismus im Hintergrund. Wie häufig werde denn solche gesendet?

          Ich überlege mir grade, ob es dann nicht besser wäre auf "wurde aktualisiert" zu triggern? Vorteil: man könnte kein Ereignis verpassen (wegen irgendeiner Systemstörung) da das Programm beim nächsten Update wieder Schritt fassen würde. Allerdings würde somit das Programm immer wieder abgearbeitet und wenn diese Aktualisierungen schnell kommen zu einer hohen Systemauslastung führen?

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            @sol21:

            ich nehme an das "Datentelegramm" ist ein Mechanismus im Hintergrund. `
            Ähm, ja!

            Die Geräte/Programme senden irgendwann ihren Status das kann je nach Gerät sekündlich oder alle 24h sein. Kommt drauf an was du für Geräte hast und wie die konfiguriert sind, u d auf was du triggerst.

            Gruß Rainer

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators last edited by

              @sol21:

              @Homoran:

              Ich überlege mir grade, ob es dann nicht besser wäre auf "wurde aktualisiert" zu triggern? Vorteil: man könnte kein Ereignis verpassen (wegen irgendeiner Systemstörung) da das Programm beim nächsten Update wieder Schritt fassen würde. Allerdings würde somit das Programm immer wieder abgearbeitet und wenn diese Aktualisierungen schnell kommen zu einer hohen Systemauslastung führen?

              Das sieht du so schon richtig kommt halt drauf an auf was für Datenströme du triggerst. Ich habe mehrere solche scripte verbaut und eigentlich kein Problem mit Auslastung.

              Größtes Problem wird meist das unnötige feuern von Befehlen zB zur Homematic wodurch der duty cycle gesprengt wird.

              Kommt also auch auf die Situation an was du mit dem Script machen möchtest

              –-----------------------

              Send from mobile device

              1 Reply Last reply Reply Quote 0
              • rantanplan
                rantanplan last edited by

                @sol21:

                Ich überlege mir grade, ob es dann nicht besser wäre auf "wurde aktualisiert" zu triggern? Vorteil: man könnte kein Ereignis verpassen (wegen irgendeiner Systemstörung) da das Programm beim nächsten Update wieder Schritt fassen würde. Allerdings würde somit das Programm immer wieder abgearbeitet und wenn diese Aktualisierungen schnell kommen zu einer hohen Systemauslastung führen? `

                Je mehr Aktoren desto mehr Aktualisierungen.

                Immer auf "wurde aktualisiert" reagieren macht nicht viel Sinn.

                Du rennst ja auch nicht jede Minute zur Tür um nachzuschauen das keiner geklingelt hat 😉

                Auf "wurde aktualisiert" zu triggern macht nur manchmal Sinn.

                Z.B. Bei manchen Tastern oder Bewegungsmelder.

                Da gibt es welche die ihren Status "true" nicht wieder ändern sondern nur aktualisieren.

                Grüße

                1 Reply Last reply Reply Quote 0
                • S
                  sol21 last edited by

                  Danke allen für die Antworten!

                  Ich werde es also in Zukunft so handhaben:

                  • im Normalfall "wurde geändert" (besser, Ressourcen-schonender)

                  • wenn dies nicht geht (da Status bei "speziellen" Schaltern o. Meldern nur aktualisiert wird) auf "wurde aktualisiert"

                  Gruss

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    Nicht ganz.

                    Das ist schon besser, aber richtig ressourcenschonend wir des wenn du zusätzlich vor der Ausführung (sofern es sich um die Ansteuerung von Funkkomponenten handelt) erst einmal überprüfst ob eine Aktion überhaupt notwendig ist, oder ob sich das Gerät bereits in dem gewünschten zustand befindet.

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • BigWumpus
                      BigWumpus last edited by

                      Puuh, das ist schwer zu erklären, aber …

                      Ich habe z.B. eine Dimmer-Fernbedienung (Philips Hue). Wenn ich eine Taste drücke, wird ein fester Zahlencode gemeldet, den ich verarbeite. Wird eine Taste festgehalten, wird ein (anderer) fester Zahlencode alle x ms gesendet, den ich verarbeiten muß.

                      Dafür brauche ich "wurde aktualisiert", weil sich der Zhalencode nicht ändert, aber immer neu übertragen wird.

                      Ich habe ein Zimmer mit mehreren Schaltern/Lichtern/etc.

                      Es gibt einen Script, der schaltet in dem Zimmer alles aus, also setzt alle Datenpunkte für Lichter/Schalter/etc. auf "false" oder 0.

                      Daran hängen dann Scripte, die die Geräte schalten. Bei Funk-Verbindungen kenne ich den Schaltzustand des Gerätes nicht, da will ich immer AUS senden, da benötige ich "wurde aktualisiert".

                      Bei WLAN- oder ZigBee-Steckdosen kenne ich den Schaltzustand (die melden zurück!) und brauche nur bei Änderungen senden "wurde geändert".

                      Man kann so einen ioBroker auch überlasten, wenn man da zuviel "wurde aktualisiert" verwendet.

                      (Beispiel: Alexa, Licht an -> WLAN-Befehl an Schalter "ON", der meldet "ON" zurück, was als aktualisierter Status "ON" gespeichert wird. Der aktualisierte Status wird dem Zustands-Datenpunkt "Licht an" zugewiesen, weil man ja auch ein manuelles Schalten des Lichtschalters nachhalten will, und der Script hat wieder ein "wurde aktualisiert"-Ereignis... das eskaliert sehr schnell und sollte wohl überdacht sein.

                      Ich habe da meine eigenen Fehler gelernt...

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

                        Das Thema ist schon etwas älter, aber die Erklärung für "anerkannt ist Update und Befehl" , kann ich die trotzdem irgendwo finden?

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @haselchen last edited by

                          @haselchen sagte:

                          Erklärung für "anerkannt ist Update und Befehl" , kann ich die trotzdem irgendwo finden?

                          Siehe unter Befehle und Status (Status = Update).

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          445
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          7
                          11
                          7425
                          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