Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Gelöst] Widgeteigenschaft berechnen geht nur zeitweise

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    [Gelöst] Widgeteigenschaft berechnen geht nur zeitweise

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

      Hallo,
      versuche mich gerade mit dem dynamischen Anpassen von Widget-Eigenschaften mit Bindings.
      Dazu hab ich versuchsweise ein HTML-Widget genommen und in die "left" eigenschaft von "CSS Allgemein" den Solareingang 1 / 10 eingetragen:

      {a:modbus.0.inputRegisters.30773_PV_Leistung_Eingang_1;a/10}
      

      Damit sollte sich das HTML-Widget je nach Solarertrag hin und her bewegen. Das tut es auch, aber zeitweise steht es ganz links (wie wenn das Rechenergebnis 0 währe)
      Ist das ein Bug oder hab ich was falsch gemacht?

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Delphinis last edited by

        @delphinis sagte in Widgeteigenschaft berechnen geht nur zeitweise:

        wie wenn das Rechenergebnis 0 währe

        und das ist es sicher nicht?

        D 1 Reply Last reply Reply Quote 0
        • D
          Delphinis @Homoran last edited by

          @homoran
          Genau, das ist es sicher nicht. Ich hab in der History nachgeschaut, da gibt es keine null-Werte drin. Im Moment ist immer etwas hell, da sollte kein 0-Wert möglich sein.

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Delphinis last edited by

            @delphinis da ich die Werte des Modbus nicht kenne, und ausserdem nicht weiss ob die gewählte CSS Eigenschaft auch Dezimale akzeptiert, müsstest du das mal prüfen

            D 2 Replies Last reply Reply Quote 0
            • D
              Delphinis @Homoran last edited by

              @homoran
              Ok hab das geprüft.
              Der Datenpunkt ist vom Typ Nummer.
              Aber die CSS Eigenschaft könnte ein String sein, denn normalerweise gibt man da ja z.B. "20px", "5em" oder 10% ein.
              Das könnte der Punkt sein.
              Kann ich da in der Formel aus der Zahl ein String machen und dann noch + "px" anhängen?
              Hab mal sowas versucht aber das funktioniert nicht. Weiss aber nicht ob man das in der Eigenschaft so machen kann.

              {a:modbus.0.inputRegisters.30773_PV_Leistung_Eingang_1;Number(a/10).toString + "px"}
              
              OliverIO 1 Reply Last reply Reply Quote 0
              • OliverIO
                OliverIO @Delphinis last edited by OliverIO

                @delphinis
                Einfach hinter der Spitzen Klammer des bindings
                Ein Leerzeichen und px ergänzen.
                Die js Verrenkungen sind nicht notwendig.

                Für das umwandeln in eine ganzzahl kannst du

                
                parseInt(a/10)
                
                

                Nehmen

                Also

                
                {a:modbus.0.inputRegisters.30773_PV_Leistung_Eingang_1;parseInt(a/10)} px
                
                D 1 Reply Last reply Reply Quote 1
                • D
                  Delphinis @OliverIO last edited by Delphinis

                  @oliverio said in Widgeteigenschaft berechnen geht nur zeitweise:

                  Die js Verrenkungen sind nicht notwendig.

                  Welche Verrenkungen meinst du?

                  Der Datenpunkt ist schon eine number. Aber da a/10 nicht funktioniert hat, hab ich gedacht ich müsste erst das ganze in einen String packen und dazu brauch ich ja ein Objekt oder statische Methode welche das tut: Number(x).toString()
                  Hab's jetzt mit

                  {a:modbus.0.inputRegisters.30773_PV_Leistung_Eingang_1;a/10} px
                  

                  versucht. Funzt auch nicht. Ich hab die Syntax noch nicht im Griff 😕

                  Ausserdem: Müste es nicht parseInt(a)/10 heissen?

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @Delphinis last edited by

                    @delphinis sagte in Widgeteigenschaft berechnen geht nur zeitweise:

                    Ausserdem: Müste es nicht parseInt(a)/10 heissen?

                    nein, du willst ja auch das Ergebnis der Teilung runden

                    1 Reply Last reply Reply Quote 1
                    • D
                      Delphinis @Homoran last edited by

                      Ok, hab's glaub ich hingekriegt:

                      {a:modbus.0.inputRegisters.30773_PV_Leistung_Eingang_1;parseInt(a/10)}px
                      

                      Achtung: leerschlag vor px geht nicht.
                      parseInt: Ok, dachte nicht, dass parseInt auch Zahlen interpretieren kann. Ein Parser holt ja bekanntlich Zahlen aus einem String.

                      1. a ist aber eine Nummer.
                      2. a/10 ist, wenn es denn geht logischerweise eine Nummer. Aber dann kann der Parser offenbar auch Nummern, und wandelt eine realzahl in einen integer. Dafür würde ich aber round() nehmen?.
                        Egal, es funzt jetzt. Danke
                      OliverIO 1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @Delphinis last edited by OliverIO

                        @delphinis
                        Wie ein datenpunkt definiert ist und als welcher Typ dieser über binding ankommt ist so eine sache
                        In den meisten Fällen kommt es dort nur als String an.
                        Da JavaScript flexibel ist kommt es meist damit zurecht wenn es aus dem Kontext heraus klar ist.
                        Du kannst gern mal per binding dir den Typ von a zeigen lassen
                        Mit typeof
                        https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof

                        1 Reply Last reply Reply Quote 1
                        • D
                          Delphinis last edited by Delphinis

                          @oliverio said in Widgeteigenschaft berechnen geht nur zeitweise:

                          Wie ein datenpunkt definiert ist und als welcher Typ dieser über binding ankommt ist so eine sache
                          In den meisten Fällen kommt es dort nur als String an.

                          Gut zu wissen👍 , das hätte ich nicht gedacht.
                          Mein Integer kommt tatsächlich als string an. Was heisst denn in den meisten Fällen?
                          Ist das undefiniert?

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

                            @delphinis
                            Ich habe es nicht für alles geprüft, aber meistens ist es String.
                            Daher muss Mann bei Boolean auch immer auf ‚true‘ anstatt nur auf True prüfen.
                            Leider auch der Grund warum man ein json Objekt im binding nicht verwenden kann. Zumindest nicht ohne Tricks

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            543
                            Online

                            32.3k
                            Users

                            80.9k
                            Topics

                            1.3m
                            Posts

                            3
                            12
                            277
                            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