Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI (TypeScript Version)

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    431

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    357

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    959

SONOFF NSPanel mit Lovelace UI (TypeScript Version)

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
8.1k Beiträge 280 Kommentatoren 7.4m Aufrufe 261 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SmartStuffCoyoteS SmartStuffCoyote

    @armilar Das sind die Metadaten:

    59597e12-f35d-4091-9c40-5a8db5b1bc11-image.jpeg

    ArmilarA Offline
    ArmilarA Offline
    Armilar
    Most Active Forum Testing
    schrieb am zuletzt editiert von
    #8082

    @SmartStuffCoyote

    Suche mal für einen Test nach:

    if (v2Adapter == 'squeezeboxrpc' && author.length == 0) {
    

    und ersetze den durch

    if (v2Adapter == 'squeezeboxrpc' && author.length > 0) {
    

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

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

    SmartStuffCoyoteS 1 Antwort Letzte Antwort
    0
    • ArmilarA Armilar

      @SmartStuffCoyote

      Suche mal für einen Test nach:

      if (v2Adapter == 'squeezeboxrpc' && author.length == 0) {
      

      und ersetze den durch

      if (v2Adapter == 'squeezeboxrpc' && author.length > 0) {
      
      SmartStuffCoyoteS Offline
      SmartStuffCoyoteS Offline
      SmartStuffCoyote
      schrieb am zuletzt editiert von SmartStuffCoyote
      #8083

      @Armilar sagte:

      und ersetze den durch

      Die Zeitanzeige ist jetzt permanent da, das hat geklappt. Jetzt ist die Frage, was das "undefined|A Curious Thing" soll. (Und dass das Album in der Überschrift und im "Text" angezeigt wird, ist echt gewollt? Beim Lyrion Media Server wäre mir persönlich der Name des Players lieber.

      Nachtrag:

      let lmstracklist = JSON.parse(getState([page.items[0].adapterPlayerInstance, 'Players.', page.items[0].mediaDevice, '.Playlist'].join('')).val);
      ...
       author = lmstracklist[currentIndex].Artist + '|' + lmstracklist[currentIndex].Album;
      

      Hm.

      	
      {
        index: 5,
        id: 26429,
        url: 'file:///music/Alben/Amy%20Macdonald%20-%20A%20Curious%20Thing/03%20Amy%20Macdonald%20-%20No%20Roots.mp3',
        title: 'No Roots',
        ArtworkUrl: 'http://localhost:9900/music/0ee7d819/cover.jpg',
        Type: 'mp3',
        Bitrate: '205kb/s VBR',
        Duration: 270.24,
        Album: 'A Curious Thing'
      }
      

      "Artist" gibt es da nicht. Fix:

      author = author + '|' + lmstracklist[currentIndex].Album;
      

      Jetzt ist es umgekehrt, jetzt fliegt der Text alle 10 Sekunden mal weg und da steht dann für einen Moment nur "No Roots".

      ArmilarA 2 Antworten Letzte Antwort
      0
      • SmartStuffCoyoteS SmartStuffCoyote

        @Armilar sagte:

        und ersetze den durch

        Die Zeitanzeige ist jetzt permanent da, das hat geklappt. Jetzt ist die Frage, was das "undefined|A Curious Thing" soll. (Und dass das Album in der Überschrift und im "Text" angezeigt wird, ist echt gewollt? Beim Lyrion Media Server wäre mir persönlich der Name des Players lieber.

        Nachtrag:

        let lmstracklist = JSON.parse(getState([page.items[0].adapterPlayerInstance, 'Players.', page.items[0].mediaDevice, '.Playlist'].join('')).val);
        ...
         author = lmstracklist[currentIndex].Artist + '|' + lmstracklist[currentIndex].Album;
        

        Hm.

        	
        {
          index: 5,
          id: 26429,
          url: 'file:///music/Alben/Amy%20Macdonald%20-%20A%20Curious%20Thing/03%20Amy%20Macdonald%20-%20No%20Roots.mp3',
          title: 'No Roots',
          ArtworkUrl: 'http://localhost:9900/music/0ee7d819/cover.jpg',
          Type: 'mp3',
          Bitrate: '205kb/s VBR',
          Duration: 270.24,
          Album: 'A Curious Thing'
        }
        

        "Artist" gibt es da nicht. Fix:

        author = author + '|' + lmstracklist[currentIndex].Album;
        

        Jetzt ist es umgekehrt, jetzt fliegt der Text alle 10 Sekunden mal weg und da steht dann für einen Moment nur "No Roots".

        ArmilarA Offline
        ArmilarA Offline
        Armilar
        Most Active Forum Testing
        schrieb am zuletzt editiert von Armilar
        #8084

        @SmartStuffCoyote sagte:

        {
        index: 5,
        id: 26429,
        url: 'file:///music/Alben/Amy%20Macdonald%20-%20A%20Curious%20Thing/03%20Amy%20Macdonald%20-%20No%20Roots.mp3',
        title: 'No Roots',
        ArtworkUrl: 'http://localhost:9900/music/0ee7d819/cover.jpg',
        Type: 'mp3',
        Bitrate: '205kb/s VBR',
        Duration: 270.24,
        Album: 'A Curious Thing'
        }

        Das liegt wahrscheinlich an deinem MP3-File. Bei mir funktioniert es. Übrigens alles...

        Artist ist auch dabei. Sieht auch alles gut aus und wackelt und blitzt nix... Habe mir dann doch noch einen Logitech Media Server zum testen installiert.

        {
        index: 12,
        id: 42,
        url: 'file:///C:/Users/jbakk/Music/Corrs,%20The/1999%20-%20MTV%20Unplugged/13%20-%20The%20Corrs%20-%20So%20Young%20-%20EMG%20-%20x.mp3',
        title: 'So Young',
        ArtworkUrl: 'http://192.168.1.223:9000/music/5c0fd3c0/cover.jpg',
        Type: 'mp3',
        Bitrate: '192kb/s CBR',
        Duration: '293.72',
        Artist: 'The Corrs',
        Album: 'Unplugged'
        },

        Edit: Das mit der Überschrift ist in allen Playern durchgehend so. Allerdings kann man mit relativ wenig Aufwand einen zusätzlichen neuen Parameter machen, der das verhindert und den Player anzeigt.

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

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

        1 Antwort Letzte Antwort
        1
        • SmartStuffCoyoteS SmartStuffCoyote

          @Armilar sagte:

          und ersetze den durch

          Die Zeitanzeige ist jetzt permanent da, das hat geklappt. Jetzt ist die Frage, was das "undefined|A Curious Thing" soll. (Und dass das Album in der Überschrift und im "Text" angezeigt wird, ist echt gewollt? Beim Lyrion Media Server wäre mir persönlich der Name des Players lieber.

          Nachtrag:

          let lmstracklist = JSON.parse(getState([page.items[0].adapterPlayerInstance, 'Players.', page.items[0].mediaDevice, '.Playlist'].join('')).val);
          ...
           author = lmstracklist[currentIndex].Artist + '|' + lmstracklist[currentIndex].Album;
          

          Hm.

          	
          {
            index: 5,
            id: 26429,
            url: 'file:///music/Alben/Amy%20Macdonald%20-%20A%20Curious%20Thing/03%20Amy%20Macdonald%20-%20No%20Roots.mp3',
            title: 'No Roots',
            ArtworkUrl: 'http://localhost:9900/music/0ee7d819/cover.jpg',
            Type: 'mp3',
            Bitrate: '205kb/s VBR',
            Duration: 270.24,
            Album: 'A Curious Thing'
          }
          

          "Artist" gibt es da nicht. Fix:

          author = author + '|' + lmstracklist[currentIndex].Album;
          

          Jetzt ist es umgekehrt, jetzt fliegt der Text alle 10 Sekunden mal weg und da steht dann für einen Moment nur "No Roots".

          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          schrieb am zuletzt editiert von Armilar
          #8085

          @SmartStuffCoyote

          Falls dann sonst alles Okay ist (Artist kommt ja nicht aus deinen MP3-Tags (ID3-Tags) mit - also ist undefined ja sogar korrekt), kannst du die DEV Version (Unterer Teil) nehmen.

          https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/DEV/NSPanelTs.ts

          Unten ist ein neuer Parameter "showOnlyPlayerHeadline: true", der dann die Heading-Angabe in der Variable nicht mehr mit dem Album überschreibt.

          let SqueezeboxRPC: PageType =
          {
              'type': 'cardMedia',
              'heading': 'SqueezeboxRPC',
              'hiddenByTrigger': true,
              'items': [
                  { 
                      id: AliasPath + 'Media.PlayerSqueezeboxRPC2', 
                      adapterPlayerInstance: 'squeezeboxrpc.0.',
                      speakerList: ['SqueezePlay'],
                      mediaDevice: 'SqueezePlay',
                      playList: ['Playlist'],
                      colorMediaIcon: Green,
                      colorMediaArtist: Yellow,
                      colorMediaTitle: Yellow,
                      alwaysOnDisplay: true,
                      autoCreateALias : true,
                      showOnlyPlayerHeadline: true
                  }
              ]
          };
          

          Änderungen: https://github.com/joBr99/nspanel-lovelace-ui/commit/edf78e775c0a1b5d665558b52c0b5a7c7abb494c

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

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

          1 Antwort Letzte Antwort
          1
          • SmartStuffCoyoteS Offline
            SmartStuffCoyoteS Offline
            SmartStuffCoyote
            schrieb am zuletzt editiert von
            #8086

            Strange, ja, bei anderen Liedern ist kein "undefined".

            Natürlich sind die Daten im ID3-Tag, wo sollte der LMS die Informationen sonst her haben...
            262c2743-aed9-40a3-bd7a-1af930a097f6-image.jpeg

            Aber gut, irgendwas passt da auf meiner Seite nicht, was auch immer das sein mag.

            Aber diese kurze Unterbrechung, wo nur der Titelname kommt, die ist weiterhin da:

            20260424_215400(1).mp4

            ArmilarA 1 Antwort Letzte Antwort
            0
            • T Nicht stören
              T Nicht stören
              ticaki
              schrieb am zuletzt editiert von ticaki
              #8087

              Das kann an dem Triggern liegen - erst wird das eine geschrieben - nspanelskript aktualisiert und 50 ms später wird das andere geschrieben. Aktualisieren des Bildschrims dauert ungefähr so lange wie es flackert :)

              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

              Spenden

              1 Antwort Letzte Antwort
              0
              • SmartStuffCoyoteS SmartStuffCoyote

                Strange, ja, bei anderen Liedern ist kein "undefined".

                Natürlich sind die Daten im ID3-Tag, wo sollte der LMS die Informationen sonst her haben...
                262c2743-aed9-40a3-bd7a-1af930a097f6-image.jpeg

                Aber gut, irgendwas passt da auf meiner Seite nicht, was auch immer das sein mag.

                Aber diese kurze Unterbrechung, wo nur der Titelname kommt, die ist weiterhin da:

                20260424_215400(1).mp4

                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von
                #8088

                @SmartStuffCoyote

                Habe ich auch nicht... Läuft geschmeidig bei mir durch...

                Vielleicht hier etwas geändert? Bei mir Original

                488cdb64-ea19-4629-94c6-10e6441ad64a-image.jpeg

                Oder im Script etwas angepasst?

                Oder mal den ioBroker durchstarten? Evtl. ein Ghostscript am Laufen?


                Ich könnte das nicht reproduzieren... Läuft bei mir stabil ohne flackern

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

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

                SmartStuffCoyoteS 1 Antwort Letzte Antwort
                0
                • ArmilarA Armilar

                  @SmartStuffCoyote

                  Habe ich auch nicht... Läuft geschmeidig bei mir durch...

                  Vielleicht hier etwas geändert? Bei mir Original

                  488cdb64-ea19-4629-94c6-10e6441ad64a-image.jpeg

                  Oder im Script etwas angepasst?

                  Oder mal den ioBroker durchstarten? Evtl. ein Ghostscript am Laufen?


                  Ich könnte das nicht reproduzieren... Läuft bei mir stabil ohne flackern

                  SmartStuffCoyoteS Offline
                  SmartStuffCoyoteS Offline
                  SmartStuffCoyote
                  schrieb am zuletzt editiert von
                  #8089

                  @Armilar sagte:

                  Oder im Script etwas angepasst?

                  Nö. Außer das, wo ich den "author" wie oben beschrieben reingeimpft habe. Deswegen lief das ja auch bei den Liedern. facepalm Mit der unangepassten latest-Version des Skripts steht bei mir bei allen Songs wieder "undefined". Hm.

                  Meine Squeezebox-Adapter-Einstellungen sind wie bei dir. ioBroker ist frisch neu gestartet, half nicht.

                  1 Antwort Letzte Antwort
                  0
                  • SmartStuffCoyoteS Offline
                    SmartStuffCoyoteS Offline
                    SmartStuffCoyote
                    schrieb am zuletzt editiert von SmartStuffCoyote
                    #8090

                    Ich glaube, das Problem ist nicht das MP3. Sondern die Playlist. Es werden ja nicht die Daten der Datei abgefragt, sondern die der Playlist. Der Artist fehlt da bei mir einfach. Egal, ob ich eine gespeicherte Playlist oder ein Album oder nur einen einzelnen Song starte.

                    [
                      {
                        "index": 0,
                        "id": 31792,
                        "url": "file:///music/Alben/Metric%20-%20Romanticize%20The%20Dive/01%20Metric%20-%20Victim%20Of%20Luck.mp3",
                        "title": "Victim Of Luck",
                        "ArtworkUrl": "http://localhost:9900/music/94f7888d/cover.jpg",
                        "Type": "mp3",
                        "Bitrate": "320kb/s CBR",
                        "Duration": 203.306,
                        "Album": "Romanticize The Dive"
                      }
                    ]
                    
                    ArmilarA 1 Antwort Letzte Antwort
                    0
                    • SmartStuffCoyoteS SmartStuffCoyote

                      Ich glaube, das Problem ist nicht das MP3. Sondern die Playlist. Es werden ja nicht die Daten der Datei abgefragt, sondern die der Playlist. Der Artist fehlt da bei mir einfach. Egal, ob ich eine gespeicherte Playlist oder ein Album oder nur einen einzelnen Song starte.

                      [
                        {
                          "index": 0,
                          "id": 31792,
                          "url": "file:///music/Alben/Metric%20-%20Romanticize%20The%20Dive/01%20Metric%20-%20Victim%20Of%20Luck.mp3",
                          "title": "Victim Of Luck",
                          "ArtworkUrl": "http://localhost:9900/music/94f7888d/cover.jpg",
                          "Type": "mp3",
                          "Bitrate": "320kb/s CBR",
                          "Duration": 203.306,
                          "Album": "Romanticize The Dive"
                        }
                      ]
                      
                      ArmilarA Offline
                      ArmilarA Offline
                      Armilar
                      Most Active Forum Testing
                      schrieb am zuletzt editiert von Armilar
                      #8091

                      @SmartStuffCoyote

                      a9e56847-f589-42e9-a3c8-7ee7ead9d8c5-image.jpeg

                      Bei mir alles da und auch kein flackern, ist auch ein Album

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

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

                      1 Antwort Letzte Antwort
                      0
                      • SmartStuffCoyoteS Offline
                        SmartStuffCoyoteS Offline
                        SmartStuffCoyote
                        schrieb am zuletzt editiert von
                        #8092

                        Ich glaubs euch ja. :) Die Frage ist, warum schickt entweder der LMS die Daten nicht an den Adapter oder der Adapter die Daten nicht ins JSON. Wenn es häufiger vorkommt, dann wäre ein Fallback vielleicht nicht schlecht. (Der author ist ja eh schon da, warum nochmal beschaffen?)

                        showOnlyPlayerHeadline liefert den "Heading" String, vom Parameternamen (und meinem Wunsch her) hätte ich das ausgewählte Wiedergabegerät erwartet. Dann sehe ich sofort, welches der Geräte ich eigentlich steuere. Sorry wegen der Unklarheit.

                        ArmilarA 1 Antwort Letzte Antwort
                        0
                        • SmartStuffCoyoteS SmartStuffCoyote

                          Ich glaubs euch ja. :) Die Frage ist, warum schickt entweder der LMS die Daten nicht an den Adapter oder der Adapter die Daten nicht ins JSON. Wenn es häufiger vorkommt, dann wäre ein Fallback vielleicht nicht schlecht. (Der author ist ja eh schon da, warum nochmal beschaffen?)

                          showOnlyPlayerHeadline liefert den "Heading" String, vom Parameternamen (und meinem Wunsch her) hätte ich das ausgewählte Wiedergabegerät erwartet. Dann sehe ich sofort, welches der Geräte ich eigentlich steuere. Sorry wegen der Unklarheit.

                          ArmilarA Offline
                          ArmilarA Offline
                          Armilar
                          Most Active Forum Testing
                          schrieb am zuletzt editiert von
                          #8093

                          @SmartStuffCoyote sagte:

                          das ausgewählte Wiedergabegerät erwartet

                          du meinst Playername?:

                          2b3c8e2e-36cc-49cd-ae35-94e2f6366891-image.jpeg

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

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

                          1 Antwort Letzte Antwort
                          0
                          • SmartStuffCoyoteS Offline
                            SmartStuffCoyoteS Offline
                            SmartStuffCoyote
                            schrieb am zuletzt editiert von
                            #8094

                            Ja, genau den. Die Card lässt mich den ja sogar wählen, aber ich sehe den dann nirgendwo. Ich würd aber gern wissen, ob ich Bad oder Esszimmer steuere. :)

                            ArmilarA 2 Antworten Letzte Antwort
                            0
                            • SmartStuffCoyoteS SmartStuffCoyote

                              Ja, genau den. Die Card lässt mich den ja sogar wählen, aber ich sehe den dann nirgendwo. Ich würd aber gern wissen, ob ich Bad oder Esszimmer steuere. :)

                              ArmilarA Offline
                              ArmilarA Offline
                              Armilar
                              Most Active Forum Testing
                              schrieb am zuletzt editiert von
                              #8095

                              @SmartStuffCoyote sagte:

                              Ja, genau den. Die Card lässt mich den ja sogar wählen, aber ich sehe den dann nirgendwo. Ich würd aber gern wissen, ob ich Bad oder Esszimmer steuere. :)

                              Okay, den können wir natürlich auch nehmen... Ist bei mir etwas schwieriger... Ich steuere damit exakt einen Player... Daher sehe ich auch keine anderen...

                              Ich ändere das ab...

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

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

                              1 Antwort Letzte Antwort
                              0
                              • SmartStuffCoyoteS SmartStuffCoyote

                                Ja, genau den. Die Card lässt mich den ja sogar wählen, aber ich sehe den dann nirgendwo. Ich würd aber gern wissen, ob ich Bad oder Esszimmer steuere. :)

                                ArmilarA Offline
                                ArmilarA Offline
                                Armilar
                                Most Active Forum Testing
                                schrieb am zuletzt editiert von
                                #8096

                                @SmartStuffCoyote

                                Noch mal den unteren Teil aus dem DEV Script ersetzen:

                                https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/DEV/NSPanelTs.ts

                                Danach sollte der Player und der Artist angezeigt werden...

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

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

                                1 Antwort Letzte Antwort
                                0
                                • SmartStuffCoyoteS Offline
                                  SmartStuffCoyoteS Offline
                                  SmartStuffCoyote
                                  schrieb am zuletzt editiert von SmartStuffCoyote
                                  #8097
                                  javascript.0	01:03:40.994	warn	
                                  error at function GenerateMediaPage: Cannot read properties of null (reading 'length')
                                  javascript.0	01:03:41.959	warn	
                                      at GenerateMediaPage (script.js.common.NSPanel:9087:26)
                                  javascript.0	01:03:41.959	warn	
                                      at GeneratePage (script.js.common.NSPanel:6065:29)
                                  javascript.0	01:03:41.959	warn	
                                      at Object.<anonymous> (script.js.common.NSPanel:8421:21)
                                  javascript.0	01:03:41.959	warn	
                                      at step (script.js.common.NSPanel:33:23)
                                  javascript.0	01:03:41.959	warn	
                                      at Object.next (script.js.common.NSPanel:14:53)
                                  javascript.0	01:03:41.959	warn	
                                      at script.js.common.NSPanel:8:71
                                  javascript.0	01:03:41.959	warn	
                                      at __awaiter (script.js.common.NSPanel:4:12)
                                  

                                  Die Seite wird jetzt nicht mehr angezeigt.

                                  Ich kann aber grad nicht sagen, wo genau das auftaucht - im squeezeboxrpc-Block sind sowohl author.length als auch title.length immer vorhanden.

                                  Nachtrag: mit showOnlyPlayerHeadline: false tritt es nicht auf. Ich kriegs auf die Schnelle im Code aber nicht eingegrenzt. @armilar

                                  Nachtrag 2:

                                  	
                                  {
                                    id: 'alias.0.NSPanel.1.Media.PlayerSqueezeboxRPC',
                                    adapterPlayerInstance: 'squeezeboxrpc.0.',
                                    speakerList: [ 'Heartbeat_4', 'Squeezebox' ],
                                    mediaDevice: 'Heartbeat_4',
                                    playList: [],
                                    colorMediaIcon: { red: 0, green: 255, blue: 0 },
                                    colorMediaArtist: { red: 255, green: 255, blue: 0 },
                                    colorMediaTitle: { red: 255, green: 255, blue: 0 },
                                    alwaysOnDisplay: true,
                                    autoCreateALias: true,
                                    showOnlyPlayerHeadline: true
                                  }
                                  

                                  Ich habe

                                  name = getState(page.items[0].adapterPlayerInstance + "Players.SqueezePlay.Playername").val;
                                  

                                  mal so geändert, dann klappts:

                                  name = getState(page.items[0].adapterPlayerInstance + "Players." + page.items[0].mediaDevice + ".Playername").val;
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • T Nicht stören
                                    T Nicht stören
                                    ticaki
                                    schrieb am zuletzt editiert von ticaki
                                    #8098

                                    Ich bin da nicht drin daher:

                                    ergibt das bei dir eine gültige id? adapterPlayerInstance + "Players.SqueezePlay.Playername"

                                    aber nicht wichtig - hier if (name.length == 0) muß ein if (typeOf name !== 'string' || name.length == 0) rein.
                                    https://github.com/joBr99/nspanel-lovelace-ui/blob/b8649caa2714e0594d14c334550e2ba8e33f8cfb/ioBroker/DEV/NSPanelTs.ts#L7884

                                    EDIT: du benutzt doch squeezeboxrpc

                                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                    Spenden

                                    1 Antwort Letzte Antwort
                                    0
                                    • SmartStuffCoyoteS Offline
                                      SmartStuffCoyoteS Offline
                                      SmartStuffCoyote
                                      schrieb am zuletzt editiert von SmartStuffCoyote
                                      #8099

                                      @ticaki siehe oben, das hab ich noch gefunden und nachgetragen. Das ".SqueezePlay." im Datenpunkt-Pfad ist falsch. Das existiert schlicht nicht.

                                      Hab aber immer noch mein "undefined". heul

                                      author = lmstracklist[currentIndex].Artist + '|' + lmstracklist[currentIndex].Album;
                                      if (author == undefined || author == "undefined") {
                                            author = getState(id + '.ARTIST').val;
                                      }
                                      

                                      Das kann aber auch nicht klappen, author wird ja zugewiesen und kann nnicht undefined sein.

                                                            author = lmstracklist[currentIndex].Artist;
                                                              if (author == undefined || author == "undefined") {
                                                                  author = getState(id + '.ARTIST').val;
                                                              } 
                                                              author = author + '|' + lmstracklist[currentIndex].Album;
                                      

                                      klappt bei mir.

                                      ArmilarA T 2 Antworten Letzte Antwort
                                      0
                                      • SmartStuffCoyoteS SmartStuffCoyote

                                        @ticaki siehe oben, das hab ich noch gefunden und nachgetragen. Das ".SqueezePlay." im Datenpunkt-Pfad ist falsch. Das existiert schlicht nicht.

                                        Hab aber immer noch mein "undefined". heul

                                        author = lmstracklist[currentIndex].Artist + '|' + lmstracklist[currentIndex].Album;
                                        if (author == undefined || author == "undefined") {
                                              author = getState(id + '.ARTIST').val;
                                        }
                                        

                                        Das kann aber auch nicht klappen, author wird ja zugewiesen und kann nnicht undefined sein.

                                                              author = lmstracklist[currentIndex].Artist;
                                                                if (author == undefined || author == "undefined") {
                                                                    author = getState(id + '.ARTIST').val;
                                                                } 
                                                                author = author + '|' + lmstracklist[currentIndex].Album;
                                        

                                        klappt bei mir.

                                        ArmilarA Offline
                                        ArmilarA Offline
                                        Armilar
                                        Most Active Forum Testing
                                        schrieb am zuletzt editiert von
                                        #8100

                                        @SmartStuffCoyote

                                        Wenn es jetzt funktioniert, dann bitte mal hier die komplette GenerateMediaPage reinwerfen. Dann kann ich mir das zusammensuchen sparen.

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

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

                                        SmartStuffCoyoteS 1 Antwort Letzte Antwort
                                        0
                                        • SmartStuffCoyoteS SmartStuffCoyote

                                          @ticaki siehe oben, das hab ich noch gefunden und nachgetragen. Das ".SqueezePlay." im Datenpunkt-Pfad ist falsch. Das existiert schlicht nicht.

                                          Hab aber immer noch mein "undefined". heul

                                          author = lmstracklist[currentIndex].Artist + '|' + lmstracklist[currentIndex].Album;
                                          if (author == undefined || author == "undefined") {
                                                author = getState(id + '.ARTIST').val;
                                          }
                                          

                                          Das kann aber auch nicht klappen, author wird ja zugewiesen und kann nnicht undefined sein.

                                                                author = lmstracklist[currentIndex].Artist;
                                                                  if (author == undefined || author == "undefined") {
                                                                      author = getState(id + '.ARTIST').val;
                                                                  } 
                                                                  author = author + '|' + lmstracklist[currentIndex].Album;
                                          

                                          klappt bei mir.

                                          T Nicht stören
                                          T Nicht stören
                                          ticaki
                                          schrieb am zuletzt editiert von ticaki
                                          #8101

                                          @SmartStuffCoyote

                                          Das hier ist trotzdem nötig - da darf kein undefined auf length geprüft werden...

                                          if (name.length == 0) -> if (typeof name !== 'string' || name.length == 0)

                                          wobei das ist kürzer (aber auch unsicherer)
                                          if ((name ?? '').length == 0)

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          548

                                          Online

                                          32.8k

                                          Benutzer

                                          82.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe