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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

      @ronny130286

      Da hat er leider auch nicht alle Trigger-Events verarbeitet. Ich teste das mal mit einem virtuellen Taster.

      Wenn du etwas findest, dann poste es.

      Habe in Zeile 4046 noch ein "S" bei ON_SET hinzugefügt. Ist irgendwie verloren gegangen aber für die meisten doch nicht so ganz unwichtig ;--)

      R 1 Reply Last reply Reply Quote 0
      • C
        c3b @TT-Tom last edited by c3b

        @tt-tom Hi Leutz
        Ich noch mal. Ich bin leider noch nicht weiter. Ich habe die drei Datenpunkte angelegt und stecke jetzt bei den Alias fest. Sobald ich einen Alias als Tastensensor anlege, kommt eine leere Seite, anstatt der Zuordnungsliste. Dann kann ich ihn nur noch löschen. Sperrt der iobroker Datenpunkte, wenn sie schon einmal angelegt waren? Ich habe es schon ein paar mal versucht und immer wieder gelöscht.
        Kennt das Problem jemand? Hab den iobroker schon einmal neu gestartet. Bringt aber nichts. Wenn ich einen anderen Namen nehme, geht es. Ich bekomme aber den DP value nicht angelegt. Deshalb habe ich den DP auch immer wieder gelöscht.

        Im Protokoll steht folgender Eintrag:

        	Alias alias.0.Küche.WLED.Gerät_2.PRESS has no target 9
        javascript.0
        	2023-01-09 20:44:35.442	warn	Could not add alias subscription: Alias alias.0.Küche.WLED.Gerät_2.PRESS has no target 12
        javascript.0
        	2023-01-09 20:44:35.442	warn	Alias alias.0.Küche.WLED.Gerät_2.PRESS has no target 12
        

        Ist ja auch klar, da ich die Zuordnungstabelle nicht angezeigt bekomme.

        LG aus dem Sauerland

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

          @armilar
          Konntest du das Verhalten aus dem Video auch erzeugen? Kann auch sein das es nur bei mir ist.

          Das "S" habe ich auch wieder hinzugefügt 😄

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

            @ronny130286

            Nee, habe ich jetzt mit der Code-Änderung auch... nicht mal mit Taster

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

              @c3b sagte in SONOFF NSPanel mit Lovelace UI:

              mt eine leere Seite, anstatt der Zuordnungsliste. Dann kann ich ihn nur noch löschen. Sperrt der iobroker Datenpunkte, wenn sie schon einmal angelegt waren? Ich habe es schon ein paar mal versucht und immer wieder gelöscht.
              Kennt das Problem jemand? Hab den iobroker schon einmal neu gestartet. Bringt aber nichts. Wenn ich einen anderen Namen nehme, geht es. Ich bekomme aber den DP value nicht angelegt. Deshalb habe ich den DP auch immer wieder gelöscht.
              Im Protokoll steht folgender Eintrag:

              Du hast bestimmt die Version 1.1.2 vom Geräte-Manager installiert. Die ist sowas von kaputt...

              Mach mal ein Downgrade von dem Adapter auf die 1.1.1

              Danach kannst du den .VALUE anlegen

              EDIT: Ist zwar nicht das Problem, aber versuche Umlaute in Alias-Namen zu vermeiden. Kueche statt Küche. Im PageItem kannst du wieder name: 'Küche...' verwenden

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

                @armilar

                dann ist das bei mir durch den Alias, wo es mir aufgefallen ist dieser sieht so aus: c684c2b0-ac99-4daf-a10c-0d3073e832c2-image.png

                21:08:33.181	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Terrasse.SET
                21:08:33.182	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Terrasse.ACTUAL
                
                Armilar 2 Replies Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @ronny130286 last edited by

                  @ronny130286

                  schießt bei meinen sogar 4x

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

                    @ronny130286

                    bau mal ein else vor den ACTUAL

                               if (existsState(pageItem.id + '.SET')  && !existsState(pageItem.id + '.STATE')) { //Bei MonoButton
                                    console.log('.SET hat getriggert');
                                    val = getState(pageItem.id + '.SET').val;
                                    RegisterEntityWatcher(pageItem.id + '.SET');
                                } 
                                else if (existsState(pageItem.id + '.ACTUAL')) {
                                    val = getState(pageItem.id + '.ACTUAL').val;
                                    RegisterEntityWatcher(pageItem.id + '.ACTUAL');
                                }
                    
                    R 1 Reply Last reply Reply Quote 0
                    • R
                      ronny130286 @Armilar last edited by ronny130286

                      @armilar

                      ist der Zustand gewollt?
                      Weil erzeugt wird es hier:

                                  if (existsState(pageItem.id + '.GET')) {
                                      val = getState(pageItem.id + '.GET').val;
                                      RegisterEntityWatcher(pageItem.id + '.GET');
                                  }
                      	    if (existsState(pageItem.id + ".STATE")) {
                      		val = getState(pageItem.id + ".STATE").val;
                      		RegisterEntityWatcher(pageItem.id + ".STATE");
                                  }
                                  if (existsState(pageItem.id + '.SET') && !existsState(pageItem.id + ".STATE")) {
                                      val = getState(pageItem.id + '.SET').val;
                                      RegisterEntityWatcher(pageItem.id + '.SET');
                                  }
                                  if (existsState(pageItem.id + '.ACTUAL')) {
                                      val = getState(pageItem.id + '.ACTUAL').val;
                                      RegisterEntityWatcher(pageItem.id + '.ACTUAL');
                                  }
                                  if (existsState(pageItem.id + '.ON_ACTUAL')) {
                                      val = getState(pageItem.id + '.ON_ACTUAL').val;
                                      RegisterEntityWatcher(pageItem.id + '.ON_ACTUAL');
                                  } 
                                  if (existsState(pageItem.id + '.ON_SET')) {
                                      val = getState(pageItem.id + '.ON_SET').val;
                                      RegisterEntityWatcher(pageItem.id + '.ON_SET');
                                  }
                                  if (existsState(pageItem.id + '.ON')) {
                                      val = getState(pageItem.id + '.ON').val;
                                      RegisterEntityWatcher(pageItem.id + '.ON');
                                  }
                      

                      wenn du alle 6 Bedingungen hast im Alias, dann würde er sogar 6 mal auslösen.
                      ich habs mal so versucht:

                                  let onlyOneState = 0;
                       
                                  if (existsState(pageItem.id + '.GET')) {
                                      onlyOneState = 1;
                                      val = getState(pageItem.id + '.GET').val;
                                      RegisterEntityWatcher(pageItem.id + '.GET');
                                  }
                      	    if (existsState(pageItem.id + ".STATE") && onlyOneState==0) {
                                      onlyOneState = 1;
                      		val = getState(pageItem.id + ".STATE").val;
                      		RegisterEntityWatcher(pageItem.id + ".STATE");
                                  }
                                  if (existsState(pageItem.id + '.SET') && !existsState(pageItem.id + ".STATE") && onlyOneState==0) {
                                      onlyOneState = 1;
                                      val = getState(pageItem.id + '.SET').val;
                                      RegisterEntityWatcher(pageItem.id + '.SET');
                                  }
                                  if (existsState(pageItem.id + '.ACTUAL') && onlyOneState==0) {
                                      onlyOneState = 1;
                                      val = getState(pageItem.id + '.ACTUAL').val;
                                      RegisterEntityWatcher(pageItem.id + '.ACTUAL');
                                  }
                                  if (existsState(pageItem.id + '.ON_ACTUAL') && onlyOneState==0) {
                                      onlyOneState = 1;
                                      val = getState(pageItem.id + '.ON_ACTUAL').val;
                                      RegisterEntityWatcher(pageItem.id + '.ON_ACTUAL');
                                  } 
                                  if (existsState(pageItem.id + '.ON_SET') && onlyOneState==0) {
                                      onlyOneState = 1;
                                      val = getState(pageItem.id + '.ON_SET').val;
                                      RegisterEntityWatcher(pageItem.id + '.ON_SET');
                                  }
                                  if (existsState(pageItem.id + '.ON') && onlyOneState==0) {
                                      onlyOneState = 1;
                                      val = getState(pageItem.id + '.ON').val;
                                      RegisterEntityWatcher(pageItem.id + '.ON');
                                  }
                      

                      Dort macht er immer nur einmal (das war er als erstes sieht) oder überall aus If => Else If machen

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

                        @armilar

                        das Else behebt es an der Stelle natürlich auch, aber wenn ich mir die Doku ansehe:
                        60d773de-d08d-41b3-939a-a7abc6394b8f-image.png
                        dann brauchst noch mehr Else

                        ich bin mir halt nicht sicher ob man es in einer bestimmten Konstellation für ein Objekt (siehe Dimmer Bild) benötigt.

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

                          @ronny130286

                          Mein Gedanke war, warum sollte es in einer Funktion die immer korrekt gelaufen ist, auf einmal Probleme geben?

                          Ich habe in der HandleButtonEvent:

                                      case 'OnOff':
                                          if (existsObject(id)) {
                                              let action = false
                                              if (words[4] == '1')
                                                  action = true;
                                              let o = getObject(id);
                                              switch (o.common.role) {
                                                  case 'level.mode.fan':
                                                  case 'socket':
                                                  case 'light':
                          
                                                      let pageItem = findPageItem(id);	
                          							if(pageItem.monobutton != undefined && pageItem.monobutton == true){	
                          								triggerButton(id + ".SET")	
                          							}	
                          							else {	
                          								setIfExists(id + '.SET', action);
                          							}		
                          							break;
                          

                          die Funktion toggleState wieder herausgenommen und gegen das ursprüngliche setIfExists(id + '.SET', action); ersetzt. War vorher auch nicht im Code. Jetzt läufts wieder. Vermute bei dir liegt es dann in der triggerButton.

                          EDIT: Mit dem einmaligen durchlaufen, kamen viele wichtige Events nicht mehr an.

                          Ich versuche die mal Events analog des Sliders durch ein Timeout laufen zu lassen und nur das letzte jeweilige Event auszuwerten.

                          R 1 Reply Last reply Reply Quote 0
                          • C
                            c3b last edited by

                            @armilar Hi
                            Wiedermal ein Volltreffer. Downgrade und es funktioniert. Das mit den Umlauten hatte ich schon vermutet. Geht zwar, hab es aber doch geändert.
                            So wie ich das sehe, habe ich jetzt ein Problem mit dem Eintrag "index01"

                            let WLED: PageGrid =
                            {
                                "type": "cardGrid",
                                  "heading": "WLED",
                                "useColor": true,
                                "subPage": false,
                                "parent": Index01,
                                "items": [
                                    <PageItem>{ id: "alias.0.WLED.POWER", name: "Power", icon: "power", onColor: Blue, offColor: HMIOff},
                                    <PageItem>{ id: "alias.0.WLED.Synch", name: "Sync", icon: "sync", onColor: Blue, offColor: White},
                              	<PageItem>{ id: "alias.0.WLED.Timer", name: "Timer", icon: "moon-waxing-crescent", onColor: Blue, offColor: White},
                                    <PageItem>{ id: "alias.0.WLED.Presets", icon: "heart-outline", name: "Presets", onColor: White, modeList: ['Preset 0', 'Add Preset']},
                                    <PageItem>{ id: "alias.0.WLED.Colors", icon: "palette", name: "Colors", onColor: White, 
                                                modeList: ['Default', '* Color 1', '* Color Gradient', '* Colors 1&2', '* Colors Only', '* Random Cycle', 'Analogus','April Night', 'Aqua Flash', 'Atlantica', 'Aurora', 'Beach', 'Beech', 'Blink Red', 'Breeze', 'C9', 'C9 New', 'Candy', 'Candy2', 'Cloud', 'Cyane', 'Departure', 'Drywet', 'Fairy Reaf', 'Fire', 'Forest', 'etc']},
                                    <PageItem>{ id: "alias.0.WLED.Effects", icon: "emoticon-outline", name: "Effects", onColor: White, 
                                                modeList: ['Solid', 'Android', 'Aurora', 'Blends', 'Blink', 'Blink Rainbow', 'Bouncing Balls','Bpm', 'Breathe', 'Candle', 'Candle Multi', 'Candy Cane', 'Chase', 'Chase 1', 'Chase 2', 'Chase 3', 'Chase Flash', 'Chase Flash Rnd', 'Chase Rainbow', 'Chase Random', 'Chunchun', 'Colorful', 'Colorloop', 'Colortwinkles', 'Colorwaves', 'Dancing Shadows', 'etc']},
                                    //<PageItem>{ id: "alias.0.NSPanel_1.WLED.Example.Segments", icon: "layers", name: "Segments", onColor: White, modeList: ['Segment 0', 'Add Segment']},
                                ]
                            };
                            

                            Soll das ein Aufruf einer Subpage index01 sein?
                            Als nächstes mekkert er die Pageitem colors, effects und presets an. Das habe ich noch nicht ganz verstanden. Es steht dort zwar, dass die Einträge gleich sein sollen. Woher weiß ich denn, welche ich habe? Momentan habe ich nur ein preset auf dem WLED. Dann sollte dortdoch auch nur einer stehen. Oder watt?

                            Eigentlich wollte ich auf einer Seite zwei Lichtschalter und als drittes den WLED-Stripe anzeigen. Wenn ich mit let WLED: Pagegrid anfange, definiere ich doch eine separate Seite, welche ich auch aufrufen muss. Kann man nicht als drittes einen Eintrag definieren und bei Anwahl auf den Eintrag die Subpage WLED aufrufen? So wie bei den RGB aufrufen auch?

                            LG aus dem Sauerland

                            Armilar C 2 Replies Last reply Reply Quote 0
                            • R
                              ronny130286 @Armilar last edited by ronny130286

                              @armilar said in SONOFF NSPanel mit Lovelace UI:

                              ieder herausgenommen und gegen das ursprüngliche setIfExists(id + '.SET', action); ersetzt. War vorher auch nicht im Co

                              Ich habe bei mir noch ein altes Panel gefunden mit Version 3.4 und dort sieht die CreateEntity Funtkion anfangs so aus:

                              function CreateEntity(pageItem: PageItem, placeId: number, useColors: boolean = false): string {
                                  try {
                                      var iconId = '0';
                                      if (pageItem.id == 'delete') {
                                          return '~delete~~~~~';
                                      }
                              
                                      var name: string;
                                      var type: string;
                              
                                      // ioBroker
                                      if (existsObject(pageItem.id) || pageItem.navigate === true) {
                                          var iconColor = rgb_dec565(config.defaultColor);
                              
                                          if (pageItem.navigate) {
                                              type = 'button';
                                              iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('gesture-tap-button');
                                              iconColor = GetIconColor(pageItem, true, useColors);
                                              let buttonText = pageItem.buttonText !== undefined ? pageItem.buttonText : 'PRESS';
                                              return '~' + type + '~' + 'navigate.' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + pageItem.name + '~' + buttonText;
                                          }
                              
                                          let o = getObject(pageItem.id)
                                          var val = null;
                              
                                          if (existsState(pageItem.id + '.GET')) {
                                              val = getState(pageItem.id + '.GET').val;
                                              RegisterEntityWatcher(pageItem.id + '.GET');
                              			}
                              	    else if (existsState(pageItem.id + '.SET')) {
                                              val = getState(pageItem.id + '.SET').val;
                                              RegisterEntityWatcher(pageItem.id + '.SET');
                                          }
                              
                                          // Fallback if no name is given
                                          name = pageItem.name !== undefined ? pageItem.name : o.common.name.de;
                              
                                          switch (o.common.role) {
                                              case 'socket':
                              

                              das Panel hat trotz Trigger Button das Problem nicht => auch mein MonoTaster im neuen Script 3.8.1 hat das Problem nicht, nur normale Schalter haben das Problem, wohl gemerkt wenn der Alias ein .SET und ein .ACTUAL gleichzeitig hat.

                              Ich lade nochmal das Script von github und teste es nochmal ohne meine Monobuttonänderung und berichte 😉

                              EDIT: Hat leider den gleichen Effekt 😞
                              Ich habe mal .ACTUAL aus meinem Alias gelöscht, aber dann zeigt er keinen Status mehr an.

                              EDIT: hier nochmal ein kleines Video: 20230109-223235_npQAjIVi.mp4
                              Log:

                              22:34:12.110	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Weihnachten.SET => Normaler Schalter
                              22:34:12.116	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Weihnachten.ACTUAL => Normaler Schalter
                              22:34:12.117	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Terrasse.SET => Normaler Schalter
                              22:34:12.118	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Terrasse.ACTUAL => Normaler Schalter
                              22:34:12.118	info	javascript.0 (3893) script.js.NSPanel.NSPanelTest: RegEntityWatcher wurde aufgerufen: alias.0.Licht.Buero.STATE => Monobutton
                              
                              Armilar 1 Reply Last reply Reply Quote 0
                              • Armilar
                                Armilar Most Active Forum Testing @c3b last edited by Armilar

                                @c3b

                                Parent muss nur definiert werden, wenn es eine niedrigere Ebene gibt als die Seite "WLED". Da es aber ja keine Subpage ist ( "subPage": false, ) muss "parent" auf undefined stehen

                                also:

                                let WLED: PageGrid =
                                {
                                    "type": "cardGrid",
                                    "heading": "WLED",
                                    "useColor": true,
                                    "subPage": false,
                                    "parent": undefined,
                                    "prev": undefined,
                                    "next": undefined,
                                    "home": undefined,
                                    "items": [
                                        <PageItem>{ id: "alias.0.WLED.POWER", name: "Power", icon: "power", onColor: Blue, offColor: HMIOff},
                                        <PageItem>{ id: "alias.0.WLED.Synch", name: "Sync", icon: "sync", onColor: Blue, offColor: White},
                                  	<PageItem>{ id: "alias.0.WLED.Timer", name: "Timer", icon: "moon-waxing-crescent", onColor: Blue, offColor: White},
                                        <PageItem>{ id: "alias.0.WLED.Presets", icon: "heart-outline", name: "Presets", onColor: White, modeList: ['Preset 0', 'Add Preset']},
                                        <PageItem>{ id: "alias.0.WLED.Colors", icon: "palette", name: "Colors", onColor: White, 
                                                    modeList: ['Default', '* Color 1', '* Color Gradient', '* Colors 1&2', '* Colors Only', '* Random Cycle', 'Analogus','April Night', 'Aqua Flash', 'Atlantica', 'Aurora', 'Beach', 'Beech', 'Blink Red', 'Breeze', 'C9', 'C9 New', 'Candy', 'Candy2', 'Cloud', 'Cyane', 'Departure', 'Drywet', 'Fairy Reaf', 'Fire', 'Forest', 'etc']},
                                        <PageItem>{ id: "alias.0.WLED.Effects", icon: "emoticon-outline", name: "Effects", onColor: White, 
                                                    modeList: ['Solid', 'Android', 'Aurora', 'Blends', 'Blink', 'Blink Rainbow', 'Bouncing Balls','Bpm', 'Breathe', 'Candle', 'Candle Multi', 'Candy Cane', 'Chase', 'Chase 1', 'Chase 2', 'Chase 3', 'Chase Flash', 'Chase Flash Rnd', 'Chase Rainbow', 'Chase Random', 'Chunchun', 'Colorful', 'Colorloop', 'Colortwinkles', 'Colorwaves', 'Dancing Shadows', 'etc']},
                                        //<PageItem>{ id: "alias.0.NSPanel_1.WLED.Example.Segments", icon: "layers", name: "Segments", onColor: White, modeList: ['Segment 0', 'Add Segment']},
                                    ]
                                };
                                

                                Edit: Du hast doch eine Version ab 3.8.X, oder?

                                Falls ja, muss jede Seite um 3 weitere Parameter erweitert werden.

                                Falls nein, wird die Auswahlliste nicht funktionieren

                                siehe auch: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Navigation

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

                                  @armilar Hi
                                  Das habe ich mir gedacht. Als undefined geht es. Aber wie du schon schreibst und ich es vorher vermutet hatte als eigene Seite. Also kann ich bei true und angabe einer Subpage diese als Unterseite aufrufen. Ich sehe dann aber nur den Powerbutton, den Syncbutton und den Timerbutton. Die anderen drei hatte ich zum testen erst einmal ausgeblendet, da sie einen Fehler bringen. Somit sehe ich auch keinen Farbkreis so wie beim RGB weil ich colors ja ausgeblendet habe.
                                  Also kümmere ich mich noch um die drei Einträge.

                                  LG aus dem Sauerland

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • C
                                    c3b last edited by

                                    @armilar Hi
                                    Was meinst du mit 3.8.x?

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      ronny130286 @c3b last edited by ronny130286

                                      @c3b
                                      Die Script Version (siehe ReleaseNotes) wenn du das Script nimmst: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts hättest du 3.8.1

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

                                        @c3b

                                        Kurzes Beispiel einer Seitennavi über 4 Level um die Parameter zu verstehen:

                                        let Level_0_Grundstueck: PageGrid =
                                        {
                                            'type': "cardGrid",
                                            'heading': "Grundstück",
                                            'useColor': true,
                                            'subPage': false,
                                            'parent': undefined,
                                            'prev': undefined,
                                            'next': undefined,
                                            'home': undefined, 
                                            'items': [
                                                <PageItem>{ navigate: true, id: null, targetPage: 'Level_1_Gartenhaus', name: 'Gartenhaus' ,icon: 'storefront-outline', offColor: MSRed, onColor: MSGreen},
                                            ]
                                        };
                                        
                                                let Level_1_Gartenhaus: PageGrid =
                                                {
                                                    'type': 'cardGrid',
                                                    'heading': 'Gartenhaus',
                                                    'useColor': true,
                                                    'subPage': true,
                                                    'parent': Level_0_Grundstueck,
                                                    'prev': undefined,
                                                    'next': undefined,
                                                    'home': 'Level_0_Grundstueck', 
                                                    'items': [
                                                        <PageItem>{ navigate: true, id: null, targetPage: 'Level_2_GH_Licht', name: 'Licht' , icon: 'lightbulb', offColor: HMIOff, onColor: HMIOn},
                                                    ]
                                                };
                                        
                                                        let Level_2_GH_Licht: PageGrid =
                                                        {
                                                            'type': 'cardGrid',
                                                            'heading': 'Gartenhaus Licht',
                                                            'useColor': true,
                                                            'subPage': true,
                                                            'parent': Level_1_Gartenhaus,
                                                            'prev': undefined,
                                                            'next': undefined,
                                                            'home': 'Level_0_Grundstueck', 
                                                            'items': [
                                                                <PageItem>{ navigate: true, id: null, targetPage: 'Level_3_GH_WLED', name: 'WLED' , icon: 'led-strip-variant', offColor: HMIOff, onColor: HMIOn},
                                                            ]
                                                        };
                                        
                                                                let Level_3_GH_WLED: PageGrid =
                                                                {
                                                                    'type': 'cardGrid',
                                                                    'heading': 'WLED Stripes WZ',
                                                                    'useColor': true,
                                                                    'subPage': false,
                                                                    'parent': Level_2_GH_Licht,
                                                                    'prev': undefined,
                                                                    'next': undefined,
                                                                    'home': 'Level_1_Gartenhaus',
                                                                    'items': [
                                                                        <PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.On', name: 'Power', icon: 'power', onColor: HMIOn, offColor: HMIOff},
                                                                        <PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Sync', name: 'Sync', icon: 'sync', onColor: HMIOn, offColor: White},
                                                                        <PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Presets', icon: 'heart-outline', name: 'Presets', onColor: White, modeList: ['Preset 0', 'Add Preset']},
                                                                        <PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Colors', icon: 'palette', name: 'Colors', onColor: White, 
                                                                                    modeList: ['Default', '* Color 1', '* Color Gradient', '* Colors 1&2', '* Colors Only', '* Random Cycle', 'Analogus','April Night', 'Aqua Flash', 'Atlantica', 'Aurora', 
                                                                                            'Beach', 'Beech', 'Blink Red', 'Breeze', 'C9', 'C9 New', 'Candy', 'Candy2', 'Cloud', 
                                                                                            'Cyane', 'Departure', 'Drywet', 'Fairy Reaf', 'Fire', 'Forest', 'etc'
                                                                                            ]},
                                                                        <PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Effects', icon: 'emoticon-outline', name: 'Effects', onColor: White, 
                                                                                    modeList: ['Solid', 'Android', 'Aurora', 'Blends', 'Blink', 'Blink Rainbow', 'Bouncing Balls','Bpm', 'Breathe', 'Candle', 'Candle Multi', 
                                                                                            'Candy Cane', 'Chase', 'Chase 1', 'Chase 2', 'Chase 3', 'Chase Flash', 'Chase Flash Rnd', 'Chase Rainbow', 'Chase Random', 
                                                                                            'Chunchun', 'Colorful', 'Colorloop', 'Colortwinkles', 'Colorwaves', 'Dancing Shadows', 'etc'
                                                                                            ]},
                                                                        <PageItem>{ id: 'alias.0.NSPanel_1.WLED.Example.Segments', icon: 'layers', name: 'Segments', onColor: White, modeList: ['Segment 0', 'Add Segment']},
                                                                    ]
                                                                };
                                        

                                        Level_0_Grundstueck ist die einzige Mainpage und muss in der Config unter pages eingetragen werden.

                                        Alle anderen sind Subpages und müssen in der Config unter subPages aufgeführt sein.

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

                                          @c3b

                                          wie @ronny130286 schon erwähnte:

                                          Die Release Notes zur 3.8.1:
                                          https://forum.iobroker.net/post/923200

                                          Die popupInSel für diese WLED-Auswahl ist erst seit dem 06.01.2023 im Script ...

                                          Wenn die Deine Script-Version also älter ist, muss zunächst ein Upgrade erfolgen...

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

                                            @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                            let Level_3_GH_WLED: PageGrid =

                                            Das habe ich verstanden. Warum steht dann aber bei Level 3:

                                                                    let Level_3_GH_WLED: PageGrid =
                                            
                                                                    {
                                            
                                                                        'type': 'cardGrid',
                                            
                                                                        'heading': 'WLED Stripes WZ',
                                            
                                                                        'useColor': true,
                                            
                                                                        'subPage': false,
                                            
                                                                        'parent': Level_2_GH_Licht,
                                            
                                                                        'prev': undefined,
                                            
                                                                        'next': undefined,
                                            
                                                                        'home': 'Level_1_Gartenhaus',
                                            

                                            bei Subpge ein false? Das ist doch auch eine Unterseite. home und parent ist klar.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            702
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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