Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Binding mit berechneten Werten

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Binding mit berechneten Werten

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

      Hallo Gemeinde,
      ich möchte folgendes realisieren.
      Ich habe von meinem Roborock einige Statusmeldungen:
      Batterie-Status
      Verbleibende Filterzeit
      Verbleibende Lebenszeit der Bürste usw.

      Ich möchte die Fontfarbe den oberen Werten anpassen.
      Das habe ich beim Batteriestatus hinbekommen über folgendes Binding (Font-Color):

      {bs:roborock.0.Devices.7C7njcMY5Y1rwfnBlkgM49.deviceStatus.battery;parseInt(bs) < 20 ? "#FF0000" : parseInt(bs) < 40 ? "#FFBB33" : "#87EC2E"}
      

      bs soll Batteriestatus heißen. Unter 20% Fontfarbe rot, unter 40% orange, sonst grün.

      Wenn ich jetzt die verbleibende Lebenszeit der anderen Parameter auch einer Fontfarbe anpassen möchte muss ich im Binding noch rechnen. Ich bekomme vom Roborock die bisherige Lebensdauer. Diese muss von einer Konstanten (Lebenszeit der jeweiligen Komponente) abziehen.
      Siehe:

      {wert1:0_userdata.0.Constants.150;wert2:roborock.0.Devices.7C7njcMY5Y1rwfnBlkgM49.consumables.filter_element_work_time;parseInt(wert1)-parseInt(+wert2)} h
      

      wert1 = Constante 150, wert2 =verbrauchte Lebensdauer,
      mit h bekomme ich die verbleibende Lebenszeit als String angezeigt.

      Jetzt sollte ich das Ergebnis im Binding in Farben umsetzen.
      Da habe ich momentan einen Knoten im Kopf😵

      Könntet Ihr mir bitte Starthilfe geben?

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @hunterhb last edited by

        @hunterhb sagte in Binding mit berechneten Werten:

        mit h bekomme ich die verbleibende Lebenszeit als String angezeigt.

        Das funktioniert genauso wie oben.

        Hier mal ein Schuss aus der Hüfte:

        {wert1:0_userdata.0.Constants.150;wert2:roborock.0.Devices.7C7njcMY5Y1rwfnBlkgM49.consumables.filter_element_work_time;parseInt(wert1)-parseInt(+wert2) < 20 ? "red" : "green"} 
        
        H 1 Reply Last reply Reply Quote 0
        • H
          hunterhb @Codierknecht last edited by hunterhb

          @codierknecht vielen Dank, das versuche ich heute abend umzusetzen.👍
          Hat geklappt, vielen Dank.
          Allerdings ist mir noch nicht klar warum ich Konstanten (Numbers) erstellen muss.
          Normalerweise würde ich den Integerwert 150 direkt ins Binding schreiben wollen.
          Ich hätte gedacht, dass es auch wie folgt geht:

          {wert1:150;wert2:roborock.0.Devices.7C7njcMY5Y1rwfnBlkgM49.consumables.filter_element_work_time;parseInt(wert1)-parseInt(+wert2) < 20 ? "red" : "green"} 
          

          Oder muss der Integerwert in runden Klammern geschrieben werden?

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @hunterhb last edited by

            @hunterhb

            Versuchs doch mal so:

            {wert:roborock.0.Devices.7C7njcMY5Y1rwfnBlkgM49.consumables.filter_element_work_time;parseInt("150")-parseInt(wert) < 20 ? "red" : "green"}
            
            H 1 Reply Last reply Reply Quote 0
            • H
              hunterhb @Codierknecht last edited by

              @codierknecht Das kann funktionieren, ich wandle aber nur einen String um.
              Warum muss ich den Umweg gehen?

              Codierknecht 1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @hunterhb last edited by

                @hunterhb sagte in Binding mit berechneten Werten:

                Warum muss ich den Umweg gehen?

                Ich meine irgendwo hier mal gelesen zu haben, dass in den Bindings Strings erwartet werden.
                Versuch macht klug 😉

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

                Support us

                ioBroker
                Community Adapters
                Donate
                FAQ Cloud / IOT
                HowTo: Node.js-Update
                HowTo: Backup/Restore
                Downloads
                BLOG

                850
                Online

                32.0k
                Users

                80.5k
                Topics

                1.3m
                Posts

                2
                6
                224
                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