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.
    • 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
                                          • M
                                            muuulle @ticaki last edited by

                                            @ticaki
                                            Perfekt. Damit kann ich mir helfen 👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            624
                                            Online

                                            32.3k
                                            Users

                                            81.1k
                                            Topics

                                            1.3m
                                            Posts

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