Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

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

      @berges01 sagte in SONOFF NSPanel mit Lovelace UI:

      Isttemperatur

      Auf Werte, die im Handbetrieb verändert werden liegt auch kein RegisterEntityWatcher. Eine der wenigen Ausnahmen ist der Thermostat. Das liegt eigentlich daran, dass ich es weniger als Fernseher, sondern als Wandschalter ansehe. Dir ist kalt, du gehst zum Panel und regelst die Temperatur. Der Screensaver kommt. Du änderst den Wert über deinen Heizukörperthermotaten. Gehst zum Panel und der Wert stimmt, da die Seite nach dem Screensaver wieder neu gerendert wird. Da du im Panel den aktuellen Wert schreibst und die Änderung im Steuerelement stets sichtbar ist, muss ja nicht unnötig gerendert werden.

      Berges01 1 Reply Last reply Reply Quote 1
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            507
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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