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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • 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 @wendy2702 last edited by

      @wendy2702

      Ich meinte tatsächlich die Infos aus dem mittleren Screenshot. Also alles da...

      Das DEV-Emu-Panel dürfte keine Analog Temperatur bekommen, da es keinen Temperatursensor hat. Also funktioniert die Suche vom

      NSPanel_Path + 'Sensor.ANALOG.Temperature'
      

      nicht. Trage bitte in den Datenpunkt unter Objekte des DEV-Panels mal eine fiktive Temperatur (z.B. 22,1) ein.

      9467a659-3aa5-4efc-b32c-be7330276327-image.png

      wendy2702 1 Reply Last reply Reply Quote 1
      • wendy2702
        wendy2702 @Armilar last edited by

        @armilar OK.

        Teste ich morgen früh.

        Danke abermals für deine schnelle Hilfe.

        Habe ich das in der Anleitung eigentlich überlesen?

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

          @wendy2702

          Hat sich viel getan in der Zwischenzeit. Und der 2. Datenpunkt in den MRIcons ist neu... Wird also nicht explizit drin stehen.

          Fakt ist: der EMU-ESP32 hat keine Relais und keine Sensoren. Bis auf die ESP-Temperatur mit

          setOption146 1
          

          Demnach bleibt die Temperatur im Datenpunkt auch ungefüllt. Wenn du jetzt auf den Datenpunkt zugreifst und mit toFixed() eine Nachkommastelle mitgibst, dann hast du 2 Fehler auf einmal.

          1. Der Datenpunkt ist null
          2. Die Nachommastelle von null ist nicht da

          Also: einmal unter:

          0_userdate.0.NSPanel.Dev.Sensor.ANALOG.Temperature
          

          irgendeine Zahl für irgendeine Sensortemperatur reinschreiben und der Spuk sollte ein Ende haben.

          wendy2702 1 Reply Last reply Reply Quote 1
          • wendy2702
            wendy2702 @Armilar last edited by wendy2702

            @armilar ok.

            Wie geschrieben mache ich morgen früh.

            Habe die Anleitung so oft gelesen das ich schon sorge hatte ich habe das überlesen.

            EDIT: Object angelegt, Wert eingetragen und ruhe ist im Log.

            DANKE!

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

              @wendy2702 sagte in SONOFF NSPanel mit Lovelace UI:

              Habe die Anleitung so oft gelesen das ich schon sorge hatte ich habe das überlesen.

              So habe die Wiki für den Emulator mal kurz an den aktuellen Stand angepasst.

              1 Reply Last reply Reply Quote 1
              • Gargano
                Gargano @Armilar last edited by

                @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                Fehlermeldung im Editor:

                Error:Invalid number of arguments:qrcode m1.x,m1.y,200,defaultBcoColor,65535,-1,vaQR.txt( Double click to jump to code)
                Error:Invalid number of arguments:qrcode m0.x,m0.y,200,defaultBcoColor,65535,-1,vaQR.txt( Double click to jump to code)
                Error:Compile failed! 2 Errors, 1 Warnings,
                
                

                Kommt vom letzten Update des Nextion Editor's
                https://nextion.tech/download/nextion-setup-v1-63-3.exe
                https://nextion.tech/download/nextion-setup-v1-63-3.zip
                Installiert mal die Version... Die aber dann nicht uppen...

                Wie ist denn dann die Syntax mit der aktuellen Version des Nextion Editor's ?

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

                  @gargano

                  Es gibt keine Syntax für einen Bug im Nextion Editor...

                  Deinstallieren und die 1.63.3 installieren.

                  1 Reply Last reply Reply Quote 0
                  • J
                    joBr99 @Gargano last edited by

                    @gargano

                    qrcode 8,m1.x,m1.y,200,defaultBcoColor,65535,-1,vaQR.txt
                    qrcode 8,m0.x,m0.y,200,defaultBcoColor,65535,-1,vaQR.txt
                    

                    Diese Änderung ist seitens Nextion aber nirgends dokumentiert und da neue Editor Versionen in der Vergangenheit lustige Seiteneffekte hatten werde ich mit dem Update von dem Editor noch etwas warten, die Version .1 mit Bugfixes kam ja auch schon, erstmal abwarten, was da sonst noch so kommt.

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

                      Hallo Zusammen,

                      ich bin gerade dabei meine Aliase etwas aufzuräumen. Dabei möchte ich die NSPanel Aliase in eine höhere Ebene bringen.
                      Da die notwenidgen Aliase selbstständig angelegt werden, habe ich einfach nur den Alias Pfad geändert.
                      Jedoch werden nicht Aliase automatisch angelegt. Anbei zwei Bilder:
                      Alter Pfad
                      90982f49-3ba0-4c67-b875-6deec91a21b4-image.png

                      Neuer Pfad
                      97ce4da4-caad-4c63-a913-9c9cb7b1eab9-image.png

                      Als Beispiel hier der Alias Config. Es wird nur ein Bruchteil von dem angelegt was vorher da war.

                      Woran liegt das?

                      Skriptversion 3.9.0.2

                      VG
                      Nico

                      ravenst0ne 1 Reply Last reply Reply Quote 0
                      • ravenst0ne
                        ravenst0ne @niiccooo1 last edited by

                        @niiccooo1 Lösche mal die entsprechenden Datenpunkte unter 0_userdata. Im Skript wird oftmals abgefragt ob userdata existiert, falls nein wird der Datenpunkt dort erzeugt und anschließend das Alias angelegt.

                        N 1 Reply Last reply Reply Quote 1
                        • V
                          Venice last edited by Venice

                          Hallo zusammen, ich komme leider nicht weiter .

                          Aktuell sieht mein Screensaver so aus und ich weiß leider nicht warum?

                          Könnt ihr mir eventuell weiter helfen.IMG_1314.JPG

                          ravenst0ne 1 Reply Last reply Reply Quote 0
                          • ravenst0ne
                            ravenst0ne @Venice last edited by

                            @venice Sieht aus, als ob die verwendete Skriptversion und TFT Firmware nicht zusammenpasst. Kannst du mal deine verwendeten Versionen posten?

                            V 1 Reply Last reply Reply Quote 0
                            • V
                              Venice @ravenst0ne last edited by

                              @ravenst0ne Super Danke dir es hat geklappt.👍

                              1 Reply Last reply Reply Quote 0
                              • N
                                niiccooo1 @ravenst0ne last edited by

                                @ravenst0ne
                                Hat geklappt!

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

                                  Hallo,
                                  ich hatte bis zur aktuellen Version (V3.9.0.2) den weatherForecast immer variabel eingestellt.
                                  Bis Mittag: den aktuellen Tag + 4 Tage (let i = 1 ; i < 5;) und
                                  Nachmittag: Morgen + 4 Tage (let i = 2 ; i < 6;).
                                  Das hat bis zur V3.9.0.2 immer funktioniert.
                                  Dies funktioniert leider nicht mehr. Gibt es eine Möglichkeit, das es wieder funktioniert?

                                  
                                  // AccuWeather Forecast Tag 1 - Tag 5 -- Wenn weatherForecast = true
                                                  for (let i = getState(NSPanel_Path + "ScreensaverInfo.weatherDayStart").val; i < getState(NSPanel_Path + "ScreensaverInfo.weatherDayEnd").val; i++) {
                                                  //for (let i = 2 ; i < 6; i++) {
                                  
                                  
                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • R
                                    ronny130286 @BumBum last edited by ronny130286

                                    @bumbum said in SONOFF NSPanel mit Lovelace UI:

                                    Hallo zusammen, ich verwende das NSPanel mit ioBroker und hab auch die Aktuelle Version des TFT Treibers und auch die aktuelle Verson des Skripts (TypeScript v3.9.0.1).
                                    Ich habe das Problem, dass bei mir einige Datenpunkte nicht angezeigt werden. Beispielsweise ist die Seite "Dimmode (1)" (NSPanel_ScreensaverDimmode), komplett leer. Die Aliase und die Datenpunkte sind aber da. Auch fehlt die Anzeige der SSID auf der Seite NSPanel_Wifi_Info_2. Wie kann das sein? Hab ich was übersehen? Alle anderen Seiten funktionieren soweit.

                                    Schon mal danke für die Hilfe.

                                    Hi, konnte das Problem schon jemand lösen, habe heute das Update gemacht und habe genau das gleich Problem.

                                    async function InitDimmode() {
                                        try {
                                            // Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0")
                                            if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay')) {
                                                await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.StateCommon>{ type: 'number' });
                                                await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', <iobJS.State>{ val: 8, ack: true });
                                                setObject(AliasPath + 'Dimmode.brightnessDay', {type: 'channel', common: {role: 'slider', name:'brightnessDay'}, native: {}});
                                                await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                            }
                                    
                                            if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_hourDay')) {
                                                await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.StateCommon>{ type: 'number' });
                                                await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourDay', <iobJS.State>{ val: 7, ack: true });
                                                setObject(AliasPath + 'Dimmode.hourDay', {type: 'channel', common: {role: 'slider', name:'hourDay'}, native: {}});
                                                await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                            }
                                    
                                            if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight')) {
                                                await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.StateCommon>{ type: 'number' });
                                                await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', <iobJS.State>{ val: 1, ack: true });
                                                setObject(AliasPath + 'Dimmode.brightnessNight', {type: 'channel', common: {role: 'slider', name:'brightnessNight'}, native: {}});
                                                await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                            }
                                    
                                            if (!existsState(NSPanel_Path + 'NSPanel_Dimmode_hourNight')) {
                                                await createStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.StateCommon>{ type: 'number' });
                                                await setStateAsync(NSPanel_Path + 'NSPanel_Dimmode_hourNight', <iobJS.State>{ val: 22, ack: true });
                                                setObject(AliasPath + 'Dimmode.hourNight', {type: 'channel', common: {role: 'slider', name:'hourNight'}, native: {}});
                                                await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' });
                                                await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' });
                                            }
                                    
                                            const vTimeDay = getState(NSPanel_Path + 'NSPanel_Dimmode_hourDay').val;
                                            const vTimeNight = getState(NSPanel_Path + 'NSPanel_Dimmode_hourNight').val;
                                    
                                            const timeDimMode = <DimMode>{
                                                dimmodeOn: true,
                                                brightnessDay: getState(NSPanel_Path + 'NSPanel_Dimmode_brightnessDay').val,
                                                brightnessNight: getState(NSPanel_Path + 'NSPanel_Dimmode_brightnessNight').val,
                                                timeDay: (vTimeDay < 10) ? `0${vTimeDay}:00` : `${vTimeDay}:00`,
                                                timeNight: (vTimeNight < 10) ? `0${vTimeNight}:00` : `${vTimeNight}:00`
                                            };
                                    
                                            // timeDimMode Day
                                            schedule({ hour: getState(NSPanel_Path + 'NSPanel_Dimmode_hourDay').val, minute: 0 }, () => {
                                                ScreensaverDimmode(timeDimMode);
                                            });
                                    
                                            // timeDimMode Night
                                            schedule({ hour: getState(NSPanel_Path + 'NSPanel_Dimmode_hourNight').val, minute: 0 }, () => {
                                                ScreensaverDimmode(timeDimMode);
                                            });
                                    
                                            ScreensaverDimmode(timeDimMode);
                                        } catch (err) {
                                            console.warn('function InitDimmode: ' + err.message);
                                        }
                                    }
                                    

                                    Im Code wird zwar der Pfad abgefragt aber nie angelegt => muss man die Datenpunkte manuell anlegen?

                                    AliasPath + 'Dimmode.brightnessDay'
                                    AliasPath + 'Dimmode.hourDay'
                                    AliasPath + 'Dimmode.brightnessNight'
                                    AliasPath + 'Dimmode.hourNight'
                                    

                                    EDIT: Ich habe ein hinbekommen, habe nochmal alle vom Script erzeugten Alias gelöscht und dann wurden sie auch angelegt.~~

                                    Aber ein Frage habe ich noch => mit der neuen Version funktioniert der Touch Display nur noch ruckelhaft, man muss übel oft klicken damit überhaupt was passiert teilweise landet man im Debug Menü. Wie bekomme ich das weg?

                                    EDIT2: Ich wollte heute das nächste Panel umstellen, bei diesem werden einfach die Alias nicht erzeugt, irgendwie ist der Wurm drin 😞
                                    Dimmode wird nicht erzeugt, der Reboot Button fehlt unter Service fehlt, der Config.xxx Alias wird auch nicht erzeugt, bitte um Hilfe 🙂

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

                                      @ronny130286

                                      das Script prüft die Pfade unter 0_userdata.0., wenn sie da sind, wird nix angelegt. Soll heißen du solltest unter 0_userdata und unter Alias die Objekte löschen, dann sollten auch alle neu angelegt werden.

                                      Edit2 : hast du dafür ein separates Script mit einer eigenen Objektstruktur?

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

                                        @mayan sagte in SONOFF NSPanel mit Lovelace UI:

                                        Hallo,
                                        ich hatte bis zur aktuellen Version (V3.9.0.2) den weatherForecast immer variabel eingestellt.
                                        Bis Mittag: den aktuellen Tag + 4 Tage (let i = 1 ; i < 5;) und
                                        Nachmittag: Morgen + 4 Tage (let i = 2 ; i < 6;).
                                        Das hat bis zur V3.9.0.2 immer funktioniert.
                                        Dies funktioniert leider nicht mehr. Gibt es eine Möglichkeit, das es wieder funktioniert?

                                        Ich kann mir das für den bisherigen Screensaver nochmal ansehen. Für die 4.0.0 (demnächst mit zusätzlichem Advanced-Layout) habe ich alles was zum Screensaver an Code vorhanden war, weggeworfen und komplett neu implementiert. Ich sehe mir das mal an...

                                        Kleine Preview für den Advanced Screensaver:
                                        bf0c4443-b399-4317-9c57-5d600b29f349-Nextion_Editor_1YObADtPra.gif

                                        Der normale Screensaver (mit und ohne Alternativ-Layout) bleibt natürlich erhalten...

                                        1 Reply Last reply Reply Quote 3
                                        • R
                                          ronny130286 @TT-Tom last edited by ronny130286

                                          @tt-tom

                                          danke dir, habe jetzt nochmal alles gelöscht und dann wird es auch angelegt 🙂

                                          Aber es ist trotzdem noch alles so träge => Button auf der cardEntities Seite kann man fast überhaupt nicht drücken, man muss immer in die Detailansicht, dass er reagiert und schaltet. Die Navigation reagiert auch nicht so gut wie in der älteren Version und meist lande ich dann auf der Debugseite 😞

                                          Es macht fast den Anschein als ob der Speicher komplett voll ausgenutzt wird und er deshalb nicht reagiert.

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

                                            @ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:

                                            Es macht fast den Anschein als ob der Speicher komplett voll ausgenutzt wird und er deshalb nicht reagiert.

                                            Zur Laufzeit ist immer nur eine Seite aktiv. Diese wir vom TS-Script entsprechend zum Panel transportiert und aufgeschaltet. Gleiches gilt für die Subscriptions (Trigger), die mit jeder Seite gelöscht werden und neu initialisiert werden.

                                            Somit wird im Panel kein optionaler Speicherplatz, außer für die aktuelle Page (immer eine Page) benötigt.

                                            Kann es sein, dass dein System (ioBroker) an der Schmerzgrenze läuft?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            634
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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