Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • JohGre
      JohGre last edited by

      @Armilar Gibt es die Möglichkeit, dass nur ein einzelner Wert, dafür sehr groß, auf einer Page dargestellt wird.
      3d2cf100-48fa-42ab-b828-d549885c959d-image.png
      Mein Use-Case ist der Nachbau einer Infrarotkabine - Steuerung (originale ist defekt) bei der nach dem Einschalten Einzelwerte rotierend, durch das direkte Anspringen einer Page, dargestellt werden.
      Die Rotate-Funktion ist ja jetzt mittels JS Realisierbar, danke nochmal dafür.

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

        @johgre sagte in SONOFF NSPanel mit Lovelace UI:

        @Armilar Gibt es die Möglichkeit, dass nur ein einzelner Wert, dafür sehr groß, auf einer Page dargestellt wird.
        3d2cf100-48fa-42ab-b828-d549885c959d-image.png
        Mein Use-Case ist der Nachbau einer Infrarotkabine - Steuerung (originale ist defekt) bei der nach dem Einschalten Einzelwerte rotierend, durch das direkte Anspringen einer Page, dargestellt werden.
        Die Rotate-Funktion ist ja jetzt mittels JS Realisierbar, danke nochmal dafür.

        Für das Design solltest du für @joBr99 ein ISSUE bei github "Feature Request" aufmachen.
        https://github.com/joBr99/nspanel-lovelace-ui
        Das ist eine Anforderung für eine neue Card, so wie ich das sehe. Die Einbindung für eine neue Page wäre dann kein Problem...

        VG

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

          @armilar said in SONOFF NSPanel mit Lovelace UI:

          @berges01 sagte in SONOFF NSPanel mit Lovelace UI:

          Isttemperatur

          Hallo
          Irgendwie habe ich das glaube ich nicht richtig beschrieben, hier mal meine Idee die ich umsetzen möchte.

          Ich, möglicherweise aber auch Andere könnten eine Abwandlung der ThermostatSeite gebrauchen.
          Einsatzzweck, eine Gasetagentherme und deren Ansteuerung.

          Taste : Handbetrieb

          • Hell = angewählt oder von Blockly vorgewählt
          • Dunkel = inaktiv

          Taste : Automatikbetrieb

          • Hell = angewählt oder von Blockly vorgewählt
          • Dunkel = inaktiv

          Temperaturanzeige °C : Handbetrieb

          • Sollwert mit rauf und runter Pfeilen im Handbetrieb
            Pfeil rauf für das erhöhen der Temperatur
            Pfeil runter für das erniedrigen der Temperatur
          • Automatikbetrieb
            keine Pfeile nur die Anzeige der Automatik Temperatur
            Diese wird per Blockly vorgegeben

          Anzeige : °C

          • istwert
            Vorgabe von einem Externen Geber oder NTC eingebaut

          Anzeige : Störung

          • Wenn Platz ist mit Text oder nur
            Hell = Störung von Blockly vorgewählt
            Dunkel = inaktiv von Blockly vorgewählt
            Denkbar wäre hier auch eine Numerische Störungsanzeige und die Tastenfunktion,
            Störung löschen durch drücken auf das Symbol und setzen des Numerischen Wertes auf 0.

          Anzeige Uhrzeit : 24:00

          Anzeige Automatik :

          • Normalberieb = Gelb
          • Nachtabsenkung = Grün

          Als Grundgerüst könnte man die Thermostat-/Kimaanlagen- Seite benutzen die sieht doch schon fast so aus.

          Ob die Seite nun als Daueranzeige oder als Seite angezeigt wird ?
          Einige möchten das sicher so die Anderen so.

          Die Ansteuerung der Gastherme kann dann per ioBroker usw. vorgenommen werden.
          Einige Gastermen benötigen nur einen Potentialfreien Kontakt und andere ein Spannungs oder Stromsignal Analog oder Digital.
          Da einige Thermostate sehr Teuer sind, könnte ein NSPanel hier sicherlich Preiswerter sein.
          Auch ist ein solches Panel sicherlich Informativer als eines mit festen Funktionen.

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

            @berges01 sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar said in SONOFF NSPanel mit Lovelace UI:

            @berges01 sagte in SONOFF NSPanel mit Lovelace UI:

            Isttemperatur

            Hallo
            Irgendwie habe ich das glaube ich nicht richtig beschrieben, hier mal meine Idee die ich umsetzen möchte.

            Ich, möglicherweise aber auch Andere könnten eine Abwandlung der ThermostatSeite gebrauchen.
            Einsatzzweck, eine Gasetagentherme und deren Ansteuerung.

            Taste : Handbetrieb

            • Hell = angewählt oder von Blockly vorgewählt
            • Dunkel = inaktiv

            Taste : Automatikbetrieb

            • Hell = angewählt oder von Blockly vorgewählt
            • Dunkel = inaktiv

            Temperaturanzeige °C : Handbetrieb

            • Sollwert mit rauf und runter Pfeilen im Handbetrieb
              Pfeil rauf für das erhöhen der Temperatur
              Pfeil runter für das erniedrigen der Temperatur
            • Automatikbetrieb
              keine Pfeile nur die Anzeige der Automatik Temperatur
              Diese wird per Blockly vorgegeben

            Anzeige : °C

            • istwert
              Vorgabe von einem Externen Geber oder NTC eingebaut

            Anzeige : Störung

            • Wenn Platz ist mit Text oder nur
              Hell = Störung von Blockly vorgewählt
              Dunkel = inaktiv von Blockly vorgewählt
              Denkbar wäre hier auch eine Numerische Störungsanzeige und die Tastenfunktion,
              Störung löschen durch drücken auf das Symbol und setzen des Numerischen Wertes auf 0.

            Anzeige Uhrzeit : 24:00

            Anzeige Automatik :

            • Normalberieb = Gelb
            • Nachtabsenkung = Grün

            Als Grundgerüst könnte man die Thermostat-/Kimaanlagen- Seite benutzen die sieht doch schon fast so aus.

            Ob die Seite nun als Daueranzeige oder als Seite angezeigt wird ?
            Einige möchten das sicher so die Anderen so.

            Die Ansteuerung der Gastherme kann dann per ioBroker usw. vorgenommen werden.
            Einige Gastermen benötigen nur einen Potentialfreien Kontakt und andere ein Spannungs oder Stromsignal Analog oder Digital.
            Da einige Thermostate sehr Teuer sind, könnte ein NSPanel hier sicherlich Preiswerter sein.
            Auch ist ein solches Panel sicherlich Informativer als eines mit festen Funktionen.

            Nee - Stimmt, das habe ich so nicht interpretiert. Vielen Dank für die ausführliche Version. Ich versuch es mal direkt im Text zu formulieren.

            Ich, möglicherweise aber auch Andere könnten eine Abwandlung der ThermostatSeite gebrauchen.
            Einsatzzweck, eine Gasetagentherme und deren Ansteuerung.

            Taste : Handbetrieb -->Also ein Button im Display - eigentlich über Mode schon vorhanden

            • Hell = angewählt oder von Blockly vorgewählt --> softwareseitig mit dem nachfolgenden Automatikbutton verriegelt
            • Dunkel = inaktiv Icon "Manuell", dunklere Farbe

            Taste : Automatikbetrieb -->Also ein zweiter Button im Display - eigentlich über Mode schon vorhanden

            • Hell = angewählt oder von Blockly vorgewählt --> softwareseitig mit dem oberen Handbetriebbutton verriegelt
            • Dunkel = inaktiv Icon "Automatic", dunklere Farbe

            Temperaturanzeige °C :

            • Handbetrieb
              -- Sollwert mit rauf und runter Pfeilen im Handbetrieb vorhanden
              -- Pfeil rauf für das erhöhen der Temperatur vorhanden
              -- Pfeil runter für das erniedrigen der Temperatur vorhanden

            • Automatikbetrieb
              -- keine Pfeile nur die Anzeige der Automatik Temperatur nicht vorhanden --> neue Anforderung an @joBr99
              Diese wird per Blockly vorgegeben vorhanden, da Blockly nur den Setpoint im Adapter XYZ überschreibt und der Wert aktualisiert wird

            Anzeige : °C vorhanden

            Istwert

            • Vorgabe von einem Externen Geber oder NTC eingebaut für extern vorhanden, für internen NTC müssen die Werte per MQTT in einen Datenpunkt mit Alias --> vorhanden
            • Anzeige : Störung Als Icon vorhanden

            Wenn Platz ist mit Text oder nur

            • Hell = Störung von Blockly vorgewählt Es könnte der Text "Zustand" als "Störung" mit ein paar Änderungen genutzt werden
            • Dunkel = inaktiv von Blockly vorgewählt Keine Störung --> Kein Text oder "OK"
              Denkbar wäre hier auch eine Numerische Störungsanzeige und die Tastenfunktion,
              Störung löschen durch drücken auf das Symbol und setzen des Numerischen Wertes auf 0.

            Anzeige Uhrzeit : 24:00 Störung neue Anforderung --> @joBr99

            Anzeige Automatik : Icon im unteren Bereich
            Normalberieb = Gelb realisierbar
            Nachtabsenkung = Grün realisierbar
            Als Grundgerüst könnte man die Thermostat-/Kimaanlagen- Seite benutzen die sieht doch schon fast so aus. von der cardThermo gehe ich auch aus

            Ob die Seite nun als Daueranzeige oder als Seite angezeigt wird ?
            Einige möchten das sicher so die Anderen so.
            geht nicht als Dauerseite, da ein Screensaver vorhanden sein muss. Ein Screensaver kann aber keine Aktionen durchführen

            Die Ansteuerung der Gastherme kann dann per ioBroker usw. vorgenommen werden.
            Einige Gastermen benötigen nur einen Potentialfreien Kontakt und andere ein Spannungs oder Stromsignal Analog oder Digital.
            Da einige Thermostate sehr Teuer sind, könnte ein NSPanel hier sicherlich Preiswerter sein.
            Auch ist ein solches Panel sicherlich Informativer als eines mit festen Funktionen.

            Ich hoffe, ich habe alles soweit korrekt verstanden. Dann solltest du ebenfalls ein ISSUE bei github https://github.com/joBr99/nspanel-lovelace-ui/issues formulieren (Kannst diesen Text verwenden), da kann man den Punkt dann gemeinsam diskutieren.

            VG

            1 Reply Last reply Reply Quote 1
            • N
              nevermind last edited by

              @armilar sagte in SONOFF NSPanel mit Lovelace UI:

              So, jetzt zum Test
              Sage mir ob das so für dich (euch) passt:
              Du erweiterst das TS-Script um diesen Part:

              Sehr cool! Läuft 😉

              Danke!

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

                @nevermind sagte in SONOFF NSPanel mit Lovelace UI:

                @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                So, jetzt zum Test
                Sage mir ob das so für dich (euch) passt:
                Du erweiterst das TS-Script um diesen Part:

                Sehr cool! Läuft 😉

                Danke!

                👍

                1 Reply Last reply Reply Quote 0
                • N
                  nevermind last edited by

                  @armilar

                  Eine Kleinigkeit ist mir eben noch aufgefallen:

                  Ich habe jetzt 2 Testseiten auf dem Panel. Wenn ich über die neue Funktion direkt zu Seite 2 springe, wird mir rechts oben auf der Seite noch der Pfeil nach rechts angezeigt statt der Pfeil nach links, obwohl ich ja schon auf der letzten Seite bin. Evlt. wird die Navigation nicht richtig aktualisiert?

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

                    @nevermind sagte in SONOFF NSPanel mit Lovelace UI:

                    @armilar

                    Eine Kleinigkeit ist mir eben noch aufgefallen:

                    Ich habe jetzt 2 Testseiten auf dem Panel. Wenn ich über die neue Funktion direkt zu Seite 2 springe, wird mir rechts oben auf der Seite noch der Pfeil nach rechts angezeigt statt der Pfeil nach links, obwohl ich ja schon auf der letzten Seite bin. Evlt. wird die Navigation nicht richtig aktualisiert?

                    Hab es eben mal ausprobiert. Ja und Nein - ich habe mal den Pfeil rechts und mal den Pfeil links - muss ich mir in Ruhe ansehen. Ich denke das ist eher Kosmetik

                    1 Reply Last reply Reply Quote 0
                    • JohGre
                      JohGre last edited by

                      Hi, hat jemand eine Beispielkonfiguration für den pageType popupNotify. Möchte das als Visualisierung von Einzelwerten nutzen.
                      Das Beispiel entityUpdateDetail~~Garagentor~2016~Nein~63488~Ja~65535~Das Garagentor wurde soeben geöffnet~65535~15 funktioniert nicht, da ich ja kein Page definiert habe. Oder versteh ich das Funktionsprinzip nicht

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

                        @johgre sagte in SONOFF NSPanel mit Lovelace UI:

                        Hi, hat jemand eine Beispielkonfiguration für den pageType popupNotify. Möchte das als Visualisierung von Einzelwerten nutzen.
                        Das Beispiel entityUpdateDetail~~Garagentor~2016~Nein~63488~Ja~65535~Das Garagentor wurde soeben geöffnet~65535~15 funktioniert nicht, da ich ja kein Page definiert habe. Oder versteh ich das Funktionsprinzip nicht

                        Super einfach.
                        Es gibt zwei Datenpunkte unter ScreensaverInfo:

                        0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading
                        0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyText
                        
                        • Du schreibst etwas rein und es steht sofort im Screensaver
                        • Du schreibest erneut etwas rein und es wird aktualisiert
                        • Du beendest den Screensaver und die Nachricht wird gelöscht

                        Das was in deinem Beispiel steht, ist doch schon Teil des Codes im TS-Script

                        Also der Part:

                                // Notification to screensaver
                                on({ id: [screensaverNotifyHeading, screensaverNotifyText], change: 'ne', ack: false }, async (obj) => {
                                    const heading = getState(screensaverNotifyHeading).val;
                                    const text = getState(screensaverNotifyText).val;
                        
                                    setIfExists(config.panelSendTopic, `notify~${heading}~${text}`);
                        
                                    if (obj.id) {
                                        await setStateAsync(obj.id, <iobJS.State>{ val: obj.state.val, ack: true }); // ack new value
                                    }
                                });
                        
                        JohGre 1 Reply Last reply Reply Quote 0
                        • JohGre
                          JohGre @Armilar last edited by JohGre

                          @armilar Bin mir da nicht sicher ob wir vom selben reden. Der Beispiel-Request beinhaltet ja zwei Buttons und referenziert der nicht auf diese Datenpunkte?
                          b3b548d5-0e58-4ef0-8c9a-bede890760e0-image.png

                          in diesem Link ist es eine Fullscreen.Notifikation.

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

                            @johgre sagte in SONOFF NSPanel mit Lovelace UI:

                            @armilar Bin mir da nicht sicher ob wir vom selben reden. Der Beispiel-Request beinhaltet ja zwei Buttons und referenziert der nicht auf diese Datenpunkte?
                            b3b548d5-0e58-4ef0-8c9a-bede890760e0-image.png

                            Sorry falsche Notify.

                            Funktioniert genauso wie die andere. Nur modal und mit mehr Infos

                            Es gibt zwei Buttons, den Text kannst du dir über popUpNotifyButton(1/2)Text mitgeben. Das Ergebnis des linken Buttons ist "false" und das Ergebnis des rechten Buttons ist "true" über popupNotifyAction.

                            Als Beispiel kannst du dir das mal ansehen (wegen der Formatierung des Textes (Umbrüche))
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#2-alarm-page
                            Das Blockly ganz unten (es gibt da nämlich zwei)

                            EDIT: oder nehme das nachfolgende Blockly: Ist quasi die Test-Emulation für die popupNotify

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                                <variable id="uo@LUG^!/XDby|445u/B">Path</variable>
                                <variable id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</variable>
                                <variable id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</variable>
                                <variable id="-o6c|nVGu[-e9kJUQ*Py">Text</variable>
                                <variable id="g=qMvdYbq.K$K#qmOxv%">Button1</variable>
                                <variable id="[OV33hQZKYvb2l{,hIz5">Button2</variable>
                                <variable id="GLNUJ.^6GeEeSI!hhRv^">Timeout</variable>
                              </variables>
                              <block type="comment" id="`s6]m,+$3U;:^lwh}RV5" x="62" y="-413">
                                <field name="COMMENT">Emulation wird jede Minute durchgeführt</field>
                                <next>
                                  <block type="schedule" id="0G0P80pyKC8!U~a1%(.E">
                                    <field name="SCHEDULE">* * * * *</field>
                                    <statement name="STATEMENT">
                                      <block type="variables_set" id="30#(TnQM=_MBK:actv{l">
                                        <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                        <value name="VALUE">
                                          <block type="text" id="h/e(`ygx?v?]11Z`88zp">
                                            <field name="TEXT">0_userdata.0.NSPanel.1.popupNotify.</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="variables_set" id="R3Wks}hW8#-p/m25k-mK">
                                            <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                            <value name="VALUE">
                                              <block type="text" id="l*M,26M-+$C$vL0GW,XJ">
                                                <field name="TEXT">Waschmaschine</field>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="variables_set" id="u3F5ACIOMm{nZ%~T@gN7">
                                                <field name="VAR" id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</field>
                                                <value name="VALUE">
                                                  <block type="text_join" id="gilEtg%GtWmZ{Ma7#TH)">
                                                    <mutation items="2"></mutation>
                                                    <value name="ADD0">
                                                      <block type="text" id="ar3{89`Ttkt[m[W$ns5W">
                                                        <field name="TEXT">Nachricht von </field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD1">
                                                      <block type="variables_get" id="W*TW2,-kH?kXp0-zq$m#">
                                                        <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="variables_set" id="7xV_#HwZp%4fs)`69P7I">
                                                    <field name="VAR" id="-o6c|nVGu[-e9kJUQ*Py">Text</field>
                                                    <value name="VALUE">
                                                      <block type="text_join" id="0u!=u_]+ir[CYmK[xb,%">
                                                        <mutation items="10"></mutation>
                                                        <value name="ADD0">
                                                          <block type="text" id="ah?o$fm/Du;,mkK#~Wn`">
                                                            <field name="TEXT">Der Waschvorgang ist beendet</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD1">
                                                          <block type="text_newline" id="5PgB+z=YZ/Cy(G3`k:LK">
                                                            <field name="Type">\r\n</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD2">
                                                          <block type="text_newline" id=",CuP]bnfML_B8A4YWfB0">
                                                            <field name="Type">\r\n</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD3">
                                                          <block type="text" id="!i/O$+%ZdbrJ7-^YqXs2">
                                                            <field name="TEXT">Diese Nachricht zerstört sich in 15 Sekunden</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD4">
                                                          <block type="text_newline" id="v)hnAj(3J#E:-.SacK9|">
                                                            <field name="Type">\r\n</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD5">
                                                          <block type="text" id="bW{bQPK]Zr;DCxw7rx^}">
                                                            <field name="TEXT">von selbst</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD6">
                                                          <block type="text_newline" id="e9WhU9G$[u]$hGIHHkOg">
                                                            <field name="Type">\r\n</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD7">
                                                          <block type="text_newline" id="#{;D1ACiGtk3DAeH4RvP">
                                                            <field name="Type">\r\n</field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD8">
                                                          <block type="text" id="{7;]*K(T=]lPCH;#yy,S">
                                                            <field name="TEXT">Bist du sicher das du mich abstellen </field>
                                                          </block>
                                                        </value>
                                                        <value name="ADD9">
                                                          <block type="text" id="Id60*I{KgLs,7,RNbL#0">
                                                            <field name="TEXT">möchtest?</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="comment" id="MghuTgD][qtrl)GO#HrD">
                                                        <field name="COMMENT">Button1 liefert "false" - kann auch leer sein</field>
                                                        <next>
                                                          <block type="variables_set" id="d|F8*4v2KA:${~Q;9;n~">
                                                            <field name="VAR" id="g=qMvdYbq.K$K#qmOxv%">Button1</field>
                                                            <value name="VALUE">
                                                              <block type="text" id="gHu6:V~JvgPcVq53w1.=">
                                                                <field name="TEXT">Nein</field>
                                                              </block>
                                                            </value>
                                                            <next>
                                                              <block type="comment" id="C5?qa0+JRgTU%GlVW$g4">
                                                                <field name="COMMENT">Button2 liefert "true" - kann auch leer sein</field>
                                                                <next>
                                                                  <block type="variables_set" id="aG7hBeg1fGHN@a_`sUbZ">
                                                                    <field name="VAR" id="[OV33hQZKYvb2l{,hIz5">Button2</field>
                                                                    <value name="VALUE">
                                                                      <block type="text" id="1O$?!70tQ:aSFIXlS7A,">
                                                                        <field name="TEXT">OK</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="comment" id="]h~w+hG;N$9l!}_GV+4B">
                                                                        <field name="COMMENT">Kann auch auf 0 für manuell schließen</field>
                                                                        <next>
                                                                          <block type="variables_set" id="CGGwa_Ykf}kYYeR)IkR.">
                                                                            <field name="VAR" id="GLNUJ.^6GeEeSI!hhRv^">Timeout</field>
                                                                            <value name="VALUE">
                                                                              <block type="math_number" id="([Hku{[tr5;;mM@qHQ$t">
                                                                                <field name="NUM">15</field>
                                                                              </block>
                                                                            </value>
                                                                            <next>
                                                                              <block type="control_ex" id="1dL$wOk9{m-yOy|2=*1g">
                                                                                <field name="TYPE">false</field>
                                                                                <field name="CLEAR_RUNNING">FALSE</field>
                                                                                <value name="OID">
                                                                                  <shadow type="field_oid" id="p%b].;f)Tg{x/hQ,(`:E">
                                                                                    <field name="oid">Object ID</field>
                                                                                  </shadow>
                                                                                  <block type="text_join" id="amkxN:qSczo2d]97yqgU">
                                                                                    <mutation items="2"></mutation>
                                                                                    <value name="ADD0">
                                                                                      <block type="variables_get" id="k;cYrw$(3p-R5GTFvMW%">
                                                                                        <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                      </block>
                                                                                    </value>
                                                                                    <value name="ADD1">
                                                                                      <block type="text" id="C6sE8F@i_5VZ)C,x0(s_">
                                                                                        <field name="TEXT">popupNotifyHeading</field>
                                                                                      </block>
                                                                                    </value>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="VALUE">
                                                                                  <shadow type="logic_boolean" id="*FA,Qt^=:a61n5.Y3.x]">
                                                                                    <field name="BOOL">TRUE</field>
                                                                                  </shadow>
                                                                                  <block type="variables_get" id="MTH3SkAm}pe/1Cg:N1dV">
                                                                                    <field name="VAR" id="REj.ED5|Q5xX,?-aw`5J">Kopfzeile</field>
                                                                                  </block>
                                                                                </value>
                                                                                <value name="DELAY_MS">
                                                                                  <shadow type="math_number" id="-DlWt*-;[s9PI#Xyv}ZS">
                                                                                    <field name="NUM">0</field>
                                                                                  </shadow>
                                                                                </value>
                                                                                <next>
                                                                                  <block type="comment" id="F,R/t@f|GO,Z.QfkIwd$">
                                                                                    <field name="COMMENT">Im Text wird die Zeit mitgegeben</field>
                                                                                    <next>
                                                                                      <block type="comment" id="F-3#0=OVZNca`nOED6Ls">
                                                                                        <field name="COMMENT">ohne Änderung des Textes wir kein popup angezeigt</field>
                                                                                        <next>
                                                                                          <block type="control_ex" id="?uUW)tMaHVs%}4f(O{3R">
                                                                                            <field name="TYPE">false</field>
                                                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                                                            <value name="OID">
                                                                                              <shadow type="field_oid" id="%,m?2:R:N?)ZD,$vBC`d">
                                                                                                <field name="oid">Object ID</field>
                                                                                              </shadow>
                                                                                              <block type="text_join" id="w~,,}#T_:R!@(91x(KY)">
                                                                                                <mutation items="2"></mutation>
                                                                                                <value name="ADD0">
                                                                                                  <block type="variables_get" id="35hU_%k~-#4$(:LcM6,1">
                                                                                                    <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="ADD1">
                                                                                                  <block type="text" id="g`M._dA#Yo[g)P0|,[*N">
                                                                                                    <field name="TEXT">popupNotifyText</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                              </block>
                                                                                            </value>
                                                                                            <value name="VALUE">
                                                                                              <shadow type="logic_boolean" id="R`0o?%kFD}=);P5,o-V2">
                                                                                                <field name="BOOL">TRUE</field>
                                                                                              </shadow>
                                                                                              <block type="text_join" id="9LX]H?SV#xzIh`X!vZVX">
                                                                                                <mutation items="3"></mutation>
                                                                                                <value name="ADD0">
                                                                                                  <block type="convert_from_date" id="L^EjJxj1V$OZ/Ga7/4*2">
                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                                                                    <field name="OPTION">custom</field>
                                                                                                    <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field>
                                                                                                    <value name="VALUE">
                                                                                                      <block type="time_get" id="rjD9!@$v?CDm/5n}@(GA">
                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                                                        <field name="OPTION">object</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="ADD1">
                                                                                                  <block type="text_newline" id="n{mP0B^59fa`=3,/=tlV">
                                                                                                    <field name="Type">\r\n</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="ADD2">
                                                                                                  <block type="variables_get" id="%hXKnQkTTz?%Waf1T0%i">
                                                                                                    <field name="VAR" id="-o6c|nVGu[-e9kJUQ*Py">Text</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                              </block>
                                                                                            </value>
                                                                                            <value name="DELAY_MS">
                                                                                              <shadow type="math_number" id="{5ff|Qz@z:(ZrW[T:`)E">
                                                                                                <field name="NUM">0</field>
                                                                                              </shadow>
                                                                                            </value>
                                                                                            <next>
                                                                                              <block type="control_ex" id="mHM54A6B1nA*)Tl`4bTs">
                                                                                                <field name="TYPE">false</field>
                                                                                                <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                <value name="OID">
                                                                                                  <shadow type="field_oid">
                                                                                                    <field name="oid">Object ID</field>
                                                                                                  </shadow>
                                                                                                  <block type="text_join" id="Ya+g|Cl+i7=.p/Ie(AtO">
                                                                                                    <mutation items="2"></mutation>
                                                                                                    <value name="ADD0">
                                                                                                      <block type="variables_get" id="GI+;?qw:YE[{U2_kxJZg">
                                                                                                        <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <value name="ADD1">
                                                                                                      <block type="text" id="wybh?!k``1,iP%|P]c[p">
                                                                                                        <field name="TEXT">popupNotifyButton1Text</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="VALUE">
                                                                                                  <shadow type="logic_boolean">
                                                                                                    <field name="BOOL">TRUE</field>
                                                                                                  </shadow>
                                                                                                  <block type="variables_get" id="YA2[S#5qR#UG$jHlfQ%S">
                                                                                                    <field name="VAR" id="g=qMvdYbq.K$K#qmOxv%">Button1</field>
                                                                                                  </block>
                                                                                                </value>
                                                                                                <value name="DELAY_MS">
                                                                                                  <shadow type="math_number" id="?=AGjEn:juA9us=H]a%;">
                                                                                                    <field name="NUM">0</field>
                                                                                                  </shadow>
                                                                                                </value>
                                                                                                <next>
                                                                                                  <block type="control_ex" id="8_BX{?-?Oi|$d|Gg$1Cy">
                                                                                                    <field name="TYPE">false</field>
                                                                                                    <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                    <value name="OID">
                                                                                                      <shadow type="field_oid">
                                                                                                        <field name="oid">Object ID</field>
                                                                                                      </shadow>
                                                                                                      <block type="text_join" id="He1!cC/^[205l;-1}ASR">
                                                                                                        <mutation items="2"></mutation>
                                                                                                        <value name="ADD0">
                                                                                                          <block type="variables_get" id="jw4DW_qno}iIHugSt,}8">
                                                                                                            <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="ADD1">
                                                                                                          <block type="text" id="lr.F~YZdc$sfF|z#V.w5">
                                                                                                            <field name="TEXT">popupNotifyButton2Text</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <value name="VALUE">
                                                                                                      <shadow type="logic_boolean">
                                                                                                        <field name="BOOL">TRUE</field>
                                                                                                      </shadow>
                                                                                                      <block type="variables_get" id="]l!LD%wcjPA[2)SfUHHs">
                                                                                                        <field name="VAR" id="[OV33hQZKYvb2l{,hIz5">Button2</field>
                                                                                                      </block>
                                                                                                    </value>
                                                                                                    <value name="DELAY_MS">
                                                                                                      <shadow type="math_number" id="OdWpiHsNV#30R]Aq!$Gu">
                                                                                                        <field name="NUM">0</field>
                                                                                                      </shadow>
                                                                                                    </value>
                                                                                                    <next>
                                                                                                      <block type="control_ex" id=":`/?=XT;sJqhXvIA~Q_R">
                                                                                                        <field name="TYPE">false</field>
                                                                                                        <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                        <value name="OID">
                                                                                                          <shadow type="field_oid">
                                                                                                            <field name="oid">Object ID</field>
                                                                                                          </shadow>
                                                                                                          <block type="text_join" id="jCD!fuaPfAai?P8U9,?n">
                                                                                                            <mutation items="2"></mutation>
                                                                                                            <value name="ADD0">
                                                                                                              <block type="variables_get" id="b]8Y@1:l8%|,xImg{V(_">
                                                                                                                <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="ADD1">
                                                                                                              <block type="text" id="VCw44y[yzUF][09V_+OU">
                                                                                                                <field name="TEXT">popupNotifySleepTimeout</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="VALUE">
                                                                                                          <shadow type="logic_boolean">
                                                                                                            <field name="BOOL">TRUE</field>
                                                                                                          </shadow>
                                                                                                          <block type="variables_get" id="z;!QKJE2cka}x5~oL8%2">
                                                                                                            <field name="VAR" id="GLNUJ.^6GeEeSI!hhRv^">Timeout</field>
                                                                                                          </block>
                                                                                                        </value>
                                                                                                        <value name="DELAY_MS">
                                                                                                          <shadow type="math_number" id="1YUXTd5z~e^I*6/?o_;0">
                                                                                                            <field name="NUM">0</field>
                                                                                                          </shadow>
                                                                                                        </value>
                                                                                                        <next>
                                                                                                          <block type="control_ex" id="d,*_!q{w=02C~^vvZlYP">
                                                                                                            <field name="TYPE">false</field>
                                                                                                            <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                            <value name="OID">
                                                                                                              <shadow type="field_oid">
                                                                                                                <field name="oid">Object ID</field>
                                                                                                              </shadow>
                                                                                                              <block type="text_join" id="cQlWDwPHeE4tzR|+)TlH">
                                                                                                                <mutation items="2"></mutation>
                                                                                                                <value name="ADD0">
                                                                                                                  <block type="variables_get" id="}bZBoWEFal{Z@vm_im$#">
                                                                                                                    <field name="VAR" id="uo@LUG^!/XDby|445u/B">Path</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                                <value name="ADD1">
                                                                                                                  <block type="text" id="fK9rd_%mPOgv)BI14-(I">
                                                                                                                    <field name="TEXT">popupNotifyInternalName</field>
                                                                                                                  </block>
                                                                                                                </value>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="VALUE">
                                                                                                              <shadow type="logic_boolean">
                                                                                                                <field name="BOOL">TRUE</field>
                                                                                                              </shadow>
                                                                                                              <block type="variables_get" id="?Ue4ZS-9tnXRHWmu?j$u">
                                                                                                                <field name="VAR" id="$qaJ/IbJ(pbHX=|FSXfR">InternerName</field>
                                                                                                              </block>
                                                                                                            </value>
                                                                                                            <value name="DELAY_MS">
                                                                                                              <shadow type="math_number" id="KSV7H~p;Rw}X]^fgXGA;">
                                                                                                                <field name="NUM">0</field>
                                                                                                              </shadow>
                                                                                                            </value>
                                                                                                            <next>
                                                                                                              <block type="comment" id="k}-$zkTkx#NVPnhQ+zzM">
                                                                                                                <field name="COMMENT">Output-Parameter werden abgefragt</field>
                                                                                                                <next>
                                                                                                                  <block type="on_ext" id="Q$YB)v(VTl#wB2|u;63q">
                                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                                                                                    <field name="CONDITION">any</field>
                                                                                                                    <field name="ACK_CONDITION"></field>
                                                                                                                    <value name="OID0">
                                                                                                                      <shadow type="field_oid" id="^prU7]O!M$KjiHYwI?{T">
                                                                                                                        <field name="oid">0_userdata.0.NSPanel.1.popupNotify.popupNotifyAction</field>
                                                                                                                      </shadow>
                                                                                                                    </value>
                                                                                                                    <statement name="STATEMENT">
                                                                                                                      <block type="controls_if" id="USh#T`M700~2CAoY2d#e">
                                                                                                                        <mutation elseif="1"></mutation>
                                                                                                                        <value name="IF0">
                                                                                                                          <block type="logic_compare" id=";L2c+1)qFU}F1Z=qjFbU">
                                                                                                                            <field name="OP">EQ</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="on_source" id="orbJ;#C((8Dtuf7!S17/">
                                                                                                                                <field name="ATTR">state.val</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="logic_boolean" id="gP!v0w[Yj`(AAv=w66@^">
                                                                                                                                <field name="BOOL">FALSE</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <statement name="DO0">
                                                                                                                          <block type="comment" id="[A=mJCJZXmf%8fuZKr8/">
                                                                                                                            <field name="COMMENT">Aktion für "false" durchführen</field>
                                                                                                                            <next>
                                                                                                                              <block type="debug" id="QR:oB2FD{+gth,B^eN%4">
                                                                                                                                <field name="Severity">log</field>
                                                                                                                                <value name="TEXT">
                                                                                                                                  <shadow type="text" id="|NuBbx-lPVkd#K@m:cZ#">
                                                                                                                                    <field name="TEXT">test</field>
                                                                                                                                  </shadow>
                                                                                                                                  <block type="text" id="nEbw|*BtC5J,K~$cfr7S">
                                                                                                                                    <field name="TEXT">Es wurde Button1 gedrückt</field>
                                                                                                                                  </block>
                                                                                                                                </value>
                                                                                                                              </block>
                                                                                                                            </next>
                                                                                                                          </block>
                                                                                                                        </statement>
                                                                                                                        <value name="IF1">
                                                                                                                          <block type="logic_compare" id="+EYB1H+OhaH?$hux,j{`">
                                                                                                                            <field name="OP">EQ</field>
                                                                                                                            <value name="A">
                                                                                                                              <block type="on_source" id="t)S*(~jk01onDN%F3Up[">
                                                                                                                                <field name="ATTR">state.val</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                            <value name="B">
                                                                                                                              <block type="logic_boolean" id="p8I|SmJp#?Ja8]g4h;-G">
                                                                                                                                <field name="BOOL">TRUE</field>
                                                                                                                              </block>
                                                                                                                            </value>
                                                                                                                          </block>
                                                                                                                        </value>
                                                                                                                        <statement name="DO1">
                                                                                                                          <block type="comment" id=":)$,fqkdSEZ}qHWxBKQJ">
                                                                                                                            <field name="COMMENT">Aktion für "true" durchführen</field>
                                                                                                                            <next>
                                                                                                                              <block type="debug" id="wmpOOSJ=^fxqOo$:5Gk0">
                                                                                                                                <field name="Severity">log</field>
                                                                                                                                <value name="TEXT">
                                                                                                                                  <shadow type="text">
                                                                                                                                    <field name="TEXT">test</field>
                                                                                                                                  </shadow>
                                                                                                                                  <block type="text" id="u1yn4=-4Qr$ZKL$Ma6-P">
                                                                                                                                    <field name="TEXT">Es wurde Button2 gedrückt</field>
                                                                                                                                  </block>
                                                                                                                                </value>
                                                                                                                              </block>
                                                                                                                            </next>
                                                                                                                          </block>
                                                                                                                        </statement>
                                                                                                                      </block>
                                                                                                                    </statement>
                                                                                                                  </block>
                                                                                                                </next>
                                                                                                              </block>
                                                                                                            </next>
                                                                                                          </block>
                                                                                                        </next>
                                                                                                      </block>
                                                                                                    </next>
                                                                                                  </block>
                                                                                                </next>
                                                                                              </block>
                                                                                            </next>
                                                                                          </block>
                                                                                        </next>
                                                                                      </block>
                                                                                    </next>
                                                                                  </block>
                                                                                </next>
                                                                              </block>
                                                                            </next>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </xml>
                            

                            Ergebnis:
                            767080b4-fec2-4479-8a68-7f1c7b0e9a1b-image.png

                            1 Reply Last reply Reply Quote 1
                            • C
                              chiob314 last edited by

                              Hallo zusammen,

                              ich bin ganz neu im Forum dabei und habe zwei Themen, die mich jetzt schon zwei drei Tage beschäftigen. Ich verwende das Skript NsPanelTs.ts in der Version v3.4.0.6

                              Das eine Problem ist, dass jeder Start bzw. Aktualisierungszyklus des Bildschirmschoners eine ganze Palette an Warnings im Log erzeugt, z.B.:

                              17:16:30.008	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3920:29)
                              17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                              17:16:30.008	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                              17:16:30.008	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                              17:16:30.008	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                              17:16:30.008	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                              17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                              17:16:30.008	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3927:34)
                              17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                              17:16:30.008	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                              17:16:30.008	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                              17:16:30.008	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                              17:16:30.008	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                              17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                              17:16:30.009	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3941:29)
                              17:16:30.010	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                              17:16:30.010	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                              17:16:30.010	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                              17:16:30.010	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                              17:16:30.010	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                              17:16:30.010	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                              17:16:30.011	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3948:34)
                              17:16:30.011	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                              17:16:30.011	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                              17:16:30.011	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                              17:16:30.011	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                              17:16:30.012	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                              17:16:30.012	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                              

                              Das andere Problem ist, dass ich den Bildschirmschoner trotz dieser Zeile

                              locale: 'de-DE',
                              

                              nicht auf deutsch bekomme; die Angabe lautet z.B. "Friday, October 14, 2022", ebenso ist im Forecast die Tagebezeichnung weiterhin auf Englisch.

                              iobroker läuft auf ubuntu 20.04

                              Ich würde mich freuen, wenn jemand einen Tip hätte.

                              Danke und viele Grüße
                              Bastian

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

                                @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                                Hallo zusammen,

                                ich bin ganz neu im Forum dabei und habe zwei Themen, die mich jetzt schon zwei drei Tage beschäftigen. Ich verwende das Skript NsPanelTs.ts in der Version v3.4.0.6

                                Das eine Problem ist, dass jeder Start bzw. Aktualisierungszyklus des Bildschirmschoners eine ganze Palette an Warnings im Log erzeugt, z.B.:

                                17:16:30.008	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3920:29)
                                17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                                17:16:30.008	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                                17:16:30.008	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                                17:16:30.008	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                                17:16:30.008	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                                17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                                17:16:30.008	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3927:34)
                                17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                                17:16:30.008	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                                17:16:30.008	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                                17:16:30.008	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                                17:16:30.008	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                                17:16:30.008	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                                17:16:30.009	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3941:29)
                                17:16:30.010	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                                17:16:30.010	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                                17:16:30.010	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                                17:16:30.010	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                                17:16:30.010	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                                17:16:30.010	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                                17:16:30.011	warn	javascript.0 (1071) at HandleScreensaverUpdate (script.js.NSPanels.Panel1:3948:34)
                                17:16:30.011	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:618:13)
                                17:16:30.011	warn	javascript.0 (1071) at step (script.js.NSPanels.Panel1:33:23)
                                17:16:30.011	warn	javascript.0 (1071) at Object.next (script.js.NSPanels.Panel1:14:53)
                                17:16:30.011	warn	javascript.0 (1071) at script.js.NSPanels.Panel1:8:71
                                17:16:30.012	warn	javascript.0 (1071) at __awaiter (script.js.NSPanels.Panel1:4:12)
                                17:16:30.012	warn	javascript.0 (1071) at Object.<anonymous> (script.js.NSPanels.Panel1:615:12)
                                

                                Das andere Problem ist, dass ich den Bildschirmschoner trotz dieser Zeile

                                locale: 'de-DE',
                                

                                nicht auf deutsch bekomme; die Angabe lautet z.B. "Friday, October 14, 2022", ebenso ist im Forecast die Tagebezeichnung weiterhin auf Englisch.

                                iobroker läuft auf ubuntu 20.04

                                Ich würde mich freuen, wenn jemand einen Tip hätte.

                                Danke und viele Grüße
                                Bastian

                                Hi Bastian,

                                auf den ersten Blick sieht das für mich nach einer fehlerhaften Konfiguration in der

                                    panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_X.tele.RESULT',       // anpassen
                                    panelSendTopic: 'mqtt.0.SmartHome.NSPanel_X.cmnd.CustomSend',   // anpassen
                                    firstScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Hourly.h0.PrecipitationProbability', ScreensaverEntityIcon: 'weather-pouring', ScreensaverEntityText: 'Regen', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
                                    secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} },
                                    thirdScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.UVIndex', ScreensaverEntityIcon: 'solar-power', ScreensaverEntityText: 'UV', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
                                    fourthScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity', ScreensaverEntityIcon: 'water-percent', ScreensaverEntityText: 'Luft', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
                                

                                aus.

                                Check die noch mal durch (insbesondere bei den first - fourthScreensaverEntity oder poste die Config einfach mal, wenn du nichts findest. Eventuell fehlt irgendwo ein Komma?

                                HandleScreensaverUpdate baut unter anderem diese Werte auf.

                                Accuweather ist installiert?

                                Ich denke, die Sprache ist ein Folgefehler...

                                EDIT: ggfs. auch mal den ioBroker durchstarten. Zweite Vermutung: Die Datenpunkte werden nicht wirklich gefunden...

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

                                  @armilar
                                  Hallo Armilar,
                                  danke dir für den Tip. Accuweather ist installiert und liefert schon Werte.

                                  Um das gesamte Skript hier einzufügen ist es leider zu lang.

                                  Aber hier ein paar Ausschnitte:

                                  //-- Anfang der Beispiele für Seitengestaltung -- Aliase erforderlich ----------------
                                  
                                  
                                  var Seite1: PageEntities =
                                  {
                                      "type": "cardEntities",
                                      "heading": "Testseite 1",
                                      "useColor": true,
                                      "subPage": false,
                                      "parent": undefined,
                                      "items": [
                                          <PageItem>{ id: "alias.0.Bürolicht", name: "Büro-Licht"},
                                         
                                      ]
                                  };
                                   
                                  
                                  //-- ENDE der Beispiele für Seitengestaltung -- Aliase erforderlich ------------------
                                  
                                  export const config: Config = {
                                      panelRecvTopic: 'mqtt.0.Smarthome.nspanel_E80074.tele.RESULT',       // anpassen
                                      panelSendTopic: 'mqtt.0.Smarthome.nspanel_E80074.cmnd.CustomSend',   // anpassen
                                      firstScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
                                      secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.WindSpeed", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "km/h", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 180} },
                                      thirdScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
                                      fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.RelativeHumidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
                                      alternativeScreensaverLayout: false,
                                      autoWeatherColorScreensaverLayout: true,
                                      mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                      mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                      timeoutScreensaver: 15,
                                      dimmode: 20,
                                      active: 100, //Standard-Brightness TFT
                                      screenSaverDoubleClick: false,
                                      locale: 'de-DE',                    // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
                                      timeFormat: '%H:%M',                // currently not used 
                                      dateFormat: '%A, %d. %B %Y',        // currently not used 
                                      weatherEntity: 'alias.0.Wetter.Nattheim',
                                      defaultOffColor: Off,
                                      defaultOnColor: On,
                                      defaultColor: Off,
                                      temperatureUnit: '°C',
                                      pages: [
                                              Seite1
                                      ],
                                      subPages: [
                                                 
                                      ],
                                      button1Page: null,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
                                      button2Page: null    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
                                  };
                                  
                                  // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
                                  
                                  

                                  Der Rest ist wie im Original auf Github.

                                  Grüße
                                  Bastian

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

                                    @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                                    @armilar
                                    Hallo Armilar,
                                    danke dir für den Tip. Accuweather ist installiert und liefert schon Werte.

                                    Um das gesamte Skript hier einzufügen ist es leider zu lang.

                                    Aber hier ein paar Ausschnitte:

                                    //-- Anfang der Beispiele für Seitengestaltung -- Aliase erforderlich ----------------
                                    
                                    
                                    var Seite1: PageEntities =
                                    {
                                        "type": "cardEntities",
                                        "heading": "Testseite 1",
                                        "useColor": true,
                                        "subPage": false,
                                        "parent": undefined,
                                        "items": [
                                            <PageItem>{ id: "alias.0.Bürolicht", name: "Büro-Licht"},
                                           
                                        ]
                                    };
                                     
                                    
                                    //-- ENDE der Beispiele für Seitengestaltung -- Aliase erforderlich ------------------
                                    
                                    export const config: Config = {
                                        panelRecvTopic: 'mqtt.0.Smarthome.nspanel_E80074.tele.RESULT',       // anpassen
                                        panelSendTopic: 'mqtt.0.Smarthome.nspanel_E80074.cmnd.CustomSend',   // anpassen
                                        firstScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
                                        secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.WindSpeed", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "km/h", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 180} },
                                        thirdScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
                                        fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.RelativeHumidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
                                        alternativeScreensaverLayout: false,
                                        autoWeatherColorScreensaverLayout: true,
                                        mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                        mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                        timeoutScreensaver: 15,
                                        dimmode: 20,
                                        active: 100, //Standard-Brightness TFT
                                        screenSaverDoubleClick: false,
                                        locale: 'de-DE',                    // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
                                        timeFormat: '%H:%M',                // currently not used 
                                        dateFormat: '%A, %d. %B %Y',        // currently not used 
                                        weatherEntity: 'alias.0.Wetter.Nattheim',
                                        defaultOffColor: Off,
                                        defaultOnColor: On,
                                        defaultColor: Off,
                                        temperatureUnit: '°C',
                                        pages: [
                                                Seite1
                                        ],
                                        subPages: [
                                                   
                                        ],
                                        button1Page: null,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
                                        button2Page: null    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
                                    };
                                    
                                    // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
                                    
                                    

                                    Der Rest ist wie im Original auf Github.

                                    Grüße
                                    Bastian

                                    Läuft bei mir fantastisch mit deiner Config und deiner Page
                                    60e230e2-1ee4-49bf-b5d3-0bd18487149c-image.png

                                    cbb8078e-f704-4389-a36f-b296727a304a-image.png

                                    Aber tausche bitte mal die beiden Zeilen aus:

                                        mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                        mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                    

                                    gegen:

                                        mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.Smarthome.nspanel_E80074.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                        mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.Smarthome.nspanel_E80074.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                    

                                    Dann sieht es mehr nach Deinem Gerät aus... 😉

                                    Und ich denke danach ist alles hübsch...

                                    EDIT:
                                    oder eine der folgenden Varianten
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Config-Screensaver#relais-status-icons

                                    C 1 Reply Last reply Reply Quote 0
                                    • N
                                      nevermind last edited by nevermind

                                      Hey 🙂

                                      Ich verstehe das schon richtig, dass man bei Screensaver unten beliebige Werte anzeigen lassen kann, oder? D.h. ich will dort nicht das Wetter, sondern 4 beliebige Werte aus Datenpunkten anzeigen. z.B. die Temperatur von meinem Außenthermometer.

                                      Leider bekomme ich das nicht hin. Auf dem Screensaver wird bei mir außer Datum und Uhrzeit nichts angezeigt. Ich weiß nicht was ich übersehen habe?

                                      var Icons = new IconsSelector();
                                      var timeoutSlider: any;
                                      var manually_Update = false;
                                      
                                      const NSPanel_Path = '0_userdata.0.NSPanel.1.';
                                      const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; //Neuer Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
                                      const Debug = false;
                                      
                                      // Variablen zur Steuerung der Wettericons auf dem Screensaver (Steuerung in 0_userdata.0.XPANELX.ScreensaverInfo)
                                      // Wenn weatherForecastTimer auf true, dann Wechsel zwischen Datenpunkten und Wettervorhersage (30 Sekunden nach Minute (Zeit))
                                      // Wenn weatherForecastTimer auf false, dann Möglichkeit über weatherForecast, ob Datenpunkte oder Wettervorhersage (true = WeatherForecast/false = Datenpunkte)
                                      var weatherForecast: false; //Änderung zum Video --> Einstellung siehe Wiki 
                                      
                                      const HMIOff:           RGB = { red:  68, green: 115, blue: 158 };     // Blau-Off   - Original
                                      const Off:              RGB = { red: 253, green: 128, blue:   0 };     // Orange-Off - schönere Farbübergänge
                                      const On:               RGB = { red: 253, green: 216, blue:  53 };
                                      const MSRed:            RGB = { red: 251, green: 105, blue:  98 };
                                      const MSYellow:         RGB = { red: 255, green: 235, blue: 156 };
                                      const MSGreen:          RGB = { red: 121, green: 222, blue: 121 };
                                      const Red:              RGB = { red: 255, green:   0, blue:   0 };
                                      const White:            RGB = { red: 255, green: 255, blue: 255 };
                                      const Yellow:           RGB = { red: 255, green: 255, blue:   0 };
                                      const Green:            RGB = { red:   0, green: 255, blue:   0 };
                                      const Blue:             RGB = { red:   0, green:   0, blue: 255 };
                                      const DarkBlue:         RGB = { red:   0, green:   0, blue: 136 };
                                      const Gray:             RGB = { red: 136, green: 136, blue: 136 };
                                      const Black:            RGB = { red:   0, green:   0, blue:   0 };
                                      const colorSpotify:     RGB = { red:  30, green: 215, blue:  96 };
                                      const colorAlexa:       RGB = { red:  49, green: 196, blue: 243 };
                                      const colorRadio:       RGB = { red: 255, green: 127, blue:   0 };
                                      const BatteryFull:      RGB = { red:  96, green: 176, blue:  62 };
                                      const BatteryEmpty:     RGB = { red: 179, green:  45, blue:  25 };
                                      
                                      //Dynamische Indikatoren
                                      const colorScale0:      RGB = { red:   99, green: 190, blue: 123 };
                                      const colorScale1:      RGB = { red:  129, green: 199, blue: 126 };
                                      const colorScale2:      RGB = { red:  161, green: 208, blue: 127 };
                                      const colorScale3:      RGB = { red:  129, green: 217, blue: 126 };
                                      const colorScale4:      RGB = { red:  222, green: 226, blue: 131 };
                                      const colorScale5:      RGB = { red:  254, green: 235, blue: 132 };
                                      const colorScale6:      RGB = { red:  255, green: 210, blue: 129 };
                                      const colorScale7:      RGB = { red:  251, green: 185, blue: 124 };
                                      const colorScale8:      RGB = { red:  251, green: 158, blue: 117 };
                                      const colorScale9:      RGB = { red:  248, green: 131, blue: 111 };
                                      const colorScale10:     RGB = { red:  248, green: 105, blue: 107 };
                                      
                                      //Screensaver Default Theme Colors
                                      const scbackground:     RGB = { red:   0, green:    0, blue:   0};
                                      const sctime:           RGB = { red: 255, green:  255, blue: 255};
                                      const sctimeAMPM:       RGB = { red: 255, green:  255, blue: 255};
                                      const scdate:           RGB = { red: 255, green:  255, blue: 255};
                                      const sctMainIcon:      RGB = { red: 255, green:  255, blue: 255};
                                      const sctMainText:      RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast1:     RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast2:     RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast3:     RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast4:     RGB = { red: 255, green:  255, blue: 255};
                                      const sctF1Icon:        RGB = { red: 255, green:  235, blue: 156};
                                      const sctF2Icon:        RGB = { red: 255, green:  235, blue: 156};
                                      const sctF3Icon:        RGB = { red: 255, green:  235, blue: 156};
                                      const sctF4Icon:        RGB = { red: 255, green:  235, blue: 156};
                                      const sctForecast1Val:  RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast2Val:  RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast3Val:  RGB = { red: 255, green:  255, blue: 255};
                                      const sctForecast4Val:  RGB = { red: 255, green:  255, blue: 255};
                                      const scbar:            RGB = { red: 255, green:  255, blue: 255};
                                      const sctMainIconAlt:   RGB = { red: 255, green:  255, blue: 255};
                                      const sctMainTextAlt:   RGB = { red: 255, green:  255, blue: 255};
                                      const sctTimeAdd:       RGB = { red: 255, green:  255, blue: 255};
                                      
                                      //Auto-Weather-Colors
                                      const swClearNight:     RGB = { red: 150, green: 150, blue: 100};
                                      const swCloudy:         RGB = { red:  75, green:  75, blue:  75};
                                      const swExceptional:    RGB = { red: 255, green:  50, blue:  50};
                                      const swFog:            RGB = { red: 150, green: 150, blue: 150};
                                      const swHail:           RGB = { red: 200, green: 200, blue: 200};
                                      const swLightning:      RGB = { red: 200, green: 200, blue:  0};
                                      const swLightningRainy: RGB = { red: 200, green: 200, blue: 150};
                                      const swPartlycloudy:   RGB = { red: 150, green: 150, blue: 150};
                                      const swPouring:        RGB = { red:  50, green:  50, blue: 255};
                                      const swRainy:          RGB = { red: 100, green: 100, blue: 255};
                                      const swSnowy:          RGB = { red: 150, green: 150, blue: 150};
                                      const swSnowyRainy:     RGB = { red: 150, green: 150, blue: 255};
                                      const swSunny:          RGB = { red: 255, green: 255, blue:   0};
                                      const swWindy:          RGB = { red: 150, green: 150, blue: 150};
                                      
                                      var vwIconColor = [];
                                      
                                      //-- Anfang der Beispiele für Seitengestaltung -- Aliase erforderlich ----------------
                                      
                                      var HeizungArbeit: PageEntities =
                                      {
                                          "type": "cardEntities",
                                          "heading": "Heizung Arbeit",
                                          "useColor": true,
                                          "subPage": false,
                                          "parent": undefined,
                                          "items": [
                                              <PageItem>{ id:  "alias.0.NSPanel.buero-temp", name: "Büro Jens", icon: "thermometer", onColor: White},
                                              <PageItem>{ id: 'alias.0.NSPanel.Büro_Hauptschalter', name: 'Büro Hauptschalter', onColor: Green, offColor: Red},
                                              <PageItem>{ id:  "alias.0.NSPanel.praxis-temp", name: "Praxis Alex", icon: "thermometer", onColor: White},
                                              <PageItem>{ id: 'alias.0.NSPanel.Praxis_Arbeitstag', name: 'Praxis Areitstag', onColor: Green, offColor: Red},
                                              //<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
                                              //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
                                              //<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
                                              //Beispiel für RGB Light mit neuem PageItem-Parameter colormode: "xy" alternativ colormode: "rgb" oder weglassen
                                              //Steuert im z.B. DeConz Adapter unter Lampen die Farben per CIE (XY)
                                              //<PageItem>{ id: "alias.0.NSPanel_2.WZ_E14_Fenster_rechts", name: "Fensterbank rechts", minValueBrightness: 0, maxValueBrightness: 100, minValueColorTemp: 500, maxValueColorTemp: 150, interpolateColor: false, colormode: "xy"},
                                              //<PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
                                              //<PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
                                          ]
                                      };
                                      
                                       
                                      //-- ENDE der Beispiele für Seitengestaltung -- Aliase erforderlich ------------------
                                      
                                      
                                      export const config: Config = {
                                          panelRecvTopic: 'mqtt.0.NSPanel.tele.RESULT',       // anpassen
                                          panelSendTopic: 'mqtt.0.NSPanel.cmnd.CustomSend',   // anpassen
                                          firstScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "°C", ScreensaverEntityIconColor: On },
                                          secondScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: On },
                                          thirdScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: On },
                                          fourthScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: On },
                                          alternativeScreensaverLayout: true,
                                          autoWeatherColorScreensaverLayout: false,
                                          mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                          mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                          timeoutScreensaver: 3,
                                          dimmode: 20,
                                          active: 100, //Standard-Brightness TFT
                                          screenSaverDoubleClick: false,
                                          locale: 'de-DE',                    // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
                                          timeFormat: '%H:%M',                // currently not used 
                                          dateFormat: '%A, %d. %B %Y',        // currently not used 
                                          //weatherEntity: 'alias.0.Wetter',
                                          weatherEntity: null,
                                          defaultOffColor: Off,
                                          defaultOnColor: On,
                                          defaultColor: Off,
                                          temperatureUnit: '°C',
                                          pages: [
                                                  //Power,
                                                  //Sonos,              //Beispiel-Seite
                                                  //SpotifyPremium,     //Beispiel-Seite
                                                  //Alexa,              //Beispiel-Seite
                                                  //Buero_Seite_2,      //Beispiel-Seite
                                                  //Buero_Seite_1,      //Beispiel-Seite
                                                  //Buero_Klimaanlage,  //Beispiel-Seite 
                                                  //Button_1,           //Beispiel-Seite
                                                  //Test_Licht,         //Beispiel-Seite
                                                  //Test_Funktionen,    //Beispiel-Seite    
                                                  //Fenster_1,          //Beispiel-Seite
                                                  //Subpages_1,         //Beispiel-Seite
                                                  //Buero_Themostat,    //Beispiel-Seite
                                                  //Buero_Alarm,        //Beispiel-Seite
                                                  HeizungArbeit
                                          ],
                                          subPages: [
                                                      //Abfall,                     //Beispiel-Unterseite
                                                      //WLAN,                       //Beispiel-Unterseite
                                                      //NSPanel_Infos,              //Beispiel-Unterseite
                                                      //NSPanel_Einstellungen,      //Beispiel-Unterseite
                                                      //NSPanel_Firmware_Updates    //Beispiel-Unterseite
                                          ],
                                          button1Page: HeizungArbeit,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
                                          button2Page: HeizungArbeit    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
                                      };
                                      

                                      fecb8d32-82b8-483b-b738-d45b016b720e-grafik.png

                                      Ich habe es auch schon mit diversen Datenpunkten getestet. Auch mit Alias-Datenpunkten...

                                      Ich hoffe jemand kann mir helfen.

                                      vg

                                      Jens

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

                                        @nevermind sagte in SONOFF NSPanel mit Lovelace UI:

                                        Hey 🙂

                                        Ich verstehe das schon richtig, dass man bei Screensaver unten beliebige Werte anzeigen lassen kann, oder? D.h. ich will dort nicht das Wetter, sondern 4 beliebige Werte aus Datenpunkten anzeigen. z.B. die Temperatur von meinem Außenthermometer.

                                        Leider bekomme ich das nicht hin. Auf dem Screensaver wird bei mir außer Datum und Uhrzeit nichts angezeigt. Ich weiß nicht was ich übersehen habe?

                                        var Icons = new IconsSelector();
                                        var timeoutSlider: any;
                                        var manually_Update = false;
                                        
                                        const NSPanel_Path = '0_userdata.0.NSPanel.1.';
                                        const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; //Neuer Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
                                        const Debug = false;
                                        
                                        // Variablen zur Steuerung der Wettericons auf dem Screensaver (Steuerung in 0_userdata.0.XPANELX.ScreensaverInfo)
                                        // Wenn weatherForecastTimer auf true, dann Wechsel zwischen Datenpunkten und Wettervorhersage (30 Sekunden nach Minute (Zeit))
                                        // Wenn weatherForecastTimer auf false, dann Möglichkeit über weatherForecast, ob Datenpunkte oder Wettervorhersage (true = WeatherForecast/false = Datenpunkte)
                                        var weatherForecast: false; //Änderung zum Video --> Einstellung siehe Wiki 
                                        
                                        const HMIOff:           RGB = { red:  68, green: 115, blue: 158 };     // Blau-Off   - Original
                                        const Off:              RGB = { red: 253, green: 128, blue:   0 };     // Orange-Off - schönere Farbübergänge
                                        const On:               RGB = { red: 253, green: 216, blue:  53 };
                                        const MSRed:            RGB = { red: 251, green: 105, blue:  98 };
                                        const MSYellow:         RGB = { red: 255, green: 235, blue: 156 };
                                        const MSGreen:          RGB = { red: 121, green: 222, blue: 121 };
                                        const Red:              RGB = { red: 255, green:   0, blue:   0 };
                                        const White:            RGB = { red: 255, green: 255, blue: 255 };
                                        const Yellow:           RGB = { red: 255, green: 255, blue:   0 };
                                        const Green:            RGB = { red:   0, green: 255, blue:   0 };
                                        const Blue:             RGB = { red:   0, green:   0, blue: 255 };
                                        const DarkBlue:         RGB = { red:   0, green:   0, blue: 136 };
                                        const Gray:             RGB = { red: 136, green: 136, blue: 136 };
                                        const Black:            RGB = { red:   0, green:   0, blue:   0 };
                                        const colorSpotify:     RGB = { red:  30, green: 215, blue:  96 };
                                        const colorAlexa:       RGB = { red:  49, green: 196, blue: 243 };
                                        const colorRadio:       RGB = { red: 255, green: 127, blue:   0 };
                                        const BatteryFull:      RGB = { red:  96, green: 176, blue:  62 };
                                        const BatteryEmpty:     RGB = { red: 179, green:  45, blue:  25 };
                                        
                                        //Dynamische Indikatoren
                                        const colorScale0:      RGB = { red:   99, green: 190, blue: 123 };
                                        const colorScale1:      RGB = { red:  129, green: 199, blue: 126 };
                                        const colorScale2:      RGB = { red:  161, green: 208, blue: 127 };
                                        const colorScale3:      RGB = { red:  129, green: 217, blue: 126 };
                                        const colorScale4:      RGB = { red:  222, green: 226, blue: 131 };
                                        const colorScale5:      RGB = { red:  254, green: 235, blue: 132 };
                                        const colorScale6:      RGB = { red:  255, green: 210, blue: 129 };
                                        const colorScale7:      RGB = { red:  251, green: 185, blue: 124 };
                                        const colorScale8:      RGB = { red:  251, green: 158, blue: 117 };
                                        const colorScale9:      RGB = { red:  248, green: 131, blue: 111 };
                                        const colorScale10:     RGB = { red:  248, green: 105, blue: 107 };
                                        
                                        //Screensaver Default Theme Colors
                                        const scbackground:     RGB = { red:   0, green:    0, blue:   0};
                                        const sctime:           RGB = { red: 255, green:  255, blue: 255};
                                        const sctimeAMPM:       RGB = { red: 255, green:  255, blue: 255};
                                        const scdate:           RGB = { red: 255, green:  255, blue: 255};
                                        const sctMainIcon:      RGB = { red: 255, green:  255, blue: 255};
                                        const sctMainText:      RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast1:     RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast2:     RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast3:     RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast4:     RGB = { red: 255, green:  255, blue: 255};
                                        const sctF1Icon:        RGB = { red: 255, green:  235, blue: 156};
                                        const sctF2Icon:        RGB = { red: 255, green:  235, blue: 156};
                                        const sctF3Icon:        RGB = { red: 255, green:  235, blue: 156};
                                        const sctF4Icon:        RGB = { red: 255, green:  235, blue: 156};
                                        const sctForecast1Val:  RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast2Val:  RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast3Val:  RGB = { red: 255, green:  255, blue: 255};
                                        const sctForecast4Val:  RGB = { red: 255, green:  255, blue: 255};
                                        const scbar:            RGB = { red: 255, green:  255, blue: 255};
                                        const sctMainIconAlt:   RGB = { red: 255, green:  255, blue: 255};
                                        const sctMainTextAlt:   RGB = { red: 255, green:  255, blue: 255};
                                        const sctTimeAdd:       RGB = { red: 255, green:  255, blue: 255};
                                        
                                        //Auto-Weather-Colors
                                        const swClearNight:     RGB = { red: 150, green: 150, blue: 100};
                                        const swCloudy:         RGB = { red:  75, green:  75, blue:  75};
                                        const swExceptional:    RGB = { red: 255, green:  50, blue:  50};
                                        const swFog:            RGB = { red: 150, green: 150, blue: 150};
                                        const swHail:           RGB = { red: 200, green: 200, blue: 200};
                                        const swLightning:      RGB = { red: 200, green: 200, blue:  0};
                                        const swLightningRainy: RGB = { red: 200, green: 200, blue: 150};
                                        const swPartlycloudy:   RGB = { red: 150, green: 150, blue: 150};
                                        const swPouring:        RGB = { red:  50, green:  50, blue: 255};
                                        const swRainy:          RGB = { red: 100, green: 100, blue: 255};
                                        const swSnowy:          RGB = { red: 150, green: 150, blue: 150};
                                        const swSnowyRainy:     RGB = { red: 150, green: 150, blue: 255};
                                        const swSunny:          RGB = { red: 255, green: 255, blue:   0};
                                        const swWindy:          RGB = { red: 150, green: 150, blue: 150};
                                        
                                        var vwIconColor = [];
                                        
                                        //-- Anfang der Beispiele für Seitengestaltung -- Aliase erforderlich ----------------
                                        
                                        var HeizungArbeit: PageEntities =
                                        {
                                            "type": "cardEntities",
                                            "heading": "Heizung Arbeit",
                                            "useColor": true,
                                            "subPage": false,
                                            "parent": undefined,
                                            "items": [
                                                <PageItem>{ id:  "alias.0.NSPanel.buero-temp", name: "Büro Jens", icon: "thermometer", onColor: White},
                                                <PageItem>{ id: 'alias.0.NSPanel.Büro_Hauptschalter', name: 'Büro Hauptschalter', onColor: Green, offColor: Red},
                                                <PageItem>{ id:  "alias.0.NSPanel.praxis-temp", name: "Praxis Alex", icon: "thermometer", onColor: White},
                                                <PageItem>{ id: 'alias.0.NSPanel.Praxis_Arbeitstag', name: 'Praxis Areitstag', onColor: Green, offColor: Red},
                                                //<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
                                                //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
                                                //<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
                                                //Beispiel für RGB Light mit neuem PageItem-Parameter colormode: "xy" alternativ colormode: "rgb" oder weglassen
                                                //Steuert im z.B. DeConz Adapter unter Lampen die Farben per CIE (XY)
                                                //<PageItem>{ id: "alias.0.NSPanel_2.WZ_E14_Fenster_rechts", name: "Fensterbank rechts", minValueBrightness: 0, maxValueBrightness: 100, minValueColorTemp: 500, maxValueColorTemp: 150, interpolateColor: false, colormode: "xy"},
                                                //<PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
                                                //<PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
                                            ]
                                        };
                                        
                                         
                                        //-- ENDE der Beispiele für Seitengestaltung -- Aliase erforderlich ------------------
                                        
                                        
                                        export const config: Config = {
                                            panelRecvTopic: 'mqtt.0.NSPanel.tele.RESULT',       // anpassen
                                            panelSendTopic: 'mqtt.0.NSPanel.cmnd.CustomSend',   // anpassen
                                            firstScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "°C", ScreensaverEntityIconColor: On },
                                            secondScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: On },
                                            thirdScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: On },
                                            fourthScreensaverEntity: { ScreensaverEntity: "hm-rpc.0.LEQ0099147.1.TEMPERATURE", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%", ScreensaverEntityIconColor: On },
                                            alternativeScreensaverLayout: true,
                                            autoWeatherColorScreensaverLayout: false,
                                            mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                            mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: Off  },
                                            timeoutScreensaver: 3,
                                            dimmode: 20,
                                            active: 100, //Standard-Brightness TFT
                                            screenSaverDoubleClick: false,
                                            locale: 'de-DE',                    // en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
                                            timeFormat: '%H:%M',                // currently not used 
                                            dateFormat: '%A, %d. %B %Y',        // currently not used 
                                            //weatherEntity: 'alias.0.Wetter',
                                            weatherEntity: null,
                                            defaultOffColor: Off,
                                            defaultOnColor: On,
                                            defaultColor: Off,
                                            temperatureUnit: '°C',
                                            pages: [
                                                    //Power,
                                                    //Sonos,              //Beispiel-Seite
                                                    //SpotifyPremium,     //Beispiel-Seite
                                                    //Alexa,              //Beispiel-Seite
                                                    //Buero_Seite_2,      //Beispiel-Seite
                                                    //Buero_Seite_1,      //Beispiel-Seite
                                                    //Buero_Klimaanlage,  //Beispiel-Seite 
                                                    //Button_1,           //Beispiel-Seite
                                                    //Test_Licht,         //Beispiel-Seite
                                                    //Test_Funktionen,    //Beispiel-Seite    
                                                    //Fenster_1,          //Beispiel-Seite
                                                    //Subpages_1,         //Beispiel-Seite
                                                    //Buero_Themostat,    //Beispiel-Seite
                                                    //Buero_Alarm,        //Beispiel-Seite
                                                    HeizungArbeit
                                            ],
                                            subPages: [
                                                        //Abfall,                     //Beispiel-Unterseite
                                                        //WLAN,                       //Beispiel-Unterseite
                                                        //NSPanel_Infos,              //Beispiel-Unterseite
                                                        //NSPanel_Einstellungen,      //Beispiel-Unterseite
                                                        //NSPanel_Firmware_Updates    //Beispiel-Unterseite
                                            ],
                                            button1Page: HeizungArbeit,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
                                            button2Page: HeizungArbeit    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
                                        };
                                        

                                        fecb8d32-82b8-483b-b738-d45b016b720e-grafik.png

                                        Ich habe es auch schon mit diversen Datenpunkten getestet. Auch mit Alias-Datenpunkten...

                                        Ich hoffe jemand kann mir helfen.

                                        vg

                                        Jens

                                        Die Lösung ist sehr einfach und liegt in deiner Änderung

                                        weatherEntity: null,
                                        

                                        Es muss einen funktionierenden Alias für das große Icon geben (siehe hier)

                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen#wettervorhersage

                                        Ganz unten auch noch der Hinweis...

                                        VG

                                        EDIT: Diese Frage wurde schon öfter gestellt. Daher habe ich jetzt einen Verweis innerhalb der Screensaver-Dokumentation zur Alias-Definition erstellt. --> (github Wiki)

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

                                          @armilar bei mir gibt es nach wie vor jede Menge Warnings. Fehlt mir irgendwas systemseitig? Ist meine IOBroker Installation irgendwie unvollständig? Wie könnte man das rausfinden?

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

                                            @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                                            @armilar bei mir gibt es nach wie vor jede Menge Warnings. Fehlt mir irgendwas systemseitig? Ist meine IOBroker Installation irgendwie unvollständig? Wie könnte man das rausfinden?

                                            welche Warnungen kommen denn?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            626
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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