Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Material Design Widgets: Value Widget

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Material Design Widgets: Value Widget

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @sigi234 last edited by liv-in-sky

      @sigi234 das no-no kann auch irgendwas andres sein -es geht darum , dass

      mmm ? "nnn" : "yyy"

      wenn mmm dann nnn sonst yyy

      wenn du nun immer wieder statt yyy eine weitere abfrage reingibst, fehlt am ende ein

      : yyy

      die formel ist dann nicht fertig - man nennt das auch einen defaultwert - wenn alles davor nicht paßt, wird yyy eingesetzt - ich habe einfach no-no genommen - da kann auch "" stehen,

      normalerweise bringt der adapter genaudie 4 werte - daher wirst du no-no nie sehen werden !

      ub.privat 2 Replies Last reply Reply Quote 2
      • ub.privat
        ub.privat @liv-in-sky last edited by

        @liv-in-sky
        @Scrounger
        @sigi234

        war ne schwere Geburt, aber nun funktioniert es! @liv-in-sky - tolle Erklärung, nun habe ich es vollends verstanden und in mein kleines Wiki verewigt!

        DANKE.

        1 Reply Last reply Reply Quote 1
        • ub.privat
          ub.privat @liv-in-sky last edited by ub.privat

          @liv-in-sky

          ich muss leider die Flagge wieder runter ziehen, zu früh gefreut.
          Mit dem Datenpunkt, so wie du ihn aufbereitet hast, funktioniert es bei 3 Geräten einwandfrei. Hier wird der Gerätezustand angezeigt, klappt perfekt.

          Nun wollte ich auf die identische Art und weise die aktiven Programme visualisieren.

          Der DP heist (RAW):

          {
            "type": "state",
            "common": {
              "name": "BSH_Common_Root_ActiveProgram",
              "type": "string",
              "role": "indicator",
              "write": true,
              "read": true,
              "states": {
                "Cooking.Oven.Program.HeatingMode.HotAirEco": "Heißluft eco",
                "Cooking.Oven.Program.HeatingMode.TopBottomHeatingEco": "Ober-/ Unterhitze eco",
                "Cooking.Oven.Program.HeatingMode.PizzaSetting": "Pizzastufe",
                "Cooking.Oven.Program.HeatingMode.IntensiveHeat": "Intensivhitze",
                "Cooking.Oven.Program.HeatingMode.SlowCook": "Sanftgaren",
                "Cooking.Oven.Program.HeatingMode.HotAir": "4D Heißluft",
                "Cooking.Oven.Program.HeatingMode.TopBottomHeating": "Ober-/ Unterhitze",
                "Cooking.Oven.Program.HeatingMode.HotAirGrilling": "Umluftgrillen",
                "Cooking.Oven.Program.HeatingMode.BottomHeating": "Unterhitze",
                "Cooking.Oven.Program.HeatingMode.Desiccation": "Dörren",
                "Cooking.Oven.Program.HeatingMode.PreheatOvenware": "Geschirr vorwärmen",
                "Cooking.Oven.Program.HeatingMode.FrozenHeatupSpecial": "coolStart-Funktion",
                "Cooking.Oven.Program.HeatingMode.KeepWarm": "Warmhalten"
              }
            },
            "native": {},
            "from": "system.adapter.homeconnect.0",
            "user": "system.user.admin",
            "ts": 1616709638385,
            "_id": "homeconnect.0.SIEMENS-CN878G4B6-68A40E0542E8.programs.active.BSH_Common_Root_ActiveProgram",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          Nun habe ich, das Widget wie folgt beschrieben:

          {val:homeconnect.0.SIEMENS-CN878G4B6-68A40E0542E8.programs.active.BSH_Common_Root_ActiveProgram; val== "Cooking.Oven.Program.HeatingMode.PizzaSetting": ? "Pizzastufe" : "no-no" }
          

          25157f5f-81e0-4f07-9d2b-e5dbc5931a91-grafik.png

          Nach Scrougers Ratschlag, erstmal einen Zustand zu testen und dan zu erweitern, war richtig und gut. Deshalb habe ich nur die Pizzstufe drin, kann es auch gerade testen, weil der Backofen an ist.
          Nur in der VISU kommt wieder eine NULL!

          8835b70c-3e8b-4423-98e1-5c3a14c34242-grafik.png
          Würdest bitte noch mal einen Blick auf das Binding werfen?

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @ub.privat last edited by liv-in-sky

            @ub-privat der ":" vor dem "?" nach pizzasetting gehört da nicht hin gehört

            du kannst in chrome die entwicklertools öffnen und auf console-tab siehst du sofort beim laden, ob du ein symantisches problem hast

            1 Reply Last reply Reply Quote 0
            • ub.privat
              ub.privat last edited by

              @liv-in-sky

              Der Hinweis mit GoogleChrome ist gar nicht so schlecht. Ein paar Fehler - SCHREIBFEHLER! - konnte ich bereits beseitigen. DANKE.

              Nun habe ich noch folgenden Fehler, dazu der ERROR-Text aus der Console:

              promisebuffer.ts:24 Error in eval[value]     : {val:homeconnect.0.SIEMENS-SX858D06PE-68A40E064ECA.programs.active.BSH_Common_Root_ActiveProgram; val== "Dishcare.Dishwasher.Program.Intensiv70" ? "Intensiv 70°C" : val== "Dishcare.Dishwasher.Program.Auto2" ? "Auto 45-65°C" : val== "Dishcare.Dishwasher.Program.Eco50" ? "Eco 50°C : val== "Dishcare.Dishwasher.Program.NightWash" ? "Leise" : val== "Dishcare.Dishwasher.Program.Quick65" ? "Schnell 65°C" : val== "Dishcare.Dishwasher.Program.Quick45" ? "Schnell 45°C" : val== "Dishcare.Dishwasher.Program.MachineCare" ? "Maschinenpflege" : "no-no" }
              (anonymous) @ promisebuffer.ts:24
              (anonymous) @ captureconsole.ts:16
              formatBinding @ vis.js:2498
              createIds @ vis.js:3312
              (anonymous) @ vis.js:3330
              sentryWrapped @ helpers.ts:124
              setTimeout (async)
              (anonymous) @ trycatch.ts:197
              createIds @ vis.js:3329
              (anonymous) @ vis.js:3461
              (anonymous) @ conn.js:801
              r.onack @ socket.io.js:8
              r.onpacket @ socket.io.js:8
              (anonymous) @ socket.io.js:8
              r.emit @ socket.io.js:6
              r.ondecoded @ socket.io.js:6
              (anonymous) @ socket.io.js:8
              r.emit @ socket.io.js:6
              a.add @ socket.io.js:6
              r.ondata @ socket.io.js:6
              (anonymous) @ socket.io.js:8
              r.emit @ socket.io.js:6
              r.onPacket @ socket.io.js:6
              (anonymous) @ socket.io.js:6
              r.emit @ socket.io.js:6
              r.onPacket @ socket.io.js:7
              r.onData @ socket.io.js:7
              ws.onmessage @ socket.io.js:8
              promisebuffer.ts:24 Error in eval[script]: var val = "undefined";return  val== "Dishcare.Dishwasher.Program.Intensiv70" ? "Intensiv 70°C" : val== "Dishcare.Dishwasher.Program.Auto2" ? "Auto 45-65°C" : val== "Dishcare.Dishwasher.Program.Eco50" ? "Eco 50°C : val== "Dishcare.Dishwasher.Program.NightWash" ? "Leise" : val== "Dishcare.Dishwasher.Program.Quick65" ? "Schnell 65°C" : val== "Dishcare.Dishwasher.Program.Quick45" ? "Schnell 45°C" : val== "Dishcare.Dishwasher.Program.MachineCare" ? "Maschinenpflege" : "no-no" ;
              (anonymous) @ promisebuffer.ts:24
              (anonymous) @ captureconsole.ts:16
              formatBinding @ vis.js:2499
              createIds @ vis.js:3312
              (anonymous) @ vis.js:3330
              sentryWrapped @ helpers.ts:124
              setTimeout (async)
              (anonymous) @ trycatch.ts:197
              createIds @ vis.js:3329
              (anonymous) @ vis.js:3461
              (anonymous) @ conn.js:801
              r.onack @ socket.io.js:8
              r.onpacket @ socket.io.js:8
              (anonymous) @ socket.io.js:8
              r.emit @ socket.io.js:6
              r.ondecoded @ socket.io.js:6
              (anonymous) @ socket.io.js:8
              r.emit @ socket.io.js:6
              a.add @ socket.io.js:6
              r.ondata @ socket.io.js:6
              (anonymous) @ socket.io.js:8
              r.emit @ socket.io.js:6
              r.onPacket @ socket.io.js:6
              (anonymous) @ socket.io.js:6
              r.emit @ socket.io.js:6
              r.onPacket @ socket.io.js:7
              r.onData @ socket.io.js:7
              ws.onmessage @ socket.io.js:8
              promisebuffer.ts:24 Error in eval[error] : SyntaxError: Unexpected identifier
              

              Das ist mein Binding:

              {val:homeconnect.0.SIEMENS-SX858D06PE-68A40E064ECA.programs.active.BSH_Common_Root_ActiveProgram; val== "Dishcare.Dishwasher.Program.Intensiv70" ? "Intensiv 70°C" : val== "Dishcare.Dishwasher.Program.Auto2" ? "Auto 45-65°C" : val== "Dishcare.Dishwasher.Program.Eco50" ? "Eco 50°C : val== "Dishcare.Dishwasher.Program.NightWash" ? "Leise" : val== "Dishcare.Dishwasher.Program.Quick65" ? "Schnell 65°C" : val== "Dishcare.Dishwasher.Program.Quick45" ? "Schnell 45°C" : val== "Dishcare.Dishwasher.Program.MachineCare" ? "Maschinenpflege" : "no-no" }
              

              Wie muss ich den Fehlertext lesen? Ist dies die Fehlerquelle: Error in eval[script]: var val = "undefined";return ?

              liv-in-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @ub.privat last edited by liv-in-sky

                @ub-privat

                anführungszeichen fehlt

                Program.Eco50" ? "Eco 50°C : val== "Di
                
                nach 50°C
                ub.privat 1 Reply Last reply Reply Quote 1
                • ub.privat
                  ub.privat @liv-in-sky last edited by

                  @liv-in-sky

                  JUPP, das wars. Ich glaube, das Programmieren wird nicht mein Spezialgebiet. Diese Syntax nervt einen die Sicht...
                  Aber deine Empfehlung ist Gold-Wert.

                  Wie hast du so schnell die fehlenden " gefunden?

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @ub.privat last edited by

                    @ub-privat

                    intuition - keine ahnung - habe in letzter zeit viel mit code gemacht - irgendwann sieht man das - nachdem man natütlich die selben fehler 100 mal selber gemacht hat

                    ub.privat 1 Reply Last reply Reply Quote 0
                    • ub.privat
                      ub.privat @liv-in-sky last edited by

                      @liv-in-sky

                      na dann bin ich beruhigt, vllt. wird's ja noch! DANKE nochmals!

                      1 Reply Last reply Reply Quote 0
                      • M
                        Marcel85 last edited by

                        Hallo.
                        Ist stehe gerade vor dem selben Problem.
                        Ich habe schon die letzten Bindings mit meinem verglichen und nach meinem Verständnis sollte es bei mir so funktionieren.
                        Allerdings zeigt er mir im Widget nur 0 an.
                        Der Datenpunkt gibt die Werte 1, 2 und 3 aus. Daraus soll er offen, verriegelt und entriegelt machen.
                        Vielleicht könnte mir dabei jemand auf die Sprünge helfen.

                        Mein Binding:

                        {val:vw-connect.0.TMB**************.status.data_0x030104FFFF.field_0x0301040001.value; val== "2" ? "offen"}
                        

                        Vielen Dank schon mal!

                        Gruß Marcel

                        liv-in-sky 1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Marcel85 last edited by liv-in-sky

                          @marcel85

                          ist ne zahl - daher bei der neusten vis version:

                          {val:controll-own.0.AAATEST.TestHTMLAuswahlDelete; val==1 ? "ist eins" : val==2 ? "ist zwei" : val==3 ? "ist drei" : "sonst"}
                          

                          AApossis (33).gif

                          Scrounger 1 Reply Last reply Reply Quote 0
                          • Scrounger
                            Scrounger Developer @liv-in-sky last edited by

                            @liv-in-sky sagte in Material Design Widgets: Value Widget:

                            {val:controll-own.0.AAATEST.TestHTMLAuswahlDelete; val==1 ? "ist eins" : val==2 ? "ist zwei" : val==3 ? "ist drei" : "sonst"}
                            

                            @Marcel85
                            Und wenn du den Vorteil des Value Wigdet nutzen möchtest - auf Binding verzichten - dann musst du das ganze wie folgt einstellen:

                            85a7a31e-712c-46c4-884a-e46f76e51d11-grafik.png

                            liv-in-sky M 2 Replies Last reply Reply Quote 1
                            • liv-in-sky
                              liv-in-sky @Scrounger last edited by liv-in-sky

                              @scrounger theoretisch: kann man auch einen zweiten datenpunkt zur berechnung miteinbeziehen ?

                              Scrounger 1 Reply Last reply Reply Quote 0
                              • Scrounger
                                Scrounger Developer @liv-in-sky last edited by

                                @liv-in-sky
                                Nein das geht noch nicht, hab ich aber schon auf dem Schirm.
                                Wird die Möglichkeit geben mehere Ids im Widget zu hinterlegen und dann mit #value1, #value2, etc die mit einzubeziehen.

                                1 Reply Last reply Reply Quote 1
                                • M
                                  Marcel85 @Scrounger last edited by

                                  @scrounger

                                  {val:controll-own.0.AAATEST.TestHTMLAuswahlDelete; val==1 ? "ist eins" : val==2 ? "ist zwei" : val==3 ? "ist drei" : "sonst"}
                                  

                                  funktioniert.

                                  #value==1 ? "ist eins" : #value==2 ? "ist zwei" : #value==3 ? "ist drei" : "sonst"
                                  

                                  unter Berechnung funktioniert scheinbar nicht.

                                  Da zeigt er weiterhin nur die Zahl an.

                                  Habe ich irgendwo noch einen Fehler?

                                  Scrounger 1 Reply Last reply Reply Quote 0
                                  • Scrounger
                                    Scrounger Developer @Marcel85 last edited by

                                    @marcel85
                                    Objekt ID hast du gesetzt?
                                    Welche Version hast du 0.5.2-beta?

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      Marcel85 @Scrounger last edited by

                                      @scrounger

                                      Objekt ID ist weiterhin gesetzt, er zeigt die Zahl ja auch an.

                                      Aktuell noch die 0.5.1-beta

                                      Scrounger 1 Reply Last reply Reply Quote 0
                                      • Scrounger
                                        Scrounger Developer @Marcel85 last edited by

                                        @marcel85 sagte in Material Design Widgets: Value Widget:

                                        Aktuell noch die 0.5.1-beta

                                        Ok dann liegt es wohl daran, zieh dir mal die aktuelle version von github

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          Marcel85 @Scrounger last edited by

                                          @scrounger

                                          Leider keine Besserung nach dem Update auf 0.5.2-beta.

                                          liv-in-sky 1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @Marcel85 last edited by liv-in-sky

                                            @marcel85 bei dir ist da noch der "wurm" drin - bei mir geht's mit dem neuen widget (unter berechnung) und der formel von @Scrounger

                                            AApossis (33).gif

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            384
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            16
                                            76
                                            8376
                                            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