Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI (TypeScript Version)

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    148

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

SONOFF NSPanel mit Lovelace UI (TypeScript Version)

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
8.0k Posts 277 Posters 7.2m Views 262 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ArmilarA Armilar

    @andy200877

    Der Aufwand ist nicht groß. Ich plane das für die 4.2.X ein

    F Offline
    F Offline
    Flipps
    wrote on last edited by
    #3417

    @armilar Super, das läuft so, er aktualisiert mir im Moment nicht den Titel/Interpret, da muss ich aber gleich erst nochmal die datenpunkte checken. Vielen Vielen Dank :-)

    Ich habe jetzt noch ein weiteres Problem :-D Wenn ich den Schieberegler für lauter und leiser bewege hackt es leicht und es entsteht kurz ein Standbild, vielleicht ist das auch so und ich stell mich nur an :-D .
    IMG_0349.jpg IMG_0348.PNG

    ArmilarA 1 Reply Last reply
    1
    • T TT-Tom

      @armilar

      wenn ich ihn richtig verstanden habe wollte der das Navi Icon in der Farbe haben. Die Page wird doch schon laufen.

      eventuell könnte man mit

      .... onColor: 'getState(Datenpunkt mit aktueller Farbe).val'
      

      etwas dynamisch erzeugen.

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      wrote on last edited by
      #3418

      @tt-tom

      oder evtl. ohne Gänsefüßchen den Inhalt einer Konstante aus dem DP übergeben:

      z.B. für gelb

      RGB = { red: 255, green: 235, blue: 156 };
      

      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      T 1 Reply Last reply
      0
      • F Flipps

        @armilar Super, das läuft so, er aktualisiert mir im Moment nicht den Titel/Interpret, da muss ich aber gleich erst nochmal die datenpunkte checken. Vielen Vielen Dank :-)

        Ich habe jetzt noch ein weiteres Problem :-D Wenn ich den Schieberegler für lauter und leiser bewege hackt es leicht und es entsteht kurz ein Standbild, vielleicht ist das auch so und ich stell mich nur an :-D .
        IMG_0349.jpg IMG_0348.PNG

        ArmilarA Offline
        ArmilarA Offline
        Armilar
        Most Active Forum Testing
        wrote on last edited by Armilar
        #3419

        @flipps

        Perfektomat :blush:

        Ich sehe mir mal die Slider an. Normalerweise soll nur das letzte Event aus der HMI greifen, da dort hunderte Werte an Sliderdaten durch MQTT aus Tasmota übergeben werden.

        Edit. Du könntest aber auch den VOLUME mal auf den Datenpunkt im Sonosadapter umlenken. Evtl. ist es dann flüssiger

        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        F 1 Reply Last reply
        0
        • ArmilarA Armilar

          @flipps

          Perfektomat :blush:

          Ich sehe mir mal die Slider an. Normalerweise soll nur das letzte Event aus der HMI greifen, da dort hunderte Werte an Sliderdaten durch MQTT aus Tasmota übergeben werden.

          Edit. Du könntest aber auch den VOLUME mal auf den Datenpunkt im Sonosadapter umlenken. Evtl. ist es dann flüssiger

          F Offline
          F Offline
          Flipps
          wrote on last edited by
          #3420

          @armilar versuche ich gleich mal :-)

          ArmilarA 1 Reply Last reply
          0
          • F Flipps

            @armilar versuche ich gleich mal :-)

            ArmilarA Offline
            ArmilarA Offline
            Armilar
            Most Active Forum Testing
            wrote on last edited by Armilar
            #3421

            @flipps

            Ein wenig Haken wird es bei der cardMedia immer, da die Seite bei jeder Änderung neu gerendert werden muss (Also komplett neu übermittelt und geladen werden muss). Die hat nicht die Möglichkeiten mit Updates einzelner Werte. Das wäre dann ein HMI Thema mit "Feature Request" im github...

            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            1 Reply Last reply
            0
            • ArmilarA Armilar

              @tt-tom

              oder evtl. ohne Gänsefüßchen den Inhalt einer Konstante aus dem DP übergeben:

              z.B. für gelb

              RGB = { red: 255, green: 235, blue: 156 };
              
              T Offline
              T Offline
              TT-Tom
              wrote on last edited by
              #3422

              @armilar
              sehe grade den Wald vor Bäumen nicht. Wie bekommst du die Konstante aus dem DP?

              Gruß Tom
              https://github.com/tt-tom17
              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

              NSPanel Script Wiki
              https://github.com/joBr99/nspanel-lovelace-ui/wiki

              NSPanel Adapter Wiki
              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

              ArmilarA 2 Replies Last reply
              0
              • T TT-Tom

                @armilar
                sehe grade den Wald vor Bäumen nicht. Wie bekommst du die Konstante aus dem DP?

                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                wrote on last edited by
                #3423

                @tt-tom

                habe es nicht ausprobiert, aber der Gedanke war - wenn ich eine Farbe aus einer Konstante hole, dann ist der Inhalt ja RGB = {....

                Wenn das gleiche in einem DP steht, dann kann ich das doch auch verarbeiten... oder habe ich einen Denkfehler?

                Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                1 Reply Last reply
                1
                • T TT-Tom

                  @armilar
                  sehe grade den Wald vor Bäumen nicht. Wie bekommst du die Konstante aus dem DP?

                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  wrote on last edited by Armilar
                  #3424

                  @tt-tom

                  also bei mir funktioniert das:

                  <PageItem>{ navigate: true, id: 'alias.0.Haus.Erdgeschoss.Indikator', targetPage: 'Level_2_Erdgeschoss_1', name: 'Erdgeschoss' , icon: 'home-floor-0', offColor: Menu, onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorRGB").val)},
                  

                  838b3903-0a75-43eb-92a0-18f9b504ef17-image.png

                  181a42ff-b4be-45ae-9456-b3a664129f7c-image.png

                  mit eval() und dem Namen der Konstante im Datenpunkt (hier "Yellow" als Wert)

                  Zieht sich die Werte dann aus der Konstante
                  e0591135-158f-4e7f-a64c-3c7efe02a24c-image.png

                  EDIT: Das Beispiel oben ist nur exemplarisch. Natürlich verpasse ich dem Erdgeschoss keine Abfallfarben. Aber mit:

                  onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorRGB").val)
                  

                  Und im Datenpunkt ein einfaches Yellow, Green, Gray, Blue oder what ever, sollte es funktionieren. Das müsste dann das Blockly zusätzlich in einen weiteren Datenpunkt (hier colorRGB genannt) schreiben.

                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  T 1 Reply Last reply
                  0
                  • ArmilarA Armilar

                    @tt-tom

                    also bei mir funktioniert das:

                    <PageItem>{ navigate: true, id: 'alias.0.Haus.Erdgeschoss.Indikator', targetPage: 'Level_2_Erdgeschoss_1', name: 'Erdgeschoss' , icon: 'home-floor-0', offColor: Menu, onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorRGB").val)},
                    

                    838b3903-0a75-43eb-92a0-18f9b504ef17-image.png

                    181a42ff-b4be-45ae-9456-b3a664129f7c-image.png

                    mit eval() und dem Namen der Konstante im Datenpunkt (hier "Yellow" als Wert)

                    Zieht sich die Werte dann aus der Konstante
                    e0591135-158f-4e7f-a64c-3c7efe02a24c-image.png

                    EDIT: Das Beispiel oben ist nur exemplarisch. Natürlich verpasse ich dem Erdgeschoss keine Abfallfarben. Aber mit:

                    onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorRGB").val)
                    

                    Und im Datenpunkt ein einfaches Yellow, Green, Gray, Blue oder what ever, sollte es funktionieren. Das müsste dann das Blockly zusätzlich in einen weiteren Datenpunkt (hier colorRGB genannt) schreiben.

                    T Offline
                    T Offline
                    TT-Tom
                    wrote on last edited by
                    #3425

                    @Armilar
                    okay, das ist eine Lösung. Was ist wenn die DezimalZahl ( Farbe) über geben wird. Funktioniert das auch? Diese ist ja schon im .LEVEL vorhanden.

                    Gruß Tom
                    https://github.com/tt-tom17
                    Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                    NSPanel Script Wiki
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    NSPanel Adapter Wiki
                    https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                    ArmilarA 1 Reply Last reply
                    0
                    • T TT-Tom

                      @Armilar
                      okay, das ist eine Lösung. Was ist wenn die DezimalZahl ( Farbe) über geben wird. Funktioniert das auch? Diese ist ja schon im .LEVEL vorhanden.

                      ArmilarA Offline
                      ArmilarA Offline
                      Armilar
                      Most Active Forum Testing
                      wrote on last edited by Armilar
                      #3426

                      @tt-tom

                      Leider nicht im pageItem... Aber das Abfall-Blockly entsprechend zu erweitern, wenn die Farben zugeordnet werden und Const-Namen in einen zusätzlichen Datenpunkt zu schreiben dürfte kein Hexenwerk sein.

                      Würde ja bei allen onColor/offColor prinzipiell funktionieren...

                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      T 1 Reply Last reply
                      0
                      • ArmilarA Armilar

                        @tt-tom

                        Leider nicht im pageItem... Aber das Abfall-Blockly entsprechend zu erweitern, wenn die Farben zugeordnet werden und Const-Namen in einen zusätzlichen Datenpunkt zu schreiben dürfte kein Hexenwerk sein.

                        Würde ja bei allen onColor/offColor prinzipiell funktionieren...

                        T Offline
                        T Offline
                        TT-Tom
                        wrote on last edited by
                        #3427

                        @armilar

                        okay, werde es im Wiki anpassen und beschreiben.

                        @georg2608

                        nutzt du für die Abfallpage das Blockly oder das JavaScript ?

                        Gruß Tom
                        https://github.com/tt-tom17
                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                        NSPanel Script Wiki
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        NSPanel Adapter Wiki
                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                        ArmilarA 1 Reply Last reply
                        1
                        • T TT-Tom

                          @armilar

                          okay, werde es im Wiki anpassen und beschreiben.

                          @georg2608

                          nutzt du für die Abfallpage das Blockly oder das JavaScript ?

                          ArmilarA Offline
                          ArmilarA Offline
                          Armilar
                          Most Active Forum Testing
                          wrote on last edited by
                          #3428

                          @tt-tom

                          nutzt du für die Abfallpage das Blockly oder das JavaScript?

                          Ist das nicht egal? Ich würde es als Blockly bereitstellen, da das auch in JS umgewandelt werden kann. Anders herum ist es ja nicht möglich... :umbrella_on_ground:

                          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          1 Reply Last reply
                          0
                          • JohGreJ Offline
                            JohGreJ Offline
                            JohGre
                            wrote on last edited by JohGre
                            #3429

                            Hallo, ist hier schon jemand mit der javascript-Version 7.1.4 unterwegs? Seit der Aktualisierung kommt immer folgender Fehler im ts-Script.

                            2023-08-16 14:17:44.793 - error: javascript.0 (1444727) script.js.Energie.NSPanel.NSPanelInfrarotkabine_ts: TypeScript compilation failed:
                            if ((pageItem.useColor || useColors) && ((typeof (value) === 'boolean' && value) || value > (pageItem.minValueBrightness !== undefined ? pageItem.minValueBrightness : 0))) {
                            ^
                            ERROR: Operator '>' cannot be applied to types 'number | boolean' and 'number'.
                            

                            btw. Mit der Version 7.0.3 funktioniert das selbe Script noch

                            nuc i5: RaspberryMatic, ioBroker, pi-hole, SQL-Server, OMV-NAS, Influx-DB & Grafana, OpenHab, tasmoadmin

                            ArmilarA 1 Reply Last reply
                            0
                            • JohGreJ JohGre

                              Hallo, ist hier schon jemand mit der javascript-Version 7.1.4 unterwegs? Seit der Aktualisierung kommt immer folgender Fehler im ts-Script.

                              2023-08-16 14:17:44.793 - error: javascript.0 (1444727) script.js.Energie.NSPanel.NSPanelInfrarotkabine_ts: TypeScript compilation failed:
                              if ((pageItem.useColor || useColors) && ((typeof (value) === 'boolean' && value) || value > (pageItem.minValueBrightness !== undefined ? pageItem.minValueBrightness : 0))) {
                              ^
                              ERROR: Operator '>' cannot be applied to types 'number | boolean' and 'number'.
                              

                              btw. Mit der Version 7.0.3 funktioniert das selbe Script noch

                              ArmilarA Offline
                              ArmilarA Offline
                              Armilar
                              Most Active Forum Testing
                              wrote on last edited by
                              #3430

                              @johgre

                              mit der aktuellen TS-Version v.4.1.4.4 ist das behoben:

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

                              unteren Teil austauschen...

                              siehe auch:
                              https://forum.iobroker.net/post/1029669

                              be9fc825-bbee-4ce1-9997-2b80b1e5f810-image.png

                              Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              1 Reply Last reply
                              1
                              • G georg2608

                                @Armilar
                                Aso das hat Super geklappt. Schön langsam fange ich das an zu lernen und bin schon absolut zufrieden. Vielen Dank für die Hilfe !

                                Aber noch eine Frage. Ich hab den Abfallkalender auch so angelegt, aber es kommt bei der Vorschau nicht die Tonnenfarbe, die als nächstes kommen wird. In meinem Fall wäre es die schwarze, aber es wird eine gelbe angezeigt. Kann man das in der Vorschau auch dynamisch Anzeigen lassen?

                                IMG_2630.jpg

                                    let Home = <PageGrid>
                                {
                                    'type': 'cardGrid',
                                    'heading': 'Home',
                                    'useColor': true,
                                    'subPage': true,
                                    'items': [
                                        <PageItem>{ id: "alias.0.NSPanel.1.Rollo_Buero", icon: "window-shutter", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
                                        <PageItem>{ id: "alias.0.NSPanel.1.Buero_Beleuchtung", icon: "led-strip-variant", offColor: Yellow, onColor: Red,name: "Bürolicht", minValueBrightness: 0, maxValueBrightness: 100,},
                                        <PageItem>{ id: "alias.0.NSPanel.1.3D-Drucker", icon: "printer-3d-nozzle-heat-outline", offColor: MSGreen, onColor: Red, name: "3D Drucker"},
                                        <PageItem>{ navigate: true, id: null, targetPage: 'Abfall', name: 'Abfallkalender', icon: 'trash-can-outline'},
                                        <PageItem>{ navigate: true, id: null, targetPage: 'Heizung', name: 'Heizung', icon: 'thermometer', onColor: Yellow},
                                        //<PageItem>{ navigate: true, id: null, targetPage: 'Heizung', name: 'Klimaanlage', icon: 'fan', onColor: lightBlue}
                                     ]
                                };
                                
                                T Offline
                                T Offline
                                TT-Tom
                                wrote on last edited by TT-Tom
                                #3431

                                @georg2608

                                das wäre jetzt eine Lösung:

                                das Blockly importieren und starten

                                69eb7a43-a390-43c7-8683-ada28c5c91df-image.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <block type="create" id="^xUH42lA??q%*F.5Fz(O" x="108" y="54">
                                   <field name="NAME">0_userdata.0.Abfallkalender.1.colorName</field>
                                   <value name="VALUE">
                                     <block type="text" id="nPW4kooRGm7(fA5a[L{3">
                                       <field name="TEXT"></field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="on" id="CHXf],2q%Bn8~nHQ?%bT">
                                       <field name="OID">0_userdata.0.Abfallkalender.1.color</field>
                                       <field name="CONDITION">ne</field>
                                       <field name="ACK_CONDITION"></field>
                                       <statement name="STATEMENT">
                                         <block type="logic_switch_case" id="1ObC(QA6NvSk`UojcwvU">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" case="3" default="1"></mutation>
                                           <value name="CONDITION">
                                             <block type="on_source" id="X9jb#xp`m[^C1;]--X)@">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                           <value name="CASECONDITION0">
                                             <block type="math_number" id="]?X?sOg;0.-,LSL2?PT[">
                                               <field name="NUM">65504</field>
                                             </block>
                                           </value>
                                           <statement name="CASE0">
                                             <block type="update" id="N`cVWSoCk|x|ct(,Ntnh">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="text" id="Zk2|}L8*6(o7Sklxo[}Q">
                                                   <field name="TEXT">MSYellow</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                           <value name="CASECONDITION1">
                                             <block type="math_number" id="/a`[ST(2!c;AP?W~MLOt">
                                               <field name="NUM">2016</field>
                                             </block>
                                           </value>
                                           <statement name="CASE1">
                                             <block type="update" id="mXzLz6Zd)@;[?`IV$ec,">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="text" id="8*IEIWxkjvlHO84hRn(2">
                                                   <field name="TEXT">Green</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                           <value name="CASECONDITION2">
                                             <block type="math_number" id="J9Iq36+|QQXMW`1Y{8Y0">
                                               <field name="NUM">31</field>
                                             </block>
                                           </value>
                                           <statement name="CASE2">
                                             <block type="update" id="Ij=A]p;6p^].^o-0.PN-">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="text" id="ld;vt1%n`-DeZ]|]5W|m">
                                                   <field name="TEXT">Blue</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                           <value name="CASECONDITION3">
                                             <block type="math_number" id="^IZ=KG]F#bKTc(Ixbm}f">
                                               <field name="NUM">33840</field>
                                             </block>
                                           </value>
                                           <statement name="CASE3">
                                             <block type="update" id="gu2RF,$X*..^W:7mB9y]">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="text" id="sSWX-2]EK(%Q72_EbqS$">
                                                   <field name="TEXT">Gray</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                           <statement name="ONDEFAULT">
                                             <block type="update" id="H$FyA}Z~7S+KN!r:K#_f">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="text" id="po3@*!:d9Rg(FE)r$5J$">
                                                   <field name="TEXT">White</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                                </xml>
                                

                                dein PageItem so anpassen:

                                <PageItem>{ navigate: true, id: null,targetPage: 'Abfall', name: 'Abfallkalender', icon: 'trash-can-outline', onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorName").val), useColor: true},
                                

                                Gruß Tom
                                https://github.com/tt-tom17
                                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                NSPanel Script Wiki
                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                NSPanel Adapter Wiki
                                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                G 1 Reply Last reply
                                1
                                • T TT-Tom

                                  @armilar

                                  wenn ich ihn richtig verstanden habe wollte der das Navi Icon in der Farbe haben. Die Page wird doch schon laufen.

                                  eventuell könnte man mit

                                  .... onColor: 'getState(Datenpunkt mit aktueller Farbe).val'
                                  

                                  etwas dynamisch erzeugen.

                                  G Offline
                                  G Offline
                                  georg2608
                                  wrote on last edited by
                                  #3432

                                  @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                                  .... onColor: 'getState(Datenpunkt mit aktueller Farbe).val'

                                  @TT-Tom und @Armilar: DIe Daten sammle ich genauso ein wie Du das geschrieben hattest und die Fraben der Tonnen auf der Subpage stimmen auch. Ich hab auch mal den Abfallkalender mit einer Tonne auf den Screensaver gelegt und da funktioniert das auch. Nur es ist so wie Tom geschribenen hat dass es keine Farbänderung auf der 'cardGrid' bei der Tonne gib.
                                  Die Lösung von Tom mit dem ... getState.. hatte ich getestet, aber da kommt es zu einer Fehlermeldung:
                                  Bildschirm­foto 2023-08-16 um 16.14.21.png

                                  ArmilarA 1 Reply Last reply
                                  0
                                  • G georg2608

                                    @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                                    .... onColor: 'getState(Datenpunkt mit aktueller Farbe).val'

                                    @TT-Tom und @Armilar: DIe Daten sammle ich genauso ein wie Du das geschrieben hattest und die Fraben der Tonnen auf der Subpage stimmen auch. Ich hab auch mal den Abfallkalender mit einer Tonne auf den Screensaver gelegt und da funktioniert das auch. Nur es ist so wie Tom geschribenen hat dass es keine Farbänderung auf der 'cardGrid' bei der Tonne gib.
                                    Die Lösung von Tom mit dem ... getState.. hatte ich getestet, aber da kommt es zu einer Fehlermeldung:
                                    Bildschirm­foto 2023-08-16 um 16.14.21.png

                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    wrote on last edited by Armilar
                                    #3433

                                    @georg2608

                                    das ist ja auch nicht die Lösung... und auch nicht auf .LEVEL

                                    Die Lösung ist einen Aufruf mit eval() zu machen. Siehe:

                                    https://forum.iobroker.net/post/1030465

                                    onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorName").val)
                                    

                                    zusammen mit dem Blockly für das Mapping zwischen dezimal und String als Konstantennamen...

                                    wie hier beschrieben:

                                    https://forum.iobroker.net/post/1030378

                                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    G 1 Reply Last reply
                                    0
                                    • ArmilarA Armilar

                                      @georg2608

                                      das ist ja auch nicht die Lösung... und auch nicht auf .LEVEL

                                      Die Lösung ist einen Aufruf mit eval() zu machen. Siehe:

                                      https://forum.iobroker.net/post/1030465

                                      onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorName").val)
                                      

                                      zusammen mit dem Blockly für das Mapping zwischen dezimal und String als Konstantennamen...

                                      wie hier beschrieben:

                                      https://forum.iobroker.net/post/1030378

                                      G Offline
                                      G Offline
                                      georg2608
                                      wrote on last edited by
                                      #3434

                                      @armilar und @TT-Tom:
                                      SUPER! Vielen lieben Dank für Eure Hilfe, jetzt funtioniert das genau so wie ich mir das gewünscht habe. :blush:

                                      Vielen, Vielen Dank

                                      S 1 Reply Last reply
                                      1
                                      • T TT-Tom

                                        @georg2608

                                        das wäre jetzt eine Lösung:

                                        das Blockly importieren und starten

                                        69eb7a43-a390-43c7-8683-ada28c5c91df-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <block type="create" id="^xUH42lA??q%*F.5Fz(O" x="108" y="54">
                                           <field name="NAME">0_userdata.0.Abfallkalender.1.colorName</field>
                                           <value name="VALUE">
                                             <block type="text" id="nPW4kooRGm7(fA5a[L{3">
                                               <field name="TEXT"></field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="on" id="CHXf],2q%Bn8~nHQ?%bT">
                                               <field name="OID">0_userdata.0.Abfallkalender.1.color</field>
                                               <field name="CONDITION">ne</field>
                                               <field name="ACK_CONDITION"></field>
                                               <statement name="STATEMENT">
                                                 <block type="logic_switch_case" id="1ObC(QA6NvSk`UojcwvU">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" case="3" default="1"></mutation>
                                                   <value name="CONDITION">
                                                     <block type="on_source" id="X9jb#xp`m[^C1;]--X)@">
                                                       <field name="ATTR">state.val</field>
                                                     </block>
                                                   </value>
                                                   <value name="CASECONDITION0">
                                                     <block type="math_number" id="]?X?sOg;0.-,LSL2?PT[">
                                                       <field name="NUM">65504</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE0">
                                                     <block type="update" id="N`cVWSoCk|x|ct(,Ntnh">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text" id="Zk2|}L8*6(o7Sklxo[}Q">
                                                           <field name="TEXT">MSYellow</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <value name="CASECONDITION1">
                                                     <block type="math_number" id="/a`[ST(2!c;AP?W~MLOt">
                                                       <field name="NUM">2016</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE1">
                                                     <block type="update" id="mXzLz6Zd)@;[?`IV$ec,">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text" id="8*IEIWxkjvlHO84hRn(2">
                                                           <field name="TEXT">Green</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <value name="CASECONDITION2">
                                                     <block type="math_number" id="J9Iq36+|QQXMW`1Y{8Y0">
                                                       <field name="NUM">31</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE2">
                                                     <block type="update" id="Ij=A]p;6p^].^o-0.PN-">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text" id="ld;vt1%n`-DeZ]|]5W|m">
                                                           <field name="TEXT">Blue</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <value name="CASECONDITION3">
                                                     <block type="math_number" id="^IZ=KG]F#bKTc(Ixbm}f">
                                                       <field name="NUM">33840</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE3">
                                                     <block type="update" id="gu2RF,$X*..^W:7mB9y]">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text" id="sSWX-2]EK(%Q72_EbqS$">
                                                           <field name="TEXT">Gray</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <statement name="ONDEFAULT">
                                                     <block type="update" id="H$FyA}Z~7S+KN!r:K#_f">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Abfallkalender.1.colorName</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text" id="po3@*!:d9Rg(FE)r$5J$">
                                                           <field name="TEXT">White</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                        </xml>
                                        

                                        dein PageItem so anpassen:

                                        <PageItem>{ navigate: true, id: null,targetPage: 'Abfall', name: 'Abfallkalender', icon: 'trash-can-outline', onColor: eval(getState("0_userdata.0.Abfallkalender.1.colorName").val), useColor: true},
                                        
                                        G Offline
                                        G Offline
                                        georg2608
                                        wrote on last edited by
                                        #3435

                                        @tt-tom Also, ich habe das so umgesetzt wie Du beschrieben hattest. In den Objekten wird nach Änderung des Wertes von "color" auch der DP "colorName" in Text geschrieben. Das klappt wunderbar.
                                        Auch in der 'cardGrid' habe ich bei dem PageItem den Wert mit dem 'eval(getState(' eingetragen.
                                        Beim Speichern der NsPanlel.TS kommt dann ein Neustart und es wird genau die Symbolfarbe angezeigt die in den Objekten angegeben ist. Aber bei einer Änderung, (egal ob am nächsten Tag eine andere Tonne angezeigt werden sollte oder ob ich das manuell abändere, wird der neue Wert nicht übertragen. Es bleibt einfach bei der voherigen Farbe.
                                        Ein Neustart des Geätes bringt auch nichts. Es ändert sich nur dann wieder wenn ich die NsPanel.TS nochmals neu starte.

                                        Da passt doch sicherlich was mit der Kommunikation nicht.
                                        Ich habe die Tonne auch auf dem Screensaver angebracht mit:

                                        ScreensaverEntityIconColor: '0_userdata.0.NSPanel_Hilfs_DPs.Abfallkalender.1.color'
                                        

                                        und das wechselt die Fabe innerhalb von Sekunden zur angegeben Farbe aus dem TS-Skript.

                                        Fällt Dir da noch was ein, oder muß ich einfach mit einer Farbe leben?

                                        Wenn das aus einer 'cardGrid'zu aufwendig ist würde es mir auch völlig ausreichen direkt aus dem Screensaver den Abfallkalender zu starten. Wäre das eine einfachere Methode?
                                        Ich möchte das Panel eh nicht überladen. Mir reicht ein Rollo, Müll, Heizung und Klimaanlage. Alles weitere mache ich dann eh mit dem iPad und der VIS.

                                        ArmilarA 1 Reply Last reply
                                        0
                                        • G georg2608

                                          @armilar und @TT-Tom:
                                          SUPER! Vielen lieben Dank für Eure Hilfe, jetzt funtioniert das genau so wie ich mir das gewünscht habe. :blush:

                                          Vielen, Vielen Dank

                                          S Offline
                                          S Offline
                                          schmidti
                                          wrote on last edited by
                                          #3436

                                          Moin,
                                          ich habe leider ein Problem mit dem Flashen. Ich habe die tasmota32-nspanel.bin von der blakadder.com Seite geflasht. Das Toll was ich auf dem Mac nutze ist: ESP-Flasher-macOS.
                                          Leider startet das Gerät danach anscheinden nicht.
                                          Folgendes kommt im Log in endlosschleife.

                                          [13:21:35]rst:0x3 (SW_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                                          [13:21:35]configsip: 0, SPIWP:0xee
                                          [13:21:35]clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                                          [13:21:35]mode:DIO, clock div:2
                                          [13:21:35]load:0x3fff0030,len:1184
                                          [13:21:35]load:0x40078000,len:12784
                                          [13:21:35]load:0x40080400,len:3032
                                          [13:21:35]entry 0x400805e4
                                          [13:21:35]ets Jul 29 2019 12:21:46
                                          [13:21:35]
                                          

                                          Kann mir jemand einen Tip geben?
                                          VG Schmidti

                                          ArmilarA 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          393

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe