Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Betatest NSPanel-lovelace-ui v0.7.x

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Betatest NSPanel-lovelace-ui v0.7.x

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

      @sufra

      Sprechen wir über den Adapter oder das NSPanel - Skript?

      Falls du den Adapter meinst (ist ja dieser Thread), dann

      e855cea6-12f8-4bda-9f69-cafdb7628d42-image.png

      • Maintain aufrufen und die Buttons mit Updates klicken... das wars 😊

      Die Skripte unter:
      b2add494-758c-45e6-999e-dbcdda076929-image.png
      werden dann aktualisiert

      Falls du das NSPanel Script meinst, dann

      • Frage im richtigen Thread stellen 😉

      https://forum.iobroker.net/topic/58170/sonoff-nspanel-mit-lovelace-ui/8000

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

        @armilar Bin schon im richtigen Thread 😉
        Meine Einstellungen für den Screensaver sind jedoch überschrieben mit dem Update....
        Verwende Brightsky und ist wieder alles auf openweather....
        Obwohl im Adapter brightsky.0 angewählt ist.

        T 1 Reply Last reply Reply Quote 0
        • T
          ticaki @SuFra last edited by ticaki

          @sufra

          Das liegt an den Beispielen unten und daran das der Adapter das skript zwar erstellt, aber aus nachvollziehbaren gründen nichts mehr in der vom Nutzer editierbaren Konfiguration ändert.

          Entferne im Skript entweder alles aus:

          favoritScreensaverEntity: [],
          bottomScreensaverEntity:[],
          

          und setzte weatherAddDefaultItems: true,

          Oder gehe es punkt für punkt durch, und fülle die Beispiel von hier dann ein:

          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/blob/d7f0adb3ad857d35367362ad7f6c996c79e6e3d0/script/example_sendTo_script_iobroker.ts#L491-L573

          wie du möchtest.

          Die Adaptereinstellung lassen sich durch das skript immer überschreiben - nur eines überschreibt der adapter und das ist: weatherEntity:
          Das wird dann mit den DefaultItems verwendet.

          @TT-Tom
          Ich denke wir werfen da alles raus und setzten Default auf true - ist einfacher zu erklären wie man was rein bekommt und der Nutzer weiß das er was rein gemacht hat. @ilovegym hatte damit auch seine Probleme.

          S ilovegym 2 Replies Last reply Reply Quote 2
          • S
            SuFra @ticaki last edited by

            @ticaki Okay, danke für die Erklärung.

            Die Einstellung im Adapter unter Globelsetting wurde bei mir seltsamerweise nicht übernommen.
            Naja, mal abwarten, wird sich ja denke ich noch einiges ändern.
            Ihr seid ja kräftig dran.

            T 1 Reply Last reply Reply Quote 0
            • T
              ticaki @SuFra last edited by

              @sufra
              Der Adapter überschreibt nichts im Skript - jedoch wird beim laden des Skript weatherEntity als eines der ersten Dinge von den Adapter Setting überschrieben.

              War mir zuviel Arbeit das überall zu ändern bei mir 🤣

              1 Reply Last reply Reply Quote 0
              • ilovegym
                ilovegym @ticaki last edited by

                @ticaki

                Ja, bitte leere defaults und die Kommentare können auch raus, lieber im Wiki mehr Beispiele an einer Stelle, die man bei Bedarf ergänzen kann.

                Ich habe in meinen Skripts erstmal alle comments raus, damit das dings mal übersichtlich wird, dann alle scrrensaver Template raus die ich nicht brauche, habe ne eigene Wetterstation und für die Vorhersage nehm ich brightsky, sonst brauch ich da kein pirate usw.,

                Da sieht der Code gleich ganz einfach aus und man kann die paar Menüs einfügen, die man braucht..

                Auch hier vielleicht entscheiden, ob man im Adapter die Menüs macht oder im script..
                Ideal wäre am Ende, dass man das Script nur zum debuggen braucht, und alles im Adapter konfiguriert..
                Aber bitte nicht ein Teil hier, ein Teil da… ☺️☺️😇🤓

                T 1 Reply Last reply Reply Quote 2
                • T
                  ticaki @ilovegym last edited by ticaki

                  @ilovegym
                  Da muß ich doch mal frech sagen - und wieso kopierst du die nicht in die Wiki? 😛 Bis alles im Admin ist wirds wohl 6-12 Monate dauern und das Skript ist kein Backup oder Devtool, sondern die einzige Art die uns möglich war, den Adapter ans laufen zu bekommen und das jemand die Konfiguration versteht.

                  Irgendwann wird das alles über den Admin gehen, bis dahin wird es immer manches geht da, manches geht dort, geben.

                  EDIT: Damit man mein "frech" sein richtig versteht, wenn tom das in die wiki kopieren sind das wieder X Minuten, die er eben nur das macht.

                  ilovegym M 2 Replies Last reply Reply Quote 2
                  • ilovegym
                    ilovegym @ticaki last edited by

                    @ticaki

                    Du meinst die comments und Wetter screensaver Templates ins Wiki codieren ?
                    Die zwei drei Menüs die ich habe sind ja aus dem Wiki.,

                    Ich meine nur, was im Wiki steht brauch man nicht im Script..oder?

                    1 Reply Last reply Reply Quote 0
                    • M
                      muuulle @ticaki last edited by

                      @ticaki
                      Moin in die Runde,

                      ich habe drei Fragen zu den Screensavern - sollten diese bereits im Wiki dokumentiert sein, habe ich hier offensichtlich Tomaten auf den Augen gehabt 😊

                      1. Frage
                        Wenn die Farbe eines Icons durch einen Datenpunkt vorgegeben sein soll. In welchem Format muss diese dort hinterlegt sein.
                        In der Doku steht:
                       // Müllabfuhr mit Datumsformat
                          {
                              type: 'script',
                              ScreensaverEntity: 'alias.0.Abfall.naechster_Termin',
                              ScreensaverEntityDateFormat: {year: 'numeric', month: '2-digit', day: '2-digit'},
                              ScreensaverEntityIconOn: 'trash-can',
                              ScreensaverEntityText: 'Müll',
                              ScreensaverEntityIconColor: 'alias.0.Abfall.farbe'
                          }
                      
                      1. Frage
                        Kann ein bottomScreensaverEntity bspw. das erste Element verschiedene Informationen abwechselnd darstellen? Könnte ich das ggf. über ein Blockly nachschieben? Dafür müsste das Icon ebenfalls variabel sein können. Ist das möglich?

                      2. Frage
                        Wenn ich die Hardware Tasten verwenden möchte, muss ich die Rule2 verwenden. Wo ist das? 😬 Das gehört zu Tasmota, oder?

                      …vielen Dank 😀

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki @muuulle last edited by ticaki

                        @muuulle
                        Ich werde hier editieren und die anderen Antworten hinzufügen - vorab steht das mit der rule in der doku? wenn ja wo?

                        Das umschalten der Tasten geht über Datenpunkte unter cmd - relais lösen 1 bzw. 2.

                        zur Frage 1:
                        Mehrere Formate sind möglich – je nach common.type des Datenpunkts:

                        Wenn common.type: "string":

                        • JSON-Objekt: { r:123, g:123, b:123 }
                        • Hex-Wert: #A332D1
                        • Mit role: level.color.name oder level.color.rgb ein gültiger CSS-Farbname (z. B. "red", "skyblue")

                        Wenn common.type: "number":

                        • Die Deczahl aus dem Skript im Bereich 0 – 65535 (0 bis 2^16 − 1) über diesen Wert wissen @TT-Tom und @Armilar aber mehr

                        Frage 2:

                        Beantworte ich mal mit einem Beispiel aus meinem meiner Nspanelskripte:

                        Ignoriere die templates

                        // 3) Windrichtungspfeil (nur sichtbar ab Windgeschwindigkeit >= 6)
                                    {
                                        type: 'template',
                                        template: 'text.sainlogic.windarrow',
                                        dpInit: 'sainlogic.0',
                                        modeScr: 'bottom',
                                        readOptions: { directionOfPanel: 81 },
                                        enabled: 'sainlogic.0.weather.current.windspeed',
                                        visibleCondition: 'parseFloat(val) >= 6',
                                    },
                        
                                    // 4) Leichter Regen (0.2–5 mm)
                                    {
                                        type: 'script',
                                        ScreensaverEntity: 'sainlogic.0.weather.current.rain',
                                        ScreensaverEntityFactor: 1,
                                        ScreensaverEntityDecimalPlaces: 1,
                                        ScreensaverEntityIconOn: 'weather-rainy',
                                        ScreensaverEntityIconOff: null,
                                        ScreensaverEntityText: 'Regen',
                                        ScreensaverEntityUnitText: 'mm',
                                        ScreensaverEntityVisibleCondition: 'parseFloat(val) > 0.2 && parseFloat(val) < 5',
                                        ScreensaverEntityIconColor: { val_min: 6, val_max: 0, mode: 'triGrad' },
                                    },
                        
                                    // 5) Starker Regen (>= 5 mm)
                                    {
                                        type: 'script',
                                        ScreensaverEntity: 'sainlogic.0.weather.current.rain',
                                        ScreensaverEntityFactor: 1,
                                        ScreensaverEntityDecimalPlaces: 0,
                                        ScreensaverEntityIconOn: 'weather-pouring',
                                        ScreensaverEntityIconOff: null,
                                        ScreensaverEntityText: 'Regen',
                                        ScreensaverEntityUnitText: 'mm',
                                        ScreensaverEntityVisibleCondition: 'parseFloat(val) >= 5',
                                        ScreensaverEntityIconColor: { val_min: 0, val_max: 20, mode: 'triGrad' },
                                    },
                        
                                    // 6) UV-Index (sichtbar ab Wert > 2, Farbverlauf 0–8)
                                    {
                                        type: 'script',
                                        ScreensaverEntity: 'sainlogic.0.weather.current.uvi',
                                        ScreensaverEntityFactor: 1,
                                        ScreensaverEntityDecimalPlaces: 0,
                                        ScreensaverEntityIconOn: 'shield-sun-outline',
                                        ScreensaverEntityIconOff: null,
                                        ScreensaverEntityText: 'sun',
                                        ScreensaverEntityUnitText: 'uv',
                                        ScreensaverEntityVisibleCondition: 'parseFloat(val) > Number(2)',
                                        ScreensaverEntityIconColor: { val_min: 0, val_max: 8, mode: 'triGrad' },
                                    },
                        
                                    // 7) Windrichtungspfeil (immer aktiv, wenn ungleich 0)
                                    {
                                        type: 'template',
                                        template: 'text.sainlogic.windarrow',
                                        dpInit: 'sainlogic.0',
                                        modeScr: 'bottom',
                                        readOptions: { directionOfPanel: 81 },
                                        enabled: 'sainlogic.0.weather.current.windspeed',
                                        visibleCondition: `parseFloat(val) >= 3`
                                    },
                        
                                    // 8) Luftfeuchtigkeit (Außen, Farbverlauf 10–90, Idealwert 50)
                                    // wenns alles andere nichts war - dann halt Luftfeuchtigkeit als Füllung
                                    {
                                        type: 'script',
                                        ScreensaverEntity: 'sainlogic.0.weather.current.outdoorhumidity',
                                        ScreensaverEntityFactor: 1,
                                        ScreensaverEntityDecimalPlaces: 0,
                                        ScreensaverEntityIconOn: 'water-percent',
                                        ScreensaverEntityIconOff: null,
                                        ScreensaverEntityText: 'Feuchte',
                                        ScreensaverEntityUnitText: '%',
                                        ScreensaverEntityIconColor: { val_min: 10, val_max: 90, val_best: 50, mode: 'triGrad' },
                                    },
                        

                        ScreensaverEntityVisibleCondition wird benutzt um das enabled zu bestimmen, wenn ein einfaches true nicht reicht. Wenn nichts weiter angegeben gegen ScreensaverEntity.

                        Wenn ScreensaverEntityEnabled angegeben ist bezieht sich die Prüfung darauf. Also sowas wie "val === 1", "val === 2" und einen datenpunkt wo du durch die zahlen schaltest, reicht schon.

                        Wow das hab ich aber mal schlecht erklärt:

                        ScreensaverEntityEnabled: '0_userdata.0.rotation';
                        ScreensaverEntityVisibleCondition: 'val===0';
                        

                        Wenn jetzt in 0_userdata.0.rotation eine zahl 0 steht, wird das element angezeigt, ansonsten nicht. Das kannst du dann hochzählen und von einem externen Skript rotieren lassen.

                        M 2 Replies Last reply Reply Quote 1
                        • M
                          muuulle @ticaki last edited by

                          @ticaki said in Betatest NSPanel-lovelace-ui v0.6.x:

                          steht das mit der rule in der doku? wenn ja wo?

                          Das steht im Skript. Unterhalb des buttonLeft.

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

                            @teletapi

                            TFT us-l v5.0.2 ist ebenfalls Online

                            Armilar 1 Reply Last reply Reply Quote 0
                            • T
                              ticaki @muuulle last edited by

                              @muuulle
                              Danke werde ich raus machen.

                              Ich glaube mit der Rolle level.blabla kann man da alles rein schreiben das irgendwie nach farbe aussieht - also auch hsl(0,50%,60%) oder so - aber nicht getestet.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                muuulle @ticaki last edited by

                                @ticaki
                                Meine Frage resultiert daraus, dass die Tasten keinen Datenpunkt schalten. Ich dachte, dass es vielleicht mit der Rule2 zu tun hat. Dann werde ich wohl weitersuchen… 😉

                                T 2 Replies Last reply Reply Quote 0
                                • T
                                  ticaki @muuulle last edited by ticaki

                                  @muuulle
                                  Hm steht das nicht in der Doku - egal steht ja in meinem Kopf 🙂

                                  Das sind Taster und Taster schalten nicht.

                                  Hier schaltet man das um:
                                  Bildschirmfoto 2025-10-18 um 22.48.44.png

                                  Und diese Datenpunkte werden mit true aktualisiert, wenn du auf die Taste drückst - umschalten hab ich da erstmal nicht eingebaut - weil Taster keine Schalter sind ups
                                  Bildschirmfoto 2025-10-18 um 22.48.30.png

                                  Im Blockly mit
                                  Bildschirmfoto 2025-10-18 um 22.51.50.png
                                  und im javascript mit

                                  on({id:'bla', change: 'any', ack: true}, ...
                                  

                                  EDIT:
                                  Nach weiteren Nachforschungen im Code - da wird ja seit über 2Jahren dran gearbeitet habe ich folgende gefunden:

                                          buttonLeft: {         
                                              mode: 'page',   
                                              page: 'main',
                                          },
                                  
                                             /**
                                               * Mode for navigating to a page.
                                               */
                                              mode: 'page';
                                              /**
                                               * The page to navigate to.
                                               */
                                              page?: string;
                                          }
                                          | {
                                              /**
                                               * Mode for toggling a datapoint.
                                               */
                                              mode: 'switch';
                                              /**
                                               * The state of the datapoint to toggle.
                                               */
                                              state: string;
                                          }
                                          | {
                                              /**
                                               * Mode for triggering a button datapoint.
                                               */
                                              mode: 'button';
                                              /**
                                               * The state of the button datapoint to trigger.
                                               */
                                              state: string;
                                  

                                  switch ist ein umschalter
                                  button ist ein true-schalter (also schreibt auf den Datenpunkt ein true)

                                  mit

                                          buttonLeft: {         
                                              mode: 'switch',   
                                              state: 'mein.datenpunkt',
                                          },
                                  
                                  

                                  schaltet man bei Tastendruck den Datenpunkt von true auf false bzw. false auf true.

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    ticaki @muuulle last edited by

                                    @muuulle
                                    MOMENTchen ich hab da was gefunden im Code - editiere wohl gleich oben um meine aussage zu den schaltern zu widerrufen - aber erstmal wühlen 🙂

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

                                      Gibt es aktuell eigentlich einen User mit der US-P Version, der gerne den Adapter nutzen möchte?

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

                                        @armilar Ich hatte das mit dem US Panel glaub nur mit dem Landscape benutzt. Das funktionierte ja mit dem flashen des TFT nie. daher hab ich das US panel auf script umgeschrieben und seidem funktioniert alles

                                        1 Reply Last reply Reply Quote 1
                                        • M
                                          muuulle @ticaki last edited by

                                          @ticaki said in [Betatest NSPanel-lovelace-ui v0.6.x]

                                          zur Frage 1:
                                          Mehrere Formate sind möglich – je nach common.type des Datenpunkts:

                                          Wenn common.type: "string":

                                          • JSON-Objekt: { r:123, g:123, b:123 }
                                          • Hex-Wert: #A332D1

                                          Alle Hinweise haben geholfen. Vielen Dank für den großartigen Support (und den tollen Adapter).
                                          Einzig die Farbe wird nicht angenommen. Ich erhalte folgende Fehlermeldung:

                                          ScreensaverEntityOnColor: '0_userdata.0.Abfuhrkalender.NSPanel.1.Farbe',
                                          ^
                                          ERROR: Type 'string' is not assignable to type 'RGB'.
                                          

                                          Hast du hier vielleicht noch einen Ansatz? Eingesetzt habe ich die von dir genannten Farben. Der Common.type ist String.

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            ticaki @muuulle last edited by ticaki

                                            @muuulle
                                            Zeig mit mal das datenpunkt object und genau was du rein geschrieben hast 🙂 Bei Änderungen an Datenpunkte, damit meine ich das object von datenpunkten, muss der adapter neugestartet werden. Der cacht den kram.

                                            EDIT - upsi
                                            Da ist ein Typefehler im Skript - behebe ich!

                                            EDIT2:
                                            Bis es soweit ist kannst du dir mit //@ts-ignore helfen - das solltest du aber beim nächsten Skriptupdate wieder entfernen, jedoch nur solltest - kein muss 🙂

                                            Bespiel:

                                                            //@ts-ignore
                                                            ScreensaverEntityOnColor: '0_userdata.0.RGB'
                                            
                                            M 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            595
                                            Online

                                            32.3k
                                            Users

                                            81.1k
                                            Topics

                                            1.3m
                                            Posts

                                            24
                                            637
                                            98139
                                            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