Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Betatest NSPanel-lovelace-ui v0.7.x

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Betatest NSPanel-lovelace-ui v0.7.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @teletapi last edited by TT-Tom

      @teletapi

      Hast du die aktuelle Version von Github?
      Hast du im Script noch die cardQR definiert??
      Wenn ja, dann aus dem Script entfernen. Sie wird jetzt über den Admin neu konfiguriert. Unter pageConfig im Admin musst du dann noch die Navigation einstellen.

      Wenn du Fragen zur Navigation hast muss @ticaki einspringen.

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

        @tt-tom
        bitte net mehr auf github verweisen - die sollte zwar gehen, aber ich mache ab und an releases wenn wir alle der meinung sind dass es gehen sollte 😄

        Die QR wurde doch geändert und da muß man jetzt die Navigation im Admin angeben.

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

          @ticaki
          ja hast recht, 😖

          aber meine Vermutung wird richtig sein 😊

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

            @tt-tom Danke, hab jetzt zwar keinen fehler mehr aber das Verhalten ist mir noch nicht klar. Sieht jetzt mal so aus:

                 const main: ScriptConfig.PageGrid = {
                    type: 'cardGrid',
                    uniqueName: 'main',
                    heading: 'Übersicht',
                    useColor: true,
                    items: [
                        { navigate: true, id: null, targetPage: 'Gaeste_Wlan', onColor: Green, name: 'wlandaten'},
                        { navigate: true, id: null, targetPage: 'Abfall', icon: 'trash-can', name: 'Abfall' },
                        { navigate: true, id: null, targetPage: 'Telefon', onColor: Green, name: 'Telefon' },
                ],
            };
            
                       { id: 'alias.0.Halle.Hallentor', 
                          minValueLevel: 0, 
                          maxValueLevel: 100, 
                          icon: "window-shutter",  
                          onColor: Green,
                          offColor: Red, 
                          name: 'Halle',
                          },
                    ],
                    type: 'cardGrid',
                    useColor: true
            
                };
            
            /*     const Telefon: ScriptConfig.PageQR = {
                    prev: 'main',
                    home: 'main',
                    type: 'cardQR',
                    uniqueName: 'Telefon'
                };
            
                 const wlandaten: ScriptConfig.PageQR = {
                    prev: 'main',
                    home: 'main',
                    uniqueName: 'Gaeste_Wlan', // muss mit dem Namen im Admin übereinstimmen
                    type: 'cardQR'
                 };*/
            
                 const PVAnlage: ScriptConfig.PagePower = {
                    uniqueName: 'PVAnlage', // muss mit dem Namen im Admin übereinstimmen
                    type: 'cardPower'
                };
            
                 const config: ScriptConfig.Config = {
                    panelTopic: 'SmartHome/NSPanel_Schlafzimmer',
                    weatherEntity: 'openweathermap.0.',
                    defaultOffColor: Off,
                    defaultOnColor: On,
                    defaultBackgroundColor: HMIDark,
                    weatherAddDefaultItems: false,
            
                // Als Gedankenstütze, die Hauptseite muß main heißen!
                    //panelName: 'NSPanel', //unique name for the panel
            
                    // Seiteneinteilung / Page division
                    // Hauptseiten / Mainpages
                    pages: [
                        //Programmseite,
                        main,
                        Alle_Heizkoerper,
                        Licht1,
                        Alle_Steckdosen,
                        Rolladen,
                        PVAnlage,
                        //rgrid1,
                        //qrCode,
                        //chartHeizung,
                    ],
                    // Unterseiten / Subpages
                    subPages: [
                        //fahrplan,
                        //wlandaten,
                        //Telefon,
                        Abfall,
                        Waschkueche,
                        Steckdosen,
                        FlurHue,
                        Kueche,
                        Schlafzimmer,
                        Bad,
                        Treppenlicht,
                        Heizthermostat_Buero,
                        Heizthermostat_Bad,
                        Heizthermostat_Wohnen,
                        Heizthermostat_Schlafzimmer,
                        Heizthermostat_Kueche,
                        Heizthermostat_Gaeste_WC,
                        
                    ],
            
            

            Hauptpage und subpage ebenfalls deaktiviert jetzt ist es in der Hauptseite durch die Navigation nochverhanmden und aufrufbar aber wenn ich von der Hauptseite zur nächsten seite gehe kommt erstmal telefon dann Gäste Wlan als jeweilige hauptseite...? und dann meine restllichen definierten seiten

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

              @teletapi

              Das Verhalten bleibt so wie es jetzt ist, bis alles im Admin ist erst dann kann die Navigationvollständig in den Admin wandern und etwas weniger spezial sein 🙂

              next ignorieren wir mal - das braucht man i.d.R. nicht.

              Du hast in pages die Seite

              a - b - c

              Neue Seite ist d, dort stellst du bei prev b ein. Dann ist deine Navigation:

              a - b - d- c

              Wenn du bei prev jetzt nix einstellst, aber bei parent oder home ist es wie ein subpage.

              1 Reply Last reply Reply Quote 2
              • S
                Snigga last edited by

                Kann es sein, das keine Datenpunkte für popupNotify gibt? oder übersehe ich da was

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

                  @snigga
                  Die ist zur Zeit noch nicht eingebaut. Wird aber langsam mal Zeit das ich mich darum kümmere. 🙂

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Snigga @ticaki last edited by

                    @ticaki Danke.

                    Würde es aber aktuell nicht per Script irgendwie funktionieren oder habe ich mir was falsches rausgesucht.

                    const Nachricht1: any = {
                        card: 'popupNotify',
                        dpInit: '',
                        alwaysOn: 'none',
                        uniqueID: 'Nachricht1',
                        config: {
                            card: 'popupNotify',
                            data: {
                                entity1: { value: { type: 'triggered', dp: '0_userdata.0.example_state' } },
                                headline: { type: 'const', constVal: 'welcomeHToken' },
                                colorHeadline: { true: { color: { type: 'const', constVal: Green } } },
                                buttonLeft: { type: 'const', constVal: '' },
                                colorButtonLeft: { true: { color: { type: 'const', constVal: White } } },
                                buttonRight: { type: 'const', constVal: '' },
                                colorButtonRight: { true: { color: { type: 'const', constVal: White } } },
                                text: { type: 'const', constVal: 'welcomeTToken' }, // text: { type: 'const', constVal: 'Text Test ${pl}' },
                                colorText: { true: { color: { type: 'const', constVal: White } } },
                                timeout: { type: 'const', constVal: 3 },
                                // {placeholder: {text: '' oder dp: ''}} im Text muss dann ${dieserKeyStehtImText} stehen
                                // optionalValue: { type: 'const', constVal: { dieserKeyStehtImText: { text: 'das ist ein placeholder' } } },
                                //setValue1: { type: 'const', constVal: true }, // alleine ist es ein switch
                                //setValue2: { type: 'const', constVal: true }, // mit setValue2 wird 1, bei yes und 2 bei no auf true gesetzt
                                closingBehaviour: { type: 'const', constVal: 'both' }, // 'both' | 'yes' | 'no' | 'none'
                            },
                        },
                        pageItems: [],
                        items: undefined,
                    };
                    
                    T 3 Replies Last reply Reply Quote 0
                    • T
                      ticaki @Snigga last edited by ticaki

                      @snigga
                      Es würde wohl als native gehen.

                      Das Problem ist, ich hab den Code dafür vor 1 Jahr und 8 Monaten geschrieben, dann die Service Popups gemacht und dann für längere Zeit krank gewesen - ich hab keinen Plan wie das funktioniert. Gib mir mal bis Sonntag und ich schau mal was ich da hinbekomme.

                      Wenns klick macht ist das in wenigen Stunden funktionial - bisher hats aber noch nicht klick gemacht gehabt... Naja und hat ja keiner nachgefragt. 🙂

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

                        @snigga
                        Mache da nix, ich werde das komplett umbauen

                        1 Reply Last reply Reply Quote 0
                        • arteck
                          arteck Developer Most Active @ticaki last edited by

                          @ticaki der branch ist gut... ziemliche Ruhe jetzt hier
                          7b3274d6-eb43-447f-9b85-9ed1fff8e84a-grafik.png

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

                            @arteck
                            Ist in main gemergt - mal beobachten ob irgendwas nicht triggert, was triggern sollte.

                            1 Reply Last reply Reply Quote 1
                            • T
                              ticaki @Snigga last edited by ticaki

                              @snigga

                              Kannst mal testen https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/tree/pagePopup

                              Ist ähnlich wie die Screensaver-Notifications aber kaum getestet.

                              Bildschirmfoto 2025-11-07 um 11.05.45.png

                              activate schaltet das scharf
                              id wird zum wiedererkennen benutz und sollte eindeutig sein. Eine leere ID löscht alle Popups
                              priority bestimmt was vorne ist - <=0 löscht das Popup mit der gleichen id
                              global ob es überall angezeigt werden soll.
                              type information wird beim drücken auf X gelöscht. acknowledge muß einen button haben und drücken auf X startet einen reminder von 120 Sekunden
                              textSize - kein Plan das muß ich mir nochmal erklären lassen 🙂

                              vorübergehend

                              buttonLeft hat nächstes als Standardfunktion (unendlicher Kreisverkehr)
                              buttonRight hat löschen als Standardfunktion

                              wenn @Armilar und @TT-Tom das getestet haben und ich dann alles behoben habe was die finden mache ich ein release.

                              Der timeout aus dem Skript beißt sich aktuell noch mit der Verwaltung - mal sehen wann das kommt.

                              EDIT:
                              hab jetzt auch globale Buttonsstates hinzugefügt
                              yes - ist der rechte button
                              no - ist der linke
                              id - ist panel + popup id

                              Beim drücken von einem button wird der entsprechende State .id und .yes oder .no mit der popupid aktualisiert - abfragen darauf mit any und '' verwerfen - beim starten des adapters wird das mit leer überschrieben.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                Snigga @ticaki last edited by Snigga

                                @ticaki bist der Wahnsinn. Leider bekomme ich es nicht zum laufen. Was muss ich im Script hinterlegen?

                                const Nachricht: ScriptConfig.PagePopup = {
                                    card: 'popupNotify',
                                    dpInit: '',
                                    alwaysOn: 'none',
                                    uniqueID: 'Nachritcht',
                                    config: {
                                        card: 'popupNotify',
                                        data: {
                                            entity1: { value: { type: 'triggered', dp: '0_userdata.0.example_state' } },
                                            headline: { type: 'const', constVal: 'welcomeHToken' },
                                            colorHeadline: { true: { color: { type: 'const', constVal: Green } } },
                                            buttonLeft: { type: 'const', constVal: '' },
                                            colorButtonLeft: { true: { color: { type: 'const', constVal: White } } },
                                            buttonRight: { type: 'const', constVal: '' },
                                            colorButtonRight: { true: { color: { type: 'const', constVal: White } } },
                                            text: { type: 'const', constVal: 'welcomeTToken' }, // text: { type: 'const', constVal: 'Text Test ${pl}' },
                                            colorText: { true: { color: { type: 'const', constVal: White } } },
                                            timeout: { type: 'const', constVal: 3 },
                                            // {placeholder: {text: '' oder dp: ''}} im Text muss dann ${dieserKeyStehtImText} stehen
                                            // optionalValue: { type: 'const', constVal: { dieserKeyStehtImText: { text: 'das ist ein placeholder' } } },
                                            //setValue1: { type: 'const', constVal: true }, // alleine ist es ein switch
                                            //setValue2: { type: 'const', constVal: true }, // mit setValue2 wird 1, bei yes und 2 bei no auf true gesetzt
                                            closingBehaviour: { type: 'const', constVal: 'both' }, // 'both' | 'yes' | 'no' | 'none'
                                        },
                                    },
                                    pageItems: [],
                                    items: undefined,
                                };
                                
                                const Nachricht1: any = {
                                    dpInit: '',
                                    alwaysOn: 'ignore',
                                    uniqueID: '///popupNotification',
                                    config: {
                                        card: 'popupNotify',
                                        data: {
                                            entity1: { value: { type: 'internal', dp: 'cmd/popupNotification', read: 'return true' } },
                                            headline: { type: 'internal', dp: 'cmd/popupNotification', read: 'return JSON.parse(val).headline' },
                                            colorHeadline: { true: { color: { type: 'const', constVal: Green } } },
                                            buttonLeft: { type: 'const', constVal: 'nextF' },
                                            colorButtonLeft: { true: { color: { type: 'const', constVal: White } } },
                                            buttonRight: { type: 'const', constVal: 'ok' },
                                            colorButtonRight: { true: { color: { type: 'const', constVal: White } } },
                                            text: { type: 'internal', dp: 'cmd/popupNotification', read: 'return JSON.parse(val).text' }, // text: { type: 'const', constVal: 'Text Test ${pl}' },
                                            colorText: { true: { color: { type: 'const', constVal: White } } },
                                            timeout: { type: 'const', constVal: 0 },
                                            // {placeholder: {text: '' oder dp: ''}}
                                            // optionalValue: { type: 'const', constVal: { pl: { text: 'das ist ein placeholder' } } },
                                            setValue1: { type: 'internalState', dp: 'cmd/NotificationCleared' },
                                            setValue2: { type: 'internalState', dp: 'cmd/NotificationNext' },
                                            closingBehaviour: { type: 'const', constVal: 'none' },
                                        },
                                    },
                                    pageItems: [],
                                    items: undefined,
                                };
                                
                                

                                Bzw. habe ich es auch über die Datenpunkte probiert.

                                Screenshot 2025-11-08 203430.png

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

                                  @snigga
                                  Skript hat nix damit zu tun - das geht über Datenpunkte

                                  LOL oki und bla steht in meinem Testpopup auch.

                                  Du mußt da drauf klicken: Bildschirmfoto 2025-11-08 um 20.42.55.png

                                  Benutze bitte auch die Version von JETZT - hab gerade einen großen Irrtum behoben 🙂

                                  EDIT: hier bei gehts noch immer um die testbranch

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

                                    Noch immer Testbranch

                                    Nur zur Klarstellung - das hat nichts mit dem Konfigurationsskript zu tun.

                                    Wenn du das aus einem Skript heraus senden willst geht JETZT auch das hier:

                                    sendTo('nspanel-lovelace-ui.0', 'setPopupNotification', {headline:'test test test', text:'Es lebt!!!'})

                                    Das Objekt was man senden kann sieht so aus:

                                              type PagePopupDataDetails = {
                                                 headline: string;
                                                 text: string;
                                                 panel?: string; // wenn hier leer, ist es global
                                                 priority?: number;
                                                 type?: PopupDetailsType;
                                                 id?: string;
                                                 colorHeadline?: RGB | string;
                                                 buttonLeft?: string;
                                                 colorButtonLeft?: RGB | string;
                                                 buttonRight?: string;
                                                 colorButtonRight?: RGB | string;
                                                 colorText?: RGB | string;
                                                 textSize?: string;
                                                 icon?: string;
                                                 iconColor?: RGB;
                                                 alwaysOn?: boolean;
                                             };
                                    

                                    EDIT: RGB sieht im Adapter so aus:

                                    {
                                      r: number;
                                      g: number:
                                      b: number;
                                    }
                                    

                                    es geht auch #FF00FF

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

                                      @armilar said in Betatest NSPanel-lovelace-ui v0.7.x:

                                      Gibt es aktuell eigentlich einen User mit der US-P Version, der gerne den Adapter nutzen möchte?

                                      Hi. Ja, inzwischen gibt es einen 😁
                                      Nach Jahren habe ich endlich mal ein bisschen Zeit meine Panels von einer uralt Script version zu aktualisieren und stelle deshalb auf den Adapter um.
                                      EU und US-L funktioniert. US-P funktioniert leider gar nicht. Das Display bleibt auch mit der leeren Default Config einfach schwarz weil die CardGrid irgendwie nicht will.
                                      Habe schon versucht mehrere ältere Versionen der TFT zu flashen, aber offenbar liegt es nicht daran?!?

                                      Der Adapter loggt diese Warnings, die mir aber nicht viel sagen.

                                      [Bad-SendClass] send payload: {"payload":"pageType~cardGrid","ackForType":true} to panel. Losing count: 3
                                      

                                      Nach ein paar Versuchen setzt der Adapter das Panel dann auf offline.
                                      Habt ihr irgendwelche Tipps was da klemmen könnte?

                                      VG

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

                                        @bembelstemmer
                                        wlan unbeständig. MQTT ist ein fire and forget verbindung zum Tasmota hin, daher benutzt der Adapter eine allgemeine Bestätigungsmeldung vom nspanel um zu sehen ob es angekommen ist - wenn da nix zurück kommt innerhalb einer steigenden Zeitspanne erhöht sich losingCount und bei 10 oder so geht das panel offline.

                                        Edit hab nachgeguckt:

                                        if (this.losingMessageCount++ > 5) {
                                                    if (this.panel) {
                                                        if (this.adapter.config.additionalLog) {
                                                            this.log.error(`Losing ${this.losingMessageCount} messages - set panel offline!`);
                                                        }
                                                        this.panel.isOnline = false;
                                                    }
                                                }
                                        

                                        bei 7 gehts offline...

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

                                          @ticaki Danke. Sowas hatte ich auch gesehen im Code.
                                          Aber gleiches Panel am gleichen Standort mit US-L geflashed funktioniert perfekt. Liegt halt auf der Seite 😄
                                          Empfang ist auch perfekt laut Tasmota.
                                          Mit dem alten Script hatte ich da auch nie Probleme.
                                          Kann es immer nachstellen durch hin und her flashen zwischen US-L und US-P.

                                          Den MQTT Fehler habe ich gepostet weil es die einzige Nachricht ist die anders aussieht als bei meinen restlichen Panels.

                                          Ich kann auch gerne versuchen irgendwas anderes zu debuggen wenn ich weiß was.
                                          Das Skript kannte ich ganz gut. Beim Adapter bin ich noch neu.

                                          teletapi T 2 Replies Last reply Reply Quote 0
                                          • teletapi
                                            teletapi @bembelstemmer last edited by teletapi

                                            @bembelstemmer Mein US NSPanel läuft jetzt schon seid Wochen stabil mit dem Adapter und ist ebenfalls mit US-P geflasht. Einzige Wehrmutstropfen das Panel flasht die US-P TFT version nicht per Flash Nextion zu da ist immer bei 99,9% Schluss die letzten paar Byte bekommt es nicht hin daher flashe ich das US Panel bei Bedarf per Nextion Editor das funktioniert prima. Mitttlerweile hab ich mir einen Stecker nach aussen eingebaut mit dem ich dann per serial Adapter flashen kann. Aber ansoinsten läuft das Teil sehr stabil
                                            WhatsApp Bild 2025-11-09 um 13.28.39_9b6a76f2.jpg WhatsApp Bild 2025-11-09 um 13.28.39_6c127aef.jpg WhatsApp Bild 2025-11-09 um 13.28.38_d4fd95c1.jpg

                                            Ich muss mich berichten nicht Portrait sondern Landsscape

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            32.4k
                                            Users

                                            81.3k
                                            Topics

                                            1.3m
                                            Posts

                                            26
                                            682
                                            115525
                                            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