Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Frage zu langer Wenn/Dann Abfrage

    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] Frage zu langer Wenn/Dann Abfrage

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MCU last edited by 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

      Claus1985 1 Reply Last reply Reply Quote 1
      • Claus1985
        Claus1985 @MCU last edited by 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 1 Reply Last reply Reply Quote 0
        • M
          MCU @Claus1985 last edited by 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

          Claus1985 1 Reply Last reply Reply Quote 0
          • Claus1985
            Claus1985 @MCU last edited by

            @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 Reply Last reply Reply Quote 0
            • M
              MCU @Claus1985 last edited by 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

              Claus1985 1 Reply Last reply Reply Quote 1
              • Claus1985
                Claus1985 @MCU last edited by 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 1 Reply Last reply Reply Quote 0
                • M
                  MCU @Claus1985 last edited by 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 {

                  Claus1985 1 Reply Last reply Reply Quote 1
                  • Claus1985
                    Claus1985 @MCU last edited by

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

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MCU @Claus1985 last edited by

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

                      Claus1985 1 Reply Last reply Reply Quote 0
                      • Claus1985
                        Claus1985 @MCU last edited by

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

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MCU @Claus1985 last edited by

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

                          Claus1985 1 Reply Last reply Reply Quote 0
                          • Claus1985
                            Claus1985 @MCU last edited by

                            @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 Reply Last reply Reply Quote 1
                            • M
                              MCU @Claus1985 last edited by

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

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              823
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

                              2
                              14
                              626
                              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