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 @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

                        564
                        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