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. [gelöst] Frage zu langer Wenn/Dann Abfrage

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    216

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

[gelöst] Frage zu langer Wenn/Dann Abfrage

Geplant Angeheftet Gesperrt Verschoben Blockly
14 Beiträge 2 Kommentatoren 1.0k Aufrufe 2 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.
  • Claus1985C Offline
    Claus1985C Offline
    Claus1985
    schrieb am zuletzt editiert von Claus1985
    #1

    Hallo Zusammen,

    ich möchte ein Skript das ich in Perl gebastelt habe nach ioBroker in ein Blockly Skript übernehmen.
    Da ich noch recht neu bin habe ich was die Effizienz angeht noch etwas Nachholbedarf.. 🙄

    Ich möchte eine Abfrage bauen, die je nach Eingangswert (eine Zahl die per MQTT übertragen wird) einen Text in eine Variable schreibt. Es gibt allerdings 87 verschiedene Zahlen die dementsprechend 87 verschiedene Texte enthalten welche dann in die Variable geschrieben werden sollen.

    Mit welchen Blockly Bausteinen kann ich das am Ressourcenschonensten umsetzen?

    Nachdem ich das dann in der Variablen habe würde ich gerne per ToDoist Baustein einen neuen Listeneintrag anlegen.
    Kann mir hier jemand sagen, ob ich eine Aufgaben-ID erzeugen muss und wenn ja in welchem Format / was ich dabei beachten muss?

    Ich hätte das aus meiner Anfänger Sicht so gelöst (nicht wundern, der Sensorwert ist nur ein Platzhalter und wird gegen einen RFID-Reader getauscht):
    c5cbc58f-db94-421a-84e9-77d5aebf7dba-image.png

    Danke und Gruß,

    Claus

    1 Antwort Letzte Antwort
    0
    • M Online
      M Online
      MCU
      schrieb am zuletzt editiert von MCU
      #2

      @claus1985
      Du kannst dir einen eigenen JSON-Datenpunkt erstellen:

      [{"ZAHL":"1","TEXT":"Beispiel"},{"ZAHL":"2","TEXT":"Test"}]
      

      Und dann in Abhängigkeit vom MQTT-Wert auswerten.

      f573fe8a-55c2-4ed3-a946-e1ce098fb1e9-image.png

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      Claus1985C 1 Antwort Letzte Antwort
      1
      • M MCU

        @claus1985
        Du kannst dir einen eigenen JSON-Datenpunkt erstellen:

        [{"ZAHL":"1","TEXT":"Beispiel"},{"ZAHL":"2","TEXT":"Test"}]
        

        Und dann in Abhängigkeit vom MQTT-Wert auswerten.

        f573fe8a-55c2-4ed3-a946-e1ce098fb1e9-image.png

        Claus1985C Offline
        Claus1985C Offline
        Claus1985
        schrieb am zuletzt editiert von Claus1985
        #3

        @mcu danke für den Tipp, das passt allerdings noch nicht komplett auf meinen Usecase.
        Vielleicht nochmal den ganzen Ablauf um nachvollziehen zu können wofür ich überhaupt was verwenden will:

        • Ich scanne eine RFID Karte an einem Arduino ein (jede Karte steht für einen Gegenstand, z.B. Milch)
        • Die Karte hat eine eindeutige ID, diese wird per RFID ausgelesen und per MQTT an ioBroker gesendet
        • ioBroker schreibt die ID in einen Userwert rein
        • Nachdem dieser Userwert verändert wurde soll die ID verwendet werden um in einer fix definierten Liste (lege ich nur einmal an und nehme max. alle paar Monate eine Änderung vor) die passende Entsprechungen rauszusuchen
        • Diese Entsprechung sende ich dann über den ToDoist Adapter an ToDoist um einen neuen Eintrag in einer Einkaufsliste anzulegen

        Beim testen ist mir gerade aufgefallen, dass ich ToDoist zwei Variablen mitgeben muss:

        • Den Inhalt der Task / den Text den er in der Liste anlegen soll
        • Den Namen der Liste (in meinem Fall z.B. Supermarkt, Drogerie, Sonstige).

        D.h. in der Liste müsste das dann z.B. so aussehen:

        [{"ZAHL":"810235440","TEXT":"1 x Nutella | max. 2,90€/750g", "LISTE":"Einkaufsliste_Supermarkt},{"ZAHL":"2","TEXT":"Test", "LISTE":"Einkaufsliste_Drogerie"}]
        

        Wenn ich Dein Blockly richtig verstehe, wird die Liste/Variable "JSON_DP" aktuell autom. aus einem Userstate angelegt oder?
        Wie könnte ich die Liste fix in einem Code hinterlegen so, dass das Skript sie anschließend durchsuchen kann?

        Danke und Gruß,

        Claus

        M 1 Antwort Letzte Antwort
        0
        • Claus1985C Claus1985

          @mcu danke für den Tipp, das passt allerdings noch nicht komplett auf meinen Usecase.
          Vielleicht nochmal den ganzen Ablauf um nachvollziehen zu können wofür ich überhaupt was verwenden will:

          • Ich scanne eine RFID Karte an einem Arduino ein (jede Karte steht für einen Gegenstand, z.B. Milch)
          • Die Karte hat eine eindeutige ID, diese wird per RFID ausgelesen und per MQTT an ioBroker gesendet
          • ioBroker schreibt die ID in einen Userwert rein
          • Nachdem dieser Userwert verändert wurde soll die ID verwendet werden um in einer fix definierten Liste (lege ich nur einmal an und nehme max. alle paar Monate eine Änderung vor) die passende Entsprechungen rauszusuchen
          • Diese Entsprechung sende ich dann über den ToDoist Adapter an ToDoist um einen neuen Eintrag in einer Einkaufsliste anzulegen

          Beim testen ist mir gerade aufgefallen, dass ich ToDoist zwei Variablen mitgeben muss:

          • Den Inhalt der Task / den Text den er in der Liste anlegen soll
          • Den Namen der Liste (in meinem Fall z.B. Supermarkt, Drogerie, Sonstige).

          D.h. in der Liste müsste das dann z.B. so aussehen:

          [{"ZAHL":"810235440","TEXT":"1 x Nutella | max. 2,90€/750g", "LISTE":"Einkaufsliste_Supermarkt},{"ZAHL":"2","TEXT":"Test", "LISTE":"Einkaufsliste_Drogerie"}]
          

          Wenn ich Dein Blockly richtig verstehe, wird die Liste/Variable "JSON_DP" aktuell autom. aus einem Userstate angelegt oder?
          Wie könnte ich die Liste fix in einem Code hinterlegen so, dass das Skript sie anschließend durchsuchen kann?

          Danke und Gruß,

          Claus

          M Online
          M Online
          MCU
          schrieb am zuletzt editiert von MCU
          #4

          @mcu Du kannst die Liste auch direkt als TEXT anlegen. Aber wichtig ein vergessenes " und es ist keine JSON-Liste mehr!

          cbcd02fd-649d-40c1-8ca9-562359c7930e-image.png

          c940c91f-3fad-4be1-bfae-eabdadc26778-image.png
          Was musst du denn dann an ToDoist übergeben?

          Also bis jetzt:
          5f452407-85a1-44be-8a20-22b2d898798e-image.png

          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

          Claus1985C 1 Antwort Letzte Antwort
          0
          • M MCU

            @mcu Du kannst die Liste auch direkt als TEXT anlegen. Aber wichtig ein vergessenes " und es ist keine JSON-Liste mehr!

            cbcd02fd-649d-40c1-8ca9-562359c7930e-image.png

            c940c91f-3fad-4be1-bfae-eabdadc26778-image.png
            Was musst du denn dann an ToDoist übergeben?

            Also bis jetzt:
            5f452407-85a1-44be-8a20-22b2d898798e-image.png

            Claus1985C Offline
            Claus1985C Offline
            Claus1985
            schrieb am zuletzt editiert von
            #5

            @mcu ToDoist hat ein eigenes Blockly und benötigt zwei Dinge:
            e875ffeb-346e-48f2-b8ac-d5db409359fc-image.png

            Den Baustein würde ich dann nach der Schleife mit den Variablen aus der Schleife füttern und damit den neuen Eintrag in ToDoist anlegen.

            M 1 Antwort Letzte Antwort
            0
            • Claus1985C Claus1985

              @mcu ToDoist hat ein eigenes Blockly und benötigt zwei Dinge:
              e875ffeb-346e-48f2-b8ac-d5db409359fc-image.png

              Den Baustein würde ich dann nach der Schleife mit den Variablen aus der Schleife füttern und damit den neuen Eintrag in ToDoist anlegen.

              M Online
              M Online
              MCU
              schrieb am zuletzt editiert von MCU
              #6

              @claus1985 Dann kann das ja direkt vor die SCHLEIFE abbrechen.
              Projekt ist dann jsonata(LISTE) anwenden auf i.
              Aufgabe ist dann jsonata(TEXT) anwenden auf i.

              Der Wert von RFID wird an MQTT übermittelt und den nutzt du als Trigger für das Script.

              d533f529-8127-472e-acb7-82a09f7af1b8-image.png

              Falls mal öfter Deine RFID für das gleiche Produkt nutzt, musst du auf wurde aktualisiert ändern.
              Und dann ist MQTT-Nummer = WERT:
              a7642b7b-ad00-44c6-a14f-c7910a7fbb3b-image.png

              adb0421a-7877-441d-a912-43694a056e42-image.png

              ObjectID-> WERT auswählen

              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

              Claus1985C 1 Antwort Letzte Antwort
              1
              • M MCU

                @claus1985 Dann kann das ja direkt vor die SCHLEIFE abbrechen.
                Projekt ist dann jsonata(LISTE) anwenden auf i.
                Aufgabe ist dann jsonata(TEXT) anwenden auf i.

                Der Wert von RFID wird an MQTT übermittelt und den nutzt du als Trigger für das Script.

                d533f529-8127-472e-acb7-82a09f7af1b8-image.png

                Falls mal öfter Deine RFID für das gleiche Produkt nutzt, musst du auf wurde aktualisiert ändern.
                Und dann ist MQTT-Nummer = WERT:
                a7642b7b-ad00-44c6-a14f-c7910a7fbb3b-image.png

                adb0421a-7877-441d-a912-43694a056e42-image.png

                ObjectID-> WERT auswählen

                Claus1985C Offline
                Claus1985C Offline
                Claus1985
                schrieb am zuletzt editiert von Claus1985
                #7

                @mcu Habe das mal entsprechend aufgebaut. Allerdings passiert bei mir nichts.
                Kann es sein, dass die Variable i in der Schleife hochgezählt werden muss damit etwas passiert?
                Bei mir zeigt er nichts was innerhalb der Schleife sitzt an.

                0946560d-9de7-4a2e-8955-da4c88b6f0e1-image.png
                0a3fa994-4dc4-4fd4-a972-4435c2345fe7-image.png

                M 1 Antwort Letzte Antwort
                0
                • Claus1985C Claus1985

                  @mcu Habe das mal entsprechend aufgebaut. Allerdings passiert bei mir nichts.
                  Kann es sein, dass die Variable i in der Schleife hochgezählt werden muss damit etwas passiert?
                  Bei mir zeigt er nichts was innerhalb der Schleife sitzt an.

                  0946560d-9de7-4a2e-8955-da4c88b6f0e1-image.png
                  0a3fa994-4dc4-4fd4-a972-4435c2345fe7-image.png

                  M Online
                  M Online
                  MCU
                  schrieb am zuletzt editiert von MCU
                  #8

                  @claus1985 Soweit ich das erkennen kann, hast du die Kommas vergessen.
                  0e5be777-a3e7-4ec4-bde2-cb0a340e07bd-image.png
                  ab dem zweiten ein Komma vor {

                  NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                  Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                  Claus1985C 1 Antwort Letzte Antwort
                  1
                  • M MCU

                    @claus1985 Soweit ich das erkennen kann, hast du die Kommas vergessen.
                    0e5be777-a3e7-4ec4-bde2-cb0a340e07bd-image.png
                    ab dem zweiten ein Komma vor {

                    Claus1985C Offline
                    Claus1985C Offline
                    Claus1985
                    schrieb am zuletzt editiert von
                    #9

                    @mcu Ah ok d.h. am Ende jedes Listeneintrags muss ein Komma rein?

                    M 1 Antwort Letzte Antwort
                    0
                    • Claus1985C Claus1985

                      @mcu Ah ok d.h. am Ende jedes Listeneintrags muss ein Komma rein?

                      M Online
                      M Online
                      MCU
                      schrieb am zuletzt editiert von
                      #10

                      @claus1985 Ich würde es davor machen dann kannst du es auch erkennen.

                      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                      Claus1985C 1 Antwort Letzte Antwort
                      0
                      • M MCU

                        @claus1985 Ich würde es davor machen dann kannst du es auch erkennen.

                        Claus1985C Offline
                        Claus1985C Offline
                        Claus1985
                        schrieb am zuletzt editiert von
                        #11

                        @mcu danke für den Tipp, teste ich direkt aus!

                        M 1 Antwort Letzte Antwort
                        0
                        • Claus1985C Claus1985

                          @mcu danke für den Tipp, teste ich direkt aus!

                          M Online
                          M Online
                          MCU
                          schrieb am zuletzt editiert von
                          #12

                          @claus1985
                          0b07cfd0-dff2-4827-9a03-3c83ee9e2789-image.png
                          setze RFID_ID = WERT siehe oben (Trigger/ObjectID -> ändern auf WERT)

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          Claus1985C 1 Antwort Letzte Antwort
                          0
                          • M MCU

                            @claus1985
                            0b07cfd0-dff2-4827-9a03-3c83ee9e2789-image.png
                            setze RFID_ID = WERT siehe oben (Trigger/ObjectID -> ändern auf WERT)

                            Claus1985C Offline
                            Claus1985C Offline
                            Claus1985
                            schrieb am zuletzt editiert von
                            #13

                            @mcu Hat funktioniert!
                            Bzgl. aktualisiert / wurde geändert lasse ich es auf wurde geändert. Wenn versehentlich die gleiche Karte 2 x gescannt wird löst er so nicht doppelt aus.

                            M 1 Antwort Letzte Antwort
                            1
                            • Claus1985C Claus1985

                              @mcu Hat funktioniert!
                              Bzgl. aktualisiert / wurde geändert lasse ich es auf wurde geändert. Wenn versehentlich die gleiche Karte 2 x gescannt wird löst er so nicht doppelt aus.

                              M Online
                              M Online
                              MCU
                              schrieb am zuletzt editiert von
                              #14

                              @claus1985 Dann bitte oben im ersten Post die Überschrift anpassen auf [gelöst] ...

                              NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                              Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                              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

                              501

                              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