Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Binding mehrere Werte vergleichen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Binding mehrere Werte vergleichen

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @Stefan_NK last edited by OliverIO

      Probier mal das folgende.
      Es muss alles in einem einzigen Binding passieren.
      zuerst werden die einzelnen werte in die variable wert1-4 gespeichert, dann mit closed verglichen und die verschiedenen zustände mittels boolschem AND kombiniert und dem ergebnis nach offen/zu evaluiert.

      Warum funktioniert das so (hoffentlich, hab das trocken zusammengeschrieben):
      da wird es ein wenig kompliziert.
      wert1=="CLOSED" ergibt true wenn CLOSED drin steht.
      wenn ich nun mehrere mit AND (&&) verkette, dann ist das endgültige Ergebnis nur true, wenn alle true sind (also alle Türen sind geschlossen)

      {wert3:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus03.value; wert4:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus04.value; wert2:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus02.value; wert1:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus01.value; 
      wert1=="CLOSED" && wert2=="CLOSED" && wert3=="CLOSED" && wert4=="CLOSED"?"zu":"offen"} 
      

      klammer muss man nicht setzen, da Vergleich == eine höhere Priorität (also genau so wie die rechenregel punkt vor strich) hat wie logisches AND &&
      https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Operator_precedence#table
      Nur falls du das ähnlich mal umsetzen willst, aber schwierigkeiten hast, das das Ergebnis nicht passt.

      S 1 Reply Last reply Reply Quote 0
      • S
        Stefan_NK @OliverIO last edited by

        @oliverio Hallo, danke für deine Hilfe. Auf die Zeilen bin ich schon gekommen (try & error). Allerdings wird mir im HTML-Widget der Code aber kein Ergebnis angezeigt 😞

        N 1 Reply Last reply Reply Quote 0
        • B
          bommel_030 last edited by

          @stefan_nk
          Gäbe sogar einen Adapter für sowas 😉
          https://github.com/ChriD/ioBroker.smartstate
          Deine Türen mit "or" verknüpft und sinngemäß

           return !value == "Closed" ? true : false
          

          als Funktion gibt er dir nen Bool zurück was du in einem Widget nutzen kannst. Wenn du 0 / 1 und "sum" verwendest errechnet er dir auch die Anzahl der offenen Türen.

          S 1 Reply Last reply Reply Quote 0
          • S
            Stefan_NK @bommel_030 last edited by

            @bommel_030
            muss ich mir anschauen. Danke für den Tip. Eigentlich hatte ich gehofft, das ohne zusätzlichen Adapter lösen zu können

            1 Reply Last reply Reply Quote 0
            • N
              Nordischerjung @Stefan_NK last edited by

              @stefan_nk Das funktioniert schon so wie @OliverIO es geschrieben hat. Beim mir im Ford Adapter steht allerdings "Closed"

              habe es mal so ausprobiert, das geht. Also mal auf Groß-Kleinschreibung achten.

              S 1 Reply Last reply Reply Quote 0
              • S
                Stefan_NK @Nordischerjung last edited by

                @nordischerjung
                bei mir steht es dizidiert groß drinnen. Gehst du auf einen anderen Datenpunkt?

                N 1 Reply Last reply Reply Quote 0
                • N
                  Nordischerjung @Stefan_NK last edited by

                  @stefan_nk ich habe den

                  ford.0.xxxxxx.statususv4.vehiclestatus.doorStatus.driverDoor.value
                  

                  zB

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Stefan_NK @Nordischerjung last edited by

                    @nordischerjung sagte in Binding mehrere Werte vergleichen:

                    ford.0.xxxxxx.statususv4.vehiclestatus.doorStatus.driverDoor.value

                    Da hast du aber eine andere Adapterversion als die v0.1.5, oder? Einen ...statususv4... gibt es bei mir nicht mehr. Ich musste die Beta installieren, weil ich beim MachE keine Daten mehr bzw. nur Fehler bekommen habe.

                    Ändert aber nicht s an meiner Frage 😉

                    N 2 Replies Last reply Reply Quote 0
                    • N
                      Nordischerjung @Stefan_NK last edited by

                      @stefan_nk Ändert sich dann der Wert in OPENING oder so? Zeigt doch mal die Datenpunkte

                      1 Reply Last reply Reply Quote 0
                      • N
                        Nordischerjung @Stefan_NK last edited by Nordischerjung

                        @stefan_nk Hier dieses Widget funktioniert bei mir

                        [{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"class":"","html":"{wert:ford.0.xxx.statususv4.vehiclestatus.doorStatus.driverDoor.value; wert1:ford.0.xxx.statususv4.vehiclestatus.doorStatus.hoodDoor.value; wert2:ford.0.xxx.statususv4.vehiclestatus.doorStatus.leftRearDoor.value; wert3:ford.0.xxx.statususv4.vehiclestatus.doorStatus.rightRearDoor.value; wert == \"Closed\" && wert1==\"Closed\" && wert2==\"Closed\" && wert3==\"Closed\"? \"zu\" : \"offen\"}","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"274px","top":"170px","width":"183px","height":"22px","z-index":"2","text-align":"center","color":"{wert:ford.0.xxx.statususv4.vehiclestatus.doorStatus.driverDoor.value; wert1:ford.0.xxx.statususv4.vehiclestatus.doorStatus.hoodDoor.value; wert2:ford.0.xxx.statususv4.vehiclestatus.doorStatus.leftRearDoor.value; wert3:ford.0.xxx.statususv4.vehiclestatus.doorStatus.rightRearDoor.value; wert == \"Closed\" && wert1==\"Closed\" && wert2==\"Closed\" && wert3==\"Closed\"?  \"#11c03a\" :: \"#fa2e33\"}","background-color":""},"widgetSet":"basic"}]
                        

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Stefan_NK @Nordischerjung last edited by

                          @nordischerjung
                          Ich verstehe es nicht, wenn ich Die VIN durch xxx ersetzte wird offen engezeigt, wenn ich den richtigen Pfad mit der VIN nehme, wird der Code im HTML angezeigt

                          [{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"class":"","html":"{wert3:ford.0.xxx.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus03.value; wert4:ford.0.xxx.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus04.value; wert2:ford.0.xxx.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus02.value; wert1:ford.0.xxx.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus01.value; wert1==\"CLOSED\" && wert2==\"CLOSED\" && wert3==\"CLOSED\" && wert4==\"CLOSED\"?\"zu\":\"offen\"} ","g_last_change":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"47px","top":"608px","width":"183px","height":"22px","z-index":"2"},"widgetSet":"basic"}]
                          

                          In den Datenpunten steht definitiv "CLOSED"
                          Datenpuntke.jpg

                          N OliverIO 3 Replies Last reply Reply Quote 0
                          • N
                            Nordischerjung @Stefan_NK last edited by

                            @stefan_nk du musst schon deinen Datenpunkt nehmen. Am besten hier klicken und kopieren
                            ff70d26a-24e7-4113-9990-d68aff49d953-image.png

                            das ist dann dein kompletter Datenpunkt

                            S 1 Reply Last reply Reply Quote 0
                            • N
                              Nordischerjung @Stefan_NK last edited by

                              @stefan_nk So muss das mit deinem Datenpunkt funktionieren,
                              Wenn meiner da überall drin steht, geht das bei mir

                              [{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"class":"","html":"{wert:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus01.value; wert1:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus02.value; wert2:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus03.value; wert3:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus04.value; wert == \"CLOSED\" && wert1==\"CLOSED\" && wert2==\"CLOSED\" && wert3==\"CLOSED\"? \"zu\" : \"offen\"}","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"274px","top":"170px","width":"183px","height":"22px","z-index":"2","text-align":"center","color":"{wert:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus01.value; wert1:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus02.value; wert2:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus03.value; wert3:ford.0.WF0TK1E75NMA50668.statusQuery.events.doorEvent.conditions.doorStatusChanged.doorStatus04.value; wert == \"CLOSED\" && wert1==\"CLOSED\" && wert2==\"CLOSED\" && wert3==\"CLOSED\"? \"#11c03a\" :: \"#fa2e33\"}","background-color":""},"widgetSet":"basic"}]
                              

                              1 Reply Last reply Reply Quote 0
                              • S
                                Stefan_NK @Nordischerjung last edited by Stefan_NK

                                @nordischerjung
                                äh... ich bin über jede Hilfe dankbar aber dumm bin ich auch nicht (übersehen kann man immer was....)
                                Du wolltest die Datenpunkte von mir sehen und wenn du im ersten Post mein Script anschaust dann siehst du, dass ich die Datenpunkte abfrage.
                                Die einzelnen Türen lassen sich auch abfragen, aber nicht alle 4 in einem Script

                                N 1 Reply Last reply Reply Quote 0
                                • N
                                  Nordischerjung @Stefan_NK last edited by

                                  @stefan_nk wenn du das letzte Widget importierst muss es so funktionieren. Mit meinen DPs geht es genau so.

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Stefan_NK @Nordischerjung last edited by

                                    @nordischerjung
                                    Vielen Dank, das funktioniert 👍
                                    Nur für's Verständnis:

                                    Inhaltlich war es der geleiche Code, wie ich ihn gehabt habe (die wert-Nummerierung muss ja egal sein), nur habe ich Leerzeichen gehabt, wo du keine hast.

                                    1. Zeile von mir
                                    2. Zeile von dir.
                                    wert == "CLOSED" && wert1=="CLOSED" && wert2=="CLOSED" && wert3=="CLOSED"? "zu" : "offen"}
                                    wert1=="CLOSED" && wert2=="CLOSED" && wert3=="CLOSED" && wert4=="CLOSED"?"zu":"offen"}
                                    

                                    kann das damit zusammen hängen?

                                    S 1 Reply Last reply Reply Quote 0
                                    • OliverIO
                                      OliverIO @Stefan_NK last edited by

                                      @stefan_nk said in Binding mehrere Werte vergleichen:

                                      Ich verstehe es nicht, wenn ich Die VIN durch xxx ersetzte wird offen engezeigt, wenn ich den richtigen Pfad mit der VIN nehme, wird der Code im HTML angezeigt

                                      wenn der datenpunkt bestimmte zeichen enthält, wird er vom scanner nicht als datenpunkt erkannt. eine # war auf jeden fall dabei. das macht bei anderen geräten auch immer probleme.
                                      dann muss man mit einem alias arbeiten

                                      1 Reply Last reply Reply Quote 0
                                      • S
                                        Stefan_NK @Stefan_NK last edited by

                                        @OliverIO Naja, Sonderzeichen waren ja in der VIN nicht dabei und es funktioniert ja jetzt auch.
                                        Aber egal - Hauptsache es tut wie es soll 🙂
                                        Vielen Dank!

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        785
                                        Online

                                        31.7k
                                        Users

                                        79.8k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        19
                                        658
                                        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