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

    • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar

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

    • Monatsrückblick – September 2025

    Betatest NSPanel-lovelace-ui v0.7.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                      • T
                        ticaki last edited by ticaki

                        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.

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

                          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 😄

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

                            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 } })
                            
                            1 Reply Last reply Reply Quote 0
                            • T
                              ticaki last edited by ticaki

                              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

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              918
                              Online

                              32.4k
                              Users

                              81.3k
                              Topics

                              1.3m
                              Posts

                              26
                              689
                              119481
                              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