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 @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
                                • 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
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      505
                                      Online

                                      32.4k
                                      Users

                                      81.3k
                                      Topics

                                      1.3m
                                      Posts

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