Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] Scripte die mehrfach auslösen und Objekte

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    615

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

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

[gelöst] Scripte die mehrfach auslösen und Objekte

Scheduled Pinned Locked Moved Blockly
blocklycommunication
8 Posts 4 Posters 858 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    Azrael
    wrote on last edited by Azrael
    #1

    Scripte die mehrfach auslösen und Objektaktualisierung

    Guten Abend zusammen,

    ich habe gleich mehrere Probleme mit selbstgebauten Blocky Scripten welche mehrfach auslösen.
    Ich bin kein Programmierer, daher würde ich mich über Hilfe freuen und vielleicht auch über die Erklärung was ich falsch gemacht habe. Ich würde mir das gern weiter beibringen und aus meinen Fehler lernen :-).
    Die beiden Scripte lösen die Telegram Nachrichten mehrfach aus. Das Anwesenheitsscript bringt mir die Telegram Nachricht im Schnitt 4x.
    Das Script an der SP111 weckte mich letzte Nacht bei über 900 Nachrichten in Unter einer Minute …

    SP111_11 Mehrfach Meldungen.png

    Anwesenheit Mehrfach.png

    Bei meinen Recherchen fiel mir nun auf das Teilweise die Objekte im IOBroker nicht Zeitnah aktualisiert werden. Am Beispiel der SP111_11 ist mir aufgefallen das Tasmota bereits 0 Watt meldet, in den Ereignissen beim IOBroker auch die Nachrichten mit der Meldung via MQTT eingehen. Das entsprechende Objekt aber weiterhin bei 25 Watt stand. Erst nach über einer Minute wurde das Objekt dann aktualisiert.

    Kann mir hier vielleicht jemand einen Tipp geben was hier falsch läuft?
    Lt HTOP auf dem RPi (Raspberry Pi 4 mit 4 GB) ist die CPU im Schnitt bei < 10% Auslastung auf allen Kernen und der RAM ist zu ca. 25% verwendet.

    Vielen Dank und viele Grüße
    Alex

    AsgothianA 1 Reply Last reply
    0
    • -Alex- 0- Offline
      -Alex- 0- Offline
      -Alex- 0
      wrote on last edited by
      #2

      ok, die lösen mehrfach aus.. sieht man, aber was willst Du denn eigentlich ursprünglich?
      ich verstehe die Verwendung und Zweck deiner mehreren Trigger nicht.
      Also beim ersten sagste,
      wenn Power Knopf an oder aus dann soll wenn Wert wahr(wo initialisiert?)
      wieder trigger hat sich power an/aus dann wenn wert keiner gelich 8 und vorheriger wert grösser 8
      dann ist sp11 abgeschaltet?
      das untere auch keine Ahnung warum denn zwei Trigger?
      für was?
      Schreibe bitte einfach was das Ergebnis sein soll, dann kann ich Dir sagen, wie das Blockly auszusehen hat.

      1 Reply Last reply
      0
      • A Azrael

        Scripte die mehrfach auslösen und Objektaktualisierung

        Guten Abend zusammen,

        ich habe gleich mehrere Probleme mit selbstgebauten Blocky Scripten welche mehrfach auslösen.
        Ich bin kein Programmierer, daher würde ich mich über Hilfe freuen und vielleicht auch über die Erklärung was ich falsch gemacht habe. Ich würde mir das gern weiter beibringen und aus meinen Fehler lernen :-).
        Die beiden Scripte lösen die Telegram Nachrichten mehrfach aus. Das Anwesenheitsscript bringt mir die Telegram Nachricht im Schnitt 4x.
        Das Script an der SP111 weckte mich letzte Nacht bei über 900 Nachrichten in Unter einer Minute …

        SP111_11 Mehrfach Meldungen.png

        Anwesenheit Mehrfach.png

        Bei meinen Recherchen fiel mir nun auf das Teilweise die Objekte im IOBroker nicht Zeitnah aktualisiert werden. Am Beispiel der SP111_11 ist mir aufgefallen das Tasmota bereits 0 Watt meldet, in den Ereignissen beim IOBroker auch die Nachrichten mit der Meldung via MQTT eingehen. Das entsprechende Objekt aber weiterhin bei 25 Watt stand. Erst nach über einer Minute wurde das Objekt dann aktualisiert.

        Kann mir hier vielleicht jemand einen Tipp geben was hier falsch läuft?
        Lt HTOP auf dem RPi (Raspberry Pi 4 mit 4 GB) ist die CPU im Schnitt bei < 10% Auslastung auf allen Kernen und der RAM ist zu ca. 25% verwendet.

        Vielen Dank und viele Grüße
        Alex

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        wrote on last edited by
        #3

        @Azrael
        Dinge die falsch sind:

        • trigger im trigger - das geht nie gut
        • timeout im trigger ohne Schutz vor mehrfachstart - der läuft öfter
        • trigger auf aktualisiert ohne und mit Bestätigung - auch die kommen meist zu oft.

        Ansonsten muss ich @Alex-0 zustimmen: beschreib mal was das tun soll, sonst wird das nichts.

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        J 1 Reply Last reply
        0
        • AsgothianA Asgothian

          @Azrael
          Dinge die falsch sind:

          • trigger im trigger - das geht nie gut
          • timeout im trigger ohne Schutz vor mehrfachstart - der läuft öfter
          • trigger auf aktualisiert ohne und mit Bestätigung - auch die kommen meist zu oft.

          Ansonsten muss ich @Alex-0 zustimmen: beschreib mal was das tun soll, sonst wird das nichts.

          A.

          J Offline
          J Offline
          Jan1
          wrote on last edited by
          #4

          @Asgothian
          Eins hast noch vergessen:blush:
          Mit ner Funktion zu arbeiten macht nur Sinn, wenn man die auch mehrfach verwendet, ansonsten sorgt die nur für Unübersichtlichkeit und mehr unnötigen Code.

          1 Reply Last reply
          0
          • A Offline
            A Offline
            Azrael
            wrote on last edited by
            #5

            Hallo alle zusammen,

            vielen Dank soweit. Ich habe da glaube ich einen Denkfehler gehabt.
            Ich dachte ich muss erstmal die ganze Aufgabe Triggern bevor der Wert (8 Watt) geprüft wird.
            Daher dachte ich die Prüfung auf 8 Watt geschieht so nur wenn die Steckdose eingeschaltet ist.
            Die Funktion habe ich genommen um ggf. später mehrere Steckdosen für eine ähnliche Arbeitsweise in einem Script zusammen zu fassen.

            Ziel ist eigentlich einfach nur:

            Bild 1:
            Falls die Steckdose eingeschaltet und die Wattzahl unter 8 Watt liegt schalte die Steckdose ab.

            Bild 2:
            Sobald die Handy von meiner Freundin und mir länger wie 10 Minuten aus dem Haus sind schalte bestimmte Dinge ab. Hier ist das Telegram eben aktuell nur zum testen da.

            Gruß
            Alex

            1 Reply Last reply
            0
            • -Alex- 0- Offline
              -Alex- 0- Offline
              -Alex- 0
              wrote on last edited by
              #6

              @Azrael
              ah ok, alles klar also zu block 1:
              einfach deine Objekte noch auswählen.

              Code:

              <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="?CTt[QE~-^5Fn*]Yk!|~" x="-212.2658705966163" y="-562">
                <mutation items="1"></mutation>
                <field name="CONDITION">ne</field>
                <field name="ACK_CONDITION"></field>
                <value name="OID0">
                  <shadow type="field_oid" id="x7vFLk_6+mb4wf7mL.bE">
                    <field name="oid">default</field>
                  </shadow>
                </value>
                <statement name="STATEMENT">
                  <block type="controls_if" id="Afv*=u{`+y;vW=Sws(GK">
                    <value name="IF0">
                      <block type="logic_operation" id="/IuvrhU0pYycG|dWeUxS" inline="false">
                        <field name="OP">AND</field>
                        <value name="A">
                          <block type="logic_compare" id="ogqHO/2?a^i`nW;E,6y-">
                            <field name="OP">EQ</field>
                            <value name="A">
                              <block type="get_value" id="EX{xdlEP!QAz2z`:^VQ?">
                                <field name="ATTR">val</field>
                                <field name="OID">ID auswählen</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_boolean" id=":7wIbq!1*d8M-)s?U!o[">
                                <field name="BOOL">TRUE</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="B">
                          <block type="logic_compare" id=".AtOGM`mXZdoFOF`#[ct">
                            <field name="OP">LTE</field>
                            <value name="A">
                              <block type="get_value" id="0tHn-^4[dnb*`Dvtcdsf">
                                <field name="ATTR">val</field>
                                <field name="OID">ID auswählen</field>
                              </block>
                            </value>
                            <value name="B">
                              <block type="math_number" id="ZW`dXmtOKQYKm_2[3|VJ">
                                <field name="NUM">8</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="control" id="c_z0veHu=Q^KYZ^k)kA9">
                        <mutation delay_input="false"></mutation>
                        <field name="OID">Object ID</field>
                        <field name="WITH_DELAY">FALSE</field>
                        <value name="VALUE">
                          <block type="logic_boolean" id="bUQto8iNf8_qtGy4mx_C">
                            <field name="BOOL">FALSE</field>
                          </block>
                        </value>
                      </block>
                    </statement>
                  </block>
                </statement>
              </block>
              
              

              7709d9b3-8012-428c-a526-7d0674c53d7f-image.png

              zu Block 2:

              hier mit einem Trigger arbeiten. Eigentlich müsste der erste Trigger ausreichen und dann deine Bedingung setzen.

              131b9f06-5ac2-4044-b611-70412c509129-image.png

              1 Reply Last reply
              0
              • A Offline
                A Offline
                Azrael
                wrote on last edited by
                #7

                @Alex-0

                Danke Dir. Ich werd das mal entsprechend einbauen und testen.

                Gruß
                Alex

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  Azrael
                  wrote on last edited by
                  #8

                  Hallo Zusammen,

                  wollte noch kurz Feedback geben.
                  Ich hatte das alles umgesetzt, und seither klappt es Prima.
                  Vielen Dank an alle!

                  VG

                  1 Reply Last reply
                  0
                  Reply
                  • Reply as topic
                  Log in to reply
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  757

                  Online

                  32.7k

                  Users

                  82.6k

                  Topics

                  1.3m

                  Posts
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Login

                  • Don't have an account? Register

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Home
                  • Recent
                  • Tags
                  • Unread 0
                  • Categories
                  • Unreplied
                  • Popular
                  • GitHub
                  • Docu
                  • Hilfe