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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • 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.
    • C
      coto @TT-Tom last edited by coto

      @tt-tom

      Ich hatte es bereits als "Info" angelegt, nur da funktioniert weder Icon noch onColor und offColor.

      {
        "_id": "alias.0.NSPanel1.Internetonline",
        "common": {
          "name": {
            "de": "Internetonline"
          },
          "role": "info",
          "icon": "",
          "color": null
        },
        "native": {},
        "type": "channel",
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1677332171213,
        "acl": {
          "object": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      Du kannst es gerne mal bei dir nachstellen.
      Ich mache über den Ping Adapter eine Abfrage auf die IP 8.8.8.8 und möchte die Anzeige dann im NSPanel als Online (Grünes Icon) und Offline (Rotes Icon2) auswerten.

      Laut Wiki ist der Info-Alias kein Boolean, wie soll es dann eine Auswertung von zwei Zuständen geben?
      1a052f4f-87e0-4db0-826e-6e34dd2d794a-image.png

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

        @coto

        Habe mich geirrt, wie schon geschrieben, von @Armilar ist es nicht implementiert.
        Es funktioniert nur in Verbindung mit navigate:true, also als Sprungmarke.

        C 1 Reply Last reply Reply Quote 0
        • C
          coto @TT-Tom last edited by

          @tt-tom

          Hab es jetzt funktionsfähig. Hab den Channel auf Gate umgestellt. Jetzt funktioniert onColor / offColor sowie Icon und Icon2

          2606af14-c56e-4261-b80b-ce236e99b456-image.png

          Keine Ahnung warum das nur mit "Gate" funktioniert. Vielleicht kann das einer der Programmierer mal erläutern.

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

            @coto

            Ist mir echt schleierhaft, warum in deinem Alias Gate ein State der Rolle "door" drin ist. Baust du dir die selbst?

            Gate sieht eigentlich so aus:

            95b9ea03-6b50-46e0-8247-08ce04b390c4-image.png

            C 1 Reply Last reply Reply Quote 0
            • C
              coto @Armilar last edited by

              @armilar

              Hab den Channel "Manuel" nach erstellen des Door-Aliases auf Gate umgestellt. Damit funktioniert jetzt onColor / offColor sowie Icon und Icon2.

              Die Eigentliche Frage ist, warum onColor / offColor sowie Icon und Icon2 nicht bei anderen boolean funktioniert. z.B. Door

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

                @coto

                Die Frage ist eher, warum wir bereits die Sonder-Icons im Gate zugelassen haben?

                Ein Fenster geht auf und zu - Der Alias-Fenster - macht also was es soll und das Icon ist... tada - natürlich das Fenster (auf/zu) mit Farbe

                Eine Tür geht auf und zu - Der Alias-Tür - macht also was es soll und das Icon ist... tada - natürlich die Tür (auf/zu) mit Farbe

                Könnte jetzt so weitergehen... mit Verschluss und usw. All diese Aliase machen das wofür sie da sind. Sie sind aber nicht für den Eierkocher oder sonstige Dinge implementiert.

                Wenn es funktioniert, dann ist es doch okay... Alles andere sind optionale Anforderungen, die du gerne auch unter github als Issue einstellen darfst.

                Klar könnte der allwissende Info-Alias auch künftig mit boolean umgehen und hüpfende Icons in Regenbogenfarben anzeigen. Dafür wurde er aber nicht implementiert, sondern um Informationen anzuzeigen. Und das macht der eben auch sehr gut...

                1 Reply Last reply Reply Quote 0
                • M
                  marc_d0810 @joBr99 last edited by

                  @jobr99 Hey jobr99,

                  vielleicht kannst du mir auch helfen?
                  Habe heute mein NSPanel mit Tasmota geflasht.
                  Beim Punkt das Display zu flashen passiert aber leider auch nichts.

                  Der Befehl: FlashNextion bricht dann irgendwann mit der Meldung:

                  19:32:41.543 FLH: Something has gone wrong flashing display firmware [bytes('55AA8713007B22484D495F696E74657266616365223A367D919700')]

                  ab.
                  Ich habe auch schon andere Tasmota Versionen versucht, bin jetzt auf Version 12.2.0 aber auch da ändert sich leider nichts.
                  Das Display bleibt im Original Screen und es passiert rein garnichts 😞

                  Hab nun auch schon mehrfach das Flachbandkabel raus- und wieder reingesteckt, hilft auch nichts.

                  Auch die anderen FlashNextion (ADVxx) Befehle bringen keine Änderung.

                  Hast du vielleicht noch die entscheidende Idee? 😉

                  Beste Grüße
                  Marcus

                  Bildschirm­foto 2023-02-25 um 19.55.33.png

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

                    @marc_d0810

                    versuche mal damit:

                    FlashNextionAdv1 http://nspanel.pky.eu/lui.tft
                    

                    falls das läuft, dann:

                    FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.9.4.tft
                    

                    Hast du vorher alle Dateien rausgeworfen und dann folgende autoexec.be

                    https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be
                    

                    installiert?

                    M 2 Replies Last reply Reply Quote 0
                    • M
                      Mayan last edited by

                      Hallo,

                      ich habe im Haus Homematic Drehgriffkontakte mit „offen, kipp, geschlossen“ Zuständen.
                      Habe mir folgendes erstellt:
                      5453F083-E486-49CD-B728-68D14694BB6E.jpeg
                      Es wäre super wenn ich drei Farben angezeigt bekomme zu- grün, kipp- gelb, offen-rot

                      Habe schon einiges probiert:

                        <PageItem>{ id: "alias.0.Allgemein.Fenster.Schlafz", name: 'Schlafzimmer', onColor: ColorSchlafz, offColor: ColorSchlafz, useValue: true },
                      
                      var ColorSchlafz = (getState("javascript.0.Sonoff.FensterSchlafz").val == 'zu' ? MSGreen: null) || 
                      (getState("javascript.0.Sonoff.FensterSchlafz").val == 'kipp' ? MSYellow : null) || 
                      (getState("javascript.0.Sonoff.FensterSchlafz").val == 'auf' ? MSRed : null);
                      
                      on({id: [].concat(['javascript.0.Sonoff.FensterSchlafz']), change: "any"}, async function (obj) {
                        ColorSchlafz = (getState("javascript.0.Sonoff.FensterSchlafz").val == 'zu' ? MSGreen: null) || 
                      (getState("javascript.0.Sonoff.FensterSchlafz").val == 'kipp' ? MSYellow : null) || 
                      (getState("javascript.0.Sonoff.FensterSchlafz").val == 'auf' ? MSRed : null);
                      });
                      

                      Bei Neustart des Script funktioniert die Farbzuordnung.
                      Leider ist im Script nicht vorgesehen das sich on/offColor dynamisch ändert.
                      Vielleicht habe ich auch was falsch gemacht.
                      Kann mir jemand helfen?

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

                        @mayan

                        Der einzige Alias, der das im Script hinbekommt ist der Gerätetyp Warnings --> siehe Abfall

                        Da das Fenster ein boolean ist (mit zwei Zuständen), wird er auch keine drei Strings verarbeiten können. Da die id bereits getriggert wird, erfolgt das triggern, bevor du deine Änderungen schreiben kannst. Sie werden also nie verarbeitet.

                        Wenn du aber den Typ Warnings benutzt, dann kannst du einen Wert und eine Farbe im Alias übergeben.

                        1 Reply Last reply Reply Quote 0
                        • M
                          marc_d0810 @Armilar last edited by

                          @armilar

                          Moin Moin,

                          habe gerade alles nochmal rausgeworfen und die autoexec.be neu geladen.
                          Bringt leider auch keine Änderung und er hängt dann wieder beim FlashNextionAdv1.

                          Bildschirm­foto 2023-02-26 um 06.55.37.png

                          1 Reply Last reply Reply Quote 0
                          • M
                            marc_d0810 @Armilar last edited by

                            @armilar

                            Ich habe das ganze nun nochmal gemacht und keine Ahnung warum, aber nun konnte ich mit FlashNextionAdv1 die nspanel-v3.9.4 flashen. 🙂

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

                              @marc_d0810

                              Perfekt, dann direkt nochmal die:

                              FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.9.4.tft
                              

                              hinterher und weiterhin viel Spaß mit dem Panel

                              Gargano M 2 Replies Last reply Reply Quote 0
                              • Armilar
                                Armilar Most Active Forum Testing last edited by Armilar

                                @mayan

                                Je Fenster diese Datenpunkte anlegen:
                                91b8a7a1-18ac-4b2f-be19-b5772d12568f-image.png

                                Alias Warnung drauflegen
                                69f5a45a-34ae-4306-8b09-744a07cdec62-image.png

                                Unten in der Script function CreateEntity den case warning ersetzen:

                                                case 'warning':
                                                    type = 'text';
                                                    iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('alert-outline');
                                                    iconColor = getState(([pageItem.id, '.LEVEL'].join(''))).val;
                                                    let itemName = getState(([pageItem.id, '.TITLE'].join(''))).val;
                                                    let itemInfo = getState(([pageItem.id, '.INFO'].join(''))).val;
                                                    
                                                    RegisterEntityWatcher(pageItem.id + '.LEVEL');
                                                    RegisterEntityWatcher(pageItem.id + '.INFO');
                                
                                                    if (pageItem.useValue) {
                                                        iconId = itemInfo; 
                                                    }
                                
                                                    return '~' + type + '~' + itemName + '~' + iconId + '~' + iconColor + '~' + itemName + '~' + itemInfo;
                                

                                Blockly bauen
                                52ef362e-e543-4559-87ed-97f76b85944d-image.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <block type="on_ext" id="7F/xh~*?3`mc^1*K,W7{" x="112" y="63">
                                    <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="qpr+xv*z`B2XPr(r@Gr}">
                                        <field name="oid">0_userdata.0.Test.HomaticKippfenster</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="logic_switch_case" id=".@y|@PV*p3IFgM(JcFnf">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation>
                                        <value name="CONDITION">
                                          <block type="on_source" id="j]X7v|i_Dd2T7C@Vl;Go">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="CASECONDITION0">
                                          <block type="text" id="DLCub!@WhKO9ZK!C?l%q">
                                            <field name="TEXT">auf</field>
                                          </block>
                                        </value>
                                        <statement name="CASE0">
                                          <block type="control" id="%.r}9HvU-ns1ysooh,KG">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">0_userdata.0.Test.HmIPKippfenseter.date</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="on_source" id="*f[t)GdTGZh]r?=v/7z,">
                                                <field name="ATTR">state.val</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="control" id="wcW.:NEyyLA_MIt,y!2.">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Test.HmIPKippfenseter.color</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="p9,$Lry4}4q3r?!}mh3i">
                                                    <field name="TEXT">64332</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                        <value name="CASECONDITION1">
                                          <block type="text" id="](l=z*]A}oS5Arn6-~bl">
                                            <field name="TEXT">zu</field>
                                          </block>
                                        </value>
                                        <statement name="CASE1">
                                          <block type="control" id="IRy`*m,Bt0X;A^GCbPhr">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">0_userdata.0.Test.HmIPKippfenseter.date</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="on_source" id="cj7vYeATckU.,KCgbs2z">
                                                <field name="ATTR">state.val</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="control" id="+)+$kxE/1:$u8E{YFuO4">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Test.HmIPKippfenseter.color</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="RWA7gTWf$LB}(hLem3^X">
                                                    <field name="TEXT">32495</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                        <value name="CASECONDITION2">
                                          <block type="text" id="qyz0%`sl|n[V*0L:CH`(">
                                            <field name="TEXT">kipp</field>
                                          </block>
                                        </value>
                                        <statement name="CASE2">
                                          <block type="control" id="PN7;/9kx_}Vkg.EX(n[Y">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                            <field name="OID">0_userdata.0.Test.HmIPKippfenseter.date</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE">
                                              <block type="on_source" id="lb5.5S%em0XwKGC{}`g^">
                                                <field name="ATTR">state.val</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="control" id="32quUw$wGhWuHBQMA6ws">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">0_userdata.0.Test.HmIPKippfenseter.color</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="a=x=.IBp$jo9B-}Bvone">
                                                    <field name="TEXT">65363</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                  </block>
                                </xml>
                                

                                Dann sollte das Kippfenster mit

                                <PageItem>{ id: 'alias.0.NSPanel_1.Kippfenster', useValue: true },
                                

                                arbeiten

                                6616b9ac-1a11-4d4e-ac4d-474f1501b429-Nextion_Editor_yTEII0gClF.gif

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Mayan last edited by

                                  @Armilar

                                  Es funktioniert mit meinen Fenstern!
                                  Allerdings musste ich noch ,name: ’’, einfügen sonst werden die Fenster nicht angezeigt.
                                  6AFBEAB7-5B75-44F5-84E0-8CA06D560327.jpeg

                                  <PageItem>{ id: "alias.0.Allgemein.Fenster.Schlafz",name:'', useValue: true},
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Wohnz", name:'', useValue: true},
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Kinderz", name: '', useValue: true },
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Essz", name: '', useValue: true },
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Badez", useValue: true },
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Abstellr", useValue: true }
                                  

                                  DA02D50D-B4BA-4ACB-BA38-97057EB8880C.jpeg

                                  <PageItem>{ id: "alias.0.Allgemein.Fenster.Schlafz",name:'', useValue: true},
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Wohnz", name:'', useValue: true},
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Kinderz", name: '', useValue: true },
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Essz", name: '', useValue: true },
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Badez", name: '', useValue: true },
                                          <PageItem>{ id: "alias.0.Allgemein.Fenster.Abstellr",name: '', useValue: true }
                                  

                                  Ich hatte dieses Verhalten auch vor der Änderung.
                                  (Da hatte ich nur Icons und Text)
                                  Im Script function CreateEntity den case warning ersetzen

                                  case 'warning':
                                                      type = 'text';
                                                      iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('alert-outline');
                                                      iconColor = getState(([pageItem.id, '.LEVEL'].join(''))).val;
                                                      let itemName = getState(([pageItem.id, '.TITLE'].join(''))).val;
                                                      let itemInfo = getState(([pageItem.id, '.INFO'].join(''))).val;
                                                      
                                                      RegisterEntityWatcher(pageItem.id + '.LEVEL');
                                                      RegisterEntityWatcher(pageItem.id + '.INFO');
                                  
                                                      if (pageItem.useValue) {
                                                          iconId = itemInfo; 
                                                      }
                                  
                                                      return '~' + type + '~' + itemName + '~' + iconId + '~' + iconColor + '~' + itemName + '~' + itemInfo;
                                  

                                  Ich nutze noch die Version 3.9.0.2

                                  Ich wusste nicht das der Abfallkalender vom Gerätetyp Warnings sein sollte.
                                  Habe es mit einem ganz normalen Info laufen.
                                  94F43844-7F63-45CC-B08D-E0DEA4AAA628.jpeg

                                  <PageItem>{ id: "alias.0.Allgemein.Restmüll",name: "Restmüll",icon: "trash-can", onColor: Black, offColor: Black},
                                          <PageItem>{ id: "alias.0.Allgemein.Leichtverpackungen",name: "Leichtverpackungen",icon: "trash-can", onColor: Yellow, offColor: Yellow},
                                          <PageItem>{ id: "alias.0.Allgemein.Papier",name: "Papier", icon: "trash-can", onColor: Blue, offColor: Blue}
                                  

                                  Danke für die schnelle Hilfe!

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

                                    @mayan sagte in SONOFF NSPanel mit Lovelace UI:

                                    Ich wusste nicht das der Abfallkalender vom Gerätetyp Warnings sein sollte.
                                    Habe es mit einem ganz normalen Info laufen.

                                    Wenn du den, so wie bei dir statisch nach dem nächsten Termin je Farbe anordnest, dann reicht auch der Info - also alles korrekt

                                    Wenn du aber die Icon-Farben dynamisch ändern möchtest und die nächsten anstehenden Termine, ungeachtet aller verfügbaren Tonnenfarben, dann musst du den Warnung benutzen.

                                    Ich nutze noch die Version 3.9.0.2

                                    Ist ja bis auf zwei kleine Hotfixes auch die aktuellste...

                                    1 Reply Last reply Reply Quote 0
                                    • O
                                      Oliver Feld last edited by

                                      Bei mir im Abfallkalender steht neben der Tonne das Datum. Wie stelle ich es ein, dass dort anstatt Datum „Morgen“ bzw. „Übermorgen“ steht?

                                      Danke und Gruß Olli

                                      T 2 Replies Last reply Reply Quote 0
                                      • T
                                        TT-Tom @Oliver Feld last edited by

                                        @oliver-feld

                                        Das kommt vom iCal Adapter. Das Script aus dem Wiki schreibt das Datum nicht um.

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          Mayan last edited by

                                          @Oliver-Feld

                                          Das „Morgen“ usw. im Abfallkalender erstelle ich von Daten aus dem Adapter trashschedule, der wiederum die Daten aus dem iCal Adapter bezieht. Bei mir wird größer einer Woche das Datum, ab einer Woche in Tagen und zum Schluss Morgen und Heute angezeigt.
                                          CA3FE131-2FB3-40BE-87E2-9F27F70A4473.jpeg

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            PaNoRu84 @TT-Tom last edited by

                                            @tt-tom @Armilar,

                                            vielen Dank für eure Hilfe.

                                            Ich schulde euch noch ein Foto. Hier kommt es.
                                            Ich habe die Idee mit den "Zählen" direkt übernommen.
                                            Ist noch nicht final aber funktioniert schon super. Der "Name" ist jetzt ein dynamisches Feld, vielleicht lasse ich da ab einer gewissen Anzahl von offenen Fenstern auch nur die Anzahl anzeigen.
                                            Aber super, dass das schonmal so geht. DANKE (hach, jetzt muss ich doch wirklich noch 5-10 weitere NSPanels kaufen 😄 )

                                            f157e04b-f813-4542-a274-362d75c1b944-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            766
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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