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. [Gelöst] Trigger auf mehrere Statuswerte möglich?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    508

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

[Gelöst] Trigger auf mehrere Statuswerte möglich?

Geplant Angeheftet Gesperrt Verschoben Blockly
7 Beiträge 3 Kommentatoren 368 Aufrufe 3 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.
  • Dilldappe-ioD Offline
    Dilldappe-ioD Offline
    Dilldappe-io
    schrieb am zuletzt editiert von Dilldappe-io
    #1

    Hallo,
    ich nutze einen Osram Smart Switch Mini um in einem Zimmer mehrere Lampen in unterschiedlichen Konfigurationen zu schalten.
    Der Switch reagiert auf einen einfachen Klick und auf ein "Halten". Doppelklick gibt es bei dem nicht
    Triggern-auf-2.JPG
    Das Blockly-Skript reagiert immer nur auf die "Press" Statusänderung, nie auf die Änderung des "Hold", was einigermaßen
    verwunderlich ist, da jeder Teil für sich funktioniert, soll heissen, wenn ich nur auf "Hold" triggere, dann funktioniert es.
    Funktioniert ein solcher "Mehrfachtrigger" generell nicht oder habe ich einfach einen Fehler gemacht? Hier noch der Code
    des Triggers:
    on({id: new RegExp('zigbee\.0\.000d6f000edcddda\.hold' + "|" + 'zigbee\.0\.000d6f000edcddda\.state'), change: "ne"}, async function (obj)

    Vielen Dank im Voraus

    AsgothianA 1 Antwort Letzte Antwort
    0
    • Dilldappe-ioD Dilldappe-io

      Hallo,
      ich nutze einen Osram Smart Switch Mini um in einem Zimmer mehrere Lampen in unterschiedlichen Konfigurationen zu schalten.
      Der Switch reagiert auf einen einfachen Klick und auf ein "Halten". Doppelklick gibt es bei dem nicht
      Triggern-auf-2.JPG
      Das Blockly-Skript reagiert immer nur auf die "Press" Statusänderung, nie auf die Änderung des "Hold", was einigermaßen
      verwunderlich ist, da jeder Teil für sich funktioniert, soll heissen, wenn ich nur auf "Hold" triggere, dann funktioniert es.
      Funktioniert ein solcher "Mehrfachtrigger" generell nicht oder habe ich einfach einen Fehler gemacht? Hier noch der Code
      des Triggers:
      on({id: new RegExp('zigbee\.0\.000d6f000edcddda\.hold' + "|" + 'zigbee\.0\.000d6f000edcddda\.state'), change: "ne"}, async function (obj)

      Vielen Dank im Voraus

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @dilldappe-io

      Sicher bin ich nicht warum das Skript sich so verhält, allerdings empfehle ich statt der ganzen "wert von xxx" Bausteine diesen Baustein aus dem Trigger Bereich einzusetzen und auf "wert" umzustellen:

      Screen Shot 2021-02-03 at 21.20.34 .png

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

      Dilldappe-ioD lobomauL 2 Antworten Letzte Antwort
      0
      • AsgothianA Asgothian

        @dilldappe-io

        Sicher bin ich nicht warum das Skript sich so verhält, allerdings empfehle ich statt der ganzen "wert von xxx" Bausteine diesen Baustein aus dem Trigger Bereich einzusetzen und auf "wert" umzustellen:

        Screen Shot 2021-02-03 at 21.20.34 .png

        Dilldappe-ioD Offline
        Dilldappe-ioD Offline
        Dilldappe-io
        schrieb am zuletzt editiert von
        #3

        @asgothian
        habe ich probiert, da reagiert das Skript auf garnichts. Man sieht, daß im JS Skript dann der
        if (getState("zigbee.0.000d6f000edcddda.release").val == 'up')
        getState "Befehl" einfach nicht da ist sondern es so drin steht
        if ('zigbee.0.000d6f000edcddda.state' == 'up')

        Ich habe es jetzt in 2 getrennte Blöcke in ein "Skript" gepackt, das funktioniert
        Triggern-auf-2.JPG

        1 Antwort Letzte Antwort
        0
        • AsgothianA Asgothian

          @dilldappe-io

          Sicher bin ich nicht warum das Skript sich so verhält, allerdings empfehle ich statt der ganzen "wert von xxx" Bausteine diesen Baustein aus dem Trigger Bereich einzusetzen und auf "wert" umzustellen:

          Screen Shot 2021-02-03 at 21.20.34 .png

          lobomauL Offline
          lobomauL Offline
          lobomau
          schrieb am zuletzt editiert von
          #4

          @asgothian eine Frage die ich mir dabei schon öfter gestellt habe: das geht doch nur, wenn oben im Trigger-Block auch nur ein Trigger steht, richtig? "wert" bezieht sich auf den Trigger, aber wenn das zwei sind geht das doch nicht!? Man muss es dann in zwei Blöcke aufteilen, oder gibt es eine andere Möglichkeit?

          Host: NUC8i3 mit Proxmox:

          • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
          • Slave: Pi4
          AsgothianA 1 Antwort Letzte Antwort
          0
          • lobomauL lobomau

            @asgothian eine Frage die ich mir dabei schon öfter gestellt habe: das geht doch nur, wenn oben im Trigger-Block auch nur ein Trigger steht, richtig? "wert" bezieht sich auf den Trigger, aber wenn das zwei sind geht das doch nicht!? Man muss es dann in zwei Blöcke aufteilen, oder gibt es eine andere Möglichkeit?

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von
            #5

            @lobomau Muss man nicht, das ist ja das schöne. Der Baustein "wert" beinhaltet immer den Wert des Datenpunktes der den Trigger ausgelöst hat. Damit muss man da nicht explizit schauen welchen wert man sich holt.

            Ob das Sinn macht hängt letztendlich immer von den triggernden Datenpunkten ab. Das Trennen ist sowieso immer dann sinnvoll wenn unterschiedliche 'trigger' auch unterschiedliche Aktionen auslösen sollen.

            Zu den beiden getrennten Skripten von @Dilldappe-io
            Das du im Skript 3 mal den Wert vom gleichen Datenpunkt aus der Objekt-datenbank holst ist eigentlich nicht gut. Je nach Last auf dem System und Aktion die ggf. extern laufen kann es passieren das die einzelnen Aufrufe unterschiedliche Werte zurück liefern. Deswegen ist eine Umstellung auf den "wert" Baustein sinnvoll. Hintergrund ist das ein "wert von ObjektID xxx" immer eine Anfrage an die Objektdatenbank beinhaltet, die ggf. nicht in 0-Zeit abgearbeitet wird, und die insbesondere bei grossen Objektbäumen auch Systemlast erzeugt.

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

            lobomauL Dilldappe-ioD 2 Antworten Letzte Antwort
            0
            • AsgothianA Asgothian

              @lobomau Muss man nicht, das ist ja das schöne. Der Baustein "wert" beinhaltet immer den Wert des Datenpunktes der den Trigger ausgelöst hat. Damit muss man da nicht explizit schauen welchen wert man sich holt.

              Ob das Sinn macht hängt letztendlich immer von den triggernden Datenpunkten ab. Das Trennen ist sowieso immer dann sinnvoll wenn unterschiedliche 'trigger' auch unterschiedliche Aktionen auslösen sollen.

              Zu den beiden getrennten Skripten von @Dilldappe-io
              Das du im Skript 3 mal den Wert vom gleichen Datenpunkt aus der Objekt-datenbank holst ist eigentlich nicht gut. Je nach Last auf dem System und Aktion die ggf. extern laufen kann es passieren das die einzelnen Aufrufe unterschiedliche Werte zurück liefern. Deswegen ist eine Umstellung auf den "wert" Baustein sinnvoll. Hintergrund ist das ein "wert von ObjektID xxx" immer eine Anfrage an die Objektdatenbank beinhaltet, die ggf. nicht in 0-Zeit abgearbeitet wird, und die insbesondere bei grossen Objektbäumen auch Systemlast erzeugt.

              lobomauL Offline
              lobomauL Offline
              lobomau
              schrieb am zuletzt editiert von
              #6

              @asgothian Aaaah... DAS ist wirklich schön. Wieder was gelernt. Nun werde ich einige Scripte verbessern/vereinfachen können :-)

              Host: NUC8i3 mit Proxmox:

              • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
              • Slave: Pi4
              1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @lobomau Muss man nicht, das ist ja das schöne. Der Baustein "wert" beinhaltet immer den Wert des Datenpunktes der den Trigger ausgelöst hat. Damit muss man da nicht explizit schauen welchen wert man sich holt.

                Ob das Sinn macht hängt letztendlich immer von den triggernden Datenpunkten ab. Das Trennen ist sowieso immer dann sinnvoll wenn unterschiedliche 'trigger' auch unterschiedliche Aktionen auslösen sollen.

                Zu den beiden getrennten Skripten von @Dilldappe-io
                Das du im Skript 3 mal den Wert vom gleichen Datenpunkt aus der Objekt-datenbank holst ist eigentlich nicht gut. Je nach Last auf dem System und Aktion die ggf. extern laufen kann es passieren das die einzelnen Aufrufe unterschiedliche Werte zurück liefern. Deswegen ist eine Umstellung auf den "wert" Baustein sinnvoll. Hintergrund ist das ein "wert von ObjektID xxx" immer eine Anfrage an die Objektdatenbank beinhaltet, die ggf. nicht in 0-Zeit abgearbeitet wird, und die insbesondere bei grossen Objektbäumen auch Systemlast erzeugt.

                Dilldappe-ioD Offline
                Dilldappe-ioD Offline
                Dilldappe-io
                schrieb am zuletzt editiert von
                #7

                @asgothian said in [Gelöst] Trigger auf mehrere Statuswerte möglich?:

                Das ist richtig, war noch ein Überbleibsel vom Versuch alles in einem Block abzuhandeln, ich habe es auf "Wert" geändert und es funktioniert weiterhin.

                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

                791

                Online

                32.5k

                Benutzer

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