Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Betatest NSPanel-lovelace-ui v0.7.x

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    216

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Betatest NSPanel-lovelace-ui v0.7.x

Betatest NSPanel-lovelace-ui v0.7.x

Scheduled Pinned Locked Moved Tester
692 Posts 26 Posters 121.9k Views 29 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Do not disturb
    T Do not disturb
    ticaki
    wrote on last edited by ticaki
    #670

    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

    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

    Spenden

    1 Reply Last reply
    1
    • ArmilarA Armilar

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

      bembelstemmerB Offline
      bembelstemmerB Offline
      bembelstemmer
      wrote on last edited by bembelstemmer
      #671

      @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
      0
      • bembelstemmerB 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 Do not disturb
        T Do not disturb
        ticaki
        wrote on last edited by ticaki
        #672

        @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...

        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

        Spenden

        bembelstemmerB 1 Reply Last reply
        0
        • T 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...

          bembelstemmerB Offline
          bembelstemmerB Offline
          bembelstemmer
          wrote on last edited by
          #673

          @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.

          teletapiT T 2 Replies Last reply
          0
          • bembelstemmerB bembelstemmer

            @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.

            teletapiT Offline
            teletapiT Offline
            teletapi
            wrote on last edited by teletapi
            #674

            @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
            0
            • bembelstemmerB bembelstemmer

              @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.

              T Do not disturb
              T Do not disturb
              ticaki
              wrote on last edited by ticaki
              #675

              @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.

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              1 Reply Last reply
              0
              • T Do not disturb
                T Do not disturb
                ticaki
                wrote on last edited by
                #676

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

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                bembelstemmerB 1 Reply Last reply
                0
                • T ticaki

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

                  bembelstemmerB Offline
                  bembelstemmerB Offline
                  bembelstemmer
                  wrote on last edited by
                  #677

                  @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.

                  ArmilarA 1 Reply Last reply
                  0
                  • bembelstemmerB bembelstemmer

                    @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.

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    wrote on last edited by
                    #678

                    @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...

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Reply Last reply
                    0
                    • T Do not disturb
                      T Do not disturb
                      ticaki
                      wrote on last edited by ticaki
                      #679

                      Armilar hats gefunden - bugfix in arbeit. 🙂

                      Ist ein HMI Problem - wird heute abend gefixt

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      bembelstemmerB 1 Reply Last reply
                      0
                      • T ticaki

                        Armilar hats gefunden - bugfix in arbeit. 🙂

                        Ist ein HMI Problem - wird heute abend gefixt

                        bembelstemmerB Offline
                        bembelstemmerB Offline
                        bembelstemmer
                        wrote on last edited by
                        #680

                        @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
                        0
                        • bembelstemmerB bembelstemmer

                          @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 Do not disturb
                          T Do not disturb
                          ticaki
                          wrote on last edited by
                          #681

                          @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

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          1 Reply Last reply
                          0
                          • T Do not disturb
                            T Do not disturb
                            ticaki
                            wrote on last edited by ticaki
                            #682

                            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

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            bembelstemmerB 1 Reply Last reply
                            0
                            • T 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

                              bembelstemmerB Offline
                              bembelstemmerB Offline
                              bembelstemmer
                              wrote on last edited by
                              #683

                              @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
                              0
                              • S 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 Do not disturb
                                T Do not disturb
                                ticaki
                                wrote on last edited by ticaki
                                #684

                                @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.

                                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                Spenden

                                T 1 Reply Last reply
                                1
                                • T 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 Offline
                                  T Offline
                                  TT-Tom
                                  wrote on last edited by
                                  #685

                                  @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.

                                  Gruß Tom
                                  https://github.com/tt-tom17
                                  Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                  NSPanel Script Wiki
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  NSPanel Adapter Wiki
                                  https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                  1 Reply Last reply
                                  0
                                  • T Do not disturb
                                    T Do not disturb
                                    ticaki
                                    wrote on last edited by ticaki
                                    #686

                                    hab noch buzzer hinzugefügt

                                    • über States geht das nur mit true/false
                                    • per Skript kann man auch nen eigenen Buzzerstring mit schicken

                                    im Skript wird der type dann um dieses hier erweitert:

                                    buzzer?: boolean | string;
                                    

                                    Wird genau 1 mal beim ersten Anzeigen des entsprechenden Popup ausgelöst.

                                    @TT-Tom

                                    Ist natürlich auch für den Rest - anzumerken wäre zu yes und X noch:
                                    X schließt auf dem Panel wo es gedrückt wird das popup egal ob es ein globales oder lokales war.
                                    yes schließt/löscht/bestätigt bei einem globalen Popup dieses für alle Panels.

                                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                    Spenden

                                    1 Reply Last reply
                                    0
                                    • T Do not disturb
                                      T Do not disturb
                                      ticaki
                                      wrote on last edited by ticaki
                                      #687

                                      oft editiert:
                                      Ich benenne die States doch um - in buttonLeft und buttonRight - damit man weiß was es ist. Das Panel sendet halt yes oder no daher die states - aber das ist quark und verwirrt nur.

                                      States umbenannt

                                      isBuzzerAllowed hinzugefügt - das betrifft Notifications (screensaver) und pagePopups - wenn deaktiviert beept da nix. Gilt nicht für das explizierte Buzzern über State oder sendTo - wenn ihr absichtlich auf dem Schlafzimmerpanel um 4:00 nen buzzer hinsendet dann machts einfach nicht 😄

                                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                      Spenden

                                      1 Reply Last reply
                                      0
                                      • T Do not disturb
                                        T Do not disturb
                                        ticaki
                                        wrote on last edited by ticaki
                                        #688

                                        Hier ne Anwendung für die pagePopup:

                                        macht ein Infopopup auf das anzeigt obs Adapterupdates gibt - alwaysOn: false - kein buzzer

                                        on({ id: 'admin.0.info.updatesJson', change: 'ne' }, main);
                                        
                                        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;
                                            buzzer?: boolean | string;
                                        };
                                        
                                        function main(obj) {
                                            let text = ''
                                            let headline = ''
                                            const id = 'AdapterUpdates'
                                            try {
                                                const data = JSON.parse(obj.state.val);
                                                const keys = Object.keys(data);
                                        
                                                if (keys && keys.length > 0) {
                                                    for (const key of keys) {
                                                        text += `${key}: ${data[key].availableVersion}(${data[key].installedVersion})\n`
                                                    }
                                                    headline = 'Adapterupdates verfügbar'
                                                }
                                            } catch {
                                                //nothing
                                            }
                                            if (headline) {
                                                const message: PagePopupDataDetails = {
                                                    headline,
                                                    text,
                                                    id,
                                                    buttonRight: 'Ok',
                                                    alwaysOn: false,
                                                }
                                                sendTo('nspanel-lovelace-ui.0', 'setPopupNotification', message)
                                            } else {
                                                sendTo('nspanel-lovelace-ui.0', 'setPopupNotification', { id, text, headline, priority: -1 })
                                            }
                                        }
                                        
                                        main({ state: { val: getState('admin.0.info.updatesJson').val } })
                                        

                                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                        Spenden

                                        1 Reply Last reply
                                        0
                                        • T Do not disturb
                                          T Do not disturb
                                          ticaki
                                          wrote on last edited by ticaki
                                          #689

                                          In der Wiki: https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki/PagePopup

                                          0.8.0 (2025-11-13)

                                          • (Armilar) IMPORTANT: update to TFT Version 5.1.0
                                          • (ticaki) pagePopup added
                                          • (ticaki) color for brightsky favorit/bottom day fixed
                                          • (ticaki) unlock pin failtimeout - fixed

                                          TFT update ist wichtig, sonst läuft die pagePopup nicht ordentlich.

                                          yes und no States kann man löschen, falls ihr schon mal zwischendurch probiert habt - auf keinen Fall nspanel-lovelace-ui.0 löschen und nspanel-lovelace-ui.0.panels.A0_B7_65_54_C2_60 usw. nur löschen wenn ihr in der NavigationsView nix gemacht habt.

                                          Nochmal neu die Beschreibung da sich ein paar Sachen geändert haben und mir das zu verwirrend ist @TT-Tom lese nochmal gegen das editiere ich - oder guck im repo da ist es auch.

                                          Bildschirmfoto 2025-11-07 um 11.05.45.png

                                          Es werden immer alle Datenpunkte übertragen:

                                          activate sendet die Daten an den Adapter

                                          Erklärung zu den States ist unten zu finden - einzig global bedeutet an alle Panels senden

                                          buttonLeft hat nächstes als Standardfunktion (unendlicher Kreisverkehr) - wird automatische eingeblendet bei Bedarf
                                          buttonMid schließt nur die pagePopup
                                          buttonRight hat löschen als Standardfunktion

                                          buttonLeft die nächste Funktion, schließt global/lokal ein überblättertes information Popup
                                          X schließt auf dem Panel wo es gedrückt wird das popup. Ein information Popup wird dabei entfernt.
                                          buttonRight schließt/löscht/bestätigt bei einem globalen Popup dieses für alle Panels.

                                          Empfohlen: Versand mit Hilfe eines Skriptes

                                          Simpel:

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

                                          oder in kompliziert: 🙂

                                          type PagePopupDataDetails = {
                                                       id?: string;
                                                       headline: string;
                                                       text: string;
                                                       panel?: string;
                                                       priority?: number;
                                                       type?: 'information' | 'acknowledge';
                                                       colorHeadline?: {r:number,g:number,b:number} | string;
                                                       buttonLeft?: string;
                                                       colorButtonLeft?: {r:number,g:number,b:number} | string;
                                                       buttonMid?: string;
                                                       colorButtonMid?: {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;
                                                       buzzer: boolean | string
                                                   };
                                          
                                          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
                                          buttonLeft - buttonMid - buttonRight wurde ja oben schon erklärt

                                          Global: Wenn kein Panel angegeben ist gilt alles als global auch das 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 buttonRight/buttonLeft wird das gelöscht / acknowledge - drücken auf X startet wiedervorlage Timer (5 Minuten) drücken auf buttonRight löscht es.
                                          priority: 1: höchste Prio | <= 0 löscht das popup mit der id <= -100 löscht die Popups die mit der id anfangen
                                          panel: leer oder nicht da -> popup ist global | mit Angabe nur das benannte Panel
                                          alwaysOn: das gleiche wie bei Seiten
                                          textSize: unterschiedliche Textgrößen 0-5
                                          buzzer: true/false oder ein Tasmota Buzzer string. Wird 1 mal beim anzeigen ausgelöst.

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

                                          acknowledge ohne Angabe von buttonRight bekommt nen 'Ok' button

                                          Auswertungsstates für die Popups

                                          Bildschirmfoto 2025-11-13 um 22.10.38.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

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

                                          Beim Drücken eines Buttons wird der entsprechende Button mit der ID aktualisiert. Bei globalen Popups auch auf der globalen Ebene

                                          EDIT: weather-warnings unterstützt das popup hier

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          48

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe