Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

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

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

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

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    TT-Tom
    wrote on last edited by
    #6458

    @lustig29
    Ja es ist ein Adapter in Planung. Der über die Admin Oberfläche konfiguriert wird. Die HMI ist noch in der Planungsphase.

    Gruß Tom
    https://github.com/tt-tom17
    Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

    NSPanel Script Wiki
    https://github.com/joBr99/nspanel-lovelace-ui/wiki

    NSPanel Adapter Wiki
    https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

    W 1 Reply Last reply
    1
    • T TT-Tom

      @lustig29
      Ja es ist ein Adapter in Planung. Der über die Admin Oberfläche konfiguriert wird. Die HMI ist noch in der Planungsphase.

      W Offline
      W Offline
      wolwin
      wrote on last edited by
      #6459

      Zuerst einmal: vielen Dank für eure Arbeit - super!!

      Trotzdem brauche ich mal Unterstützung ...

      Auf dem NSPanel ist Tasmota 13.4 und die Display Firmware nspanel-v4.4.0.tft installiert (mit Tasmota 14.2 konnte v4.4.0 nicht aufgespielt werden). Als MQTT-Server wird ein externer Mosquitto Server benutzt. Unter HomeAssistant konnte das NSPanel erfolgreich in Betrieb genommen werden - läuft. Da ich einen Vergleich mit dem ioBroker wollte, habe ich auch hier die Installation mit dem DEV-Script v4.4.0.6 (wg. MQTT-Client) durchgeführt.

      Hier passiert der erste Fehler: der automatische Updater im Script knallt bei der Erstinstallation des NSPanels im ioBroker den Display Firmware 3.3.1 auf das NSPanel, obwohl schon die benötigte 4.4.0 auf dem Gerät war. Ergebnis: um 90 Grad gedrehte Fehlermeldung im Display. Mit dem Befehl

      FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.4.0.tft
      

      in der Tasmota Konsole kann das wieder bereinigt werden ...

      Als Reminder würde ich einen Feature Request vorschlagen:

      • Auto-Config Flags für das Unterdücken eines Auto-Updates in den Funktionen
        • update_tasmota_firmware();
        • update_berry_driver_version();
        • update_tft_firmware();
          jeweils im vor dem try-Bereich

      Dann wird das Script erneut gestartet, aber es wird nichts über den MQTT-Server Richtung NSPanel geschickt. 0_userdate und alias sind vom Script richtig erzeugt worden, auch der CustomSend Eintrag ist vorhanden. Die MQTT publish Geräte-Einstellung ist für CustomSend, GetDriverVersion und POWER gesetzt. Stattdessen wird alle 6 Sekunden die Init-Schleife durchlaufen (CustomSend = Null)

      26.9.2024, 19:00:30.124	[info ]: javascript.0 (600) Compiling TypeScript source script.js.common.NSPanel.NSPanelTs_073
      26.9.2024, 19:00:30.500	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: source code did not change, using cached compilation result...
      26.9.2024, 19:00:30.678	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: setObjects enabled - create Alias Channels possible
      26.9.2024, 19:00:30.679	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: weather alias for accuweather.0. already exists
      26.9.2024, 19:00:30.710	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: registered 40 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
      26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
      26.9.2024, 19:00:31.081	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Debug mode disabled
      26.9.2024, 19:00:32.060	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: hidden Cards disabled
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Start MQTT-Port-Check -------------------------------------
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- admin.0                   - 8081
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.0                  - 0
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.1                  - 0
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.2                  - 0
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.3                  - 0
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- mqtt-client.0             - 1883
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- simple-api.0              - 8087
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- web.0                     - 8082
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: - MQTT-Port-Check OK: Instance of Adapter: mqtt-client.0 is running on Port:1883
      26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: End MQTT-Port-Check ---------------------------------------
      26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
      26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
      26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
      26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
      
      

      Bei der Jscript Version 8.8.3 sind die NPM Modulen axios, moment, moment-parseformat und dayjs angegeben.

      Was habe ich übersehen - wo ist der Fehler?

      ArmilarA 1 Reply Last reply
      0
      • ArmilarA Armilar

        @lustig29

        Ah okay - HA-Dashboard - verstanden 😁

        geht nicht mit dem Sonoff NSPanel - aber mit dem Sonoff NSPanel Pro. 😊 (andere Baustelle)

        Sowohl das NSPanel Pro als auch das Shelly Wall Display arbeiten nicht unter ESP32/Tasmota mit Nextion, sondern sind ganz normale Android-Geräte.

        Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

        Preislich liegen Shelly Wall Display und NSPanel Pro nah zusammen - aber immer noch ca. 60€ über dem NSPanel (habe die meisten bei ca. 40€ geschossen). Daher bleibt das NSPanel wohl die günstigste komplett Visu für das komplette Smart Home 😉

        K Offline
        K Offline
        Kuckuckmann
        wrote on last edited by
        #6460

        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

        @lustig29

        Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

        Klaro, Shelly hat auf der IFA ja bekannt gegeben, dass sie mit HA nun auch kooperieren. Klingt für mich nur logisch, dass man dann die App nativ auf dem Gerät installieren/nutzen kann.

        LG

        NSPanel Dokumentation im GitHub Wiki:

        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        1 Reply Last reply
        0
        • W wolwin

          Zuerst einmal: vielen Dank für eure Arbeit - super!!

          Trotzdem brauche ich mal Unterstützung ...

          Auf dem NSPanel ist Tasmota 13.4 und die Display Firmware nspanel-v4.4.0.tft installiert (mit Tasmota 14.2 konnte v4.4.0 nicht aufgespielt werden). Als MQTT-Server wird ein externer Mosquitto Server benutzt. Unter HomeAssistant konnte das NSPanel erfolgreich in Betrieb genommen werden - läuft. Da ich einen Vergleich mit dem ioBroker wollte, habe ich auch hier die Installation mit dem DEV-Script v4.4.0.6 (wg. MQTT-Client) durchgeführt.

          Hier passiert der erste Fehler: der automatische Updater im Script knallt bei der Erstinstallation des NSPanels im ioBroker den Display Firmware 3.3.1 auf das NSPanel, obwohl schon die benötigte 4.4.0 auf dem Gerät war. Ergebnis: um 90 Grad gedrehte Fehlermeldung im Display. Mit dem Befehl

          FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v4.4.0.tft
          

          in der Tasmota Konsole kann das wieder bereinigt werden ...

          Als Reminder würde ich einen Feature Request vorschlagen:

          • Auto-Config Flags für das Unterdücken eines Auto-Updates in den Funktionen
            • update_tasmota_firmware();
            • update_berry_driver_version();
            • update_tft_firmware();
              jeweils im vor dem try-Bereich

          Dann wird das Script erneut gestartet, aber es wird nichts über den MQTT-Server Richtung NSPanel geschickt. 0_userdate und alias sind vom Script richtig erzeugt worden, auch der CustomSend Eintrag ist vorhanden. Die MQTT publish Geräte-Einstellung ist für CustomSend, GetDriverVersion und POWER gesetzt. Stattdessen wird alle 6 Sekunden die Init-Schleife durchlaufen (CustomSend = Null)

          26.9.2024, 19:00:30.124	[info ]: javascript.0 (600) Compiling TypeScript source script.js.common.NSPanel.NSPanelTs_073
          26.9.2024, 19:00:30.500	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: source code did not change, using cached compilation result...
          26.9.2024, 19:00:30.678	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: setObjects enabled - create Alias Channels possible
          26.9.2024, 19:00:30.679	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: weather alias for accuweather.0. already exists
          26.9.2024, 19:00:30.710	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: registered 40 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
          26.9.2024, 19:00:30.974	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
          26.9.2024, 19:00:31.081	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Debug mode disabled
          26.9.2024, 19:00:32.060	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: hidden Cards disabled
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Start MQTT-Port-Check -------------------------------------
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- admin.0                   - 8081
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.0                  - 0
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.1                  - 0
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.2                  - 0
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- hm-rpc.3                  - 0
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- mqtt-client.0             - 1883
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- simple-api.0              - 8087
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: -- web.0                     - 8082
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: - MQTT-Port-Check OK: Instance of Adapter: mqtt-client.0 is running on Port:1883
          26.9.2024, 19:00:33.611	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: End MQTT-Port-Check ---------------------------------------
          26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
          26.9.2024, 19:00:34.808	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
          26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Desired TFT Firmware: 53 / v4.4.0
          26.9.2024, 19:00:40.797	[info ]: javascript.0 (600) script.js.common.NSPanel.NSPanelTs_073: Installed TFT Firmware: 53 / v4.4.0
          
          

          Bei der Jscript Version 8.8.3 sind die NPM Modulen axios, moment, moment-parseformat und dayjs angegeben.

          Was habe ich übersehen - wo ist der Fehler?

          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          wrote on last edited by Armilar
          #6461

          @wolwin

          Zum MQTT Thema zu einem externen Mosquitto-Server kann die bestimmt @TT-Tom etwas mehr erzählen. Ich denke der Weg über den mqtt.0 wäre für die bidirektionale Kommunikation geeigneter als der mqtt-client. Habe letztens auch eine Kombination aus beiden gesehen:

          https://forum.iobroker.net/topic/76996/mqtt-broker-client-sendet-nur-beim-start?page=1

          eventuell hilft es dir weiter...


          Zum Thema Auto-Updates:

          Es gibt bereits einen Datenpunkt der per Default mit false angelegt wird und für Auto-Updates zuständig ist.

          Ich kann den Fehler weder reproduzieren, noch gibt es einen Hinweis auf eine TFT-Version 3.3.1 in den Skripten v4.4.X

          Kann es sein, dass du das NSPanel auch vorher schon mit einer Version 3.3.1 im ioBroker am Laufen hattest und der Ordner des NSPanels noch vorhanden war? Ansonsten könnte ich mir das Verhalten nicht erklären.

          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.

          W 1 Reply Last reply
          0
          • ArmilarA Armilar

            @wolwin

            Zum MQTT Thema zu einem externen Mosquitto-Server kann die bestimmt @TT-Tom etwas mehr erzählen. Ich denke der Weg über den mqtt.0 wäre für die bidirektionale Kommunikation geeigneter als der mqtt-client. Habe letztens auch eine Kombination aus beiden gesehen:

            https://forum.iobroker.net/topic/76996/mqtt-broker-client-sendet-nur-beim-start?page=1

            eventuell hilft es dir weiter...


            Zum Thema Auto-Updates:

            Es gibt bereits einen Datenpunkt der per Default mit false angelegt wird und für Auto-Updates zuständig ist.

            Ich kann den Fehler weder reproduzieren, noch gibt es einen Hinweis auf eine TFT-Version 3.3.1 in den Skripten v4.4.X

            Kann es sein, dass du das NSPanel auch vorher schon mit einer Version 3.3.1 im ioBroker am Laufen hattest und der Ordner des NSPanels noch vorhanden war? Ansonsten könnte ich mir das Verhalten nicht erklären.

            W Offline
            W Offline
            wolwin
            wrote on last edited by wolwin
            #6462

            @armilar
            Danke für die schnelle Antwort!

            Bei dem Update-Problem waren die 0_userdate und alias Einträge vorher gelöscht worden - war für mich reproduzierbar. Ich bin davon ausgegangen, dass sich der Updater eine 'falsche' Default Datei holt ...
            Werde morgen den Test-ioBroker (Proxmox) mal zurücksetzen und das ganze nochmal verifizieren.
            Kannst Du mir sagen, bei welcher Zeile der zu sendende MQTT Code für das Versenden bereitsteht ... dann brauche ich nicht den gesamten Code durchsehen - ich will ein bischen debuggen. Danke!

            ArmilarA 1 Reply Last reply
            0
            • W wolwin

              @armilar
              Danke für die schnelle Antwort!

              Bei dem Update-Problem waren die 0_userdate und alias Einträge vorher gelöscht worden - war für mich reproduzierbar. Ich bin davon ausgegangen, dass sich der Updater eine 'falsche' Default Datei holt ...
              Werde morgen den Test-ioBroker (Proxmox) mal zurücksetzen und das ganze nochmal verifizieren.
              Kannst Du mir sagen, bei welcher Zeile der zu sendende MQTT Code für das Versenden bereitsteht ... dann brauche ich nicht den gesamten Code durchsehen - ich will ein bischen debuggen. Danke!

              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              wrote on last edited by Armilar
              #6463

              @wolwin

              Für das NSPanel in:

              ffef341e-cb9b-4890-99a3-01a8311fbe4a-image.png

              Dein Problem dürfte aber ein paar Zeilen drunter sein, dass der startup nicht durchgeht...

              7a3c5d09-a168-4171-b46f-6629884424c6-image.png

              Das wäre also das, was über den tele.RESULT vom NSPanel kommt.

              Bestenfalls mal den mqtt.0 nutzen. Irgendetwas stimmt in deiner MQTT-Kommunikation nicht...

              Wie du aber siehst, sollte das Script-Debug (ebenfalls per DP oder Menü aktivierbar) schon die Antworten liefern.

              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 Reply Last reply
              1
              • ArmilarA Armilar

                @lustig29

                Ah okay - HA-Dashboard - verstanden 😁

                geht nicht mit dem Sonoff NSPanel - aber mit dem Sonoff NSPanel Pro. 😊 (andere Baustelle)

                Sowohl das NSPanel Pro als auch das Shelly Wall Display arbeiten nicht unter ESP32/Tasmota mit Nextion, sondern sind ganz normale Android-Geräte.

                Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA. Auf dem NSPanel Pro kannst du mit den bekannten Hacks z.B. eine ioBroker VIS als Webseite laden...

                Preislich liegen Shelly Wall Display und NSPanel Pro nah zusammen - aber immer noch ca. 60€ über dem NSPanel (habe die meisten bei ca. 40€ geschossen). Daher bleibt das NSPanel wohl die günstigste komplett Visu für das komplette Smart Home 😉

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                wrote on last edited by
                #6464

                @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                Beim Shelly Wall Display, funktioniert das ohne Jailbreak offensichtlich nur mit HA.

                Man kann die URL auch manuell angeben. Sieht ja erstmal aus wie ein normaler Browser. Könnte mir gut vorstellen, dass man damit jede beliebige Seite aufrufen kann. Muss ich mal testen, gestern wenig Zeit gehabt.

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                1 Reply Last reply
                1
                • W Offline
                  W Offline
                  wolwin
                  wrote on last edited by wolwin
                  #6465

                  @armilar
                  Dein Tipp zum Einstiegspunkt war genau richtig ...

                  @Alle
                  Wie in der ioBroker Basisinstallation beschrieben, hatte ich auf dem MQTT-Server mit dem MQTT-Explorer den CMND-Topic über PUBLISH (json) angelegt:

                  myHOME/devices/nspanel_xyz/cmnd/CustomSend

                  Im ioBroker taucht der Eintrag dann auch im MQTT-Client auf ... und jetzt ganz wichtig: mit dem Wert (null) - und genau DAS war mein Fehler: ich hatte übersehen, dass mit dem Topic auch '12:00' als Wert mit zu übergeben ist, damit der Topic eben NICHT (null) ist!!!

                  Achtung: wenn man den MQTT-Client einsetzt, wird der Wert '12:00' NICHT im ioBroker gesetzt - dh. der MQTT-Pfad wird erzeugt, aber der Wert steht auf (null) und nicht auf '12:00'. Es muss zuerst für 'CustomSend' die Publish-Funktion aktiviert werden (Zahnrad rechte Seite) - erst jetzt kann man nochmal den Wert mit dem MQTT-Explorer publischen oder den Wert '12:00' direkt im ioBroker unter 'CustomSend' eingeben.

                  Anmerkung: ich habe im MQTT-Client für alle Topics des NSPanels das Publish-Flag gesetzt.

                  Erläuterung: ... für die Experten, warum dieser kleine Fehler dazu geführt hat, dass das NSPanel nicht angelaufen ist ...
                  Alle MQTT-Ausgaben im Script laufen über die Funktion 'setIfExists'. In dieser Funktion wird mit der JS-Funktion 'existsState' überprüft, ob die Objekt-Instanz vorhanden ist. Im vorliegenden Fall zeigt die Instanz bei mir auf:
                  mqtt-client.0.myHOME.devices.nspanel_xyz.cmnd.CustomSend
                  Beim Starten des Skripts war der MQTT-Pfad im Objektbaum zwar vorhanden, jedoch sorgte '(null)' dafür, dass die JS-Funktion 'existsState' in der Script-Funktion 'setIfExists' immer 'false' zurück gibt ... Ergebnis: es fand keine MQTT-Ausgabe zum NSPanel statt. Sobald im MQTT-Client Topic etwas eingetragen wurde, läuft die Verbindung zum NSPanel sofort an.

                  @armilar
                  Beim Debuggen sind mir noch zwei Dinge aufgefallen, die Du bitte noch korrigieren kannst:

                  1.) Fehler Zeile 1074 - a enthält 'mqtt' oder 'mqtt-client'

                      Original:   if (a === 'mqtt' && !isNaN(Number(i))) {
                           Neu:   if (a.substring(0, 4) === 'mqtt' && !isNaN(Number(i))) {
                  

                  2.) Fehlende Debug-Ausgabe in Funktion 'SendToPanel' hinzugefügt - ab Zeile 3520

                  async function SendToPanel(val: NSPanel.Payload | NSPanel.Payload[]) {
                      try {
                          if (Array.isArray(val)) {
                              val.forEach(function (id) {
                                  setIfExists(config.panelSendTopic, id.payload);
                                  if (Debug) {
                                      log('function SendToPanel id-payload: ' + id.payload, 'info');
                                  }
                              });
                          } else {
                              setIfExists(config.panelSendTopic, val.payload);
                              if (Debug) {
                                  log('function SendToPanel val-payload: ' + val.payload, 'info');
                              }
                          }
                      } catch (err: any) {
                          log('error at function SendToPanel: ' + err.message, 'warn');
                      }
                  }
                  
                  

                  Danke für die Unterstützung - ich hoffe der Beitrag hilft den Leuten, die nur einen MQTT-Client einsetzen 😊

                  ArmilarA 1 Reply Last reply
                  2
                  • W wolwin

                    @armilar
                    Dein Tipp zum Einstiegspunkt war genau richtig ...

                    @Alle
                    Wie in der ioBroker Basisinstallation beschrieben, hatte ich auf dem MQTT-Server mit dem MQTT-Explorer den CMND-Topic über PUBLISH (json) angelegt:

                    myHOME/devices/nspanel_xyz/cmnd/CustomSend

                    Im ioBroker taucht der Eintrag dann auch im MQTT-Client auf ... und jetzt ganz wichtig: mit dem Wert (null) - und genau DAS war mein Fehler: ich hatte übersehen, dass mit dem Topic auch '12:00' als Wert mit zu übergeben ist, damit der Topic eben NICHT (null) ist!!!

                    Achtung: wenn man den MQTT-Client einsetzt, wird der Wert '12:00' NICHT im ioBroker gesetzt - dh. der MQTT-Pfad wird erzeugt, aber der Wert steht auf (null) und nicht auf '12:00'. Es muss zuerst für 'CustomSend' die Publish-Funktion aktiviert werden (Zahnrad rechte Seite) - erst jetzt kann man nochmal den Wert mit dem MQTT-Explorer publischen oder den Wert '12:00' direkt im ioBroker unter 'CustomSend' eingeben.

                    Anmerkung: ich habe im MQTT-Client für alle Topics des NSPanels das Publish-Flag gesetzt.

                    Erläuterung: ... für die Experten, warum dieser kleine Fehler dazu geführt hat, dass das NSPanel nicht angelaufen ist ...
                    Alle MQTT-Ausgaben im Script laufen über die Funktion 'setIfExists'. In dieser Funktion wird mit der JS-Funktion 'existsState' überprüft, ob die Objekt-Instanz vorhanden ist. Im vorliegenden Fall zeigt die Instanz bei mir auf:
                    mqtt-client.0.myHOME.devices.nspanel_xyz.cmnd.CustomSend
                    Beim Starten des Skripts war der MQTT-Pfad im Objektbaum zwar vorhanden, jedoch sorgte '(null)' dafür, dass die JS-Funktion 'existsState' in der Script-Funktion 'setIfExists' immer 'false' zurück gibt ... Ergebnis: es fand keine MQTT-Ausgabe zum NSPanel statt. Sobald im MQTT-Client Topic etwas eingetragen wurde, läuft die Verbindung zum NSPanel sofort an.

                    @armilar
                    Beim Debuggen sind mir noch zwei Dinge aufgefallen, die Du bitte noch korrigieren kannst:

                    1.) Fehler Zeile 1074 - a enthält 'mqtt' oder 'mqtt-client'

                        Original:   if (a === 'mqtt' && !isNaN(Number(i))) {
                             Neu:   if (a.substring(0, 4) === 'mqtt' && !isNaN(Number(i))) {
                    

                    2.) Fehlende Debug-Ausgabe in Funktion 'SendToPanel' hinzugefügt - ab Zeile 3520

                    async function SendToPanel(val: NSPanel.Payload | NSPanel.Payload[]) {
                        try {
                            if (Array.isArray(val)) {
                                val.forEach(function (id) {
                                    setIfExists(config.panelSendTopic, id.payload);
                                    if (Debug) {
                                        log('function SendToPanel id-payload: ' + id.payload, 'info');
                                    }
                                });
                            } else {
                                setIfExists(config.panelSendTopic, val.payload);
                                if (Debug) {
                                    log('function SendToPanel val-payload: ' + val.payload, 'info');
                                }
                            }
                        } catch (err: any) {
                            log('error at function SendToPanel: ' + err.message, 'warn');
                        }
                    }
                    
                    

                    Danke für die Unterstützung - ich hoffe der Beitrag hilft den Leuten, die nur einen MQTT-Client einsetzen 😊

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    wrote on last edited by
                    #6466

                    @wolwin

                    Vielen Dank für den Beitrag...

                    Wir werden die Anleitung für den MQTT-Client Adapter mit ins Wiki übernehmen... Auch die beiden Änderungen machen im Kontext mit dem MQTT-Client Adapter sinn...

                    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.

                    ArmilarA 1 Reply Last reply
                    0
                    • ArmilarA Armilar

                      @wolwin

                      Vielen Dank für den Beitrag...

                      Wir werden die Anleitung für den MQTT-Client Adapter mit ins Wiki übernehmen... Auch die beiden Änderungen machen im Kontext mit dem MQTT-Client Adapter sinn...

                      ArmilarA Offline
                      ArmilarA Offline
                      Armilar
                      Most Active Forum Testing
                      wrote on last edited by Armilar
                      #6467

                      840e6e36-0fbe-42cb-85f5-c67273e3d418-image.png

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

                      Änderungen betreffen ausschließlich den unteren Teil ab:

                      5f868619-ca74-45cb-ac87-8d1ee6aff0f9-image.png

                      PR hatte @TT-Tom schon vorbereitet 😊

                      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.

                      W 1 Reply Last reply
                      2
                      • ArmilarA Armilar

                        840e6e36-0fbe-42cb-85f5-c67273e3d418-image.png

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

                        Änderungen betreffen ausschließlich den unteren Teil ab:

                        5f868619-ca74-45cb-ac87-8d1ee6aff0f9-image.png

                        PR hatte @TT-Tom schon vorbereitet 😊

                        W Offline
                        W Offline
                        wolwin
                        wrote on last edited by
                        #6468

                        @armilar

                        ... und da ist ja noch die Sache mit der manuellen Erstinstallation eines NSPanels im ioBroker ...

                        Gut, dass es Proxmox gibt ... nach vielen Debug-Sitzungen mit einer minimal Default-Konfiguration denke ich, dass ich jetzt verstanden habe, warum und wann der beschriebene Fehler auftritt: beim erstmaligen Start des Scripts installiert der automatische Updater (bei mir reproduzierbar) die online TFT-Firmware, obwohl die aktuelle Firmware auf dem NSPanel vorhanden ist. Das Ganze endet immer mit einer um 90 Grad gedrehten Fehlermeldung im Display des NSPanels.

                        Zuerst habe ich im ioBroker / Script gesucht, warum dort die Firmware 3.3.1 eingetragen ist - gefunden habe ich folgendes unter:

                        0_userdata.0.nspanel_073.1.Display_Firmware.TFT.currentVersion = 0 / v3.3.1

                        Erzeugt wird dieser Eintrag an dieser Stelle (ab Scriptzeile1266):

                        async function Init_Release() {
                            const FWVersion = [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56];
                            const FWRelease = ['3.3.1', '3.4.0', '3.5.0', '3.5.X', '3.6.0', '3.7.3', '3.8.0', '3.8.3', '3.9.4', '4.0.5', '4.1.4', '4.2.1', '4.4.0', '4.4.0', '4.5.0', '4.6.0'];
                            try {
                                if (existsObject(NSPanel_Path + 'Display_Firmware.desiredVersion') == false) {
                                    await createStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, { type: 'number', write: false });
                                } else {
                                    await setStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, true);
                                }
                        
                                if (existsObject(NSPanel_Path + 'Config.Update.activ') == false) {
                                    await createStateAsync(NSPanel_Path + 'Config.Update.activ', 1, { type: 'number', write: false });
                                } else {
                                    await setStateAsync(NSPanel_Path + 'Config.Update.activ', 0, true);
                                }
                        
                                let currentFW = 0;
                                let findFWIndex = 0;
                                log('Desired TFT Firmware: ' + desired_display_firmware_version + ' / ' + tft_version, 'info');
                                if (existsObject(NSPanel_Path + 'Display_Firmware.currentVersion')) {
                                    currentFW = parseInt(getState(NSPanel_Path + 'Display_Firmware.currentVersion').val);
                                    findFWIndex = FWVersion.indexOf(currentFW);
                                    log('Installed TFT Firmware: ' + currentFW + ' / v' + FWRelease[findFWIndex], 'info');
                                }
                        

                        Beim ersten Durchlauf gibt es zwar das Objekt 'Display_Firmware.currentVersion', aber der Inhalt ist leer ... das führt dann zu dem Index '0', der dann aus 'FWRelease' den ersten Eintrag '3.3.1' nimmt ... und schon steht '0 / v3.3.1' als aktuelle TFT-Firmware Version da (btw: besser wäre bei 'unbekannt' der Eintrag '0 / v0' gewesen).

                        Aber warum kommt es überhaupt soweit, dass der Objekt-Eintrag leer ist? Der Knackpunkt liegt in den Scriptzeilen ab Zeile 2687:

                        // Updates currently compare every 12 hours
                        let scheduleCheckUpdates = adapterSchedule(undefined, 60 * 60 * 12, () => {
                            get_tasmota_status0();
                            get_panel_update_data();
                            check_updates();
                        });
                        
                        // Check for updates with Start
                        get_locales();
                        get_locales_servicemenu();
                        setIfExists(config.panelSendTopic, 'pageType~pageStartup');
                        get_tasmota_status0();
                        get_panel_update_data();
                        check_updates();
                        

                        Nach Aufruf der Initialisierungsfunktionen sollen beim Start die Updates gecheckt werden (8 ... 14) - dabei werden dann auch fehlende Objekt-Einträge automatisch angelegt. Gleichzeitig ist jedoch auch der Scheduler 'scheduleCheckUpdates' gestartet worden (2 ... 6) ... und hier lauert jetzt der Fehler: der startet (direkt) parallel zum laufenden Update-Prozess einen zweiten Update-Prozess, in dem die gleichen Funktionen 'get_tasmota_status0', 'get_panel_update_data' und 'check_updates' aufgerufen werden. So kommt es dann zu einer 'undefinierten Initialisierung' - zufällig wird bei mir eben die TFT-Firmware aktualisiert ... bei anderen Konstellationen kann was anderes dabei rauskommen.

                        Ich habe mehrere Szenarien für die Inbetriebnahme durchgespielt - das würde aber diesen Rahmen hier sprengen - Github ist da vielleicht besser zur Diskussion geeignet. Leider habe ich keinen 'einfachen Weg' gefunden - es wären m.E. immer einige Code-Anpassungen notwendig ... und da möchte ich Dir nicht vorgreifen.

                        Vielleicht hast Du ja auch noch die ioBroker Integration im Blick ... ☺

                        T 1 Reply Last reply
                        2
                        • W wolwin

                          @armilar

                          ... und da ist ja noch die Sache mit der manuellen Erstinstallation eines NSPanels im ioBroker ...

                          Gut, dass es Proxmox gibt ... nach vielen Debug-Sitzungen mit einer minimal Default-Konfiguration denke ich, dass ich jetzt verstanden habe, warum und wann der beschriebene Fehler auftritt: beim erstmaligen Start des Scripts installiert der automatische Updater (bei mir reproduzierbar) die online TFT-Firmware, obwohl die aktuelle Firmware auf dem NSPanel vorhanden ist. Das Ganze endet immer mit einer um 90 Grad gedrehten Fehlermeldung im Display des NSPanels.

                          Zuerst habe ich im ioBroker / Script gesucht, warum dort die Firmware 3.3.1 eingetragen ist - gefunden habe ich folgendes unter:

                          0_userdata.0.nspanel_073.1.Display_Firmware.TFT.currentVersion = 0 / v3.3.1

                          Erzeugt wird dieser Eintrag an dieser Stelle (ab Scriptzeile1266):

                          async function Init_Release() {
                              const FWVersion = [41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56];
                              const FWRelease = ['3.3.1', '3.4.0', '3.5.0', '3.5.X', '3.6.0', '3.7.3', '3.8.0', '3.8.3', '3.9.4', '4.0.5', '4.1.4', '4.2.1', '4.4.0', '4.4.0', '4.5.0', '4.6.0'];
                              try {
                                  if (existsObject(NSPanel_Path + 'Display_Firmware.desiredVersion') == false) {
                                      await createStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, { type: 'number', write: false });
                                  } else {
                                      await setStateAsync(NSPanel_Path + 'Display_Firmware.desiredVersion', desired_display_firmware_version, true);
                                  }
                          
                                  if (existsObject(NSPanel_Path + 'Config.Update.activ') == false) {
                                      await createStateAsync(NSPanel_Path + 'Config.Update.activ', 1, { type: 'number', write: false });
                                  } else {
                                      await setStateAsync(NSPanel_Path + 'Config.Update.activ', 0, true);
                                  }
                          
                                  let currentFW = 0;
                                  let findFWIndex = 0;
                                  log('Desired TFT Firmware: ' + desired_display_firmware_version + ' / ' + tft_version, 'info');
                                  if (existsObject(NSPanel_Path + 'Display_Firmware.currentVersion')) {
                                      currentFW = parseInt(getState(NSPanel_Path + 'Display_Firmware.currentVersion').val);
                                      findFWIndex = FWVersion.indexOf(currentFW);
                                      log('Installed TFT Firmware: ' + currentFW + ' / v' + FWRelease[findFWIndex], 'info');
                                  }
                          

                          Beim ersten Durchlauf gibt es zwar das Objekt 'Display_Firmware.currentVersion', aber der Inhalt ist leer ... das führt dann zu dem Index '0', der dann aus 'FWRelease' den ersten Eintrag '3.3.1' nimmt ... und schon steht '0 / v3.3.1' als aktuelle TFT-Firmware Version da (btw: besser wäre bei 'unbekannt' der Eintrag '0 / v0' gewesen).

                          Aber warum kommt es überhaupt soweit, dass der Objekt-Eintrag leer ist? Der Knackpunkt liegt in den Scriptzeilen ab Zeile 2687:

                          // Updates currently compare every 12 hours
                          let scheduleCheckUpdates = adapterSchedule(undefined, 60 * 60 * 12, () => {
                              get_tasmota_status0();
                              get_panel_update_data();
                              check_updates();
                          });
                          
                          // Check for updates with Start
                          get_locales();
                          get_locales_servicemenu();
                          setIfExists(config.panelSendTopic, 'pageType~pageStartup');
                          get_tasmota_status0();
                          get_panel_update_data();
                          check_updates();
                          

                          Nach Aufruf der Initialisierungsfunktionen sollen beim Start die Updates gecheckt werden (8 ... 14) - dabei werden dann auch fehlende Objekt-Einträge automatisch angelegt. Gleichzeitig ist jedoch auch der Scheduler 'scheduleCheckUpdates' gestartet worden (2 ... 6) ... und hier lauert jetzt der Fehler: der startet (direkt) parallel zum laufenden Update-Prozess einen zweiten Update-Prozess, in dem die gleichen Funktionen 'get_tasmota_status0', 'get_panel_update_data' und 'check_updates' aufgerufen werden. So kommt es dann zu einer 'undefinierten Initialisierung' - zufällig wird bei mir eben die TFT-Firmware aktualisiert ... bei anderen Konstellationen kann was anderes dabei rauskommen.

                          Ich habe mehrere Szenarien für die Inbetriebnahme durchgespielt - das würde aber diesen Rahmen hier sprengen - Github ist da vielleicht besser zur Diskussion geeignet. Leider habe ich keinen 'einfachen Weg' gefunden - es wären m.E. immer einige Code-Anpassungen notwendig ... und da möchte ich Dir nicht vorgreifen.

                          Vielleicht hast Du ja auch noch die ioBroker Integration im Blick ... ☺

                          T Offline
                          T Offline
                          TT-Tom
                          wrote on last edited by
                          #6469

                          @wolwin
                          Danke für deinen ausführlichen Test. Die einfachste Variante wäre vielleicht die 0/0, wird aber auch zum Fehler führen, da es die Datei nicht gibt. Wir werden uns zusammen tun und eine Lösung finden.

                          Gruß Tom
                          https://github.com/tt-tom17
                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                          NSPanel Script Wiki
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                          NSPanel Adapter Wiki
                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                          ArmilarA 1 Reply Last reply
                          1
                          • T TT-Tom

                            @wolwin
                            Danke für deinen ausführlichen Test. Die einfachste Variante wäre vielleicht die 0/0, wird aber auch zum Fehler führen, da es die Datei nicht gibt. Wir werden uns zusammen tun und eine Lösung finden.

                            ArmilarA Offline
                            ArmilarA Offline
                            Armilar
                            Most Active Forum Testing
                            wrote on last edited by Armilar
                            #6470

                            @tt-tom
                            @wolwin

                            Ich würde check_updates(); einfach gar nicht mehr durchführen, wenn der Versions-Datenpunkt 0 oder null oder undefined ist.

                            Bzw. diese Prüfung in die function check_updates() legen...

                            Der Datenpunkt kann beim allerersten Start des Skriptes ja nur:

                            • nicht vorhanden sein
                            • vorhanden und nicht gefüllt, d.h. null sein
                            • vorhanden und gefüllt sein

                            In dem Fall brauchst du auch nicht mehr auf 0 prüfen


                            Ebenfalls kann in der function Init_Release() eine Prüfung auf !null erfolgen

                            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.

                            W 1 Reply Last reply
                            1
                            • ArmilarA Armilar

                              @tt-tom
                              @wolwin

                              Ich würde check_updates(); einfach gar nicht mehr durchführen, wenn der Versions-Datenpunkt 0 oder null oder undefined ist.

                              Bzw. diese Prüfung in die function check_updates() legen...

                              Der Datenpunkt kann beim allerersten Start des Skriptes ja nur:

                              • nicht vorhanden sein
                              • vorhanden und nicht gefüllt, d.h. null sein
                              • vorhanden und gefüllt sein

                              In dem Fall brauchst du auch nicht mehr auf 0 prüfen


                              Ebenfalls kann in der function Init_Release() eine Prüfung auf !null erfolgen

                              W Offline
                              W Offline
                              wolwin
                              wrote on last edited by wolwin
                              #6471

                              @armilar

                              Ganz so einfach ist es leider nicht ...

                              Ich habe in den letzten Tagen das Script v4.4.0.6 von allen 'Warnungen' / 'Fehlern' bei der Erstinbetriebnahme (mit oder ohne angeschlossenem NSPanel) befreit ... einige kleine Bugs, die ich dabei gefunden habe, habe ich ebenfalls bereinigt.

                              Gerne kann ich Dir die Änderungen / das Script zukommen lassen.

                              Ich habe noch eine kleine Macke im Script, die ich noch heraushaben möchte: beim erstmaligen hochstarten wird ja die Einstellung 'en-US' benutzt ... es wird dann zwar nach der Initialisierung die Darstellung des Bildschirmschoners in 'de-DE' gesetzt, jedoch sind die 'Service Menü' Seiten weiterhin in 'en-US' (also nicht in Deutsch). Startet man das Script ein zweites Mal, dann ist ja alles initialisiert und die Seiten werden korrekt in 'de-DE' dargestellt.

                              BTW: genau das gleiche Verhalten kann man auch im aktuellen Script nachvollziehen, wenn man den Zeichensatz umstellt: der Bildschirmschoner übernimmt den eingestellten Zeichensatz, die Seiten bleiben jedoch unverändert.

                              Mein Frage ist, wie ich den Seitenaufbau noch einmal neu starten kann (am besten mit welchen Funktionen) ...

                              ArmilarA 1 Reply Last reply
                              0
                              • W wolwin

                                @armilar

                                Ganz so einfach ist es leider nicht ...

                                Ich habe in den letzten Tagen das Script v4.4.0.6 von allen 'Warnungen' / 'Fehlern' bei der Erstinbetriebnahme (mit oder ohne angeschlossenem NSPanel) befreit ... einige kleine Bugs, die ich dabei gefunden habe, habe ich ebenfalls bereinigt.

                                Gerne kann ich Dir die Änderungen / das Script zukommen lassen.

                                Ich habe noch eine kleine Macke im Script, die ich noch heraushaben möchte: beim erstmaligen hochstarten wird ja die Einstellung 'en-US' benutzt ... es wird dann zwar nach der Initialisierung die Darstellung des Bildschirmschoners in 'de-DE' gesetzt, jedoch sind die 'Service Menü' Seiten weiterhin in 'en-US' (also nicht in Deutsch). Startet man das Script ein zweites Mal, dann ist ja alles initialisiert und die Seiten werden korrekt in 'de-DE' dargestellt.

                                BTW: genau das gleiche Verhalten kann man auch im aktuellen Script nachvollziehen, wenn man den Zeichensatz umstellt: der Bildschirmschoner übernimmt den eingestellten Zeichensatz, die Seiten bleiben jedoch unverändert.

                                Mein Frage ist, wie ich den Seitenaufbau noch einmal neu starten kann (am besten mit welchen Funktionen) ...

                                ArmilarA Offline
                                ArmilarA Offline
                                Armilar
                                Most Active Forum Testing
                                wrote on last edited by Armilar
                                #6472

                                @wolwin sagte in SONOFF NSPanel mit Lovelace UI:

                                Gerne kann ich Dir die Änderungen / das Script zukommen lassen.

                                Stelle besser einen PR ins Github ein... dann könne wir Änderungen dort auch diskutieren...

                                Ich habe noch eine kleine Macke im Script, die ich noch heraushaben möchte: beim erstmaligen hochstarten wird ja die Einstellung 'en-US' benutzt ... es wird dann zwar nach der Initialisierung die Darstellung des Bildschirmschoners in 'de-DE' gesetzt, jedoch sind die 'Service Menü' Seiten weiterhin in 'en-US' (also nicht in Deutsch). Startet man das Script ein zweites Mal, dann ist ja alles initialisiert und die Seiten werden korrekt in 'de-DE' dargestellt.

                                Ist aktuell nicht getriggert, da wir der Ansicht waren, dass man nur einmal die Sprache festlegen wird...

                                BTW: genau das gleiche Verhalten kann man auch im aktuellen Script nachvollziehen, wenn man den Zeichensatz umstellt: der Bildschirmschoner übernimmt den eingestellten Zeichensatz, die Seiten bleiben jedoch unverändert.

                                Welcher Zeichensatz?

                                Mein Frage ist, wie ich den Seitenaufbau noch einmal neu starten kann (am besten mit welchen Funktionen) ...

                                GeneratePage

                                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.

                                L W 2 Replies Last reply
                                0
                                • ArmilarA Armilar

                                  @wolwin sagte in SONOFF NSPanel mit Lovelace UI:

                                  Gerne kann ich Dir die Änderungen / das Script zukommen lassen.

                                  Stelle besser einen PR ins Github ein... dann könne wir Änderungen dort auch diskutieren...

                                  Ich habe noch eine kleine Macke im Script, die ich noch heraushaben möchte: beim erstmaligen hochstarten wird ja die Einstellung 'en-US' benutzt ... es wird dann zwar nach der Initialisierung die Darstellung des Bildschirmschoners in 'de-DE' gesetzt, jedoch sind die 'Service Menü' Seiten weiterhin in 'en-US' (also nicht in Deutsch). Startet man das Script ein zweites Mal, dann ist ja alles initialisiert und die Seiten werden korrekt in 'de-DE' dargestellt.

                                  Ist aktuell nicht getriggert, da wir der Ansicht waren, dass man nur einmal die Sprache festlegen wird...

                                  BTW: genau das gleiche Verhalten kann man auch im aktuellen Script nachvollziehen, wenn man den Zeichensatz umstellt: der Bildschirmschoner übernimmt den eingestellten Zeichensatz, die Seiten bleiben jedoch unverändert.

                                  Welcher Zeichensatz?

                                  Mein Frage ist, wie ich den Seitenaufbau noch einmal neu starten kann (am besten mit welchen Funktionen) ...

                                  GeneratePage

                                  L Offline
                                  L Offline
                                  lustig29
                                  wrote on last edited by
                                  #6473

                                  Ich möchte gerne im Bad 2 Lichtszenen zur Auswahl haben. Einmal gedimmtes Licht und einmal 100%. Wie realisiere ich das am besten?

                                  1 Reply Last reply
                                  0
                                  • ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    wrote on last edited by
                                    #6474

                                    @lustig29

                                    Ist ja immer eine Frage, was man bevorzugt und wie man es gerne hätte...

                                    Eine Variante wäre das:
                                    https://forum.iobroker.net/post/1096881

                                    Muss nicht zwingend in einer cardGrid sein...

                                    Eine andere Variante wäre im popupLight die Auswahl zu treffen (gleiche Nutzung, jedoch nicht auf Shelly Duo bezogen):

                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#23-shelly-duo-lampen

                                    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.

                                    K 1 Reply Last reply
                                    0
                                    • ArmilarA Armilar

                                      @lustig29

                                      Ist ja immer eine Frage, was man bevorzugt und wie man es gerne hätte...

                                      Eine Variante wäre das:
                                      https://forum.iobroker.net/post/1096881

                                      Muss nicht zwingend in einer cardGrid sein...

                                      Eine andere Variante wäre im popupLight die Auswahl zu treffen (gleiche Nutzung, jedoch nicht auf Shelly Duo bezogen):

                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#23-shelly-duo-lampen

                                      K Offline
                                      K Offline
                                      Kuckuckmann
                                      wrote on last edited by
                                      #6475

                                      @armilar
                                      Sehr cool, dass Du das anbringst. Ich habe grade drüber nachgedacht, wie ich es hin bekomme, dass ich von den 5 Birnen in der Lampe welche unterschiedlich gestalte. Mit dem InselPopup auf der Card könnte das gehen 😄

                                      NSPanel Dokumentation im GitHub Wiki:

                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      1 Reply Last reply
                                      1
                                      • ArmilarA Armilar

                                        @wolwin sagte in SONOFF NSPanel mit Lovelace UI:

                                        Gerne kann ich Dir die Änderungen / das Script zukommen lassen.

                                        Stelle besser einen PR ins Github ein... dann könne wir Änderungen dort auch diskutieren...

                                        Ich habe noch eine kleine Macke im Script, die ich noch heraushaben möchte: beim erstmaligen hochstarten wird ja die Einstellung 'en-US' benutzt ... es wird dann zwar nach der Initialisierung die Darstellung des Bildschirmschoners in 'de-DE' gesetzt, jedoch sind die 'Service Menü' Seiten weiterhin in 'en-US' (also nicht in Deutsch). Startet man das Script ein zweites Mal, dann ist ja alles initialisiert und die Seiten werden korrekt in 'de-DE' dargestellt.

                                        Ist aktuell nicht getriggert, da wir der Ansicht waren, dass man nur einmal die Sprache festlegen wird...

                                        BTW: genau das gleiche Verhalten kann man auch im aktuellen Script nachvollziehen, wenn man den Zeichensatz umstellt: der Bildschirmschoner übernimmt den eingestellten Zeichensatz, die Seiten bleiben jedoch unverändert.

                                        Welcher Zeichensatz?

                                        Mein Frage ist, wie ich den Seitenaufbau noch einmal neu starten kann (am besten mit welchen Funktionen) ...

                                        GeneratePage

                                        W Offline
                                        W Offline
                                        wolwin
                                        wrote on last edited by
                                        #6476

                                        @armilar

                                        Habe den PR eingestellt:

                                        https://github.com/joBr99/nspanel-lovelace-ui/pull/1263

                                        L 1 Reply Last reply
                                        2
                                        • W wolwin

                                          @armilar

                                          Habe den PR eingestellt:

                                          https://github.com/joBr99/nspanel-lovelace-ui/pull/1263

                                          L Offline
                                          L Offline
                                          lustig29
                                          wrote on last edited by
                                          #6477

                                          Bekomme ich irgendwie die Luftfeuchtigkeitsanzeige von einem externen Luftfeuchtigkeitsmesser in dem Screensaver integriert?

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          752

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe