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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      lustig29 @Armilar last edited by

      @armilar
      Ahh.🤦‍♂️

      L 1 Reply Last reply Reply Quote 0
      • L
        lustig29 @lustig29 last edited by lustig29

        Ich bekomme den Abfallkalender nicht angezeigt. Woran kann das liegen?

        let Abfall: PageType =
        {
            "type": "cardEntities",
            "heading": "Abfallkalender",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                { id: AliasPath + '0_userdata.0.Abfallkalender.1.event',icon: 'trash-can'},  
                { id: AliasPath + '0_userdata.0.Abfallkalender.2.event',icon: 'trash-can'},  
                { id: AliasPath + '0_userdata.0.Abfallkalender.3.event',icon: 'trash-can'},  
                { id: AliasPath + '0_userdata.0.Abfallkalender.4.event',icon: 'trash-can'}  
            ]
        
        
        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="h}CE-n1l`S|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.0.data.table</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="controls_for" id="wduAM(OBPzLJ@bfYAK5%">
                <field name="VAR" id="h}CE-n1l`S|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*mK`e">
                            <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-n1l`S|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~.9`9R4K)">
                            <value name="PATH">
                              <shadow type="text" id="kC1+sgB#n4jkZjaeCAi:">
                                <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-n1l`S|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="MU-+yX*B5FZDno+$EU{S">
                                        <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~+YA`5]wg">
                                            <field name="VAR" id="h}CE-n1l`S|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="^DV3eb94-na)vn;h1?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[N`gae|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="e_P.rgX|_vD-$%(:T-|I">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="variables_get" id="TbkkwM2BKh^+;KTQY3C]">
                                            <field name="VAR" id="h}CE-n1l`S|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~?y`hOTCs: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">Restmüll</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">Biomüll</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <statement name="DO1">
                                      <block type="variables_set" id="Y#|WXlt|w+`5h3B`VI]*">
                                        <field name="VAR" id="9^)S?J=tLkC7cUWc-u9w">Color</field>
                                        <value name="VALUE">
                                          <block type="math_number" id="BVnWo|iSfirB?Vw*M7;o">
                                            <field name="NUM">2016</field>
                                          </block>
                                        </value>
                                      </block>
                                    </statement>
                                    <value name="IF2">
                                      <block type="logic_compare" id="Q0ejJ+ovU#35l7SaPd`7">
                                        <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">Altpapier</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=}p`S0">
                                                <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="z/gzD=CFU?L9V-DBj@n;">
                                                    <field name="NUM">1</field>
                                                  </shadow>
                                                  <block type="variables_get" id="To0?Cg*f2pZ(Z`zK|=?M">
                                                    <field name="VAR" id="h}CE-n1l`S|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="/5*6z@-R5w^1i2*XphN|">
                                            <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>
        
        T 1 Reply Last reply Reply Quote 0
        • T
          TT-Tom @lustig29 last edited by

          @lustig29
          Der Pfad hinter id: ist falsch.

          Hier mal eine Beschreibung https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#4-abfallkalender

          L 1 Reply Last reply Reply Quote 1
          • L
            Lokverführer last edited by

            Hallo zusammen,

            ich bin neu im Thema und habe schon erfolgreich eine Abfallkalender-Seite eingebunden. Nun würde mich mich gerne an die cardPower wagen. Meine Skriptversion ist 4.3.3.43.

            Ich habe aus dem Wiki eine Beispielkarte kopiert und bei den pages hinzugefügt (mehr sollte für die Demo ja nicht notwendig sein?):

            let CardPowerExample: PageType =
            {
                'type': 'cardPower',
                'heading': 'Energiefluss',
                'useColor': true,
                'items': [
                    {  }
                ]
            };
            

            Beim Compilieren wird aber direkt dieser Fehler ausgegeben:
            [error]: javascript.0 (1572800) script.js.common.NSPanel.NSPanel1: TypeScript compilation failed: 'useColor': true,
            ERROR: Object literal may only specify known properties, and ''useColor'' does not exist in type 'PagePower'.

            Wird die Zeile 'useColor" entfernt, tritt der Fehler nicht mehr auf, es wird aber auch keine Karte angezeigt.

            T 1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @Lokverführer last edited by ticaki

              @lokverführer

              hast du sie unten in pages aufgenommen? Btw. wie kommst du auf useColor - in der Wiki steht es ohne.

              https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-‐-Typen_How-2_Beispiele#page-beispiele

              1 Reply Last reply Reply Quote 0
              • L
                Lokverführer last edited by

                @ticaki
                Und hier steht es mit useColor :
                https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardpower-ab-ts-script-v341

                In Pages habe ich die CardPowerExample mit aufgenommen

                T 1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @Lokverführer last edited by

                  @lokverführer sagte in SONOFF NSPanel mit Lovelace UI:

                  @ticaki
                  Und hier steht es mit useColor :
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardpower-ab-ts-script-v341

                  Danke dann muß das noch korrigiert werden.

                  Beim eigentlichen Problem kann ich dir leider nicht helfen.

                  Armilar 1 Reply Last reply Reply Quote 2
                  • Armilar
                    Armilar Most Active Forum Testing @ticaki last edited by Armilar

                    @ticaki
                    @Lokverführer

                    let CardPowerExample: PageType =
                    {
                        'type': 'cardPower',
                        'heading': 'Energiefluss',
                        'items': [
                            {  }
                        ]
                    };
                    

                    Habe das useColor bei der cardPower aus dem Wiki entfernt, da es sich mit den Types beißt und in der Card auch keinen Sinn macht...

                    Der Rest sollte so funktionieren... 😊

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

                      @armilar
                      @Lokverführer

                      der Demomodus wird nicht funktionieren. suche bitte im script diese Stelle

                      function GeneratePowerPage(page: NSPanel.PagePower): NSPanel.Payload[] {
                          try {
                      
                              if (!page.items[0].id) throw new Error ('Missing pageItem.id for PowerPage!');
                      
                              let obj:object = {};
                              let demoMode = false;        
                              if (page.items[0].id == undefined){
                                  log('No PageItem defined - cardPower demo mode active', 'info');
                                  demoMode = true;
                              }
                      

                      und lösche diese Zeile.

                       if (!page.items[0].id) throw new Error ('Missing pageItem.id for PowerPage!');
                      

                      dann sollte der Demomodus laufen.

                      1 Reply Last reply Reply Quote 3
                      • P
                        patricknitsch last edited by

                        Hallo, ich habe ein kleines Problem mit meinen Hardwaretasten. Ich habe Rule 1 eingefügt, um nach oben und auf Home springen zu können. Die Home Funktion auf Button 2 funktioniert problemlos. Bei Button 1 springt das Panel aber nicht in die übergeordnete Seite.

                        In Tasmota wird der Befehl richtig ausgegeben. Topic passt dabei auch:

                        21:18:20.859 RUL: BUTTON1#STATE performs "Publish Sonoff/NSPanelOG/tele/RESULT {"CustomRecv":"event,buttonPress1,hwbtn,bUp"}"
                        21:18:20.871 MQT: Sonoff/NSPanelOG/tele/RESULT = {"CustomRecv":"event,buttonPress1,hwbtn,bUp"}
                        

                        In IOBroker erhalte ich aber folgende Fehlermeldung:

                        script.js.common.NSPanel_OG.NSPanel_OG_0_1: Please report to developer: Unknown NSPanel.EventMethod: buttonPress1
                        

                        Hat hierzu jemand eine Idee, woran es liegen könnte?

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

                          @patricknitsch sagte in SONOFF NSPanel mit Lovelace UI:

                          In IOBroker erhalte ich aber folgende Fehlermeldung:

                          script.js.common.NSPanel_OG.NSPanel_OG_0_1: Please report to developer: Unknown NSPanel.EventMethod: buttonPress1
                          

                          Hat hierzu jemand eine Idee, woran es liegen könnte?

                          ja - es gibt kein buttonPress1, sondern ausschließlich die Methode buttonPress2 und auch wenn man es vermutet, so gibt es keinen Zusammenhang mit den Hardware-Buttons

                          7ada9d30-a756-4d2f-9925-7b1c2e7d927e-image.png

                          ein bUp wird ebenfalls per buttonPress2 gesendet:

                          https://github.com/joBr99/nspanel-lovelace-ui/tree/main/HMI#messages-from-nextion-display

                          P 1 Reply Last reply Reply Quote 0
                          • P
                            patricknitsch @Armilar last edited by

                            @armilar Dann funktioniert die Anleitung Rule 1 mit den Hardware Buttons gar nicht mehr?

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

                              @patricknitsch

                              Doch klar funktioniert die noch... ist nur ein Fehler drin.

                              dürfte eher so aussehen:

                              Rule1 on Button1#state do Publish %topic%/tele/RESULT {"CustomRecv":"event,buttonPress2,hwbtn,bUp"} endon on Button2#state do Publish %topic%/tele/RESULT {"CustomRecv":"event,buttonPress2,hwbtn,bHome"} endon
                              Rule1 1
                              

                              EDIT: Habe es im Wiki ebenfalls korrigiert.

                              P 1 Reply Last reply Reply Quote 1
                              • P
                                patricknitsch @Armilar last edited by

                                @armilar Funktioniert! Danke 🙂

                                1 Reply Last reply Reply Quote 1
                                • M
                                  maik5066 last edited by

                                  Hallo Leute, ich würde gern WLED nutzen, ich habe mir alle Anleitungen durchgelesen leider funktioniert es bei mir nicht.

                                  Wenn es jemand, funktionierend umgesetzt hat, könnt ihr mir das Skript und die CARD zuschicken oder am besten posten.
                                  Vielen Dank

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

                                    @maik5066

                                    Was funktioniert denn nicht bei dir??

                                    Welche Fehlermeldungen hast du bekommen??

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      maik5066 @TT-Tom last edited by

                                      @TT-Tom , danke für deine Rückmeldung. Ich habe das js Skript genutzt und die drei hilfsdatenpunkte angelegt. Wenn ich, wie in der Anleitung das Card Grip kopiere findet er die variable index01 nicht.

                                      Wäre es nicht möglich, direkt die Effekte datenpunkte des WLED Adapter zu nutzen z. Bsp. fx.

                                      Habt ihr ein funktionierendes bespiel was ich mir kopieren kann.

                                      T 1 Reply Last reply Reply Quote 0
                                      • N
                                        nono87 last edited by

                                        Guten Morgen,

                                        ich habe meine Mähroboter wieder aus dem Winterschlaf geholt und wollte diesen gleich einbinden.
                                        Bisher klappt auch alles wie gewünscht nur leider stoße ich jetzt an meine Grenzen.
                                        Der Worx gibt als Status eine Zahl mit den States dahinter mit. Diese Zahlen kann ich mittels Info Alias anzeigen. Schöner wäre es natürlich wenn dort als Text steht was gerade passiert. Sei es als Wert oder als Text unter dem Wert.

                                        Ich hoffe dazu gibt es bereits eine Lösung

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

                                          @maik5066 sagte in SONOFF NSPanel mit Lovelace UI:

                                          @TT-Tom , danke für deine Rückmeldung. Ich habe das js Skript genutzt und die drei hilfsdatenpunkte angelegt. Wenn ich, wie in der Anleitung das Card Grip kopiere findet er die variable index01 nicht.

                                          Das "parent": Index01, kannst du weglassen. Wenn deine Seite eine SubPage ist, dann solltest du folgende Parameter setzen

                                          'subPage': true,
                                              'parent': Seite von wo du gesprungen bist ,
                                              'home': 'Startseite',
                                          

                                          Wäre es nicht möglich, direkt die Effekte datenpunkte des WLED Adapter zu nutzen z. Bsp. fx.

                                          Das Zusatzscript nutzt die Effekte auf dem Datenpunkt, leider kann das Panel nur einen Index aus der Liste zurücksenden. Deswegen dieser Umweg mit den Hilfsdatenpunkten und Script.

                                          Habt ihr ein funktionierendes bespiel was ich mir kopieren kann.

                                          Das Beispiel aus dem Wiki läuft, wenn sich der Adapter/WLED nicht so stark geändert hat.

                                          M 2 Replies Last reply Reply Quote 1
                                          • Armilar
                                            Armilar Most Active Forum Testing @nono87 last edited by

                                            @nono87

                                            42becf05-8fde-4625-9cbf-1ad9222dcbae-image.png

                                            Habe da ein paar Datenpunkte angelegt, weil ich den Landroid ausschließlich per Script steuere und lasse u.a. die Texte von Status und Error ebenfalls einfließen. Man könnte jetzt einfach die Objektdaten nehmen, die sind aber lediglich in englisch und ich wollte die in deutsch. Somit habe ich die übersetzt.

                                            let serial = '2021302673020008XXXX'
                                            
                                            //Datenpunkte anlegen
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode');
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.Status');
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.Betriebsstunden_Maeher');
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.Betriebszeit_Maeher');
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.Betriebsstunden_Klingen');
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.Betriebszeit_Klingen');
                                            createState('0_userdata.0.WorxLandroid.' + serial + '.Betriebsstrecke_km');
                                            
                                            on({id: [].concat(['worx.0.' + serial + '.mower.error']), change: "any"}, async function (obj) {
                                              switch (obj.state.val) {
                                                  case 0:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Kein Fehler');
                                                    break;
                                                  case 1:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Gefangen');
                                                    break;
                                                  case 2:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Angehoben');
                                                    break;
                                                  case 3:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Draht nicht angeschlossen');
                                                    break;
                                                  case 4:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Außerhalb der Begrenzung');
                                                    break;
                                                  case 5:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Regen');
                                                    break;
                                                  case 6:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Schließe Akku-Klappe');
                                                    break;
                                                  case 7:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Akku-Klappe offen');
                                                    break;
                                                  case 8:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Klingen-Motor blockiert');
                                                    break;
                                                  case 9:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Antrieb blockiert');
                                                    break;
                                                  case 10:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Eingeschlossen Timeout');
                                                    break;
                                                  case 11:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Upside down');
                                                    break;
                                                  case 12:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Akku niedrig');
                                                    break;
                                                  case 13:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Drahtpolung falsch');
                                                    break;
                                                  case 14:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Ladefehler');
                                                    break;
                                                  case 15:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Timeout finding home');
                                                    break;
                                                  case 16:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Mower locked');
                                                    break;
                                                  case 17:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Akku zu heiß');
                                                    break;
                                                  case 18:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Dummy Model');
                                                    break;
                                                  case 19:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'Akku-Klappe Timeout');
                                                    break;
                                                  case 20:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'wire sync');
                                                    break;
                                                  case 21:
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.ErrorCode', 'msg num');
                                                    break;
                                              }
                                            });
                                            
                                            on({id: [].concat(['worx.0.' + serial + '.mower.batteryState']), change: "any"}, async function (obj) {
                                                console.log("Batteriestatus: " + obj.state.val + "%");
                                                console.log("Status: " + getState('worx.0.' + serial + '.mower.status').val);
                                                if (obj.state.val < 100 && parseInt(getState('worx.0.' + serial + '.mower.status').val) == 1) {
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Akku wird aufgeladen');
                                                }
                                                if (obj.state.val = 100 && parseInt(getState('worx.0.' + serial + '.mower.status').val) == 1) {
                                                    setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Ausgangsposition');
                                                }
                                            });
                                            
                                            on({id: [].concat(['worx.0.' + serial + '.mower.status']), change: "any"}, async function (obj) {
                                                switch (obj.state.val) {
                                                    case 0:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Leerlauf');
                                                        break;
                                                    case 1:
                                                        if (getState('worx.0.' + serial + '.mower.batteryState').val <= 10) {
                                                            setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Ladestation');
                                                        } else {
                                                            setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Ausgangsposition');
                                                        }
                                                        break;
                                                    case 2:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Start Sequence');
                                                        break;
                                                    case 3:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Verlasse Ladestation');
                                                        break;
                                                    case 4:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Folge Draht');
                                                        break;
                                                    case 5:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Suche Ladestation');
                                                        break;
                                                    case 6:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Suche Draht');
                                                        break;
                                                    case 7:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Mähen');
                                                        break;
                                                    case 8:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Angehoben');
                                                        break;
                                                    case 9:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Eingeschlossen');
                                                        break;
                                                    case 10:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Messer blockiert');
                                                        break;
                                                    case 11:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Debug');
                                                        break;
                                                    case 12:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Remote control');
                                                        break;
                                                    case 13:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'escape from off limits');
                                                        break;
                                                    case 30:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Fahrt zur Ladestation');
                                                        break;
                                                    case 30:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Zonen Training');
                                                        break;
                                                    case 30:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Rasenkantenschnitt');
                                                        break;
                                                    case 30:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Suche Zone');
                                                        break;
                                                    case 30:
                                                        setState('0_userdata.0.WorxLandroid.' + serial + '.Status', 'Pause');
                                                        break;
                                                }
                                            });
                                            
                                            on({id: [].concat(['worx.0.' + serial + '.mower.totalTime']), change: "any"}, async function (obj) {
                                                setState('0_userdata.0.WorxLandroid.' + serial + '.Betriebsstunden_Maeher', Math.round((parseFloat((obj.state ? obj.state.val : "")) / 60)*100)/100);
                                            
                                                let diff = obj.state.val;
                                                console.log("Minuten gesamt: " + diff); 
                                                
                                                let days = Math.floor(diff / 60 / 24);
                                                diff = diff - (days * 60 * 24)
                                            
                                                let hours = Math.floor(diff / 60)
                                                diff = diff - (hours * 60)
                                              
                                                console.log("Betriebszeit Mäher: " + days + " Tage, " +  hours + " Stunden, " + diff + " Minuten")
                                                
                                                setState('0_userdata.0.WorxLandroid.' + serial + '.Betriebszeit_Maeher', days + " T. " +  hours + " Std. " + diff + " Min.");
                                            });
                                            
                                            on({id: [].concat(['worx.0.' + serial + '.mower.totalBladeTime']), change: "any"}, async function (obj) {
                                                setState('0_userdata.0.WorxLandroid.' + serial + '.Betriebsstunden_Klingen', Math.round((parseFloat((obj.state ? obj.state.val : "")) / 60)*100)/100);
                                                
                                                let diff = obj.state.val;
                                                console.log("Minuten Klingen: " + diff); 
                                                
                                                let days = Math.floor(diff / 60 / 24);
                                                diff = diff - (days * 60 * 24)
                                            
                                                let hours = Math.floor(diff / 60)
                                                diff = diff - (hours * 60)
                                              
                                                console.log("Betriebszeit Klingen: " + days + " Tage, " +  hours + " Stunden, " + diff + " Minuten")
                                                
                                                setState('0_userdata.0.WorxLandroid.' + serial + '.Betriebszeit_Klingen', days + " T. " +  hours + " Std. " + diff + " Min.");
                                            });
                                            
                                            on({id: [].concat(['worx.0.' + serial + '.mower.totalDistance']), change: "any"}, async function (obj) {
                                              setState('0_userdata.0.WorxLandroid.' + serial + '.Betriebsstrecke_km', (parseFloat((obj.state ? obj.state.val : "")) / 1000));
                                            });
                                            

                                            Falls du das Script im Spoiler gebrauchen kannst? Ein JS-Script anlegen, die Seriennummer aus dem Worx Adapter einfügen und starten.

                                            Die Infos kannst du dann per Alias info in die Card bringen 😊

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            732
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            265
                                            7307
                                            5004175
                                            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