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

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Betatest NSPanel-lovelace-ui v0.7.x

Scheduled Pinned Locked Moved Tester
698 Posts 26 Posters 122.2k 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 ticaki

    Armilar hats gefunden - bugfix in arbeit. 🙂

    Ist ein HMI Problem - wird heute abend gefixt

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

                        Ich glaube wir haben jetzt alles an Grundfunktionen im Adapter, mal abgesehen von dem leidigen Thema Adminkonfiguration.

                        Wenn was fehlt bitte Issue eröffnen.

                        EDIT: passend dazu hat @apollon77 gerade sein ok gegeben das wir ins latest repo dürfen 🎆

                        0.8.1 (2025-11-15)

                        • (ticaki) first Version at latest
                        • (ticaki) New attempt to get MQTT TLS keys into the backup

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        M 1 Reply Last reply
                        2
                        • T ticaki

                          Ich glaube wir haben jetzt alles an Grundfunktionen im Adapter, mal abgesehen von dem leidigen Thema Adminkonfiguration.

                          Wenn was fehlt bitte Issue eröffnen.

                          EDIT: passend dazu hat @apollon77 gerade sein ok gegeben das wir ins latest repo dürfen 🎆

                          0.8.1 (2025-11-15)

                          • (ticaki) first Version at latest
                          • (ticaki) New attempt to get MQTT TLS keys into the backup
                          M Offline
                          M Offline
                          muuulle
                          wrote on last edited by
                          #691

                          @ticaki
                          Moin,
                          kann man eigentlich im Screensaver die Icons variabel gestalten (so wie bei der Farbe)? 🤔

                          Schöne Grüße

                          T 1 Reply Last reply
                          0
                          • M muuulle

                            @ticaki
                            Moin,
                            kann man eigentlich im Screensaver die Icons variabel gestalten (so wie bei der Farbe)? 🤔

                            Schöne Grüße

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

                            @muuulle

                            Verstehe die Frage nicht so richtig. Du kannst den screensaver komplett selbst konfigurieren. Wenn dir also ein Icon nicht zu sagt kannst du ein eigenes item anlegen. Die Standard ist nur ums einfacher zu machen.

                            Aber ernsthaft sage genauer was du ändern willst. Man kann sovieles machen das ich nicht erkenne wo du hinwillst

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            1 Reply Last reply
                            0
                            • bembelstemmerB Online
                              bembelstemmerB Online
                              bembelstemmer
                              wrote last edited by
                              #693

                              Hi, ich bin heute endlich mal ein paar Minuten zum weiter machen gekommen.

                              Ich habe mal die ersten drei Themen gesammelt als Fragen und Feedback.


                              Leider habe ich hier im Forum nichts dazu gefunden aber irgenwie scheitere ich gerade an den aller einfachsten Dingen. peinlich
                              Ich wollte als ersten Test einfach nur einen Schalter auf die Hauptseite cardGrid legen.
                              Aber egal welche Rolle der Datenpunkt hat, das Script gibt mir immer aus "Channel role ... not supported".
                              Laut Doku bedeutet das ja, dass es nicht implementiert werden soll.

                                  const Hauptseite: ScriptConfig.PageGrid = {
                                      type: 'cardGrid',
                                      uniqueName: 'main',
                                      heading: 'Menü',
                                      items: [
                                          { id: '0_userdata.0.testswitch', icon: 'power' },
                                      ]
                                  };
                              

                              Der State ist boolean und ich habe state und switch mit den Untertypen ausprobiert. Ein Button hilft mir nicht, da es toggeln soll.

                              Ich schätze mal, ich hab nur einfach irgendwas noch nicht richtig verstanden.


                              Und noch eine zweite Frage bzw. Vorschlag: Bei der klassischen Script Variante wurde das Wetter aus einem Alias gezogen. Das hatte den Vorteil, dass ich die aktuelle Temperatur die z.B. der Screensaver beim Wettericon angezeigt wurde einfach auf mein richtiges Außenthermometer umbiegen konnte.
                              Jetzt, wo direkt der Wetteradapter angegeben ist habe ich noch nicht gesehen dass das aktuell möglich ist außer wenn ich mir einen fake-proxy für z.b. den pirate-weather baue.
                              Wäre das was für die Zukunft, denn den geschätzen Wert brauche ich ja nicht wenn ich auf einem zusätzlichen Icon dann noch den echten Wert anzeige.


                              Thema Nr. 3 betrifft die MQTT Settings die automatisch konfiguriert werden.
                              Wenn man "wie früher" die Rule2 konfiguriert um die Tasten von den Relais zu entkoppeln, wird im MQTT Pfad der Rule %topic% verwendet.
                              Aktuell wird (bzw. wurde bei mir durch die Initialisierung) nichts für den %topic% Wert konfiguriert. Default ist dann "Tasmota_XXXX".
                              Dadurch schickt der Panel dann den Tastendruck ohne Fehler an die falsche Stelle und nichts passiert.
                              Nachdem ich das %topic% dann auf den Panelnamen gesetzt hatte, ging dann alles perfekt.


                              Ansonsten vielen Dank für die ganze Arbeit, die Performance macht echt nen richtig guten Eindruck bisher.

                              T 1 Reply Last reply
                              0
                              • teletapiT Online
                                teletapiT Online
                                teletapi
                                wrote last edited by teletapi
                                #694

                                Also Rule2 müsste bei mir off sein. Das entkopplen kannst du im Menue am NSPanel selbst machen. Service Menue, Relais, beide auf decoupled stellen.
                                Sieht im script dann so aus:

                                //-------DE: Anfang Einstellungen für Hardware Button, wenn Sie softwareseitig genutzt werden (Rule2) -------------
                                        //-------EN: Start Settings for Hardware Button, if used in software (Rule2) --------------------------------------
                                        // DE: Konfiguration des linken Schalters des NSPanels
                                        // EN: Configuration of the left switch of the NSPanel
                                        buttonLeft: {
                                        mode: 'switch',
                                        state: 'alias.0.Flur.Flur_unten_Haustuer.ON' // Datenpunkt vom Type boolean z.B. ein Schalter 
                                    },
                                
                                    
                                
                                        // DE: Konfiguration des rechten Schalters des NSPanels
                                        // EN: Configuration of the right switch of the NSPanel
                                        buttonRight: {
                                    mode: 'switch',
                                    state: 'alias.0.Flur.Flur_Mitte.ON' // Datenpunkt vom Type boolean z.B. ein Schalter 
                                    },
                                
                                        //--------- DE: Ende - Einstellungen für Hardware Button, wenn Sie softwareseitig genutzt werden (Rule2) -------------
                                        //--------- EN: End - settings for hardware button if they are used in software (Rule2) ------------------------------
                                
                                

                                Rule2 in tasmota so:

                                23:54:10.219 CMD: Rule2
                                23:54:10.226 MQT: SmartHome/NSPanel_Schlafzimmer/stat/RESULT = {"Rule2":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":189,"Free":322,"Rules":"on Button1#state do Publish SmartHome/%topic%/tele/RESULT {\"CustomRecv\":\"event,button1\"} endon on Button2#state do Publish SmartHome/%topic%/tele/RESULT {\"CustomRecv\":\"event,button2\"} endon"}}
                                
                                1 Reply Last reply
                                0
                                • bembelstemmerB bembelstemmer

                                  Hi, ich bin heute endlich mal ein paar Minuten zum weiter machen gekommen.

                                  Ich habe mal die ersten drei Themen gesammelt als Fragen und Feedback.


                                  Leider habe ich hier im Forum nichts dazu gefunden aber irgenwie scheitere ich gerade an den aller einfachsten Dingen. peinlich
                                  Ich wollte als ersten Test einfach nur einen Schalter auf die Hauptseite cardGrid legen.
                                  Aber egal welche Rolle der Datenpunkt hat, das Script gibt mir immer aus "Channel role ... not supported".
                                  Laut Doku bedeutet das ja, dass es nicht implementiert werden soll.

                                      const Hauptseite: ScriptConfig.PageGrid = {
                                          type: 'cardGrid',
                                          uniqueName: 'main',
                                          heading: 'Menü',
                                          items: [
                                              { id: '0_userdata.0.testswitch', icon: 'power' },
                                          ]
                                      };
                                  

                                  Der State ist boolean und ich habe state und switch mit den Untertypen ausprobiert. Ein Button hilft mir nicht, da es toggeln soll.

                                  Ich schätze mal, ich hab nur einfach irgendwas noch nicht richtig verstanden.


                                  Und noch eine zweite Frage bzw. Vorschlag: Bei der klassischen Script Variante wurde das Wetter aus einem Alias gezogen. Das hatte den Vorteil, dass ich die aktuelle Temperatur die z.B. der Screensaver beim Wettericon angezeigt wurde einfach auf mein richtiges Außenthermometer umbiegen konnte.
                                  Jetzt, wo direkt der Wetteradapter angegeben ist habe ich noch nicht gesehen dass das aktuell möglich ist außer wenn ich mir einen fake-proxy für z.b. den pirate-weather baue.
                                  Wäre das was für die Zukunft, denn den geschätzen Wert brauche ich ja nicht wenn ich auf einem zusätzlichen Icon dann noch den echten Wert anzeige.


                                  Thema Nr. 3 betrifft die MQTT Settings die automatisch konfiguriert werden.
                                  Wenn man "wie früher" die Rule2 konfiguriert um die Tasten von den Relais zu entkoppeln, wird im MQTT Pfad der Rule %topic% verwendet.
                                  Aktuell wird (bzw. wurde bei mir durch die Initialisierung) nichts für den %topic% Wert konfiguriert. Default ist dann "Tasmota_XXXX".
                                  Dadurch schickt der Panel dann den Tastendruck ohne Fehler an die falsche Stelle und nichts passiert.
                                  Nachdem ich das %topic% dann auf den Panelnamen gesetzt hatte, ging dann alles perfekt.


                                  Ansonsten vielen Dank für die ganze Arbeit, die Performance macht echt nen richtig guten Eindruck bisher.

                                  T Offline
                                  T Offline
                                  TT-Tom
                                  wrote last edited by
                                  #695

                                  @bembelstemmer

                                  wenn du etwas schalten willst, wäre die Rolle für den Channel entweder socket oder light.
                                  Das ist die selbe Einstellung wie beim Script inkl. Datenpunkte.

                                  zeige doch mal deine Datenpunkte inkl. Channel .

                                  für Thema zwei gibt es noch kein Template, bitte lege dazu ein issue an. ich kann dir aus dem Stegreif jetzt keine kompetente Lösung anbieten.

                                  Thema 3
                                  Im Adapter werden die Rules automatisch gesetzt, wie auch die MQTT-Einstellungen.
                                  Um die Tasten / Relais umzustellen, kannst über das Servicemenü unter Relais einstellen oder per State unter

                                  cmd/detachLeft
                                  cmd/detachRight
                                  

                                  mit

                                  cmd/power1
                                  cmd7power2
                                  

                                  kannst du die Relais schalten.

                                  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

                                  T 1 Reply Last reply
                                  0
                                  • teletapiT Online
                                    teletapiT Online
                                    teletapi
                                    wrote last edited by teletapi
                                    #696

                                    Was die Schalter oder Steckdosen angeht sieht das bei mir mit einem Beispiel so aus.

                                    als erstes.
                                    "Alle_Steckdosen" unter "Pages" eintragen

                                         const Alle_Steckdosen: ScriptConfig.PageGrid = {    
                                            type: 'cardGrid',
                                            uniqueName: 'Alle_Steckdosen',
                                            heading: 'Steckdosen',
                                            useColor: true,
                                            items: [
                                            { navigate: true, id: null, targetPage: 'Steckdosen', offColor: Red, onColor: Green, name: 'Alle Steckdosen'},
                                        ],
                                    };
                                    

                                    Als nächstes die Steckdosen : Dier erste Steckdose funktioniert, die letzte ist hier ausgeblendet. Alle anderen dazwischen hab ich gelöscht damit es nicht zu unübersichtlich wird.
                                    "Steckdosen" dann unter "subPages" eintragen

                                         const Steckdosen: ScriptConfig.PageEntities = {    
                                            type: 'cardEntities',
                                            uniqueName: 'Steckdosen',
                                            heading: 'Steckdosen',
                                            subPage: true,
                                            useColor: true,
                                            prev: 'Alle_Steckdosen',
                                            home: 'Alle_Steckdosen',
                                            items: [
                                            { id: 'alias.0.Steckdosen.Steckdose_Waschkueche',
                                                   targetPage: 'Steckdosen', 
                                                   icon: 'power-socket-de', 
                                                   icon2: 'power-plug-off-outline', 
                                                   offColor: Red, 
                                                   onColor: Green, 
                                                   name: '3D Drucker'
                                                   },
                                            { id: 'alias.0.Steckdosen.Büro_DTU', 
                                                   targetPage: 'Steckdosen', 
                                                   icon: 'power-socket-de', 
                                                   icon2: 'power-plug-off-outline', 
                                                   offColor: Red, 
                                                   onColor: Green, 
                                                   name: 'Buero Ahoy-DTU'
                                                   },
                                            /*{ id: 'alias.0.Steckdosen.Steckdose_ueber_Schreibtisch', 
                                                   targetPage: 'Steckdosen', 
                                                   icon: 'power-socket-de', 
                                                   icon2: 'power-plug-off-outline', 
                                                   offColor: Red, 
                                                   onColor: Green, 
                                                   name: 'PC Netzwerk'
                                                   },*/
                                        ],
                                    };
                                    
                                    T 1 Reply Last reply
                                    0
                                    • teletapiT teletapi

                                      Was die Schalter oder Steckdosen angeht sieht das bei mir mit einem Beispiel so aus.

                                      als erstes.
                                      "Alle_Steckdosen" unter "Pages" eintragen

                                           const Alle_Steckdosen: ScriptConfig.PageGrid = {    
                                              type: 'cardGrid',
                                              uniqueName: 'Alle_Steckdosen',
                                              heading: 'Steckdosen',
                                              useColor: true,
                                              items: [
                                              { navigate: true, id: null, targetPage: 'Steckdosen', offColor: Red, onColor: Green, name: 'Alle Steckdosen'},
                                          ],
                                      };
                                      

                                      Als nächstes die Steckdosen : Dier erste Steckdose funktioniert, die letzte ist hier ausgeblendet. Alle anderen dazwischen hab ich gelöscht damit es nicht zu unübersichtlich wird.
                                      "Steckdosen" dann unter "subPages" eintragen

                                           const Steckdosen: ScriptConfig.PageEntities = {    
                                              type: 'cardEntities',
                                              uniqueName: 'Steckdosen',
                                              heading: 'Steckdosen',
                                              subPage: true,
                                              useColor: true,
                                              prev: 'Alle_Steckdosen',
                                              home: 'Alle_Steckdosen',
                                              items: [
                                              { id: 'alias.0.Steckdosen.Steckdose_Waschkueche',
                                                     targetPage: 'Steckdosen', 
                                                     icon: 'power-socket-de', 
                                                     icon2: 'power-plug-off-outline', 
                                                     offColor: Red, 
                                                     onColor: Green, 
                                                     name: '3D Drucker'
                                                     },
                                              { id: 'alias.0.Steckdosen.Büro_DTU', 
                                                     targetPage: 'Steckdosen', 
                                                     icon: 'power-socket-de', 
                                                     icon2: 'power-plug-off-outline', 
                                                     offColor: Red, 
                                                     onColor: Green, 
                                                     name: 'Buero Ahoy-DTU'
                                                     },
                                              /*{ id: 'alias.0.Steckdosen.Steckdose_ueber_Schreibtisch', 
                                                     targetPage: 'Steckdosen', 
                                                     icon: 'power-socket-de', 
                                                     icon2: 'power-plug-off-outline', 
                                                     offColor: Red, 
                                                     onColor: Green, 
                                                     name: 'PC Netzwerk'
                                                     },*/
                                          ],
                                      };
                                      
                                      T Offline
                                      T Offline
                                      TT-Tom
                                      wrote last edited by
                                      #697

                                      @teletapi

                                      sein Problem wird die Rolle des Channel sein.

                                      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 TT-Tom

                                        @bembelstemmer

                                        wenn du etwas schalten willst, wäre die Rolle für den Channel entweder socket oder light.
                                        Das ist die selbe Einstellung wie beim Script inkl. Datenpunkte.

                                        zeige doch mal deine Datenpunkte inkl. Channel .

                                        für Thema zwei gibt es noch kein Template, bitte lege dazu ein issue an. ich kann dir aus dem Stegreif jetzt keine kompetente Lösung anbieten.

                                        Thema 3
                                        Im Adapter werden die Rules automatisch gesetzt, wie auch die MQTT-Einstellungen.
                                        Um die Tasten / Relais umzustellen, kannst über das Servicemenü unter Relais einstellen oder per State unter

                                        cmd/detachLeft
                                        cmd/detachRight
                                        

                                        mit

                                        cmd/power1
                                        cmd7power2
                                        

                                        kannst du die Relais schalten.

                                        T Do not disturb
                                        T Do not disturb
                                        ticaki
                                        wrote last edited by ticaki
                                        #698

                                        @TT-Tom

                                        Thema 2 dürfte durch umbiegen von entity1 gehen - müsste man mal testen
                                        also damit meine ich:

                                        // das hier ist falsch
                                        {
                                        type: 'native'
                                        native: {
                                        template: 'keineAhnung'
                                        dp: 'x.y.z'
                                        data: {
                                        entity1: {
                                        value: {
                                        type: 'triggered', dp: 'eigenes.wetter'
                                        }}}}
                                        }
                                        

                                        müssten man mal ausprobieren. Keine Ahnung ob native überhaupt in screensaver geht

                                        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

                                        372

                                        Online

                                        32.4k

                                        Users

                                        81.4k

                                        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