Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Material Design Widget: Farbe ändern eines Icons durch Wert

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Material Design Widget: Farbe ändern eines Icons durch Wert

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

      Servus zam,
      da die SuFu leider nicht zum entsprechenden Ergebnis geführt hat, möchte ich um euer Fachwissen bitten.

      Ich habe aktuell die Herausforderung, dass ich die Farbe eines Icon anhand eines Wertes ändern möchte. Dieser Bereich soll in 3 Teile eingeteilt werden: Wert <= 5 = Farbe 1, Wert >= 25 = Farbe3, alles dazwischen Farbe2.
      Für 2 Optionen ist es ja nicht weiter dramatisch, anbei der Code dafür: {b:Datenpunkt:MaxTemp;b>="25" ? "Farbe3" : "Farbe2"}
      Meine Gedanke hier ist der folgende: {b:Datenpunkt:MaxTemp;b>="25" ? "#ffe312" : b<="5" ? "#39d6db" : "#a00d0d"} - funktioniert allerdings nicht. Kann hier jemand weiterhelfen?
      Als Button wird hier der Typ "Button State" genutzt.

      Danke schon mal im Voraus!

      Pfiats eich

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

        @momo1982
        Ich mache etwas ähnliches mit einem HTML-Widget und löse das mit CSS-Klassen.

        <div class="machineIndicator">
          <div title="Geschirrspüler" class='{onOff:sonoff.0.NOUS_18281F.POWER;onOff=="true"?"machineOn":"machineOff"} {power:sonoff.0.NOUS_18281F.ENERGY_Power;(parseFloat(power) > 2)?"machineRed":"machineGreen"}' />
          <div title="Waschmaschine" class='{onOff:sonoff.0.NOUS_1821B4.POWER;onOff=="true"?"machineOn":"machineOff"} {power:sonoff.0.NOUS_1821B4.ENERGY_Power;(parseFloat(power) > 2)?"machineRed":"machineGreen"}' />
          <div title="Trockner" class='{onOff:sonoff.0.NOUS_C2FB6D.POWER;onOff=="true"?"machineOn":"machineOff"} {power:sonoff.0.NOUS_C2FB6D.ENERGY_Power;(parseFloat(power) > 2)?"machineRed":"machineGreen"}' />
        </div>
        
        .machineIndicator div {
            height: 10px;
            width: 10px;
            float: left;
            margin-right: 2px;
            border-radius: 5px;
            display: block;
        }
        .machineOff {
            background-color: gray;    
        }
        .machineOn.machineRed {
            background-color: orange;
        }
        .machineOn.machineGreen {
            background-color: forestgreen;    
        }
        

        Das Ganze dient als Indikator für online/offline/Betrieb einiger Geräte.
        8528611d-bcce-4926-ac29-ec60b6b2f73d-image.png

        M 1 Reply Last reply Reply Quote 0
        • M
          Momo1982 @Codierknecht last edited by

          @codierknecht Das schaut erstmal ganz gut aus. Leider sind meine Kenntnisse in Sachen Programmierung eher rudimentär. Ich wäre daher sehr froh, wenn man dies über meinen o.g. Ansatz lösen könnte. 🤷‍♂️

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

            @momo1982
            Das hat mit "Programmierung" nicht wirklich zu tun.
            Ist lediglich ein Stück HTML und etwas CSS.

            Wozu ein Button?
            Kann man den anklicken? Macht der dann was?
            Wenn es nur um "Anzeigen" geht, ist ein Button an der Ecke das falsche Steuerelement.

            Homoran M 2 Replies Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Codierknecht last edited by

              @codierknecht sagte in Material Design Widget: Farbe ändern eines Icons durch Wert:

              Wenn es nur um "Anzeigen" geht, ist ein Button an der Ecke das falsche Steuerelement.

              dafür gibt es bei Buttons aber oft die Option "nur lesen" damit sie als Anzeige nutzbar sind.

              Regen anschalten kann ich damit auch nicht

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

                @homoran sagte in Material Design Widget: Farbe ändern eines Icons durch Wert:

                dafür gibt es bei Buttons aber oft die Option "nur lesen" damit sie als Anzeige nutzbar sind.

                Das widerspricht aber dann allen mir bekannten Regeln zum Thema UI/UX.
                Ein Benutzer der einen Button sieht sollte davon ausgehen können, dass der auch klickbar ist und eine Aktion ausführt. Das ist ja Sinn und Zweck eines Button.
                Ich jedenfalls würde für eine reine Anzeigefunktion ein anderes Design wählen.
                Aber wer bin schon ich? ... 😇 😂

                Regen anschalten kann ich damit auch nicht

                Du nimmst mir jede Illusion 😧

                1 Reply Last reply Reply Quote 0
                • M
                  Momo1982 @Codierknecht last edited by Momo1982

                  @codierknecht said in Material Design Widget: Farbe ändern eines Icons durch Wert:

                  Wozu ein Button?

                  Der Button ist als "Text" formatiert und kann nicht angeklickt werden und ist auch ned als ein solcher zu erkennen. Ist einfach nur ein Anzeigeobjekt.

                  Es gibt also aktuell keine Möglichkeit, mein Vorhaben wie o.g. umzusetzen? Das wäre natürlich schade. Dann müsste ich es doch mit CSS versuchen. Was auch nicht zu meinem daily business gehört. 😂

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  393
                  Online

                  31.7k
                  Users

                  79.8k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  264
                  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