Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. VIS "Formel" mit Booleans?!

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    VIS "Formel" mit Booleans?!

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

      Hi,

      ich habe zwei Klimageräte und ich möchte in VIS ein Icon anzeigen sobald eins oder beide davon eingeschaltet sind.

      Die eine Möglichkeit wäre extra per Szenen oder JavaScript einen "Kombi-Datenpunkt" zu erzeugen

      Ich habe aber gesehen das man in VIS auch per {…} "Logik" einbinden kann. Wäre das was dafür?

      Hat jemand eine Idee wie?

      Ingo

      1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by

        http://forum.iobroker.net/viewtopic.php?f=30&t=5238

        sollte passen

        1 Reply Last reply Reply Quote 0
        • apollon77
          apollon77 last edited by

          Probiere ich mal.

          Weiss jemand gerade spontan wie das mit "booleans" und "alle Werte sind Strings" ist? Tests ich auf === "false" oder === false ? 🙂

          1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 last edited by

            Habe es jetzt mit

            {a:daikin.0.control.power;b:daikin.1.control.power;(a?1:0)+(b?1:0)}

            versucht … irgendwie tut das nicht.

            Zur Erklärung: Die beiden Datenpunkte sind "boolean" und die Idee war das das Ergebnis die Anzahl der eingeschalteten Geräte ist. also 0, 1 oder 2 Aber der Wert ist irgendwie leer.

            Mein zweiter versucht war bei einem anderen Widget es ein/auszublenden je nach Wert und weil das Widget keinen "Visibility" Bereich hat habe ich versucht in "opacity" das reinzumachen:

            {a:javascript.0.Anzeigen.Zaehler.FensterOffenEG;(a==0)?"0":"1"}

            Tut auch nicht. Es wird immer ausgeblendet.

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by

              Hallo,

              bei mir funktioniert das so:

              <u>ADDIEREN</u>

              {a:daikin.0.control.power;b:daikin.1.control.power;parseFloat(a==="true"?1:0)+parseFloat(b==="true"?1:0)}
              

              In der Doku steht:
              @[url=https://github.com/ioBroker/ioBroker.vis#bindings-of-objects:

              ~~VIS Doku auf Github"]~~Take care about types. All of them defined as strings. To be sure, that value will be treated as number use parseFloat function. `

              <u>EIN/AUSBLENDEN</u>

              Hier geht es allerdings ohne String :?

              {a:javascript.0.Status.Kinderzimmer.Fenster.alle;(a==0)?"0":"1"}
              

              Der Datenpunkt ist ein TürFensterKontakt. 0 = zu, 1 = gekippt, 2=offen

              Wenn eingetragen in opacity, wird das Widget (ein HTML-Widget) korrekt ein/ausgeblendet

              [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":true,"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,"visibility-oid":"","html":"{a:javascript.0.Status.Kinderzimmer.Fenster.alle;a==0?\"0\":\"1\"}"},"style":{"left":"866px","top":"825px","z-index":"45","background-color":"green","opacity":"{a:javascript.0.Status.Kinderzimmer.Fenster.alle;(a==0)?\"0\":\"1\"}","width":"126px","height":"82px","color":""},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":false,"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,"html":"{javascript.0.Status.Kinderzimmer.Fenster.alle}"},"style":{"left":"864px","top":"923px","width":"102px","height":"74px","z-index":"25"},"widgetSet":"basic"}]
              

              Gruß

              Pix

              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                Wird morgen früh gleich getestet. Ich dachte das ich das bei opacity auch so versucht hatte.

                Welche vis Version hast du? Die aktuelle 0.15?

                1 Reply Last reply Reply Quote 0
                • P
                  pix last edited by

                  Hab VIS 0.15.4

                  1 Reply Last reply Reply Quote 0
                  • Bluefox
                    Bluefox last edited by

                    @pix:

                    {a:daikin.0.control.power;b:daikin.1.control.power;parseFloat(a==="true"?1:0)+parseFloat(b==="true"?1:0)}
                    ```` `  
                    

                    Es geht auch so

                    {a:daikin.0.control.power;b:daikin.1.control.power;(a=="true"?1:0)+(b=="true"?1:0)}
                    

                    @pix:

                    <u>EIN/AUSBLENDEN</u>

                    Hier geht es allerdings ohne String :?

                    {a:javascript.0.Status.Kinderzimmer.Fenster.alle;(a==0)?"0":"1"}
                    ```` `  
                    

                    Man muss einfach wissen, dass

                    0==0 => true

                    und

                    0=="0" => true

                    und

                    0===0 => true

                    und

                    0==="0" => false

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @apollon77:

                      Habe es jetzt mit

                      {a:daikin.0.control.power;b:daikin.1.control.power;(a?1:0)+(b?1:0)} `
                      Dabei muss man wissen was für einen Typ "daikin.0.control.power;b:daikin.1.control.power" hat.

                      Das funktioniert auf jeden Fall:

                      {a:daikin.0.control.power;b:daikin.1.control.power;(a=="1"||a=="true"?1:0)+(b=="1"||b=="true"?1:0)}
                      

                      Falls "daikin.0.control.power;b:daikin.1.control.power" würde number, dann einfach so:

                      {a:daikin.0.control.power;b:daikin.1.control.power;parseInt(a)+parseInt(b)}
                      

                      Falls bool

                      {a:daikin.0.control.power;b:daikin.1.control.power;(a==="true"?1:0)+(b==="true"?1:0)}
                      

                      Aus dem Kode kann man sehen:

                      https://github.com/ioBroker/ioBroker.vi … s.js#L2578

                      Dass tatsächlich alles zu String gemacht wird.

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        Cooool, mit euren Infos Habichs jetzt kapiert. Oh Versuch mal die vis Doku zu erweitern.

                        Ansonsten: bei opacity tut es. Was noch nicht tut ist die Idee bei visibility zu summieren und dann basierend damit was zu tun. Das muss ich nochmal testen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        741
                        Online

                        32.1k
                        Users

                        80.6k
                        Topics

                        1.3m
                        Posts

                        4
                        10
                        2429
                        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