Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

    SONOFF NSPanel mit Lovelace UI

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

      @armilar Sorry, dauert was.

      Nachdem ich den Rechner aus gemacht hatte und den ESP dadurch natürlich Stromlos bekomme ich es jetzt überhaupt nicht mehr zum laufen. Auch die WLAN Verbindung zum ESP bricht ständig ab. Da ich neu im ESP Thema bin muss ich da erstmal probieren.

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

        @wendy2702

        Lasse dir Zeit...

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

          @armilar Ich hoffe du meinst das aus CustomSend:

          weatherUpdate~~~~19017~~1 °C~~~~65168~Leistung~1090 W~~~~34351~Wind~3.3km/h~~~~26095~UV~0~~~~64750~Luft~93%~
          

          Bei dem echten Panel sieht das so aus:

          statusUpdate~~17299~梅20.4°~65504~~~
          

          Ich habe diese zwei Unterschiede im Script: Links echtes Panel, Rechts Emulator

          5ed2bb24-e9ed-4cc9-8263-4cffdeb91d3f-grafik.png
          aea72208-7848-4c58-8220-2dfb614114a5-grafik.png

          Hier habe ich lediglich den Namen in der Anzeige geändert:
          a7e94564-80d2-4ec3-9057-8d661b20b349-grafik.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            825
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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