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.
    • 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

                          549
                          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