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
      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 2 Replies 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
                      • T
                        ticaki @bembelstemmer last edited by ticaki

                        @bembelstemmer
                        in der US-P Version starte mal den Tasmota neu und zeig mal die Konsole ab dem mqtt connect - vielleicht gibts da kein customsend: done" oder so.

                        Oder falscher Berry - obwohl das der Adapter machen sollte...

                        Kannst auch - im Admin expert an - developer - log alles an machen - adapter auf debug stelllen und mir den wust an Daten geben der ab dem ersten "set panel online Bad" (oder so ähnlich) kommt.

                        EDIT: US-P sollte "theoretisch" mit dem Adapter laufen, aber weil keiner es testet weiß ich nicht wieviel geht.

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

                          Armilar hat mir gerade gesagt das die US-P sich an der cardGrid aufhängt, also ein adapter problem.

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

                            @ticaki das Gefühl hatte ich auch so wie sich das Panel verhält. Danke fürs Update.

                            @teletapi das ist bei mir auch so. Landscape geht ohne Probleme. Und bzgl. des 99% Problems konnte ich das bisher immer lösen indem ich direkt danach nochmal die gleiche Version per Konsole flashe mit FlashNextion ohne Neustart vorher oder so.
                            Dann startet er direkt nochmal bei irgendwas um die 80% und schafft es dann fertig zu flashen. Hab ich seit gestern Abend jetzt schon über 10x so hinbekommen beim debuggen der US-P Thematik.

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

                              @bembelstemmer

                              Bei der US-p kommt das Startup, dann die Einstellungen (Dimmode, etc.), dann der PageType und dann "kein" entityUpd (Seiten-Update) mehr... Denke da ist irgendeine Abfrage auf != us-p im Adapter-Code um die Seiteninhalte entsprechend der Anzahl an Seitenelementen für das korrekte entityUpd aufzubereiten.

                              @ticaki hat eben den Emulator aktiviert und checkt das durch...

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

                                Armilar hats gefunden - bugfix in arbeit. 🙂

                                Ist ein HMI Problem - wird heute abend gefixt

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

                                  @ticaki nice.
                                  Habs aktuell auf der neusten Script Version laufen.
                                  Von daher keine Eile. Ich teste es dann gerne nochmal mit dem Adapter nach.

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

                                    @bembelstemmer
                                    Das da ist ein grundsätzliches Problem in der HMI - der Adapter benutzt CustomSend: 'Done' und renderCurrentPage um zu ermitteln ob etwas angekommen ist und ob es bearbeitet wurde - die US-P sendet keine renderCurrentPage zurück - daher geht da garnix.

                                    Wenn die HMI online ist werde ich das auch mal mit der emu testen

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

                                      Fehler in der HMI und im Adapter behoben 5.0.3 (us-p only)

                                      0.7.3 (2025-11-09)

                                      • (ticaki) Switch from global subscript to individual subscriptions
                                      • (ticaki) model us-p fixed
                                      • (ticaki) update deps

                                      popups sind nicht genug getestet

                                      Dauert immer ein paar minuten bis die tests durch sind und das auf npm ist

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

                                        @ticaki & @Armilar vielen Dank für den schnellen Fix. Sieht gut aus.
                                        Ich habe bisher zwar nur schnell geupdated und geflashed aber das Panel wechselt jetzt in den Screensaver.
                                        Auf dem US-P brauche ich nicht viel Cards, etc.
                                        Die werde ich versuchen die kommenden Tage dann zu testen.

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

                                          @snigga

                                          POPUP ist in der main branch

                                          Wie es über States geht steht ja oben.

                                          zum Skriptversand folgendes:

                                          Simpel:

                                          sendTo('nspanel-lovelace-ui.0', 'setPopupNotification', {id: 'test3', headline:'test3', buttonLeft:'weiter', buttonRight: 'oki',  text:'Es lebt!!!'})
                                          

                                          oder in kompliziert: 🙂

                                          type PagePopupDataDetails = {
                                                       headline: string;
                                                       text: string;
                                                       panel?: string;
                                                       priority?: number;
                                                       type?: 'information' | 'acknowledge';
                                                       id?: string;
                                                       colorHeadline?: {r:number,g:number,b:number} | string;
                                                       buttonLeft?: string;
                                                       colorButtonLeft?: {r:number,g:number,b:number} | string;
                                                       buttonRight?: string;
                                                       colorButtonRight?: {r:number,g:number,b:number} | string;
                                                       colorText?: {r:number,g:number,b:number} | string;
                                                       textSize?: string;
                                                       icon?: string;
                                                       iconColor?: {r:number,g:number,b:number};
                                                       alwaysOn?: boolean;
                                                   };
                                          
                                          const message: PagePopupDataDetails = {
                                              id: 'test3', 
                                              priority: 49,
                                              headline:'test3', 
                                              buttonLeft:'weiter', 
                                              buttonRight: 'oki',  
                                              text:'Es lebt!!!',
                                              type: 'information',
                                          }
                                          
                                          sendTo('nspanel-lovelace-ui.0', 'setPopupNotification', message)
                                          

                                          Popups sind grundsätzlich erstmal dauerhaft
                                          yes ist der rechte button - no der linke - no hat die funktion weiter - yes löschen

                                          id: zur Wiedererkennung - beliebige Zeichenkette - wenn leer werden alle gespeicherten Popups gelöscht
                                          type: information - wenn aufs X gedrückt wird oder auf den yes Button wird das gelöscht / acknowledge - drücken auf X startet wiedervorlage Timer (5 Minuten)
                                          priority: 1: höchste Prio - 0 bzw. <= 0 löscht das popup mit der id
                                          panel: nix popup ist global - mit angabe nur das benannte panel
                                          alwaysOn: das gleiche wie bei Seiten
                                          icon: wenn da wird icon iconcolor und textsize hingeschickt, sonst nicht

                                          text - headline muß angegeben sein sonst steht im Panel missing text/headline

                                          acknowledge ohne Angabe von buttonRight wird umgetypt in information

                                          das sind auswertungsstates für die popups

                                          Bildschirmfoto_2025-11-11_um_10.52.46.png

                                          in id steht die ID die du hingeschickt ist - auf globaler ebene steht noch das panel davor also panel.id
                                          lokal im panel steht nur die ID
                                          wenn yes oder no angeklickt wird, wird der entsprechende State mit der ID aktualisiert.

                                          global wird nur von globalen popups beschrieben. lokal von allen die auf dem panel angezeigt werden.

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

                                            @ticaki sagte in Betatest NSPanel-lovelace-ui v0.7.x:

                                            type: information - wenn aufs X gedrückt wird oder auf den yes Button wird das gelöscht / acknowledge - drücken auf X startet wiedervorlage Timer (5 Minuten)

                                            kleine Ergänzung:

                                            Beim Type acknowledge, wird bei "yes" das Popup auch gelöscht -> ist als Lesebestätigung zu werten

                                            mit dem no / linken Button wird durch die Popups geblättert

                                            AlwaysOn ist Standard auf true, bei false läuft der Timeout vom Screensaver ab, wenn das Popup eingeblendet wird.
                                            Mit aufwecken des Panels erscheinen wieder die Popups, die noch nicht bestätigt wurden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            968
                                            Online

                                            32.4k
                                            Users

                                            81.3k
                                            Topics

                                            1.3m
                                            Posts

                                            26
                                            688
                                            116768
                                            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