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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • Armilar
      Armilar Most Active Forum Testing @georg2608 last edited by Armilar

      @georg2608

      ich weiß ja nicht was du angelegt hast oder wie du deine Abfalldaten einsammelst 😉

      Bei mir ist es dynamisch - war übrigens auch die erste Version des Scriptes (ohne zusätzliche Adapter wie Trash-Schedule). Ich lege nicht so viel Wert auf "wann wird jede Tonne geleert", sondern welche Abholungen sind chronologisch die nächsten.

      Die Datenpunkte meines Scriptes:

      cae42365-6c54-48fa-96b8-c5844b83aff6-image.png

      //Subpage 1 von Subpages_1
              let Abfall = <PageEntities>
              {
                  'type': 'cardEntities',
                  'heading': 'Abfallkalender',
                  'useColor': true,
                  'subPage': true,
                  'parent': Subpages_1,
                  'items': [
                      <PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event1',icon: 'trash-can'},
                      <PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event2',icon: 'trash-can'},
                      <PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event3',icon: 'trash-can'},
                      <PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event4',icon: 'trash-can'}
                  ]
              };
      

      Somit wäre die nächste Abholung die mit dem event1:

      <PageItem>{ id: 'alias.0.NSPanel_1.Abfall.event1',icon: 'trash-can'},
      

      Dieses Script sammelt die Daten vom ical ein.
      b237092b-68b0-4782-8091-232cedb4f9b8-image.png

      Das Blockly:


      <xml xmlns="https://developers.google.com/blockly/xml">
      <variables>
      <variable id="h}CE-n1lS|gRf(0K%./">i</variable> <variable id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</variable> <variable id="^:v=Yb?;aM;Z[}4jCF3-">Event</variable> <variable id="9^)S?J=tLkC7cUWc-u9w">Color</variable> </variables> <block type="on_ext" id="aFeZac36,?)=rfMg%3T|" x="38" y="-287"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="GSzQ}epUa))me3m8yyuD"> <field name="oid">ical.1.data.table</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_for" id="wduAM(OBPzLJ@bfYAK5%"> <field name="VAR" id="h}CE-n1lS|gRf(0K%./">i</field>
      <value name="FROM">
      <shadow type="math_number" id="HK~R2U|xb$U5W+tsHpN"> <field name="NUM">0</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="Ed[L/:1e9-cwxrRaZiIv"> <field name="NUM">3</field> </shadow> </value> <value name="BY"> <shadow type="math_number" id="o@5kngFiPpvl5dGo@Q$9"> <field name="NUM">1</field> </shadow> </value> <statement name="DO"> <block type="variables_set" id="0T)vK0k8aikvg7mF6XHo"> <field name="VAR" id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</field> <value name="VALUE"> <block type="get_value" id="1~kG;UHn$nw2zzbfOIT]"> <field name="ATTR">val</field> <field name="OID">ical.1.data.table</field> </block> </value> <next> <block type="control_ex" id="UAu,2OBRJp9~Nzyxouyu"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="J_|uu;{e44n5Z-;qE+hP"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="8/|eHqk))j9Po-O*mKe">
      <mutation items="3"></mutation>
      <value name="ADD0">
      <block type="text" id="Zp8GRfdfXujkeM41=PeZ">
      <field name="TEXT">0_userdata.0.Abfallkalender.</field>
      </block>
      </value>
      <value name="ADD1">
      <block type="math_arithmetic" id="$!!l@[eJ~4Kdb5/Imo.X">
      <field name="OP">ADD</field>
      <value name="A">
      <shadow type="math_number" id="zaU15{yD43xkuY@?)RY(">
      <field name="NUM">1</field>
      </shadow>
      <block type="variables_get" id="o3pJ(+3KE~Co%u-dy.:W">
      <field name="VAR" id="h}CE-n1lS|gRf(0K%./">i</field> </block> </value> <value name="B"> <shadow type="math_number" id="_LBb[#z%M$n0~1Y}~8w+"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="ADD2"> <block type="text" id="Vt#-b{iDzusQQx]#0%0,"> <field name="TEXT">.date</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="/y1w}eely@o.gl$]#)o="> <field name="BOOL">TRUE</field> </shadow> <block type="get_attr" id="p~0A1{eb$lD~.99R4K)">
      <value name="PATH">
      <shadow type="text" id="ec!MVCnF)rnk5N^Nc3{">
      <field name="TEXT">0.date</field>
      </shadow>
      <block type="text_join" id="DDs!.^n(V7=A_TK}DFQt">
      <mutation items="2"></mutation>
      <value name="ADD0">
      <block type="variables_get" id="k1+Dybgb:u2y9v57OrCg">
      <field name="VAR" id="h}CE-n1lS|gRf(0K%./">i</field> </block> </value> <value name="ADD1"> <block type="text" id="EXgB=?B}IKiUdQ.2tKoa"> <field name="TEXT">.date</field> </block> </value> </block> </value> <value name="OBJECT"> <block type="variables_get" id="dzLb1f^T!(MM,d=cYU9y"> <field name="VAR" id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="f8q~r@+q|8Kov#3EufsI"> <field name="NUM">0</field> </shadow> </value> <next> <block type="variables_set" id="E[W-)N[vKeufX{v$B[]p"> <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field> <value name="VALUE"> <block type="text_getSubstring" id="YU_Q05y^+I.IzV[c9h9B" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="get_attr" id=":/^m9o]3:=L%$4[9$f]7"> <value name="PATH"> <shadow type="text" id="ia+nm+v-%c.5Mn4lQ[Cr"> <field name="TEXT">0.event</field> </shadow> <block type="text_join" id="*MaT-W83R/Y5?QCQNec">
      <mutation items="2"></mutation>
      <value name="ADD0">
      <block type="variables_get" id="l5d$/glqMm3~+YA5]wg"> <field name="VAR" id="h}CE-n1lS|gRf(0K%./">i</field>
      </block>
      </value>
      <value name="ADD1">
      <block type="text" id="$+g0XH}$2+{B}s3ID@">
      <field name="TEXT">.event</field>
      </block>
      </value>
      </block>
      </value>
      <value name="OBJECT">
      <block type="variables_get" id="nSDdx_!gO45lc4.$wI">
      <field name="VAR" id="j5C=K+Z.E:im1#q:;A=6">Muell_JSON</field>
      </block>
      </value>
      </block>
      </value>
      <value name="AT1">
      <block type="math_number" id="ic:P:#_w68q^w]#/;w+K">
      <field name="NUM">9</field>
      </block>
      </value>
      </block>
      </value>
      <next>
      <block type="control_ex" id="^[032{A//-EpUE6lh7ml">
      <field name="TYPE">false</field>
      <field name="CLEAR_RUNNING">FALSE</field>
      <value name="OID">
      <shadow type="field_oid" id="C(cn9,N4!n5#4$aZar#K">
      <field name="oid">Object ID</field>
      </shadow>
      <block type="text_join" id="@U%x4KdNV~Y0I#+,BB">
      <mutation items="3"></mutation>
      <value name="ADD0">
      <block type="text" id="Rk[Ngae|lr/9FXmY!no"> <field name="TEXT">0_userdata.0.Abfallkalender.</field> </block> </value> <value name="ADD1"> <block type="math_arithmetic" id="=RY5pU%/0M!J;{^z81qr"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="X%0Ty+_=!P#150td6M^P"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="TbkkwM2BKh^+;KTQY3C]"> <field name="VAR" id="h}CE-n1lS|gRf(0K%./">i</field>
      </block>
      </value>
      <value name="B">
      <shadow type="math_number" id="e,-Pz1Hy!V:=8S,tHo:"> <field name="NUM">1</field> </shadow> </value> </block> </value> <value name="ADD2"> <block type="text" id="SApnes6}k9wDi243W2xp"> <field name="TEXT">.event</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="70uxCt~?yhOTCs:tJ^~">
      <field name="BOOL">TRUE</field>
      </shadow>
      <block type="variables_get" id="}@7(YP=fmA0l@:FJS$v#">
      <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
      </block>
      </value>
      <value name="DELAY_MS">
      <shadow type="math_number" id="@JEhP_3fysDQ6a_x:ILm">
      <field name="NUM">0</field>
      </shadow>
      </value>
      <next>
      <block type="controls_if" id="r,.4GPI|(([[.76Cft~"> <mutation elseif="3"></mutation> <value name="IF0"> <block type="logic_compare" id="d4g.Ts.^;R!bu)T~|">
      <field name="OP">EQ</field>
      <value name="A">
      <block type="variables_get" id="tC!eDI_BV-hGgDc@kuPc">
      <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
      </block>
      </value>
      <value name="B">
      <block type="text" id="?3tZotX[hHq9HGFsA(x|">
      <field name="TEXT">Reststoff</field>
      </block>
      </value>
      </block>
      </value>
      <statement name="DO0">
      <block type="variables_set" id="FXPSk]#;ZliNOBw7bVC8">
      <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
      <value name="VALUE">
      <block type="math_number" id="-6AJ8U932(j5LuWN@Sp,">
      <field name="NUM">33840</field>
      </block>
      </value>
      </block>
      </statement>
      <value name="IF1">
      <block type="logic_compare" id=":{8uXg8tzuFNCxedDJ:F">
      <field name="OP">EQ</field>
      <value name="A">
      <block type="variables_get" id="0A}m@W~711B2u){_B8uP">
      <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field>
      </block>
      </value>
      <value name="B">
      <block type="text" id="x,Cz(O2e|co^a7rJEdO7">
      <field name="TEXT">Biotonne</field>
      </block>
      </value>
      </block>
      </value>
      <statement name="DO1">
      <block type="variables_set" id="Y#|WXlt|w+5h3BVI]
      ">
      <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
      <value name="VALUE">
      <block type="math_number" id="BVnWo|iSfirB?VwM7;o">
      <field name="NUM">2016</field>
      </block>
      </value>
      </block>
      </statement>
      <value name="IF2">
      <block type="logic_compare" id="Q0ejJ+ovU#35l7SaPd7"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="/EhoIt{trOOc3*+k5m4C"> <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field> </block> </value> <value name="B"> <block type="text" id="BVzI8#S#S*Yqk5v;$?kD"> <field name="TEXT">Blaue Tonne</field> </block> </value> </block> </value> <statement name="DO2"> <block type="variables_set" id="R7DF(c~|*~pR_D]JqW7c"> <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field> <value name="VALUE"> <block type="math_number" id="#A]b|UX(@QPk*SM_q)RZ"> <field name="NUM">31</field> </block> </value> </block> </statement> <value name="IF3"> <block type="logic_compare" id="MjEHt,7LG#}DST*Iuc.R"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="(WzO?43I0:YSK;VgFmnX"> <field name="VAR" id="^:v=Yb?;aM;Z[}4jCF3-">Event</field> </block> </value> <value name="B"> <block type="text" id="![3nA.95iLG[3]m5%GYS"> <field name="TEXT">Gelbe Tonne</field> </block> </value> </block> </value> <statement name="DO3"> <block type="variables_set" id="959t9eG^*uj2c;pF^HGP"> <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field> <value name="VALUE"> <block type="math_number" id="{*68t/i/Q7}6cb+0$6Y">
      <field name="NUM">65504</field>
      </block>
      </value>
      </block>
      </statement>
      <next>
      <block type="control_ex" id="^c0LOh0WChe-1QNTGVAy">
      <field name="TYPE">false</field>
      <field name="CLEAR_RUNNING">FALSE</field>
      <value name="OID">
      <shadow type="field_oid" id="7gi,zaI;54L/Ek{e9,I@">
      <field name="oid">Object ID</field>
      </shadow>
      <block type="text_join" id="J|nD$KZ,I6q=mt,xW@:X">
      <mutation items="3"></mutation>
      <value name="ADD0">
      <block type="text" id="kwm[DP}25YD]Te=}pS0"> <field name="TEXT">0_userdata.0.Abfallkalender.</field> </block> </value> <value name="ADD1"> <block type="math_arithmetic" id="pj~|_~%6}=?B^fK4@;L">
      <field name="OP">ADD</field>
      <value name="A">
      <shadow type="math_number" id="nYep(w4@hchPhKVE],mh">
      <field name="NUM">1</field>
      </shadow>
      <block type="variables_get" id="To0?Cg
      f2pZ(ZzK|=?M"> <field name="VAR" id="h}CE-n1lS|gRf(0K%./">i</field>
      </block>
      </value>
      <value name="B">
      <shadow type="math_number" id="=Q|k5qeOIy1ya}{CVNF@">
      <field name="NUM">1</field>
      </shadow>
      </value>
      </block>
      </value>
      <value name="ADD2">
      <block type="text" id="If6$$63npGW3OazEE^46">
      <field name="TEXT">.color</field>
      </block>
      </value>
      </block>
      </value>
      <value name="VALUE">
      <shadow type="logic_boolean" id=")+b01E8B2-c#vcsGmA+Y">
      <field name="BOOL">TRUE</field>
      </shadow>
      <block type="variables_get" id="/56z@-R5w^1i2XphN|">
      <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
      </block>
      </value>
      <value name="DELAY_MS">
      <shadow type="math_number" id="79qt?j;aoK%i)roQkfoE">
      <field name="NUM">0</field>
      </shadow>
      </value>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </next>
      </block>
      </statement>
      </block>
      </statement>
      </block>
      </xml>

      Der Alias ist vom Typ Warnung, da der auch Icon-Farben übergeben kann:

      b44f7cb4-e2a2-4b03-99fb-a8119f9698bb-image.png

      Bei z.B. 4 Events in einer cardEntities wären das dann 4 Aliase zu den oben aufgeführten Datenpunkten.

      Somit habe ich immer die nächste Leerung im Blick:

      b3fb562a-b99e-4d9a-8fb4-215842fca144-image.png

      Die Reihenfolge ist chronologisch. Jetzt zufällig auch alle Tonnenfarben dabei. Manchmal ist eine Abholung bei uns auch doppelt (dann fehlt halt eine Farbe und eine ist doppelt mit unterschiedlichen Terminen).
      fd2f9dc1-5375-4d32-a7ee-32c669c2dd9c-image.png

      T 1 Reply Last reply Reply Quote 0
      • T
        TT-Tom @Armilar last edited by 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.

        Armilar G 2 Replies Last reply Reply Quote 1
        • F
          Flipps @Armilar last edited by

          @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 😄 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 😄 .
          IMG_0349.jpg IMG_0348.PNG

          Armilar 1 Reply Last reply Reply Quote 1
          • Armilar
            Armilar Most Active Forum Testing @TT-Tom last edited by

            @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 1 Reply Last reply Reply Quote 0
            • Armilar
              Armilar Most Active Forum Testing @Flipps last edited by Armilar

              @flipps

              Perfektomat 😊

              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 1 Reply Last reply Reply Quote 0
              • F
                Flipps @Armilar last edited by

                @armilar versuche ich gleich mal 🙂

                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @Flipps last edited by Armilar

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

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

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

                    Armilar 2 Replies Last reply Reply Quote 0
                    • Armilar
                      Armilar Most Active Forum Testing @TT-Tom last edited by

                      @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?

                      1 Reply Last reply Reply Quote 1
                      • Armilar
                        Armilar Most Active Forum Testing @TT-Tom last edited by 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 1 Reply Last reply Reply Quote 0
                        • T
                          TT-Tom @Armilar last edited by

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

                          Armilar 1 Reply Last reply Reply Quote 0
                          • Armilar
                            Armilar Most Active Forum Testing @TT-Tom last edited by 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 1 Reply Last reply Reply Quote 0
                            • T
                              TT-Tom @Armilar last edited by

                              @armilar

                              okay, werde es im Wiki anpassen und beschreiben.

                              @georg2608

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

                              Armilar 1 Reply Last reply Reply Quote 1
                              • Armilar
                                Armilar Most Active Forum Testing @TT-Tom last edited by

                                @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... ⛱

                                1 Reply Last reply Reply Quote 0
                                • JohGre
                                  JohGre last edited by 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

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @JohGre last edited by

                                    @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

                                    1 Reply Last reply Reply Quote 1
                                    • T
                                      TT-Tom @georg2608 last edited by 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 1 Reply Last reply Reply Quote 1
                                      • G
                                        georg2608 @TT-Tom last edited by

                                        @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

                                        Armilar 1 Reply Last reply Reply Quote 0
                                        • Armilar
                                          Armilar Most Active Forum Testing @georg2608 last edited by 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 1 Reply Last reply Reply Quote 0
                                          • G
                                            georg2608 @Armilar last edited by

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

                                            Vielen, Vielen Dank

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            905
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4482727
                                            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