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.
    • teletapi
      teletapi @peterfido last edited by teletapi

      @peterfido zb. um meine. Jetzt bin ich gerade mal überfordert 😉

      Ich habe jetzt gerade mal die Tasmota Firmware 15.0.0 geupdatet funktioniert, nach dem Update muss das NSPanel aber kurz vom Strom genommen werden.
      Das Update per Panel aufforderung hat nicht funktioniert

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

        @teletapi

        hast du dir diese Seite schon mal genauer angesehen, dort sind alle Parameter beschrieben.

        Deine Subpages sind falsch konfiguriert und liegen nicht unter Subpages. Du hats auch keine Hauptseite/ Navipunkt, der auf deine Subpages verweist.

        Die anderen Subpages hast du doch richtig angelegt, schau dir das in Ruhe nochmal an.

        teletapi 1 Reply Last reply Reply Quote 1
        • teletapi
          teletapi @TT-Tom last edited by teletapi

          @tt-tom Ich bin nicht ganz sicher die Seiten die mit subpage benannt sind, sind ja eigentlich garkeine Subpages sondern eben die haupt seiten nur die Namen sind von irgendwoher aus Beispielen übernommen worden von mir.
          Ich hab noch nicht verstanden was daran falsch ist. Kann es sein das die Alias Struktur wie die Aliase in welchem Ordner liegen sehr wichtig ist..?

          //-- Anfang für eigene Seiten -- z.T. selbstdefinierte Aliase erforderlich ----------------
          //-- Start for your own pages -- some self-defined aliases required ----------------
           
          let Programmseite: PageType =
          {
              'type': 'cardEntities',
              'heading': 'Programmseite',
              'useColor': true,
              'items': [
                  { navigate: true, id: 'alias.0.NSPanel.allgemein.Abfall.event1', targetPage: 'Abfall', name: 'Abfallkalender'},
                  { navigate: true, id: null, targetPage: 'GuestWifi', onColor: White, name: 'Gäste WLAN'},
              ]
          };
           
          let Licht1: PageType =
          {
              'type': 'cardEntities',
              'heading': 'Beleuchtung',
              'useColor': true,
              'items': [
                  { navigate: true, id: 'alias.0.NSPanel.Hue_Flur_unten.Flur_unten', targetPage: 'FlurHue', name: 'Hue Flur'},
                  { navigate: true, id: 'alias.0.NSPanel.Kueche.Hue_deckenlicht', targetPage: 'Kueche', onColor: White, name: 'Küche'},
                  { navigate: true, id: 'alias.0.NSPanel.Badezimmer.Badezimmer_Licht', targetPage: 'Bad', onColor: White, name: 'Badezimmer'},
                  { navigate: true, id: 'alias.0.NSPanel.Hue_Flur_Mitte.Treppenlicht', targetPage: 'Treppenlicht', onColor: White, name: 'Treppenlicht'},
              ]
          };
           
          let Licht2: PageType =
          {
              'type': 'cardEntities',
              'heading': 'Beleuchtung 2',
              'useColor': true,
              'items': [
                  { navigate: true, id: 'alias.0.NSPanel.Schlafzimmer.Bett1', targetPage: 'Schlafzimmer', name: 'Bett'},                
              ]
          };
           
          let Abfall: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Abfallkalender',
                      'useColor': true,
                      'subPage': true,
                      'parent': Programmseite,
                      'items': [
                          { id: 'alias.0.NSPanel.allgemein.Abfall.event1',icon: 'trash-can'},
                          { id: 'alias.0.NSPanel.allgemein.Abfall.event2',icon: 'trash-can'},
                          { id: 'alias.0.NSPanel.allgemein.Abfall.event3',icon: 'trash-can'},
                          { id: 'alias.0.NSPanel.allgemein.Abfall.event4',icon: 'trash-can'},
                          { id: 'alias.0.NSPanel.allgemein.Abfall.event5',icon: 'trash-can'}
                      ]
                  };
           
          let GuestWifi: PageType =
          {
              'type': "cardQR",
              'heading': "Gäste Wlan",
              'subPage': true,
              'parent': Programmseite,
              'items': [{ id: 'alias.0.NSPanel.Guest_Wifi', 
                         hidePassword: true, // true = Switch; false = Password
                         hideEntity2: false,   // true = Switch or Password is Hide
                         autoCreateALias: true}
                    ]
          };      
           
          let FlurHue: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Hue Flur',
                      'useColor': true,
                      'subPage': true,
                      'parent': Licht1,
                      'items': [
                          { id: 'alias.0.NSPanel.Hue_Flur_unten.Flur_unten'},
                          { id: 'alias.0.NSPanel.Hue_Flur_unten.Flur_unten_Haustür'},
                          { id: 'alias.0.NSPanel.Hue_Flur_Mitte.Kleiner_Flur_Mitte'},
                          { id: 'alias.0.NSPanel.Hue_Flur_Mitte.Flur_Mitte'}
                      ]
          };
           
          let Kueche: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Küche',
                      'useColor': true,
                      'subPage': true,
                      'parent': Licht1,
                      'items': [
                          { id: 'alias.0.NSPanel.Kueche.Hue_deckenlicht'},
                          { id: 'alias.0.NSPanel.Kueche.Abzugshaube'}
                      ]
          };
           
          let Schlafzimmer: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Schlafen',
                      'useColor': true,
                      'subPage': true,
                      'parent': Licht1,
                      'items': [
                          { id: 'alias.0.NSPanel.Schlafzimmer.Bett1'},
                          { id: 'alias.0.NSPanel.Schlafzimmer.Bett2'},
                          { id: 'alias.0.NSPanel.Schlafzimmer.Bett3'}
                      ]
          };
           
          let Bad: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Badezimmer',
                      'useColor': true,
                      'subPage': true,
                      'parent': Licht1,
                      'items': [
                          { id: 'alias.0.NSPanel.Badezimmer.Badezimmer_Licht'}
                      ]
          };
           
          let Treppenlicht: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Treppenlicht',
                      'useColor': true,
                      'subPage': true,
                      'parent': Licht1,
                      'items': [
                          { id: 'alias.0.NSPanel.Hue_Flur_Mitte.Treppenlicht'}
                      ]
          };
           
          let Rolladen: PageType =
                  {
                      'type': 'cardEntities',
                      'heading': 'Rolladen',
                      'useColor': true,
                      'subPage': false,
                      'parent': undefined,
                      'items': [
                          { id: 'alias.0.NSPanel.Schlafzimmer.Rolladen',icon: 'window-shutter',name: 'Rolladen-Schlafen',interpolateColor: true},
                          { id: 'alias.0.NSPanel.Ankleidezimmer.Rolladen',icon: 'window-shutter',name: 'Rolladen-Ankleide',interpolateColor: true}
                      ]
          };
           
           
          //-- https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispiele
           
          //-- ENDE für eigene Seiten -- z.T. selbstdefinierte Aliase erforderlich -------------------------
          //-- END for your own pages -- some self-defined aliases required ------------------------
          
          

          Ich habe die Namen jetzt mal angepasst

          // EN: Configuration
          
          export const config: Config = {
              // Seiteneinteilung / Page division
              // Hauptseiten / Mainpages
              pages: [
                  NSPanel_Service, //Auto-Alias Service Page
                  Programmseite,
                  Licht1,
                  Licht2,
                  Rolladen,
                      
                      //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
              ],
              // Unterseiten / Subpages
              subPages: [
                  NSPanel_Service_SubPage, //Auto-Alias Service Page (only used with cardUnlock)
                  NSPanel_Infos, //Auto-Alias Service Page
                  NSPanel_Wifi_Info_1, //Auto-Alias Service Page
                  NSPanel_Wifi_Info_2, //Auto-Alias Service Page
                  NSPanel_Sensoren, //Auto-Alias Service Page
                  NSPanel_Hardware, //Auto-Alias Service Page
                  NSPanel_IoBroker, //Auot-Alias Service Page
                  NSPanel_Einstellungen, //Auto-Alias Service Page
                  NSPanel_Screensaver, //Auto-Alias Service Page
                  NSPanel_ScreensaverDimmode, //Auto-Alias Service Page
                  NSPanel_ScreensaverBrightness, //Auto-Alias Service Page
                  NSPanel_ScreensaverLayout, //Auto-Alias Service Page
                  NSPanel_ScreensaverWeather, //Auto-Alias Service Page
                  NSPanel_ScreensaverDateformat, //Auto-Alias Service Page
                  NSPanel_ScreensaverIndicators, //Auto-Alias Service Page
                  NSPanel_Relays, //Auto-Alias Service Page
                  NSPanel_Script, //Auto-Alias Service Page
                  NSPanel_Firmware, //Auto-Alias Service Page
                  NSPanel_FirmwareTasmota, //Auto-Alias Service Page
                  NSPanel_FirmwareBerry, //Auto-Alias Service Page
                  NSPanel_FirmwareNextion, //Auto-Alias Service Page
                  Abfall,
                  GuestWifi,
                  Kueche,
                  FlurHue,
                  Treppenlicht,
                  Bad,
                  Schlafzimmer,   
                  ],
          

          Sieht dann so aus.

          IMG-20250613-WA0013.jpg IMG-20250613-WA0011.jpg IMG-20250613-WA0010.jpg IMG-20250613-WA0009.jpg IMG-20250613-WA0008.jpg

          Die ordnerstruktur der Aliase sieht bei mir so aus, ich hatte mir dazu noch keine wesentlichen gedanken gemacht
          Screenshot_1.jpg

          T 1 Reply Last reply Reply Quote 0
          • Gargano
            Gargano last edited by

            Gibt es die Möglichkeit ein Bild auf den NsPanel hochzuladen (Snapshot von der Kamera) ?

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

              @gargano nein immer noch nicht

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

                @tt-tom Ist das mal angedacht ?
                Im Nextion ist ja da ein Picture vorhanden.

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

                  @gargano mann kann ein Bild in die TFT-Firmware programmieren, aber eins senden geht nicht. So mein letzter Stand.

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

                    @teletapi

                    Dann sind deine Hauptseiten für das Licht doch definiert und von dort springst du jetzt mit press in die Subpages z.B. Küche

                    wenn du von der Küche in eine weitere Subpage möchtst, musst du dir auf der Küchenseite ein naviPunkt anlegen, analog wie bei den Hauptseiten

                     { navigate: true, id: 'alias.0.NSPanel.Hue_Flur_Mitte.Treppenlicht', targetPage: 'Treppenlicht', onColor: White, name: 'Treppenlicht'},
                    

                    Die neue Seite musst du auch als Subpage konfigurieren und dort auch eintragen. schau dir mal das Bild auf der Wiki Seite an, dann sollte dir das verständlich werden.

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

                      @wuschl

                      hier die Antwort im Wiki

                      1 Reply Last reply Reply Quote 0
                      • Gargano
                        Gargano last edited by

                        Mit der Script Adapter Version 9.0.3 funktioniert das Script (Ich habe V4.5.0.1) nicht mehr. Kann nicht kompilieren.
                        Ich habe allerdings keine Eintragung gefunden für einen Fix.

                        Asche auf mein Haupt, wenn das schon gefixt ist :-))

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

                          @gargano
                          Wenn du mit einer Beta Version vom Javascript Adapter arbeitest, musst du mit so etwas rechnen.
                          Weitere Infos findest du im Testpost zum Adapter.

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

                            @tt-tom wollt ja nur wissen, ob das schon gefixt ist. Ansonsten warte ich halt auf den Fix.

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

                              @gargano

                              Die Antwort wird hier nicht kommen, da es nicht am Script liegt. Wenn der Adapter ins Stable wechselt wird auch das Script funktionieren.

                              1 Reply Last reply Reply Quote 0
                              • P
                                peterfido last edited by peterfido

                                @tt-tom gibt es eine elegantere Methode beim Start den Screensaver anzuzeigen als am Ende von der Konfiguration das Timeout zu ändern?

                                var screensavertimeoutalt: number = getState(NSPanel_Path + 'Config.Screensaver.timeoutScreensaver').val;
                                if(screensavertimeoutalt < 5){
                                   screensavertimeoutalt = 60;
                                }
                                setStateAsync(NSPanel_Path + 'Config.Screensaver.timeoutScreensaver', 1, true);
                                let timeoutScreeSaverInit: any;
                                timeoutScreeSaverInit = setTimeout(async function () {
                                   setStateAsync(NSPanel_Path + 'Config.Screensaver.timeoutScreensaver', screensavertimeoutalt, true);
                                }, 5000);
                                
                                // _________________________________ DE: Ab hier keine Konfiguration mehr _____________________________________
                                

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

                                  @peterfido
                                  Nö, es muß erst eine Seite angezeigt werden, das ist die einzige Methode die funktioniert hat.

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

                                    @ticaki OK, danke. Dann lass ich es so.

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      drloksoft last edited by

                                      Hi Leute,
                                      ich verzweifele ... Ich habe mir Lichtcontroller für meine LED Stripes mit dem WLED Projekt erstellt. Grundsätzlich funktioniert Das alles ok. Es ist zwar ziemlich blöde, dass ich nicht direkt Kelvin Angaben per MQTT oder WLED Adapter senden kann, aber das lassen wir mal kurz zur Seite gestellt, da ich das ja mit JavaScript umrechnen und in andere Datenpunkte setzen kann. Nun möchte ich zum einen einen einfachen Lichtschalter bauen (was ich wohl auch hinbekomme) und dann eine Sub Page für Helligkeit und Lichtfarbe erstellen, wie sie hier in einem Screenshot zu sehen ist:
                                      Screenshot 2025-06-15 at 12.13.58.png.
                                      Kann mir jemand einen Hinweis gebe, wo wohl beschrieben ist, wie ich diese Cards erstellen kann und welche Datenpunkte dafür notwendig sind?

                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        peterfido @drloksoft last edited by

                                        @drloksoft Wenn die Lampe die korrekten Datenpunkte hat, dann ist das ein Selbstläufer und das Skript erstellt die Seiten von selbst.

                                        Zum Anlegen am besten den Geräte-Adapter nutzen. Wenn diese Probleme macht, wie die Anzeige von HUE als Pflichfeld, obwohl man RGB ausgewählt hat, dann die Seite im Browser mit STRG + F5 neu laden.

                                        D 1 Reply Last reply Reply Quote 0
                                        • D
                                          drloksoft @peterfido last edited by

                                          @peterfido said in SONOFF NSPanel mit Lovelace UI:

                                          den Geräte-Adapter nutzen. Wenn diese Probleme macht, wie die Anzeige von HUE als Pflichfeld, obwohl man RGB ausgewählt hat, dann die Seite im Browser mit STRG + F5 neu laden.

                                          👷 Danke für's aufwecken! Ja, klar!

                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            drloksoft @drloksoft last edited by

                                            Nun habe ich ein neues Problem, dann ich habe heute die TS-Datei aus dem Github genommen, um meine drei panels zu aktualisieren. Dummerwiese habe ich einen Copy & Paste Fehler begangen, denn ich habe zwar:
                                            ```
                                            const NSPanelReceiveTopic: string = 'mqtt.0.SmartHome.tele.NSPANEL_1.RESULT';
                                            const NSPanelSendTopic: string = 'mqtt.0.SmartHome.cmnd.NSPANEL_1.CustomSend';

                                            auf
                                                ```
                                            const NSPanelReceiveTopic: string = 'mqtt.0.SmartHome.tele.NSPANEL_2.RESULT';
                                                const NSPanelSendTopic: string = 'mqtt.0.SmartHome.cmnd.NSPANEL_2.CustomSend';
                                            

                                            geändert, aber nicht

                                            const NSPanel_Path = '0_userdata.0.NSPanel.1.';
                                            auf const NSPanel_Path = '0_userdata.0.NSPanel.2.';
                                            

                                            angepasst, sondern 1 gelassen.
                                            Nach dem letzten Reboot melden sich beide panels nicht mehr an und warten auf ihre Konfiguration.
                                            Im Log des MQTT Adapters sehe ich:

                                            	stateChange mqtt.0.SmartHome.tele.NSPANEL_2.RESULT: {"val":"
                                            {\"nextion\":\"bytes('1800040004008C08000888000400040000800028000400000000040000000000...')\"}","ack":true,"ts":1750012076334,"q":0,"from":"system.adapter.mqtt.0","user":"system.user.admin","lc":1750012076334}
                                            

                                            Hat jemand eine Idee, wie ich das wohl troubleshooten kann, oder wie ich den Fehler beheben kann?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            782
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            263
                                            7223
                                            4953335
                                            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