Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • Monatsrückblick – September 2025

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

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @ticaki last edited by

      @ticaki
      @arteck

      Welche Rolle hat dein Channel? Vielleicht liegt da schon der Fehler.
      Colordec muss ein Datenpunkt im Channel sein, der sollte auch triggern bei Änderung.

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @TT-Tom last edited by ticaki

        @tt-tom

        Dann passt es ja, ich hab nicht den Pfad von COLORDEC geguckt sondern nur den von ACTUAL.

        das hier sieht aber "ist zwar falsch aber kompatible" aus:

                                        if (val === true || val === 'true') {
                                            iconColor = GetIconColor(pageItem, false, useColors);
                                        } else {
                                            iconColor = GetIconColor(pageItem, true, useColors);
                                        }
        

        EDIT:

        Welche Rolle hat dein Channel? Vielleicht liegt da schon der Fehler.

        da kommt als Wert online und offline die sind bei einem üblichen true vergleich immer wahr und bei einem === true Vergleich immer false.

        T 1 Reply Last reply Reply Quote 0
        • T
          TT-Tom @ticaki last edited by

          @ticaki

          die Info rolle unterstütz nur Number und boolean.

          1 Reply Last reply Reply Quote 0
          • T
            ticaki Developer last edited by

            @arteck
            @TT-Tom

            Sry ich hab im Navzweig geguckt - Im normalen Zeig ist das anders - sry

            1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer last edited by ticaki

              @arteck
              So rumwühlen ergebnis - geht nicht

              Ändere hier den code:

              if (existsState(pageItem.id + '.ACTUAL') && pageItem.icon2 != undefined) {
                                      // Read Alias Datapoint Objectdata
                                      let obj = getObject(pageItem.id + ".ACTUAL");
                                      // Read origin Datapoint Objectdata
                                      if (existsState(obj.common.alias.id)) {
                                          let obj2 = getObject(obj.common.alias.id);
                                          // Register Origin Datapoint
                                          RegisterEntityWatcher(obj.common.alias.id);
                                          // Check Data-Type (This must be boolean)
                                          if (obj2.type === 'state' && obj2.common.type == "boolean") {
                                              if (Debug) log(getState(obj.common.alias.id).val, 'info');
                                              if (getState(obj.common.alias.id).val) {
                                                  iconId = pageItem.icon != undefined ? Icons.GetIcon(pageItem.icon) : iconId;
                                                  iconColor = pageItem.onColor != undefined ? rgb_dec565(pageItem.onColor) : iconColor;
                                              } else {
                                                  iconId = pageItem.icon2 != undefined ? Icons.GetIcon(pageItem.icon2) : iconId;
                                                  iconColor = pageItem.offColor != undefined ? rgb_dec565(pageItem.offColor) : iconColor;
                                              }
                                          }
                                      }
                                  }
              

              EDIT - das ist Käse drunter ist besser

                                if (existsState(pageItem.id + '.ACTUAL') && (pageItem.icon2 != undefined || pageItem.useValue)) {
                                      // Read Alias Datapoint Objectdata
                                      let obj = getObject(pageItem.id + ".ACTUAL");
                                      // Read origin Datapoint Objectdata
                                      if (existsState(obj.common.alias.id)) {
                                          let obj2 = getObject(obj.common.alias.id);
                                          // Register Origin Datapoint
                                          RegisterEntityWatcher(obj.common.alias.id);
                                          // Check Data-Type (This must be boolean)
                                          if (obj2.type === 'state' && obj2.common.type == "boolean") {
                                              if (Debug) log(getState(obj.common.alias.id).val, 'info');
                                              if (getState(obj.common.alias.id).val) {
                                                  if (!pageItem.useValue) iconId = pageItem.icon != un defined ? Icons.GetIcon(pageItem.icon) : iconId;
                                                  iconColor = pageItem.onColor != undefined ? rgb_dec565(pageItem.onColor) : iconColor;
                                              } else {
                                                  if (!pageItem.useValue) iconId = pageItem.icon2 != undefined ? Icons.GetIcon(pageItem.icon2) : iconId;
                                                  iconColor = pageItem.offColor != undefined ? rgb_dec565(pageItem.offColor) : iconColor;
                                              }
                                          }
                                      }
                                  }
              

              Käse ende 😄

              Kopiere den if hier der aktuell oberhalb von ^der funktion steht, einfach drunter und füge das useValue in den If ^ wie da ein.

                              if (pageItem.useValue) {
                                      if (pageItem.fontSize != undefined) {
                                          if (pageItem.suffixName == undefined) {
                                              iconId = optVal + '¬' + pageItem.fontSize;
                                          } else {
                                              iconId = optVal + pageItem.suffixName + '¬' + pageItem.fontSize;
                                          }
                                      } else {
                                          iconId = optVal;
                                      }
                                  }
              

              EDIT2 - das müsste eigentlcih dann doch ein BUG sein - Armilar und TT-Tom sind da mehr drin als ich.

              T 1 Reply Last reply Reply Quote 0
              • T
                TT-Tom @ticaki last edited by TT-Tom

                @ticaki sagte in SONOFF NSPanel mit Lovelace UI:

                if (existsState(pageItem.id + '.ACTUAL') && pageItem.icon2 != undefined) {

                die Funktion lauft bei der Konfiguration nicht da kein icon2 definiert ist.

                { id: 'alias.0.NSPanel.Garten.horstOnline', name: 'Status', offColor: Red, onColor: MSGreen, useValue: true, fontSize: 3}
                

                also läuft das normal durch

                                if (pageItem.useValue) {
                                        if (pageItem.fontSize != undefined) {
                                            if (pageItem.suffixName == undefined) {
                                                iconId = optVal + '¬' + pageItem.fontSize;
                                            } else {
                                                iconId = optVal + pageItem.suffixName + '¬' + pageItem.fontSize;
                                            }
                                        } else {
                                            iconId = optVal;
                                        }
                                    }
                

                EDIT: Problem ist wirkliche der Text in ACTUAL
                EDIT2 bin jetzt am überlegen warum wir nicht COLORDEC da haben, ist doch die Info-rolle, diese Universell sein sollte.

                T 1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @TT-Tom last edited by

                  @tt-tom

                  Bei dem C&P Vorschlag müsste man noch icon2 definieren - richtig - aber dann würde es halt laufen - zum Colordec hab ich ja schon was im discord geschrieben 🙂

                  Wurde gezwungen im adapter überall colordec und buttontext einzubauen ^^

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    TT-Tom @ticaki last edited by TT-Tom

                    @ticaki

                    if (existsState(pageItem.id + '.COLORDEC')) {
                                            if (Debug) log('iconcolor von ' + pageItem.id + '.COLORDEC: ' + getState(pageItem.id + '.COLORDEC').val, 'info');
                                            RegisterEntityWatcher(pageItem.id + '.COLORDEC');
                                            iconColor = getState(pageItem.id + '.COLORDEC').val;
                                        }
                    

                    ich würde das so ans Ende des Case setzen

                    T 1 Reply Last reply Reply Quote 1
                    • T
                      ticaki Developer @TT-Tom last edited by

                      @tt-tom Würde ich so ins Skript übernehmen, das ist auch kompatibel zum Adapter.

                      1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer last edited by ticaki

                        Ich darf verkünden, das @TT-Tom in seiner Weisheit sich herabgelassen hat die Funktion für @arteck anzupassen

                        Bitte die aktuell dev testen 🙂

                        https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/DEV/NSPanelTs.ts

                        FYI: @Armilar

                        EDIT:
                        COLORDEC geht jetzt da
                        Sowie wenn useValue=true und wenn der State, der die Quelle des alias ist, vom common.type='boolean' ist - wird onColor, offColor verwendet.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        884
                        Online

                        32.1k
                        Users

                        80.8k
                        Topics

                        1.3m
                        Posts

                        lovelace ui nspanel sonoff
                        270
                        7647
                        6305358
                        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