Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      Elluminatus @Armilar last edited by Elluminatus

      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

      @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

      @armilar So es ist fast geschafft! Anzeige läuft:
      IMG_1243.jpg

      Jetzt ist lediglich noch die letzte Einstellung:

      "items": [<PageItem>{ 
                      id: "alias.0.Media.LMS.KE_HWR", 
                      adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                      speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                   }] 
      

      Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

      Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

      Das sieht doch schon ganz ordentlich aus...

      Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

      Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

      Also das mit den Datenpunkte kläre ich.

      Eine Sache ist mir gerade aufgefallen.

      1. Wenn ich den Pausenbutton drücke stoppt die Wiedergabe, ich kann sie aber nicht wieder starten.
      2. Weiterhin gibt es auch keinen Wechsel zwischen Play und Pause Icon.

      Habe mir den State Zustand angeschaut, er wechselt von 1 auf 0 aber nicht wieder zurück. Allerdings wenn ich das Power Symbol drücke geht es wieder auf 1. Also schaltet das PowerIcon nicht den Player an und aus, sondern ist der Play Modus.

      Diese Datenpunkte habe ich da spontan noch gesehen:

      1. Wäre evtl eine Idee statt der Lautsprecherausgabe unten die einzelnen Player auszuwählen und jeweils auf eine eigenständige Media Player Seite zu kommen?

      LMS11.jpg

      1. Das hat mich spontan auf die folgende Idee gebracht, gäbe es eine Möglichkeit Playlist Shuffle und Repeat mit einzubauen?

      2. Evtl sogar Playlistnamen und -wechsel? Oder kommt so etwas auf die RadioButton Seite äquivalent zur Ansteuerung der Radiostationen?

      Armilar 1 Reply Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

        @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

        @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

        @armilar So es ist fast geschafft! Anzeige läuft:
        IMG_1243.jpg

        Jetzt ist lediglich noch die letzte Einstellung:

        "items": [<PageItem>{ 
                        id: "alias.0.Media.LMS.KE_HWR", 
                        adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                        speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                     }] 
        

        Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

        Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

        Das sieht doch schon ganz ordentlich aus...

        Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

        Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

        Also das mit den Datenpunkte kläre ich.

        Eine Sache ist mir gerade aufgefallen.

        1. Wenn ich den Pausenbutton drücke stoppt die Wiedergabe, ich kann sie aber nicht wieder starten.
        2. Weiterhin gibt es auch keinen Wechsel zwischen Play und Pause Icon.

        Habe mir den State Zustand angeschaut, er wechselt von 1 auf 0 aber nicht wieder zurück. Allerdings wenn ich das Power Symbol drücke geht es wieder auf 1. Also schaltet das PowerIcon nicht den Player an und aus, sondern ist der Play Modus.

        Diese Datenpunkte habe ich da spontan noch gesehen:

        1. Wäre evtl eine Idee statt der Lautsprecherausgabe unten die einzelnen Player auszuwählen und jeweils auf eine eigenständige Media Player Seite zu kommen?

        LMS11.jpg

        1. Das hat mich spontan auf die folgende Idee gebracht, gäbe es eine Möglichkeit Playlist Shuffle und Repeat mit einzubauen?

        2. Evtl sogar Playlistnamen und -wechsel? Oder kommt so etwas auf die RadioButton Seite äquivalent zur Ansteuerung der Radiostationen?

        Zu 1) Gehe noch mal die Funktionen der Aliase (insbesondere Play) durch. Und sehe nach das da wirklich eine 1 gesetzt wird (soll laut Beschreibung Play sein)

        Zu 2) Wenn kein echter Wechsel zwischen Play und Pause stattfindet (siehe Zu 1) dann wird auch kein Ereignis ausgelöst. Ist dummerweise im Squeezeboxrpc-Adapter alles in state, statt wie in allen anderen Playern sämtlicher Adapter in separaten DP's (Pause, Play, Stop) verpackt. Also muss mit Play der Alias Play auf true springen und der Datenpunkt in der Squeezeboxrpc auf 1 - sonst gibt es kein play

        Zu 3) Leider nein. Eine Playlist ist in der Regel mehrere tausend Zeichen lang. Der Platz in dem Feld ist meine ich maximal 200 Zeichen lang.

        Zu 4) Funktionen wie Playlist, Shuffle oder Repeat ist das HMI-Design und somit @joBr99 der Ansprechpartner. Kannst aber auch gerne unter github ein Issue aufmachen. Ich kann da nur Anbinden, was im Player vorhanden ist.

        Zu 5) Playlist würde ich tatsächlich über die cardGrid mit dem Alias "Taste" realisieren. Ist auch gut in Favoriten-Pages

        Für das Feld mit den Speakern habe ich bereits eine Erweiterung im Code gemacht. Wird künftig Playername verwendet statt kein Speaker gefunden. Demnächst auf github mit nächster Version - ich sag hier in der Regel bescheid, wenn's was neues gibt.

        E 1 Reply Last reply Reply Quote 0
        • E
          Elluminatus @Armilar last edited by Elluminatus

          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

          @armilar So es ist fast geschafft! Anzeige läuft:
          IMG_1243.jpg

          Jetzt ist lediglich noch die letzte Einstellung:

          "items": [<PageItem>{ 
                          id: "alias.0.Media.LMS.KE_HWR", 
                          adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                          speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                       }] 
          

          Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

          Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

          Das sieht doch schon ganz ordentlich aus...

          Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

          Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

          Also das mit den Datenpunkte kläre ich.

          Eine Sache ist mir gerade aufgefallen.

          1. Wenn ich den Pausenbutton drücke stoppt die Wiedergabe, ich kann sie aber nicht wieder starten.
          2. Weiterhin gibt es auch keinen Wechsel zwischen Play und Pause Icon.

          Habe mir den State Zustand angeschaut, er wechselt von 1 auf 0 aber nicht wieder zurück. Allerdings wenn ich das Power Symbol drücke geht es wieder auf 1. Also schaltet das PowerIcon nicht den Player an und aus, sondern ist der Play Modus.

          Diese Datenpunkte habe ich da spontan noch gesehen:

          1. Wäre evtl eine Idee statt der Lautsprecherausgabe unten die einzelnen Player auszuwählen und jeweils auf eine eigenständige Media Player Seite zu kommen?

          LMS11.jpg

          1. Das hat mich spontan auf die folgende Idee gebracht, gäbe es eine Möglichkeit Playlist Shuffle und Repeat mit einzubauen?

          2. Evtl sogar Playlistnamen und -wechsel? Oder kommt so etwas auf die RadioButton Seite äquivalent zur Ansteuerung der Radiostationen?

          Zu 1) Gehe noch mal die Funktionen der Aliase (insbesondere Play) durch. Und sehe nach das da wirklich eine 1 gesetzt wird (soll laut Beschreibung Play sein)

          Ich habe diesen Eintrag noch gefunden, aber der nützt nicht viel oder?

          squeezeboxrpc.0.Players.piCoreKUE.Mode

          LMS12.jpg

          Armilar 1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar sagte in SONOFF NSPanel mit Lovelace UI:

            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar sagte in SONOFF NSPanel mit Lovelace UI:

            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar So es ist fast geschafft! Anzeige läuft:
            IMG_1243.jpg

            Jetzt ist lediglich noch die letzte Einstellung:

            "items": [<PageItem>{ 
                            id: "alias.0.Media.LMS.KE_HWR", 
                            adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                            speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                         }] 
            

            Was muss ich unten in der Speaker List eintragen? Den Playernamen? piCoreKUE bspw?

            Und was hat im Display das Icon mit den drei Strichen und der Note normalerweise für eine Funktion?

            Das sieht doch schon ganz ordentlich aus...

            Unter Speaker würde ich mal nachsehen, wenn etwas abspielt, welcher Datenpunkt mit sinnvollen Geräten gefüllt ist. Das könntest du dann ebenfalls mal posten. Ebenfalls würde mich interessieren, wie der Wechsel von einem Raum zum anderen funktioniert. Dann könnte der Fall squeezeboxrpc das später korrekt verarbeiten. Aktuell gibt es ja keine Umschaltlogik für squeezebox im TS-Script. Aber ich denke fürs erste könnte da piCoreKUE drinstehen. Falls du so eine Umschaltlogik z.B. in Blockly hast, dann einfach hier posten. Falls du weißt welcher Datenpunkt mit welchem Inhalt gefüllt werden muss, könnte ich dir dabei ebenfalls helfen.

            Ja die Note mit einer Liste ist eine Note mit einer Liste. Einfach nur ein Icon ohne Funktion. Bei Spotitfy ist es das SpotifyLogo, bei Alexa gab es auch mal ein icon, heute nicht mehr und das Sonos Logo gibt es auch nicht. Wenn du ein passendes Logo in den 6500 icons findest, könnte ich das reinsetzen.

            Also das mit den Datenpunkte kläre ich.

            Eine Sache ist mir gerade aufgefallen.

            1. Wenn ich den Pausenbutton drücke stoppt die Wiedergabe, ich kann sie aber nicht wieder starten.
            2. Weiterhin gibt es auch keinen Wechsel zwischen Play und Pause Icon.

            Habe mir den State Zustand angeschaut, er wechselt von 1 auf 0 aber nicht wieder zurück. Allerdings wenn ich das Power Symbol drücke geht es wieder auf 1. Also schaltet das PowerIcon nicht den Player an und aus, sondern ist der Play Modus.

            Diese Datenpunkte habe ich da spontan noch gesehen:

            1. Wäre evtl eine Idee statt der Lautsprecherausgabe unten die einzelnen Player auszuwählen und jeweils auf eine eigenständige Media Player Seite zu kommen?

            LMS11.jpg

            1. Das hat mich spontan auf die folgende Idee gebracht, gäbe es eine Möglichkeit Playlist Shuffle und Repeat mit einzubauen?

            2. Evtl sogar Playlistnamen und -wechsel? Oder kommt so etwas auf die RadioButton Seite äquivalent zur Ansteuerung der Radiostationen?

            Zu 1) Gehe noch mal die Funktionen der Aliase (insbesondere Play) durch. Und sehe nach das da wirklich eine 1 gesetzt wird (soll laut Beschreibung Play sein)

            Ich habe diesen Eintrag noch gefunden, aber der nützt nicht viel oder?
            LMS12.jpg

            Nein, ich meinte eher die Funktionen in den Alias-Datenpunkten Pause, Play und Stop. Die hast du doch noch eingetragen, oder?

            Ganz unten die 3 Bilder
            https://forum.iobroker.net/post/867924

            Konvertierungsfunktionen nutzen für read und write

            E 1 Reply Last reply Reply Quote 0
            • E
              Elluminatus @Armilar last edited by Elluminatus

              @armilar Ja die habe ich eingetragen. Also wenn ein Song spielt ist es 1, bei druck auf Pause wird es 0, das Icon ändert sich aber nicht vom Pausen Icon auf das Play Icon. Nochmaliger druck auf Pause bleibt bei 0. Wenn ich zwei daneben auf den Power Button drücke dann ändert es sich wieder auf 1. Status 2 also Stop habe ich noch nicht erreichen können, dazu müßte es ja soetwas wie ein RechteckIcon geben?...

              Also ich steuere jetzt praktisch mit Pause und PowerIcon

              Armilar 1 Reply Last reply Reply Quote 0
              • Armilar
                Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                @armilar Ja die habe ich eingetragen. Also wenn ein Song spielt ist es 1, bei druck auf Pause wird es 0, das Icon ändert sich aber nicht vom Pausen Icon auf das Play Icon. Nochmaliger druck auf Pause bleibt bei 0. Wenn ich zwei daneben auf den Power Button drücke dann ändert es sich wieder auf 1. Status 2 also Stop habe ich noch nicht erreichen können...

                Also ich steuere jetzt praktisch mit Pause und PowerIcon

                Stop gibt es im Player auch nicht wirklich und wird bei einigen Adaptern synonym für Power benutzt. Der ist also in der Squeezebox ungenutzt.
                Habe aber soeben (denke ich) das Problem gefunden. Der Alias Datenpunkt STATE geht auf Power, aber Power geht mit Pause nicht auf "false" (wie in den anderen Adaptern der eigentliche state-DP). Dadurch geht der niemals in den Play-Status. Muss ich ebenfalls eine Änderung im Script machen. Würde noch eine Abfrage auf "PAUSE === false" einbauen - dann sollte es demnächst funktionieren.

                Kannst du auch gerne vorher testen...

                Du müsstest bei ca. Zeile 2920 diese Zeilen austauschen

                            case 'media-pause':
                                if (getState(id + '.STATE').val === true || getState(id + '.PAUSE').val === false) {
                                    setIfExists(id + '.PAUSE', true);
                                } else {
                                    setIfExists(id + '.PLAY', true);
                                }
                                setTimeout(function(){
                                    GeneratePage(activePage);  
                                },3000)
                                break;
                
                E 1 Reply Last reply Reply Quote 0
                • E
                  Elluminatus @Armilar last edited by

                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                  @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                  @armilar Ja die habe ich eingetragen. Also wenn ein Song spielt ist es 1, bei druck auf Pause wird es 0, das Icon ändert sich aber nicht vom Pausen Icon auf das Play Icon. Nochmaliger druck auf Pause bleibt bei 0. Wenn ich zwei daneben auf den Power Button drücke dann ändert es sich wieder auf 1. Status 2 also Stop habe ich noch nicht erreichen können...

                  Also ich steuere jetzt praktisch mit Pause und PowerIcon

                  Stop gibt es im Player auch nicht wirklich und wird bei einigen Adaptern synonym für Power benutzt. Der ist also in der Squeezebox ungenutzt.
                  Habe aber soeben (denke ich) das Problem gefunden. Der Alias Datenpunkt STATE geht auf Power, aber Power geht mit Pause nicht auf "false" (wie in den anderen Adaptern der eigentliche state-DP). Dadurch geht der niemals in den Play-Status. Muss ich ebenfalls eine Änderung im Script machen. Würde noch eine Abfrage auf "PAUSE === false" einbauen - dann sollte es demnächst funktionieren.

                  Kannst du auch gerne vorher testen...

                  Du müsstest bei ca. Zeile 2920 diese Zeilen austauschen

                              case 'media-pause':
                                  if (getState(id + '.STATE').val === true || getState(id + '.PAUSE').val === false) {
                                      setIfExists(id + '.PAUSE', true);
                                  } else {
                                      setIfExists(id + '.PLAY', true);
                                  }
                                  setTimeout(function(){
                                      GeneratePage(activePage);  
                                  },3000)
                                  break;
                  

                  Hi, das brachte leider noch nicht den gewünschten Erfolg. Der PowerIcon ist nach wie vor play und der PauseIcon ist Pause. Nochmaliger Druck auf Pause macht nichts. Habe allerdings herausgefunden, dass der State Datenpunkt auf True ist, wenn der ganze Player eingeschaltet ist. Bei der Ipeng App kann ich den gesamten Player aus-/ und einschalten. Damit ändere ich dann den Zustand im State von true auf false. Während des laufenden Betriebes bleibt der Punkt immer auf true.

                  Armilar 1 Reply Last reply Reply Quote 0
                  • U
                    uSi last edited by

                    Hallo zusammen,
                    ich hoffe es kann mir jemand helfen, ich komme über den Punkt "Waiting for content..." nicht hinaus.
                    Ich komme einfach nicht weiter und meine Kentnisse sind sehr begrenzt. Das Script NsPanelTs.ts kann die IP-Adresse aus dem Objekt 'Smarthome/NSPanel1/tele/INFO2' nicht auslesen. Da dies bei euch klappt muss ich hier noch was einstellen, installieren, oder irgendwo einen Haken setzen?
                    Mit Blockly kann ich die Adresse auslesen!
                    5e75f2e5-4ed8-4a49-88d7-8b73a18ccee1-grafik.png

                    Armilar 1 Reply Last reply Reply Quote 0
                    • Armilar
                      Armilar Most Active Forum Testing @uSi last edited by

                      @usi sagte in SONOFF NSPanel mit Lovelace UI:

                      Hallo zusammen,
                      ich hoffe es kann mir jemand helfen, ich komme über den Punkt "Waiting for content..." nicht hinaus.
                      Ich komme einfach nicht weiter und meine Kentnisse sind sehr begrenzt. Das Script NsPanelTs.ts kann die IP-Adresse aus dem Objekt 'Smarthome/NSPanel1/tele/INFO2' nicht auslesen. Da dies bei euch klappt muss ich hier noch was einstellen, installieren, oder irgendwo einen Haken setzen?
                      Mit Blockly kann ich die Adresse auslesen!
                      5e75f2e5-4ed8-4a49-88d7-8b73a18ccee1-grafik.png

                      Was steht denn drin im Smarthome/NSPanel1/tele/INFO2 ?

                      U 1 Reply Last reply Reply Quote 0
                      • U
                        uSi @Armilar last edited by

                        @armilar Das ging ja rasend schnell - Danke!
                        Das steht drin:
                        {
                        "Info2": {
                        "WebServerMode": "Admin",
                        "Hostname": "uSi-NSPanel1",
                        "IPAddress": "192.168.2.114"
                        }
                        }

                        Armilar 1 Reply Last reply Reply Quote 0
                        • Armilar
                          Armilar Most Active Forum Testing @Elluminatus last edited by Armilar

                          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                          @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                          @armilar Ja die habe ich eingetragen. Also wenn ein Song spielt ist es 1, bei druck auf Pause wird es 0, das Icon ändert sich aber nicht vom Pausen Icon auf das Play Icon. Nochmaliger druck auf Pause bleibt bei 0. Wenn ich zwei daneben auf den Power Button drücke dann ändert es sich wieder auf 1. Status 2 also Stop habe ich noch nicht erreichen können...

                          Also ich steuere jetzt praktisch mit Pause und PowerIcon

                          Stop gibt es im Player auch nicht wirklich und wird bei einigen Adaptern synonym für Power benutzt. Der ist also in der Squeezebox ungenutzt.
                          Habe aber soeben (denke ich) das Problem gefunden. Der Alias Datenpunkt STATE geht auf Power, aber Power geht mit Pause nicht auf "false" (wie in den anderen Adaptern der eigentliche state-DP). Dadurch geht der niemals in den Play-Status. Muss ich ebenfalls eine Änderung im Script machen. Würde noch eine Abfrage auf "PAUSE === false" einbauen - dann sollte es demnächst funktionieren.

                          Kannst du auch gerne vorher testen...

                          Du müsstest bei ca. Zeile 2920 diese Zeilen austauschen

                                      case 'media-pause':
                                          if (getState(id + '.STATE').val === true || getState(id + '.PAUSE').val === false) {
                                              setIfExists(id + '.PAUSE', true);
                                          } else {
                                              setIfExists(id + '.PLAY', true);
                                          }
                                          setTimeout(function(){
                                              GeneratePage(activePage);  
                                          },3000)
                                          break;
                          

                          Hi, das brachte leider noch nicht den gewünschten Erfolg. Der PowerIcon ist nach wie vor play und der PauseIcon ist Pause. Nochmaliger Druck auf Pause macht nichts. Habe allerdings herausgefunden, dass der State Datenpunkt auf True ist, wenn der ganze Player eingeschaltet ist. Bei der Ipeng App kann ich den gesamten Player aus-/ und einschalten. Damit ändere ich dann den Zustand im State von true auf false. Während des laufenden Betriebes bleibt der Punkt immer auf true.

                          Also ich habe das bei mir mal soweit durchgespielt.

                          Info Zum Icon (Play/Pause) - das wechselt aktuell nicht wirklich, da das erst mit dem Rendern (Versions Update) passiert. Aber der Zustand sollte sich ändern.

                          Also mein Versuchsaufbau:

                          Unter 0_userdata habe ich mal deinen Adapter nachgebildet.

                          55ee4574-a906-4558-8801-7f9741bcbb92-image.png

                          Unter alias.0. sieht das so aus
                          a73ecc7b-e9ac-4c7e-84dc-4cffb8e732ab-image.png

                          und im TS-Script so:

                          var SqueezeboxRPC: PageMedia = 
                          {
                              "type": "cardMedia",
                              "heading": "SqueezeboxRPC",
                              "useColor": true,
                              "subPage": false,
                              "parent": undefined,
                              "items": [<PageItem>{ 
                                          id: "alias.0.NSPanel_1.Media.SqueezeBoxRPC", 
                                          adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                          speakerList: ['KE_HWR']
                                       }] 
                          };
                          

                          Wenn ich jetzt auf den Pausen-Button drücke -->
                          b001494d-58f7-4b8e-9992-e87a1fb54ec5-image.png

                          0 = Pause

                          Wenn ich nochmal drauf drücke (Bei mir gibt es mittlerweile sogar einen Icon-Wechsel)
                          c1ca4688-c20a-4717-bef4-ba1919213a17-image.png

                          1 = Play

                          Wenn ich erneut drauf drücke
                          6ded2161-5d0f-4ff2-a57e-45a05d1f4c1b-image.png

                          0 = Pause

                          Kann ich beliebig oft wiederholen

                          Wenn ich auf Power drücke passiert das
                          ce0b8858-a5a1-4bb9-bb32-edc34b14f704-image.png

                          2 = Stop

                          Was passiert bei dir? So ist es in der Beschreibung bei github doch auch beschrieben

                          E 1 Reply Last reply Reply Quote 0
                          • Armilar
                            Armilar Most Active Forum Testing @uSi last edited by

                            @usi sagte in SONOFF NSPanel mit Lovelace UI:

                            @armilar Das ging ja rasend schnell - Danke!
                            Das steht drin:
                            {
                            "Info2": {
                            "WebServerMode": "Admin",
                            "Hostname": "uSi-NSPanel1",
                            "IPAddress": "192.168.2.114"
                            }
                            }

                            Tausche die mal kurz aus durch

                            function get_current_tasmota_ip_address() {
                                try {
                                    const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                    const infoObj = JSON.parse(getState(infoObjId).val);
                            
                                    console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                            
                                    return infoObj.Info2.IPAddress;
                                } catch (err) {
                                    console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                }
                            }
                            

                            und starte das Script erneut

                            U 1 Reply Last reply Reply Quote 0
                            • U
                              uSi @Armilar last edited by

                              @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                              @usi sagte in SONOFF NSPanel mit Lovelace UI:

                              @armilar Das ging ja rasend schnell - Danke!
                              Das steht drin:
                              {
                              "Info2": {
                              "WebServerMode": "Admin",
                              "Hostname": "uSi-NSPanel1",
                              "IPAddress": "192.168.2.114"
                              }
                              }

                              Tausche die mal kurz aus durch

                              function get_current_tasmota_ip_address() {
                                  try {
                                      const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                      const infoObj = JSON.parse(getState(infoObjId).val);
                              
                                      console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                              
                                      return infoObj.Info2.IPAddress;
                                  } catch (err) {
                                      console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                  }
                              }
                              

                              und starte das Script erneut

                              Super, keine Fehler nur noch Warnungen. In '0_userdata.0.NSPanel.1.NSPanel_ipAddress' steht aber keine IP-Adresse sondern '{"ack":true}'! Es sind viel mehr einträge in '0_userdata.0.NSPanel.1' vorhanden aber Panel wartet immer noch.
                              e5ffd693-0dfd-466e-ad53-b3cdc9589432-grafik.png

                              Armilar 1 Reply Last reply Reply Quote 0
                              • Armilar
                                Armilar Most Active Forum Testing @uSi last edited by Armilar

                                @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                @armilar Das ging ja rasend schnell - Danke!
                                Das steht drin:
                                {
                                "Info2": {
                                "WebServerMode": "Admin",
                                "Hostname": "uSi-NSPanel1",
                                "IPAddress": "192.168.2.114"
                                }
                                }

                                Tausche die mal kurz aus durch

                                function get_current_tasmota_ip_address() {
                                    try {
                                        const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                        const infoObj = JSON.parse(getState(infoObjId).val);
                                
                                        console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                                
                                        return infoObj.Info2.IPAddress;
                                    } catch (err) {
                                        console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                    }
                                }
                                

                                und starte das Script erneut

                                Super, keine Fehler nur noch Warnungen. In '0_userdata.0.NSPanel.1.NSPanel_ipAddress' steht aber keine IP-Adresse sondern '{"ack":true}'! Es sind viel mehr einträge in '0_userdata.0.NSPanel.1' vorhanden aber Panel wartet immer noch.
                                e5ffd693-0dfd-466e-ad53-b3cdc9589432-grafik.png

                                Zeige mal deine Einstellungen unter:

                                export const config: Config = {
                                    panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                    panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                                

                                und am besten noch einen Screenshot vom mqtt.0. , in dem man den gesamten Pfad sehen kann

                                U 1 Reply Last reply Reply Quote 0
                                • U
                                  uSi @Armilar last edited by

                                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                  @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                  @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                  @armilar Das ging ja rasend schnell - Danke!
                                  Das steht drin:
                                  {
                                  "Info2": {
                                  "WebServerMode": "Admin",
                                  "Hostname": "uSi-NSPanel1",
                                  "IPAddress": "192.168.2.114"
                                  }
                                  }

                                  Tausche die mal kurz aus durch

                                  function get_current_tasmota_ip_address() {
                                      try {
                                          const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                          const infoObj = JSON.parse(getState(infoObjId).val);
                                  
                                          console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                                  
                                          return infoObj.Info2.IPAddress;
                                      } catch (err) {
                                          console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                      }
                                  }
                                  

                                  und starte das Script erneut

                                  Super, keine Fehler nur noch Warnungen. In '0_userdata.0.NSPanel.1.NSPanel_ipAddress' steht aber keine IP-Adresse sondern '{"ack":true}'! Es sind viel mehr einträge in '0_userdata.0.NSPanel.1' vorhanden aber Panel wartet immer noch.
                                  e5ffd693-0dfd-466e-ad53-b3cdc9589432-grafik.png

                                  Zeige mal deine Einstellungen unter:

                                  export const config: Config = {
                                      panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                      panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                                  

                                  und am besten noch einen Screenshot vom mqtt.0. , in dem man den gesamten Pfad sehen kann

                                  mach ich
                                  5e7461d1-99da-4bc6-95dc-5e7177da39ea-grafik.png

                                  3d7f1e54-0f80-4522-b6a2-f861edd6a486-grafik.png

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @uSi last edited by Armilar

                                    @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                    @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                    @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                    @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                    @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                    @armilar Das ging ja rasend schnell - Danke!
                                    Das steht drin:
                                    {
                                    "Info2": {
                                    "WebServerMode": "Admin",
                                    "Hostname": "uSi-NSPanel1",
                                    "IPAddress": "192.168.2.114"
                                    }
                                    }

                                    Tausche die mal kurz aus durch

                                    function get_current_tasmota_ip_address() {
                                        try {
                                            const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                            const infoObj = JSON.parse(getState(infoObjId).val);
                                    
                                            console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                                    
                                            return infoObj.Info2.IPAddress;
                                        } catch (err) {
                                            console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                        }
                                    }
                                    

                                    und starte das Script erneut

                                    Super, keine Fehler nur noch Warnungen. In '0_userdata.0.NSPanel.1.NSPanel_ipAddress' steht aber keine IP-Adresse sondern '{"ack":true}'! Es sind viel mehr einträge in '0_userdata.0.NSPanel.1' vorhanden aber Panel wartet immer noch.
                                    e5ffd693-0dfd-466e-ad53-b3cdc9589432-grafik.png

                                    Zeige mal deine Einstellungen unter:

                                    export const config: Config = {
                                        panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                        panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                                    

                                    und am besten noch einen Screenshot vom mqtt.0. , in dem man den gesamten Pfad sehen kann

                                    mach ich
                                    5e7461d1-99da-4bc6-95dc-5e7177da39ea-grafik.png

                                    3d7f1e54-0f80-4522-b6a2-f861edd6a486-grafik.png

                                    Ändere bitte mal deine Pfade im TS-Script auf "Smarthome" statt "SmartHome". Dann sollte es gehen... Der kann sonst wirklich nicht den Inhalt sehen. Groß- und Kleinschreibung ist sehr wichtig...

                                    Bei beiden Einträgen in der export const config: Config = {

                                    U 1 Reply Last reply Reply Quote 0
                                    • U
                                      uSi @Armilar last edited by

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                      @armilar Das ging ja rasend schnell - Danke!
                                      Das steht drin:
                                      {
                                      "Info2": {
                                      "WebServerMode": "Admin",
                                      "Hostname": "uSi-NSPanel1",
                                      "IPAddress": "192.168.2.114"
                                      }
                                      }

                                      Tausche die mal kurz aus durch

                                      function get_current_tasmota_ip_address() {
                                          try {
                                              const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                              const infoObj = JSON.parse(getState(infoObjId).val);
                                      
                                              console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                                      
                                              return infoObj.Info2.IPAddress;
                                          } catch (err) {
                                              console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                          }
                                      }
                                      

                                      und starte das Script erneut

                                      Super, keine Fehler nur noch Warnungen. In '0_userdata.0.NSPanel.1.NSPanel_ipAddress' steht aber keine IP-Adresse sondern '{"ack":true}'! Es sind viel mehr einträge in '0_userdata.0.NSPanel.1' vorhanden aber Panel wartet immer noch.
                                      e5ffd693-0dfd-466e-ad53-b3cdc9589432-grafik.png

                                      Zeige mal deine Einstellungen unter:

                                      export const config: Config = {
                                          panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                          panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                                      

                                      und am besten noch einen Screenshot vom mqtt.0. , in dem man den gesamten Pfad sehen kann

                                      mach ich
                                      5e7461d1-99da-4bc6-95dc-5e7177da39ea-grafik.png

                                      3d7f1e54-0f80-4522-b6a2-f861edd6a486-grafik.png

                                      Ändere bitte mal deine Pfade im TS-Script auf "Smarthome" statt "SmartHome". Dann sollte es gehen... Der kann sonst wirklich nicht den Inhalt sehen. Groß- und Kleinschreibung ist sehr wichtig...

                                      Bei beiden Einträgen in der export const config: Config = {

                                      Herzlichen Dank - Jetzt hat's geklappt!

                                      Armilar 1 Reply Last reply Reply Quote 0
                                      • E
                                        Elluminatus @Armilar last edited by Elluminatus

                                        @armilar Hi ich ergänze mal mit meinem Aufbau in gleicher Art und Weise:

                                        Also bei mir nicht unter userdata da installierter Adapter:

                                        LMS13.jpg

                                        der Alias:

                                        LMS14.jpg

                                        im TS-Script:

                                        var SpotifyPremium: PageMedia = 
                                        {
                                            "type": "cardMedia",
                                            "heading": "Musikwiedergabe Küche",
                                            "useColor": true,
                                            "subPage": false,
                                            "parent": undefined,
                                            "items": [<PageItem>{ 
                                                        id: "alias.0.Media.LMS.KE_HWR", 
                                                        adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                                        speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                                                     }] 
                                        };
                                        

                                        Hier noch kurz eine Frage. Die kleinen state Fotos sind aus dem Adapter, nicht die state aus dem alias?

                                        Den die state im Adapter sind nummerisch 0,1,2 und der state im alias ist wie gesagt ein und ausschalten und ist ja true /false

                                        Weiter geht es also mit den state im squeezeboxrpc.0.Players.piCoreKUE.state

                                        ich drücke im NSPanel Pause und der Wert ist

                                        LMS15.jpg

                                        Ich drücke nochmal auf Pause und der Wert ist

                                        LMS16.jpg

                                        Nochmal auf Pause gedrückt

                                        LMS17.jpg

                                        Drücke ich auf den Power Button

                                        LMS18.jpg

                                        So wie es bei Dir läuft kann ich es mit der Handy App Ipeng reproduzieren. Da ist Pause dann 0, erneuter Druck geht auf Play Icon und 1 und drücke ich den Power Button geht es auf 2. Aber eben nicht beim NSPanel.

                                        Ach und hier zur Vollständigkeit noch:

                                        LMS19.jpg

                                        LMS20.jpg

                                        LMS21.jpg

                                        Sorry für den ganzen Umstand. Gruß Elluminatus

                                        Armilar 1 Reply Last reply Reply Quote 0
                                        • Armilar
                                          Armilar Most Active Forum Testing @uSi last edited by

                                          @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                          @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                          @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                          @usi sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar Das ging ja rasend schnell - Danke!
                                          Das steht drin:
                                          {
                                          "Info2": {
                                          "WebServerMode": "Admin",
                                          "Hostname": "uSi-NSPanel1",
                                          "IPAddress": "192.168.2.114"
                                          }
                                          }

                                          Tausche die mal kurz aus durch

                                          function get_current_tasmota_ip_address() {
                                              try {
                                                  const infoObjId = config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'INFO2';
                                                  const infoObj = JSON.parse(getState(infoObjId).val);
                                          
                                                  console.log(`get_current_tasmota_ip_address: ${infoObj.Info2.IPAddress}`);
                                          
                                                  return infoObj.Info2.IPAddress;
                                              } catch (err) {
                                                  console.warn('function get_current_tasmota_ip_address: ' + err.message);
                                              }
                                          }
                                          

                                          und starte das Script erneut

                                          Super, keine Fehler nur noch Warnungen. In '0_userdata.0.NSPanel.1.NSPanel_ipAddress' steht aber keine IP-Adresse sondern '{"ack":true}'! Es sind viel mehr einträge in '0_userdata.0.NSPanel.1' vorhanden aber Panel wartet immer noch.
                                          e5ffd693-0dfd-466e-ad53-b3cdc9589432-grafik.png

                                          Zeige mal deine Einstellungen unter:

                                          export const config: Config = {
                                              panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
                                              panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
                                          

                                          und am besten noch einen Screenshot vom mqtt.0. , in dem man den gesamten Pfad sehen kann

                                          mach ich
                                          5e7461d1-99da-4bc6-95dc-5e7177da39ea-grafik.png

                                          3d7f1e54-0f80-4522-b6a2-f861edd6a486-grafik.png

                                          Ändere bitte mal deine Pfade im TS-Script auf "Smarthome" statt "SmartHome". Dann sollte es gehen... Der kann sonst wirklich nicht den Inhalt sehen. Groß- und Kleinschreibung ist sehr wichtig...

                                          Bei beiden Einträgen in der export const config: Config = {

                                          Herzlichen Dank - Jetzt hat's geklappt!

                                          Gerne - Die meisten Fehler sind eher banal - aber manchmal sieht man den Wald vor lauter Bäumen nicht 😉

                                          Viel Spaß mit dem Panel

                                          1 Reply Last reply Reply Quote 0
                                          • Armilar
                                            Armilar Most Active Forum Testing @Elluminatus last edited by

                                            @elluminatus sagte in SONOFF NSPanel mit Lovelace UI:

                                            @armilar Hi ich ergänze mal mit meinem Aufbau in gleicher Art und Weise:

                                            Also bei mir nicht unter userdata da installierter Adapter:

                                            LMS13.jpg

                                            der Alias:

                                            LMS14.jpg

                                            im TS-Script:

                                            var SpotifyPremium: PageMedia = 
                                            {
                                                "type": "cardMedia",
                                                "heading": "Musikwiedergabe Küche",
                                                "useColor": true,
                                                "subPage": false,
                                                "parent": undefined,
                                                "items": [<PageItem>{ 
                                                            id: "alias.0.Media.LMS.KE_HWR", 
                                                            adapterPlayerInstance: "squeezeboxrpc.0.Players.piCoreKUE.",
                                                            speakerList: ['LENOVO-W11-X','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero']
                                                         }] 
                                            };
                                            

                                            Hier noch kurz eine Frage. Die kleinen state Fotos sind aus dem Adapter, nicht die state aus dem alias?

                                            Den die state im Adapter sind nummerisch 0,1,2 und der state im alias ist wie gesagt ein und ausschalten und ist ja true /false

                                            Weiter geht es also mit den state im squeezeboxrpc.0.Players.piCoreKUE.state

                                            ich drücke im NSPanel Pause und der Wert ist

                                            LMS15.jpg

                                            Ich drücke nochmal auf Pause und der Wert ist

                                            LMS16.jpg

                                            Nochmal auf Pause gedrückt

                                            LMS17.jpg

                                            Drücke ich auf den Power Button

                                            LMS18.jpg

                                            So wie es bei Dir läuft kann ich es mit der Handy App Ipeng reproduzieren. Da ist Pause dann 0, erneuter Druck geht auf Play Icon und 1 und drücke ich den Power Button geht es auf 2. Aber eben nicht beim NSPanel.

                                            Ach und hier zur Vollständigkeit noch:

                                            LMS19.jpg

                                            LMS20.jpg

                                            LMS21.jpg

                                            Sorry für den ganzen Umstand. Gruß Elluminatus

                                            Versuche die wundersame Welt gerade zu verstehen. Aber so sehr ich mich auch anstrenge - es gelingt mir nicht. Analyse

                                            Fangen wir bei Power an:
                                            Sobald der gedrückt wird sendet das Panel über Tasmota ein on/off. Das TS-Skript wertet es aus und bedient den ALIAS-DP Stop mit true - Dein Alias Datenpunkt STOP hat eine Funktion die in den Datenpunkt eine 2 schreibt. Aber es steht eine 1 drin. Kann mir das einer erklären? 😕

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            816
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            263
                                            7230
                                            4961066
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo