Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

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

NEWS

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

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

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.8m Aufrufe 254 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Kunibert

    Hi zusammen,
    ich habe wenig Ahnung von Skripten und finde, ihr habt mit der Anleitung und dem ganzen Wiki zur Inbetriebnahme einen Mega-Job gemacht. Danke an euch!!
    Allerdings bekomme ich mein Skript (nur die Standard-Seiten, ohne Cumstomizing) einfach nicht fehlerfrei zum Laufen.
    Mit Version 4.3.2.1 funktionierte die Darstellung auf dem NSPanel trotz Fehlern allerdings, mit Version 4.3.3.4 habe ich auf dem Panel nur die Meldung "Wating for content...".
    03b2df53-6e6b-434a-a3dd-2cd2f66289d2-image.png

    Ich habe im Skript folgende Anpassungen gemacht:

    // Setzen der bevorzugten Tasmota32-Version
    const tasmotaOtaVersion: string = %(#b30909)['tasmota32-nspanel.bin]';
    // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
    // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
    
    const NSPanel_Path = %(#b30909)['0_userdata.0.Panels.PanelKIZ.]';       // Anpassen an das jewilige NSPanel
    const NSPanel_Alarm_Path = '%(#b30909)[0_userdata.0.Panels.]';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
    

    Habt ihr einen Hinweis oder eine Idee, wie ich des zum Laufen bekommen kann?

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

    @kunibert

    Ich nehme mal an, du hast versucht diese Dinge zu formatieren?
    edc632a8-5c8c-44d9-8000-aa4f2e0702bb-image.png

    Sollte das alles sein, was angepasst wurde, dann fehlt sicherlich noch der wichtigste Teil:

    https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#10--nspaneltsts-anlegen

    Gehe bitte noch mal die komplette Wiki-Seite durch...

    Zunächst einmal sind diese beiden Zeilen für die Kommunikation am wichtigsten

    6d9dc586-234f-4543-a86d-53859d0a4bee-image.png

    EDIT: Mit anderen Worten: Es gibt noch ein Kommunikationsproblem zwischen der MQTT-Instanz und den Parametern im Bereich der config-Parameter.

    Sendet das Panel schon Daten an die MQTT-Instanz?

    Falls ja, zeige mal die Datenpunkte in der MQTT-Instanz und die beiden Vebindungs-Zeilen aus der NSPanel-Config.

    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 Antwort Letzte Antwort
    0
    • ArmilarA Armilar

      @kunibert

      Ich nehme mal an, du hast versucht diese Dinge zu formatieren?
      edc632a8-5c8c-44d9-8000-aa4f2e0702bb-image.png

      Sollte das alles sein, was angepasst wurde, dann fehlt sicherlich noch der wichtigste Teil:

      https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#10--nspaneltsts-anlegen

      Gehe bitte noch mal die komplette Wiki-Seite durch...

      Zunächst einmal sind diese beiden Zeilen für die Kommunikation am wichtigsten

      6d9dc586-234f-4543-a86d-53859d0a4bee-image.png

      EDIT: Mit anderen Worten: Es gibt noch ein Kommunikationsproblem zwischen der MQTT-Instanz und den Parametern im Bereich der config-Parameter.

      Sendet das Panel schon Daten an die MQTT-Instanz?

      Falls ja, zeige mal die Datenpunkte in der MQTT-Instanz und die beiden Vebindungs-Zeilen aus der NSPanel-Config.

      K Offline
      K Offline
      Kunibert
      schrieb am zuletzt editiert von
      #4260

      @armilar
      Ja, die Formatierung war nur hier im Post. Wollte den Code an den angepassten Stellen rot färben.
      Im Original sieht es so aus:

      // Setzen der bevorzugten Tasmota32-Version
      const tasmotaOtaVersion: string = 'tasmota32-nspanel.bin';
      // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
      // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
      
      const NSPanel_Path = '0_userdata.0.Panels.PanelKIZ.';       // Anpassen an das jewilige NSPanel
      const NSPanel_Alarm_Path = '0_userdata.0.Panels.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
      
      

      Entschuldige bitte, ja, die beiden MQTT-Punkte hatte ich auch angepasst:

      export const config = <Config> {
          panelRecvTopic: 'mqtt.0.Panels.PANELKIZ.tele.RESULT',       // Bitte anpassen
          panelSendTopic: 'mqtt.0.Panels.PANELKIZ.cmnd.CustomSend',   // Bitte anpassen
      

      In den MQTT-Datenpunkten sehe ich, dass die Kommunikation funktioniert:
      f1cbc268-544d-4e0b-ad97-c91e3411214f-image.png

      Nur sendet das JavaScript scheinbar nichts an den Datenpunkt "CustomSend".

      ArmilarA K 2 Antworten Letzte Antwort
      0
      • K Kunibert

        @armilar
        Ja, die Formatierung war nur hier im Post. Wollte den Code an den angepassten Stellen rot färben.
        Im Original sieht es so aus:

        // Setzen der bevorzugten Tasmota32-Version
        const tasmotaOtaVersion: string = 'tasmota32-nspanel.bin';
        // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
        // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
        
        const NSPanel_Path = '0_userdata.0.Panels.PanelKIZ.';       // Anpassen an das jewilige NSPanel
        const NSPanel_Alarm_Path = '0_userdata.0.Panels.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
        
        

        Entschuldige bitte, ja, die beiden MQTT-Punkte hatte ich auch angepasst:

        export const config = <Config> {
            panelRecvTopic: 'mqtt.0.Panels.PANELKIZ.tele.RESULT',       // Bitte anpassen
            panelSendTopic: 'mqtt.0.Panels.PANELKIZ.cmnd.CustomSend',   // Bitte anpassen
        

        In den MQTT-Datenpunkten sehe ich, dass die Kommunikation funktioniert:
        f1cbc268-544d-4e0b-ad97-c91e3411214f-image.png

        Nur sendet das JavaScript scheinbar nichts an den Datenpunkt "CustomSend".

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

        @kunibert sagte in SONOFF NSPanel mit Lovelace UI:

        Nur sendet das JavaScript scheinbar nichts an den Datenpunkt "CustomSend".

        Kann es auch nicht, da der Pfad falsch ist...

        0e29e2c1-f4a7-4c13-95cc-9a9ecfca3b5f-image.png

        ist klein geschrieben, also besser:

        export const config = <Config> {
            panelRecvTopic: 'mqtt.0.Panels.PanelKIZ.tele.RESULT',       // Bitte anpassen
            panelSendTopic: 'mqtt.0.Panels.PanelKIZ.cmnd.CustomSend',   // Bitte anpassen
        

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

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

        1 Antwort Letzte Antwort
        0
        • K Kunibert

          @armilar
          Ja, die Formatierung war nur hier im Post. Wollte den Code an den angepassten Stellen rot färben.
          Im Original sieht es so aus:

          // Setzen der bevorzugten Tasmota32-Version
          const tasmotaOtaVersion: string = 'tasmota32-nspanel.bin';
          // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
          // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
          
          const NSPanel_Path = '0_userdata.0.Panels.PanelKIZ.';       // Anpassen an das jewilige NSPanel
          const NSPanel_Alarm_Path = '0_userdata.0.Panels.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
          
          

          Entschuldige bitte, ja, die beiden MQTT-Punkte hatte ich auch angepasst:

          export const config = <Config> {
              panelRecvTopic: 'mqtt.0.Panels.PANELKIZ.tele.RESULT',       // Bitte anpassen
              panelSendTopic: 'mqtt.0.Panels.PANELKIZ.cmnd.CustomSend',   // Bitte anpassen
          

          In den MQTT-Datenpunkten sehe ich, dass die Kommunikation funktioniert:
          f1cbc268-544d-4e0b-ad97-c91e3411214f-image.png

          Nur sendet das JavaScript scheinbar nichts an den Datenpunkt "CustomSend".

          K Offline
          K Offline
          Kunibert
          schrieb am zuletzt editiert von
          #4262

          @Armilar
          Ich habe mir jetzt meine alte Skriptversion 4.3.2.1 genommen und aus der neuen Version 4.3.3.3 nur den Hinweisteil oben bis zum */ und dann den Teil ab "Ab hier keine Konfiguration mehr" ausgetauscht. Dann funktioniert die Kommunikation sofort und das Panel zeigt Content an. Es muss also am Skript und dem Konfigurationsteil liegen. Wo genau bekomme ich aber nicht eingegrenzt.

          Mit diesen eingestellten Parametern funktioniert es dann:

          // Setzen der bevorzugten Tasmota32-Version
          const tasmotaOtaVersion: string = 'tasmota32-nspanel.bin';
          // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
          // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
          
          const NSPanel_Path = '0_userdata.0.Panels.PanelKIZ.';       // Anpassen an das jewilige NSPanel
          const NSPanel_Alarm_Path = '0_userdata.0.Panels.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
          

          Und:

              panelRecvTopic: 'mqtt.0.Panels.PanelKIZ.tele.RESULT',       // Bitte anpassen
              panelSendTopic: 'mqtt.0.Panels.PanelKIZ.cmnd.CustomSend',   // Bitte anpassen
          

          Das ist das gleiche, was ich auch in der Version 4.3.3.3 hinterlegt habe. Vielleicht ist doch im Config-Teil des Skriptes irgendwo ein Fehler in der neuen Version?

          ArmilarA 2 Antworten Letzte Antwort
          0
          • K Kunibert

            @Armilar
            Ich habe mir jetzt meine alte Skriptversion 4.3.2.1 genommen und aus der neuen Version 4.3.3.3 nur den Hinweisteil oben bis zum */ und dann den Teil ab "Ab hier keine Konfiguration mehr" ausgetauscht. Dann funktioniert die Kommunikation sofort und das Panel zeigt Content an. Es muss also am Skript und dem Konfigurationsteil liegen. Wo genau bekomme ich aber nicht eingegrenzt.

            Mit diesen eingestellten Parametern funktioniert es dann:

            // Setzen der bevorzugten Tasmota32-Version
            const tasmotaOtaVersion: string = 'tasmota32-nspanel.bin';
            // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
            // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
            
            const NSPanel_Path = '0_userdata.0.Panels.PanelKIZ.';       // Anpassen an das jewilige NSPanel
            const NSPanel_Alarm_Path = '0_userdata.0.Panels.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
            

            Und:

                panelRecvTopic: 'mqtt.0.Panels.PanelKIZ.tele.RESULT',       // Bitte anpassen
                panelSendTopic: 'mqtt.0.Panels.PanelKIZ.cmnd.CustomSend',   // Bitte anpassen
            

            Das ist das gleiche, was ich auch in der Version 4.3.3.3 hinterlegt habe. Vielleicht ist doch im Config-Teil des Skriptes irgendwo ein Fehler in der neuen Version?

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

            @kunibert

            Die v4.3.3.3 läuft fehlerfrei in der Config. Habe drei Panel damit am laufen...

            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 Antwort Letzte Antwort
            0
            • K Kunibert

              @Armilar
              Ich habe mir jetzt meine alte Skriptversion 4.3.2.1 genommen und aus der neuen Version 4.3.3.3 nur den Hinweisteil oben bis zum */ und dann den Teil ab "Ab hier keine Konfiguration mehr" ausgetauscht. Dann funktioniert die Kommunikation sofort und das Panel zeigt Content an. Es muss also am Skript und dem Konfigurationsteil liegen. Wo genau bekomme ich aber nicht eingegrenzt.

              Mit diesen eingestellten Parametern funktioniert es dann:

              // Setzen der bevorzugten Tasmota32-Version
              const tasmotaOtaVersion: string = 'tasmota32-nspanel.bin';
              // Es können ebenfalls andere Versionen verwendet werden wie zum Beispiel:
              // 'tasmota32-nspanel.bin' oder 'tasmota32.bin' oder 'tasmota32-DE.bin' oder etc.
              
              const NSPanel_Path = '0_userdata.0.Panels.PanelKIZ.';       // Anpassen an das jewilige NSPanel
              const NSPanel_Alarm_Path = '0_userdata.0.Panels.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
              

              Und:

                  panelRecvTopic: 'mqtt.0.Panels.PanelKIZ.tele.RESULT',       // Bitte anpassen
                  panelSendTopic: 'mqtt.0.Panels.PanelKIZ.cmnd.CustomSend',   // Bitte anpassen
              

              Das ist das gleiche, was ich auch in der Version 4.3.3.3 hinterlegt habe. Vielleicht ist doch im Config-Teil des Skriptes irgendwo ein Fehler in der neuen Version?

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

              @kunibert sagte in SONOFF NSPanel mit Lovelace UI:

              Mit diesen eingestellten Parametern funktioniert es dann:

              Wenn es in der 4.3.2.1 läuft, warum tauscht du dann nicht nur den unteren Teil aus?

              Die 4.3.2.1 hat ja bereits die Änderungen für moments im Bauch. siehe Changelog:

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

              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 Antwort Letzte Antwort
              1
              • ArmilarA Armilar

                @kunibert

                Die v4.3.3.3 läuft fehlerfrei in der Config. Habe drei Panel damit am laufen...

                K Offline
                K Offline
                Kunibert
                schrieb am zuletzt editiert von
                #4265

                @armilar
                Glaube ich dir sofort aber ich verstehe es nicht. Nehme ich also die 4.3.3.3 1:1 und passe die vier Zeilen (NSPanel_Path, NSPanel_Alarm_Path, panelRecvTopic, panelSendTopic) wie in der Version 4.3.2.1 an, funktioniert es nicht. Kopiere ich den kompletten Config-Block aus der Version 4.3.2.1 in das Skript 4.3.3.3, in dem ich ebenfalls die vier Werte angepasst habe, funktioniert es.
                Sehr merkwürdig...
                Aber das Wichtigste ist ja, dass es jetzt geht :-)

                1 Antwort Letzte Antwort
                0
                • ArmilarA Armilar

                  @kunibert sagte in SONOFF NSPanel mit Lovelace UI:

                  Mit diesen eingestellten Parametern funktioniert es dann:

                  Wenn es in der 4.3.2.1 läuft, warum tauscht du dann nicht nur den unteren Teil aus?

                  Die 4.3.2.1 hat ja bereits die Änderungen für moments im Bauch. siehe Changelog:

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

                  K Offline
                  K Offline
                  Kunibert
                  schrieb am zuletzt editiert von
                  #4266

                  @armilar Das mache ich jetzt auch, das funktioniert ja super jetzt. Danke für deine Hilfe!

                  ArmilarA 1 Antwort Letzte Antwort
                  1
                  • K Kunibert

                    @armilar Das mache ich jetzt auch, das funktioniert ja super jetzt. Danke für deine Hilfe!

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

                    @kunibert

                    Mit dem beschriebenen Service-Menü-Tausch kannst du noch 1-2 Tage warten.

                    Die 4.3.3.5 steht in den Startlöchern und hat neben einem 39-sprachigen Service-Menü auch noch eine weitere Seite bekommen.

                    Denke morgen - spätestens übermorgen...

                    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 Antwort Letzte Antwort
                    2
                    • ArmilarA Armilar

                      @kunibert

                      Mit dem beschriebenen Service-Menü-Tausch kannst du noch 1-2 Tage warten.

                      Die 4.3.3.5 steht in den Startlöchern und hat neben einem 39-sprachigen Service-Menü auch noch eine weitere Seite bekommen.

                      Denke morgen - spätestens übermorgen...

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

                      v4.3.3.5 - Update NSPanelTs.ts

                      So - da ist das neue Update mit dem multilingualen Service-Menü.

                      0fe40ec2-e9e4-4505-855f-6684703d9885-image.png

                      Änderungen:

                      • Zusätzlicher Menüpunkt "ioBroker-Infos" im Service Menü (Hat @TT-Tom bereits mit der v4.3.3.4 am 15.11.2023 bereitgestellt):
                        b23db71d-0b51-4e3f-bb16-80f65d0242da-image.png
                        mit entsprechenden Infos zur aktuellen Version des NSPanelTS.ts Scriptes, der aktuell installierten NodeJS-Version und der aktuell installierten Version der JS-Adapterinstanz
                        7283604b-0009-4af4-b2d7-14bbb86c4489-image.png

                      • Das komplette Service-Menü ist jetzt in 39 Sprachen übersetzt und wird mit der "bereits gewählten Language-Code" für Datum/Uhrzeit, etc. geladen.
                        484fa229-b50f-4a1c-83f4-326a5f10acbe-image.png
                        Nach der Umstellung muss das TS-Script allerdings einmal durchgestartet werden, damit die Änderungen im Menü wirksam werden:
                        2222d797-154d-4568-b879-442416afcfa2-image.png
                        c27b6afa-1a15-4325-8e51-9ed11e1a5495-image.png

                      • Weitere Cards, wie cardUnlock, cardQR, popupFan, popupTimer sind ebenfalls umgestellt worden (cardAlarm und cardMedia folgen in einer der nächsten Versionen)

                      Durchführung des Updates:

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

                      • Unteren Teil: des Scriptes ab:
                        // _________________ Ab hier keine Konfiguration mehr ___________________
                        
                        ersetzten.
                      • Das Service Menü (siehe Spoiler) komplett austauschen:

                      /***********************************************************************************************
                       **  Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt) **
                       **  https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Service-Men%C3%BC             **
                       ***********************************************************************************************/
                      
                      /* Wenn das Service Menü abgesichert werden soll, kann eine cardUnlock vorgeschaltet werden. 
                         Für diesen Fall ist folgende Vorgehensweise erforderlich:
                         - cardUnlock Seite "Unlock_Service" in der Config unter pages auskommentieren ("//" entfernen)
                         - Servicemenü aus pages "NSPanel_Service" unter pages kommentieren ("//" hinzufügen)
                      */ 
                      
                      //Level 0 (if service pages are used with cardUnlock)
                      let Unlock_Service = <PageUnlock>
                      {
                          'type': 'cardUnlock',
                          'heading': findLocaleServMenu('service_pages'),
                          'useColor': true,
                          'items': [<PageItem>{ id: 'alias.0.NSPanel.Unlock',
                                                targetPage: 'NSPanel_Service_SubPage',
                                                autoCreateALias: true }
                          ]
                      };
                      
                      //Level_0 (if service pages are used without cardUnlock)
                      let NSPanel_Service = <PageEntities>
                      {
                          'type': 'cardEntities',
                          'heading': findLocaleServMenu('service_menu'),
                          'useColor': true,
                          'items': [
                              <PageItem>{ navigate: true, id: 'NSPanel_Infos', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('infos'), buttonText: findLocaleServMenu('more')},
                              <PageItem>{ navigate: true, id: 'NSPanel_Einstellungen', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: findLocaleServMenu('settings'), buttonText: findLocaleServMenu('more')},
                              <PageItem>{ navigate: true, id: 'NSPanel_Firmware', icon: 'update', offColor: Menu, onColor: Menu, name: findLocaleServMenu('firmware'), buttonText: findLocaleServMenu('more')},
                              <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: findLocaleServMenu('reboot') ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                          ]
                      };
                      
                      //Level_0 (if service pages are used with cardUnlock)
                      let NSPanel_Service_SubPage = <PageEntities>
                      {
                          'type': 'cardEntities',
                          'heading': findLocaleServMenu('service_menu'),
                          'useColor': true,
                          'subPage': true,
                          'parent': Unlock_Service,
                          'home': 'Unlock_Service', 
                          'items': [
                              <PageItem>{ navigate: true, id: 'NSPanel_Infos', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('infos'), buttonText: findLocaleServMenu('more')},
                              <PageItem>{ navigate: true, id: 'NSPanel_Einstellungen', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: findLocaleServMenu('settings'), buttonText: findLocaleServMenu('more')},
                              <PageItem>{ navigate: true, id: 'NSPanel_Firmware', icon: 'update', offColor: Menu, onColor: Menu, name: findLocaleServMenu('firmware'), buttonText: findLocaleServMenu('more')},
                              <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: findLocaleServMenu('reboot') ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                          ]
                      };
                      
                              //Level_1
                              let NSPanel_Infos = <PageEntities>
                              {
                                  'type': 'cardEntities',
                                  'heading': findLocaleServMenu('nspanel_infos'),
                                  'useColor': true,
                                  'subPage': true,
                                  'parent': NSPanel_Service,
                                  'home': 'NSPanel_Service',        
                                  'items': [
                                      <PageItem>{ navigate: true, id: 'NSPanel_Wifi_Info_1', icon: 'wifi', offColor: Menu, onColor: Menu, name: findLocaleServMenu('wifi'), buttonText: findLocaleServMenu('more')},
                                      <PageItem>{ navigate: true, id: 'NSPanel_Sensoren', icon: 'memory', offColor: Menu, onColor: Menu, name: findLocaleServMenu('sensors_hardware'), buttonText: findLocaleServMenu('more')},
                                      <PageItem>{ navigate: true, id: 'NSPanel_IoBroker', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('info_iobroker'), buttonText: findLocaleServMenu('more')}
                                  ]
                              };
                                      //Level_2
                                      let NSPanel_Wifi_Info_1 = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('nspanel_wifi1'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Infos,
                                          'next': 'NSPanel_Wifi_Info_2',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'ipAddress', name: findLocaleServMenu('ip_address'), icon: 'ip-network-outline', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.BSSId', name: findLocaleServMenu('mac_address'), icon: 'check-network', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: findLocaleServMenu('rssi'), icon: 'signal', unit: '%', colorScale: {'val_min': 100, 'val_max': 0} },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.Signal', name: findLocaleServMenu('wifi_signal'), icon: 'signal-distance-variant', unit: 'dBm', colorScale: {'val_min': 0, 'val_max': -100} },
                                          ]
                                      };
                      
                                      let NSPanel_Wifi_Info_2 = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('nspanel_wifi2'),
                                          'useColor': true,
                                          'subPage': true,
                                          'prev': 'NSPanel_Wifi_Info_1',
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.SSId', name: findLocaleServMenu('ssid'), icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.Mode', name: findLocaleServMenu('mode'), icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.Channel', name: findLocaleServMenu('channel'), icon: 'timeline-clock-outline', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Wifi.AP', name: findLocaleServMenu('accesspoint'), icon: 'router-wireless-settings', offColor: Menu, onColor: Menu },
                                          ]
                                      };
                      
                                      let NSPanel_Sensoren = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('sensors1'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Infos,
                                          'next': 'NSPanel_Hardware',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Sensor.ANALOG.Temperature', name: findLocaleServMenu('room_temperature'), icon: 'home-thermometer-outline', unit: '°C', colorScale: {'val_min': 0, 'val_max': 40, 'val_best': 22 } },
                                              <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: findLocaleServMenu('esp_temperature'), icon: 'thermometer', unit: '°C', colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 50 } },
                                              <PageItem>{ id: AliasPath + 'Sensor.TempUnit', name: findLocaleServMenu('temperature_unit'), icon: 'temperature-celsius', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Sensor.Time', name: findLocaleServMenu('refresh'), icon: 'clock-check-outline', offColor: Menu, onColor: Menu },
                                          ]
                                      };
                      
                                      let NSPanel_Hardware = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('hardware2'),
                                          'useColor': true,
                                          'subPage': true,
                                          'prev': 'NSPanel_Sensoren',
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Tasmota.Product', name: findLocaleServMenu('product'), icon: 'devices', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: findLocaleServMenu('esp32_hardware'), icon: 'memory', offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Display.Model', name: findLocaleServMenu('nspanel_version'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: findLocaleServMenu('operating_time'), icon: 'timeline-clock-outline', offColor: Menu, onColor: Menu },
                                          ]
                                      };
                      
                                      let NSPanel_IoBroker = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('info_iobroker'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Infos,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'IoBroker.ScriptVersion', name: findLocaleServMenu('script_version_nspanelts'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'IoBroker.NodeJSVersion', name: findLocaleServMenu('nodejs_version'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'IoBroker.JavaScriptVersion', name: findLocaleServMenu('instance_javascript'), offColor: Menu, onColor: Menu },
                                          ]
                                      };
                      
                              //Level_1
                              let NSPanel_Einstellungen = <PageGrid>
                                  {
                                      'type': 'cardGrid',
                                      'heading': findLocaleServMenu('settings'),
                                      'useColor': true,
                                      'subPage': true,
                                      'parent': NSPanel_Service,
                                      'home': 'NSPanel_Service',
                                      'items': [
                                          <PageItem>{ navigate: true, id: 'NSPanel_Screensaver', icon: 'monitor-dashboard',offColor: Menu, onColor: Menu, name: findLocaleServMenu('screensaver'), buttonText: findLocaleServMenu('more')},
                                          <PageItem>{ navigate: true, id: 'NSPanel_Relays', icon: 'electric-switch', offColor: Menu, onColor: Menu, name: findLocaleServMenu('relays'), buttonText: findLocaleServMenu('more')},
                                          <PageItem>{ id:AliasPath + 'Config.temperatureUnitNumber', icon: 'gesture-double-tap', name: findLocaleServMenu('temp_unit'), offColor: Menu, onColor: Menu, 
                                          modeList: ['°C', '°F', 'K']},
                                          <PageItem>{ id: AliasPath + 'Config.localeNumber', icon: 'select-place', name: findLocaleServMenu('language'), offColor: Menu, onColor: Menu, 
                                          modeList: ['en-US', 'de-DE', 'nl-NL', 'da-DK', 'es-ES', 'fr-FR', 'it-IT', 'ru-RU', 'nb-NO', 'nn-NO', 'pl-PL', 'pt-PT', 'af-ZA', 'ar-SY', 
                                                     'bg-BG', 'ca-ES', 'cs-CZ', 'el-GR', 'et-EE', 'fa-IR', 'fi-FI', 'he-IL', 'hr-xx', 'hu-HU', 'hy-AM', 'id-ID', 'is-IS', 'lb-xx', 
                                                     'lt-LT', 'ro-RO', 'sk-SK', 'sl-SI', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA', 'vi-VN', 'zh-CN', 'zh-TW']},
                                         <PageItem>{ navigate: true, id: 'NSPanel_Script', icon: 'code-json',offColor: Menu, onColor: Menu, name: findLocaleServMenu('script'), buttonText: findLocaleServMenu('more')},            
                                      ]
                                  };
                      
                                      //Level_2
                                      let NSPanel_Screensaver = <PageGrid>
                                      {
                                          'type': 'cardGrid',
                                          'heading': findLocaleServMenu('screensaver'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Einstellungen,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverDimmode', icon: 'sun-clock', offColor: Menu, onColor: Menu, name: findLocaleServMenu('dimmode')},
                                              <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverBrightness', icon: 'brightness-5', offColor: Menu, onColor: Menu, name: findLocaleServMenu('brightness')},
                                              <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverLayout', icon: 'page-next-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('layout')},
                                              <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverWeather', icon: 'weather-partly-rainy', offColor: Menu, onColor: Menu, name: findLocaleServMenu('weather')},
                                              <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverDateformat', icon: 'calendar-expand-horizontal', offColor: Menu, onColor: Menu, name: findLocaleServMenu('date_format')},
                                              <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverIndicators', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: findLocaleServMenu('indicators')}
                                          ]
                                      };
                                                  
                                              //Level_3
                                              let NSPanel_ScreensaverDimmode = <PageEntities>
                                              {
                                                  'type': 'cardEntities',
                                                  'heading': findLocaleServMenu('dimmode'),
                                                  'useColor': true,
                                                  'subPage': true,
                                                  'parent': NSPanel_Screensaver,
                                                  'home': 'NSPanel_Service',
                                                  'items': [
                                                      <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: findLocaleServMenu('brightness_day'), icon: 'brightness-5', offColor: Menu, onColor: Menu, minValue: 5, maxValue: 10},
                                                      <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: findLocaleServMenu('brightness_night'), icon: 'brightness-4', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 4},
                                                      <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: findLocaleServMenu('hour_day'), icon: 'sun-clock', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 23},
                                                      <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: findLocaleServMenu('hour_night'), icon: 'sun-clock-outline', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 23}
                                                  ]
                                              };
                      
                                              //Level_3
                                              let NSPanel_ScreensaverBrightness = <PageEntities>
                                              {
                                                  'type': 'cardEntities',
                                                  'heading': findLocaleServMenu('brightness'),
                                                  'useColor': true,
                                                  'subPage': true,
                                                  'parent': NSPanel_Screensaver,
                                                  'home': 'NSPanel_Service',
                                                  'items': [
                                                      <PageItem>{ id: AliasPath + 'ScreensaverInfo.activeBrightness', name: findLocaleServMenu('brightness_activ'), icon: 'brightness-5', offColor: Menu, onColor: Menu, minValue: 20, maxValue: 100},
                                                      <PageItem>{ id: AliasPath + 'Config.Screensaver.timeoutScreensaver', name: findLocaleServMenu('screensaver_timeout'), icon: 'clock-end', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 60},
                                                      <PageItem>{ id: AliasPath + 'Config.Screensaver.screenSaverDoubleClick', name: findLocaleServMenu('wakeup_doublecklick') ,icon: 'gesture-two-double-tap', offColor: HMIOff, onColor: HMIOn}
                                                  ]
                                              };
                      
                                              //Level_3
                                              let NSPanel_ScreensaverLayout = <PageEntities>
                                              {
                                                  'type': 'cardEntities',
                                                  'heading': findLocaleServMenu('layout'),
                                                  'useColor': true,
                                                  'subPage': true,
                                                  'parent': NSPanel_Screensaver,
                                                  'home': 'NSPanel_Service',
                                                  'items': [
                                                      <PageItem>{ id: AliasPath + 'Config.Screensaver.alternativeScreensaverLayout', name: findLocaleServMenu('alternative_layout') ,icon: 'page-previous-outline', offColor: HMIOff, onColor: HMIOn},
                                                      <PageItem>{ id: AliasPath + 'Config.Screensaver.ScreensaverAdvanced', name: findLocaleServMenu('advanced_layout') ,icon: 'page-next-outline', offColor: HMIOff, onColor: HMIOn},
                                                  ]
                                              };
                      
                                              //Level_3
                                              let NSPanel_ScreensaverWeather = <PageEntities>
                                              {
                                                  'type': 'cardEntities',
                                                  'heading': findLocaleServMenu('weather_parameters'),
                                                  'useColor': true,
                                                  'subPage': true,
                                                  'parent': NSPanel_Screensaver,
                                                  'home': 'NSPanel_Service',
                                                  'items': [
                                                      <PageItem>{ id: AliasPath + 'ScreensaverInfo.weatherForecast', name: findLocaleServMenu('weather_forecast_offon') ,icon: 'weather-sunny-off', offColor: HMIOff, onColor: HMIOn},
                                                      <PageItem>{ id: AliasPath + 'ScreensaverInfo.weatherForecastTimer', name: findLocaleServMenu('weather_forecast_change_switch') ,icon: 'devices', offColor: HMIOff, onColor: HMIOn},
                                                      <PageItem>{ id: AliasPath + 'ScreensaverInfo.entityChangeTime', name: findLocaleServMenu('weather_forecast_change_time'), icon: 'cog-sync', offColor: Menu, onColor: Menu, minValue: 15, maxValue: 60},
                                                      <PageItem>{ id: AliasPath + 'Config.Screensaver.autoWeatherColorScreensaverLayout', name: findLocaleServMenu('weather_forecast_icon_colors') ,icon: 'format-color-fill', offColor: HMIOff, onColor: HMIOn},
                                                  ]
                                              };
                      
                                              //Level_3
                                              let NSPanel_ScreensaverDateformat = <PageEntities>
                                              {
                                                  'type': 'cardEntities',
                                                  'heading': findLocaleServMenu('date_format'),
                                                  'useColor': true,
                                                  'subPage': true,
                                                  'parent': NSPanel_Screensaver,
                                                  'home': 'NSPanel_Service',
                                                  'items': [
                                                      <PageItem>{ id: AliasPath + 'Config.Dateformat.Switch.weekday', name: findLocaleServMenu('weekday_large') ,icon: 'calendar-expand-horizontal', offColor: HMIOff, onColor: HMIOn},
                                                      <PageItem>{ id: AliasPath + 'Config.Dateformat.Switch.month', name: findLocaleServMenu('month_large') ,icon: 'calendar-expand-horizontal', offColor: HMIOff, onColor: HMIOn},
                                                  ]
                                              };
                      
                                              //Level_3
                                              let NSPanel_ScreensaverIndicators = <PageEntities>
                                              {
                                                  'type': 'cardEntities',
                                                  'heading': findLocaleServMenu('indicators'),
                                                  'useColor': true,
                                                  'subPage': true,
                                                  'parent': NSPanel_Screensaver,
                                                  'home': 'NSPanel_Service',
                                                  'items': [
                                                      <PageItem>{ id: AliasPath + 'Config.MRIcons.alternateMRIconSize.1', name: findLocaleServMenu('mr_icon1_size') ,icon: 'format-size', offColor: HMIOff, onColor: HMIOn},
                                                      <PageItem>{ id: AliasPath + 'Config.MRIcons.alternateMRIconSize.2', name: findLocaleServMenu('mr_icon2_size') ,icon: 'format-size', offColor: HMIOff, onColor: HMIOn},
                                                  ]
                                              };
                      
                                      //Level_2
                                      let NSPanel_Relays = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('relays'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Einstellungen,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Relay.1', name: findLocaleServMenu('relay1_onoff'), icon: 'power', offColor: HMIOff, onColor: HMIOn},
                                              <PageItem>{ id: AliasPath + 'Relay.2', name: findLocaleServMenu('relay2_onoff'), icon: 'power', offColor: HMIOff, onColor: HMIOn},
                                          ]
                                      };
                      
                                      //Level_2
                                      let NSPanel_Script = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('script'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Einstellungen,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Config.ScripgtDebugStatus', name: findLocaleServMenu('debugmode_offon') ,icon: 'code-tags-check', offColor: HMIOff, onColor: HMIOn},
                                              <PageItem>{ id: AliasPath + 'Config.MQTT.portCheck', name: findLocaleServMenu('port_check_offon') ,icon: 'check-network', offColor: HMIOff, onColor: HMIOn},
                                          ]
                                      };
                      
                              //Level_1
                              let NSPanel_Firmware = <PageEntities>
                                  {
                                      'type': 'cardEntities',
                                      'heading': findLocaleServMenu('firmware'),
                                      'useColor': true,
                                      'subPage': true,
                                      'parent': NSPanel_Service,
                                      'home': 'NSPanel_Service',
                                      'items': [
                                          <PageItem>{ id: AliasPath + 'autoUpdate', name: findLocaleServMenu('automatically_updates') ,icon: 'power', offColor: HMIOff, onColor: HMIOn},
                                          <PageItem>{ navigate: true, id: 'NSPanel_FirmwareTasmota', icon: 'usb-flash-drive', offColor: Menu, onColor: Menu, name: findLocaleServMenu('tasmota_firmware'), buttonText: findLocaleServMenu('more')},
                                          <PageItem>{ navigate: true, id: 'NSPanel_FirmwareBerry', icon: 'usb-flash-drive', offColor: Menu, onColor: Menu, name: findLocaleServMenu('berry_driver'), buttonText: findLocaleServMenu('more')},
                                          <PageItem>{ navigate: true, id: 'NSPanel_FirmwareNextion', icon: 'cellphone-cog', offColor: Menu, onColor: Menu, name: findLocaleServMenu('nextion_tft_firmware'), buttonText: findLocaleServMenu('more')}
                                      ]
                                  };
                      
                                      let NSPanel_FirmwareTasmota = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('tasmota'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Firmware,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Tasmota.Version', name: findLocaleServMenu('installed_release'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Tasmota_Firmware.onlineVersion', name: findLocaleServMenu('available_release'), offColor: Menu, onColor: Menu },                        
                                              <PageItem>{ id: 'Divider' },
                                              <PageItem>{ id: AliasPath + 'Config.Update.UpdateTasmota', name: findLocaleServMenu('update_tasmota') ,icon: 'refresh', offColor: HMIOff, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                          ]
                                      };
                      
                                      let NSPanel_FirmwareBerry = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('berry_driver'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Firmware,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: findLocaleServMenu('installed_release'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Berry_Driver.onlineVersion', name: findLocaleServMenu('available_release'), offColor: Menu, onColor: Menu},                        
                                              <PageItem>{ id: 'Divider' },
                                              <PageItem>{ id: AliasPath + 'Config.Update.UpdateBerry', name: findLocaleServMenu('update_berry_driver') ,icon: 'refresh', offColor: HMIOff, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                          ]
                                      };
                      
                                      let NSPanel_FirmwareNextion = <PageEntities>
                                      {
                                          'type': 'cardEntities',
                                          'heading': findLocaleServMenu('nextion_tft'),
                                          'useColor': true,
                                          'subPage': true,
                                          'parent': NSPanel_Firmware,
                                          'home': 'NSPanel_Service',
                                          'items': [
                                              <PageItem>{ id: AliasPath + 'Display_Firmware.TFT.currentVersion', name: findLocaleServMenu('installed_release'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Display_Firmware.TFT.desiredVersion', name: findLocaleServMenu('desired_release'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Display.Model', name: findLocaleServMenu('nspanel_model'), offColor: Menu, onColor: Menu },
                                              <PageItem>{ id: AliasPath + 'Config.Update.UpdateNextion', name: 'Nextion TFT Update' ,icon: 'refresh', offColor: HMIOff, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                          ]
                                      };
                      
                      // Ende der Service Pages
                      

                      • zusätzliche Seite unter subPages eintragen:
                        a4faea2c-9a97-4bac-b2d7-60d96646c804-image.png
                      • fertig ;-)

                      Ihr habt Fehler in der Übersetzung gefunden oder Verbesserungswünsche:
                      Uns ist bewusst, dass die Translater einige Übersetzungen wahrscheinlich nicht ganz korrekt oder ggfs. zu lang übersetzt haben... Für diesen Fall bitte einen kurzen Hinweis geben. Wir ändern die Übersetzung dann direkt im JSON-File auf Github ab, so dass es allen Usern sofort zur Verfügung steht (Updates werden automatisch gezogen).

                      So und nun viel Spaß mit den multilingualen Änderungen:
                      @TT-Tom und Armilar :blush:

                      EDIT:
                      Ihr habt das vorherige Menü bereits übersetzt?
                      Dann sendet hier einfach das komplette Menü mit den Übersetzungen... ;-)

                      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 Antwort Letzte Antwort
                      0
                      • D Offline
                        D Offline
                        drakal
                        schrieb am zuletzt editiert von
                        #4269

                        Hallo zusammen, kann mir bitte jemand helfen? Ich habe alles soweit installiert. Es gibt keine Fehlermeldungen, aber auf dem Display erscheinen viele Optionen und Icons nicht. Unter Einstellungen z.B. finde ich nur Screensave, Relay und Skript. Ich meine, alle Icons, die mit "modeList" zu tun haben, also z.B. die Spracheinstellung und die Temperatureinheitseinstellung (C, F etc.) funktionieren nicht. Weiß jemand warum?

                        ArmilarA 1 Antwort Letzte Antwort
                        0
                        • D drakal

                          Hallo zusammen, kann mir bitte jemand helfen? Ich habe alles soweit installiert. Es gibt keine Fehlermeldungen, aber auf dem Display erscheinen viele Optionen und Icons nicht. Unter Einstellungen z.B. finde ich nur Screensave, Relay und Skript. Ich meine, alle Icons, die mit "modeList" zu tun haben, also z.B. die Spracheinstellung und die Temperatureinheitseinstellung (C, F etc.) funktionieren nicht. Weiß jemand warum?

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

                          @drakal sagte in SONOFF NSPanel mit Lovelace UI:

                          Hallo zusammen, kann mir bitte jemand helfen? Ich habe alles soweit installiert.

                          Was hast du installiert?

                          Es gibt keine Fehlermeldungen, aber auf dem Display erscheinen viele Optionen und Icons nicht.

                          Und wie sieht das Display aktuell aus?

                          Unter Einstellungen z.B. finde ich nur Screensave, Relay und Skript. Ich meine, alle Icons, die mit "modeList" zu tun haben, also z.B. die Spracheinstellung und die
                          Temperatureinheitseinstellung (C, F etc.) funktionieren nicht. Weiß jemand warum?

                          Weil du wahrscheinlich setOptions in deiner JS-Adapter-Instanz nicht aktiv hast. Sollte es so sein, dann den Haken bei "Kommando setOptions erlauben" setzen... am Besten auch gleich bei "Kommando exec erlauben" und das Script neu starten. Dann sollte der Rest ebenfalls da sein.

                          Das Script benutzt ALIAS-Channel - die können nur erstellt werden, wenn setOptions aktiv ist.

                          Bei welcher Version bist du und von welcher Version kommst du?

                          EDIT: Hier die vollständige Einstellung der JS-Adapterinstanz:
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki/iobroker---Basisinstallation#8--einstellungen-in-js-adapter-instanz

                          Sollten die Haken gesetzt sein und dennoch nichts passieren, dann einmal die NSPanel-Verzeichnisse, die durch das Script erstellt wurden:

                          • 0_userdata.0.NSPanel.XYZ
                          • alias.0.NSPanel.XYZ

                          löschen und durch einen Neustart des Scriptes wieder vollständig anlegen lassen...

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

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

                          1 Antwort Letzte Antwort
                          0
                          • ArmilarA Armilar

                            v4.3.3.5 - Update NSPanelTs.ts

                            So - da ist das neue Update mit dem multilingualen Service-Menü.

                            0fe40ec2-e9e4-4505-855f-6684703d9885-image.png

                            Änderungen:

                            • Zusätzlicher Menüpunkt "ioBroker-Infos" im Service Menü (Hat @TT-Tom bereits mit der v4.3.3.4 am 15.11.2023 bereitgestellt):
                              b23db71d-0b51-4e3f-bb16-80f65d0242da-image.png
                              mit entsprechenden Infos zur aktuellen Version des NSPanelTS.ts Scriptes, der aktuell installierten NodeJS-Version und der aktuell installierten Version der JS-Adapterinstanz
                              7283604b-0009-4af4-b2d7-14bbb86c4489-image.png

                            • Das komplette Service-Menü ist jetzt in 39 Sprachen übersetzt und wird mit der "bereits gewählten Language-Code" für Datum/Uhrzeit, etc. geladen.
                              484fa229-b50f-4a1c-83f4-326a5f10acbe-image.png
                              Nach der Umstellung muss das TS-Script allerdings einmal durchgestartet werden, damit die Änderungen im Menü wirksam werden:
                              2222d797-154d-4568-b879-442416afcfa2-image.png
                              c27b6afa-1a15-4325-8e51-9ed11e1a5495-image.png

                            • Weitere Cards, wie cardUnlock, cardQR, popupFan, popupTimer sind ebenfalls umgestellt worden (cardAlarm und cardMedia folgen in einer der nächsten Versionen)

                            Durchführung des Updates:

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

                            • Unteren Teil: des Scriptes ab:
                              // _________________ Ab hier keine Konfiguration mehr ___________________
                              
                              ersetzten.
                            • Das Service Menü (siehe Spoiler) komplett austauschen:

                            /***********************************************************************************************
                             **  Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt) **
                             **  https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Service-Men%C3%BC             **
                             ***********************************************************************************************/
                            
                            /* Wenn das Service Menü abgesichert werden soll, kann eine cardUnlock vorgeschaltet werden. 
                               Für diesen Fall ist folgende Vorgehensweise erforderlich:
                               - cardUnlock Seite "Unlock_Service" in der Config unter pages auskommentieren ("//" entfernen)
                               - Servicemenü aus pages "NSPanel_Service" unter pages kommentieren ("//" hinzufügen)
                            */ 
                            
                            //Level 0 (if service pages are used with cardUnlock)
                            let Unlock_Service = <PageUnlock>
                            {
                                'type': 'cardUnlock',
                                'heading': findLocaleServMenu('service_pages'),
                                'useColor': true,
                                'items': [<PageItem>{ id: 'alias.0.NSPanel.Unlock',
                                                      targetPage: 'NSPanel_Service_SubPage',
                                                      autoCreateALias: true }
                                ]
                            };
                            
                            //Level_0 (if service pages are used without cardUnlock)
                            let NSPanel_Service = <PageEntities>
                            {
                                'type': 'cardEntities',
                                'heading': findLocaleServMenu('service_menu'),
                                'useColor': true,
                                'items': [
                                    <PageItem>{ navigate: true, id: 'NSPanel_Infos', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('infos'), buttonText: findLocaleServMenu('more')},
                                    <PageItem>{ navigate: true, id: 'NSPanel_Einstellungen', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: findLocaleServMenu('settings'), buttonText: findLocaleServMenu('more')},
                                    <PageItem>{ navigate: true, id: 'NSPanel_Firmware', icon: 'update', offColor: Menu, onColor: Menu, name: findLocaleServMenu('firmware'), buttonText: findLocaleServMenu('more')},
                                    <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: findLocaleServMenu('reboot') ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                ]
                            };
                            
                            //Level_0 (if service pages are used with cardUnlock)
                            let NSPanel_Service_SubPage = <PageEntities>
                            {
                                'type': 'cardEntities',
                                'heading': findLocaleServMenu('service_menu'),
                                'useColor': true,
                                'subPage': true,
                                'parent': Unlock_Service,
                                'home': 'Unlock_Service', 
                                'items': [
                                    <PageItem>{ navigate: true, id: 'NSPanel_Infos', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('infos'), buttonText: findLocaleServMenu('more')},
                                    <PageItem>{ navigate: true, id: 'NSPanel_Einstellungen', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: findLocaleServMenu('settings'), buttonText: findLocaleServMenu('more')},
                                    <PageItem>{ navigate: true, id: 'NSPanel_Firmware', icon: 'update', offColor: Menu, onColor: Menu, name: findLocaleServMenu('firmware'), buttonText: findLocaleServMenu('more')},
                                    <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: findLocaleServMenu('reboot') ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                ]
                            };
                            
                                    //Level_1
                                    let NSPanel_Infos = <PageEntities>
                                    {
                                        'type': 'cardEntities',
                                        'heading': findLocaleServMenu('nspanel_infos'),
                                        'useColor': true,
                                        'subPage': true,
                                        'parent': NSPanel_Service,
                                        'home': 'NSPanel_Service',        
                                        'items': [
                                            <PageItem>{ navigate: true, id: 'NSPanel_Wifi_Info_1', icon: 'wifi', offColor: Menu, onColor: Menu, name: findLocaleServMenu('wifi'), buttonText: findLocaleServMenu('more')},
                                            <PageItem>{ navigate: true, id: 'NSPanel_Sensoren', icon: 'memory', offColor: Menu, onColor: Menu, name: findLocaleServMenu('sensors_hardware'), buttonText: findLocaleServMenu('more')},
                                            <PageItem>{ navigate: true, id: 'NSPanel_IoBroker', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('info_iobroker'), buttonText: findLocaleServMenu('more')}
                                        ]
                                    };
                                            //Level_2
                                            let NSPanel_Wifi_Info_1 = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('nspanel_wifi1'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Infos,
                                                'next': 'NSPanel_Wifi_Info_2',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'ipAddress', name: findLocaleServMenu('ip_address'), icon: 'ip-network-outline', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.BSSId', name: findLocaleServMenu('mac_address'), icon: 'check-network', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: findLocaleServMenu('rssi'), icon: 'signal', unit: '%', colorScale: {'val_min': 100, 'val_max': 0} },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.Signal', name: findLocaleServMenu('wifi_signal'), icon: 'signal-distance-variant', unit: 'dBm', colorScale: {'val_min': 0, 'val_max': -100} },
                                                ]
                                            };
                            
                                            let NSPanel_Wifi_Info_2 = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('nspanel_wifi2'),
                                                'useColor': true,
                                                'subPage': true,
                                                'prev': 'NSPanel_Wifi_Info_1',
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.SSId', name: findLocaleServMenu('ssid'), icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.Mode', name: findLocaleServMenu('mode'), icon: 'signal-distance-variant', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.Channel', name: findLocaleServMenu('channel'), icon: 'timeline-clock-outline', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Wifi.AP', name: findLocaleServMenu('accesspoint'), icon: 'router-wireless-settings', offColor: Menu, onColor: Menu },
                                                ]
                                            };
                            
                                            let NSPanel_Sensoren = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('sensors1'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Infos,
                                                'next': 'NSPanel_Hardware',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Sensor.ANALOG.Temperature', name: findLocaleServMenu('room_temperature'), icon: 'home-thermometer-outline', unit: '°C', colorScale: {'val_min': 0, 'val_max': 40, 'val_best': 22 } },
                                                    <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: findLocaleServMenu('esp_temperature'), icon: 'thermometer', unit: '°C', colorScale: {'val_min': 0, 'val_max': 100, 'val_best': 50 } },
                                                    <PageItem>{ id: AliasPath + 'Sensor.TempUnit', name: findLocaleServMenu('temperature_unit'), icon: 'temperature-celsius', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Sensor.Time', name: findLocaleServMenu('refresh'), icon: 'clock-check-outline', offColor: Menu, onColor: Menu },
                                                ]
                                            };
                            
                                            let NSPanel_Hardware = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('hardware2'),
                                                'useColor': true,
                                                'subPage': true,
                                                'prev': 'NSPanel_Sensoren',
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Product', name: findLocaleServMenu('product'), icon: 'devices', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: findLocaleServMenu('esp32_hardware'), icon: 'memory', offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Display.Model', name: findLocaleServMenu('nspanel_version'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: findLocaleServMenu('operating_time'), icon: 'timeline-clock-outline', offColor: Menu, onColor: Menu },
                                                ]
                                            };
                            
                                            let NSPanel_IoBroker = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('info_iobroker'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Infos,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'IoBroker.ScriptVersion', name: findLocaleServMenu('script_version_nspanelts'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'IoBroker.NodeJSVersion', name: findLocaleServMenu('nodejs_version'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'IoBroker.JavaScriptVersion', name: findLocaleServMenu('instance_javascript'), offColor: Menu, onColor: Menu },
                                                ]
                                            };
                            
                                    //Level_1
                                    let NSPanel_Einstellungen = <PageGrid>
                                        {
                                            'type': 'cardGrid',
                                            'heading': findLocaleServMenu('settings'),
                                            'useColor': true,
                                            'subPage': true,
                                            'parent': NSPanel_Service,
                                            'home': 'NSPanel_Service',
                                            'items': [
                                                <PageItem>{ navigate: true, id: 'NSPanel_Screensaver', icon: 'monitor-dashboard',offColor: Menu, onColor: Menu, name: findLocaleServMenu('screensaver'), buttonText: findLocaleServMenu('more')},
                                                <PageItem>{ navigate: true, id: 'NSPanel_Relays', icon: 'electric-switch', offColor: Menu, onColor: Menu, name: findLocaleServMenu('relays'), buttonText: findLocaleServMenu('more')},
                                                <PageItem>{ id:AliasPath + 'Config.temperatureUnitNumber', icon: 'gesture-double-tap', name: findLocaleServMenu('temp_unit'), offColor: Menu, onColor: Menu, 
                                                modeList: ['°C', '°F', 'K']},
                                                <PageItem>{ id: AliasPath + 'Config.localeNumber', icon: 'select-place', name: findLocaleServMenu('language'), offColor: Menu, onColor: Menu, 
                                                modeList: ['en-US', 'de-DE', 'nl-NL', 'da-DK', 'es-ES', 'fr-FR', 'it-IT', 'ru-RU', 'nb-NO', 'nn-NO', 'pl-PL', 'pt-PT', 'af-ZA', 'ar-SY', 
                                                           'bg-BG', 'ca-ES', 'cs-CZ', 'el-GR', 'et-EE', 'fa-IR', 'fi-FI', 'he-IL', 'hr-xx', 'hu-HU', 'hy-AM', 'id-ID', 'is-IS', 'lb-xx', 
                                                           'lt-LT', 'ro-RO', 'sk-SK', 'sl-SI', 'sv-SE', 'th-TH', 'tr-TR', 'uk-UA', 'vi-VN', 'zh-CN', 'zh-TW']},
                                               <PageItem>{ navigate: true, id: 'NSPanel_Script', icon: 'code-json',offColor: Menu, onColor: Menu, name: findLocaleServMenu('script'), buttonText: findLocaleServMenu('more')},            
                                            ]
                                        };
                            
                                            //Level_2
                                            let NSPanel_Screensaver = <PageGrid>
                                            {
                                                'type': 'cardGrid',
                                                'heading': findLocaleServMenu('screensaver'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Einstellungen,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverDimmode', icon: 'sun-clock', offColor: Menu, onColor: Menu, name: findLocaleServMenu('dimmode')},
                                                    <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverBrightness', icon: 'brightness-5', offColor: Menu, onColor: Menu, name: findLocaleServMenu('brightness')},
                                                    <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverLayout', icon: 'page-next-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('layout')},
                                                    <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverWeather', icon: 'weather-partly-rainy', offColor: Menu, onColor: Menu, name: findLocaleServMenu('weather')},
                                                    <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverDateformat', icon: 'calendar-expand-horizontal', offColor: Menu, onColor: Menu, name: findLocaleServMenu('date_format')},
                                                    <PageItem>{ navigate: true, id: 'NSPanel_ScreensaverIndicators', icon: 'monitor-edit', offColor: Menu, onColor: Menu, name: findLocaleServMenu('indicators')}
                                                ]
                                            };
                                                        
                                                    //Level_3
                                                    let NSPanel_ScreensaverDimmode = <PageEntities>
                                                    {
                                                        'type': 'cardEntities',
                                                        'heading': findLocaleServMenu('dimmode'),
                                                        'useColor': true,
                                                        'subPage': true,
                                                        'parent': NSPanel_Screensaver,
                                                        'home': 'NSPanel_Service',
                                                        'items': [
                                                            <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: findLocaleServMenu('brightness_day'), icon: 'brightness-5', offColor: Menu, onColor: Menu, minValue: 5, maxValue: 10},
                                                            <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: findLocaleServMenu('brightness_night'), icon: 'brightness-4', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 4},
                                                            <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: findLocaleServMenu('hour_day'), icon: 'sun-clock', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 23},
                                                            <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: findLocaleServMenu('hour_night'), icon: 'sun-clock-outline', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 23}
                                                        ]
                                                    };
                            
                                                    //Level_3
                                                    let NSPanel_ScreensaverBrightness = <PageEntities>
                                                    {
                                                        'type': 'cardEntities',
                                                        'heading': findLocaleServMenu('brightness'),
                                                        'useColor': true,
                                                        'subPage': true,
                                                        'parent': NSPanel_Screensaver,
                                                        'home': 'NSPanel_Service',
                                                        'items': [
                                                            <PageItem>{ id: AliasPath + 'ScreensaverInfo.activeBrightness', name: findLocaleServMenu('brightness_activ'), icon: 'brightness-5', offColor: Menu, onColor: Menu, minValue: 20, maxValue: 100},
                                                            <PageItem>{ id: AliasPath + 'Config.Screensaver.timeoutScreensaver', name: findLocaleServMenu('screensaver_timeout'), icon: 'clock-end', offColor: Menu, onColor: Menu, minValue: 0, maxValue: 60},
                                                            <PageItem>{ id: AliasPath + 'Config.Screensaver.screenSaverDoubleClick', name: findLocaleServMenu('wakeup_doublecklick') ,icon: 'gesture-two-double-tap', offColor: HMIOff, onColor: HMIOn}
                                                        ]
                                                    };
                            
                                                    //Level_3
                                                    let NSPanel_ScreensaverLayout = <PageEntities>
                                                    {
                                                        'type': 'cardEntities',
                                                        'heading': findLocaleServMenu('layout'),
                                                        'useColor': true,
                                                        'subPage': true,
                                                        'parent': NSPanel_Screensaver,
                                                        'home': 'NSPanel_Service',
                                                        'items': [
                                                            <PageItem>{ id: AliasPath + 'Config.Screensaver.alternativeScreensaverLayout', name: findLocaleServMenu('alternative_layout') ,icon: 'page-previous-outline', offColor: HMIOff, onColor: HMIOn},
                                                            <PageItem>{ id: AliasPath + 'Config.Screensaver.ScreensaverAdvanced', name: findLocaleServMenu('advanced_layout') ,icon: 'page-next-outline', offColor: HMIOff, onColor: HMIOn},
                                                        ]
                                                    };
                            
                                                    //Level_3
                                                    let NSPanel_ScreensaverWeather = <PageEntities>
                                                    {
                                                        'type': 'cardEntities',
                                                        'heading': findLocaleServMenu('weather_parameters'),
                                                        'useColor': true,
                                                        'subPage': true,
                                                        'parent': NSPanel_Screensaver,
                                                        'home': 'NSPanel_Service',
                                                        'items': [
                                                            <PageItem>{ id: AliasPath + 'ScreensaverInfo.weatherForecast', name: findLocaleServMenu('weather_forecast_offon') ,icon: 'weather-sunny-off', offColor: HMIOff, onColor: HMIOn},
                                                            <PageItem>{ id: AliasPath + 'ScreensaverInfo.weatherForecastTimer', name: findLocaleServMenu('weather_forecast_change_switch') ,icon: 'devices', offColor: HMIOff, onColor: HMIOn},
                                                            <PageItem>{ id: AliasPath + 'ScreensaverInfo.entityChangeTime', name: findLocaleServMenu('weather_forecast_change_time'), icon: 'cog-sync', offColor: Menu, onColor: Menu, minValue: 15, maxValue: 60},
                                                            <PageItem>{ id: AliasPath + 'Config.Screensaver.autoWeatherColorScreensaverLayout', name: findLocaleServMenu('weather_forecast_icon_colors') ,icon: 'format-color-fill', offColor: HMIOff, onColor: HMIOn},
                                                        ]
                                                    };
                            
                                                    //Level_3
                                                    let NSPanel_ScreensaverDateformat = <PageEntities>
                                                    {
                                                        'type': 'cardEntities',
                                                        'heading': findLocaleServMenu('date_format'),
                                                        'useColor': true,
                                                        'subPage': true,
                                                        'parent': NSPanel_Screensaver,
                                                        'home': 'NSPanel_Service',
                                                        'items': [
                                                            <PageItem>{ id: AliasPath + 'Config.Dateformat.Switch.weekday', name: findLocaleServMenu('weekday_large') ,icon: 'calendar-expand-horizontal', offColor: HMIOff, onColor: HMIOn},
                                                            <PageItem>{ id: AliasPath + 'Config.Dateformat.Switch.month', name: findLocaleServMenu('month_large') ,icon: 'calendar-expand-horizontal', offColor: HMIOff, onColor: HMIOn},
                                                        ]
                                                    };
                            
                                                    //Level_3
                                                    let NSPanel_ScreensaverIndicators = <PageEntities>
                                                    {
                                                        'type': 'cardEntities',
                                                        'heading': findLocaleServMenu('indicators'),
                                                        'useColor': true,
                                                        'subPage': true,
                                                        'parent': NSPanel_Screensaver,
                                                        'home': 'NSPanel_Service',
                                                        'items': [
                                                            <PageItem>{ id: AliasPath + 'Config.MRIcons.alternateMRIconSize.1', name: findLocaleServMenu('mr_icon1_size') ,icon: 'format-size', offColor: HMIOff, onColor: HMIOn},
                                                            <PageItem>{ id: AliasPath + 'Config.MRIcons.alternateMRIconSize.2', name: findLocaleServMenu('mr_icon2_size') ,icon: 'format-size', offColor: HMIOff, onColor: HMIOn},
                                                        ]
                                                    };
                            
                                            //Level_2
                                            let NSPanel_Relays = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('relays'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Einstellungen,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Relay.1', name: findLocaleServMenu('relay1_onoff'), icon: 'power', offColor: HMIOff, onColor: HMIOn},
                                                    <PageItem>{ id: AliasPath + 'Relay.2', name: findLocaleServMenu('relay2_onoff'), icon: 'power', offColor: HMIOff, onColor: HMIOn},
                                                ]
                                            };
                            
                                            //Level_2
                                            let NSPanel_Script = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('script'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Einstellungen,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Config.ScripgtDebugStatus', name: findLocaleServMenu('debugmode_offon') ,icon: 'code-tags-check', offColor: HMIOff, onColor: HMIOn},
                                                    <PageItem>{ id: AliasPath + 'Config.MQTT.portCheck', name: findLocaleServMenu('port_check_offon') ,icon: 'check-network', offColor: HMIOff, onColor: HMIOn},
                                                ]
                                            };
                            
                                    //Level_1
                                    let NSPanel_Firmware = <PageEntities>
                                        {
                                            'type': 'cardEntities',
                                            'heading': findLocaleServMenu('firmware'),
                                            'useColor': true,
                                            'subPage': true,
                                            'parent': NSPanel_Service,
                                            'home': 'NSPanel_Service',
                                            'items': [
                                                <PageItem>{ id: AliasPath + 'autoUpdate', name: findLocaleServMenu('automatically_updates') ,icon: 'power', offColor: HMIOff, onColor: HMIOn},
                                                <PageItem>{ navigate: true, id: 'NSPanel_FirmwareTasmota', icon: 'usb-flash-drive', offColor: Menu, onColor: Menu, name: findLocaleServMenu('tasmota_firmware'), buttonText: findLocaleServMenu('more')},
                                                <PageItem>{ navigate: true, id: 'NSPanel_FirmwareBerry', icon: 'usb-flash-drive', offColor: Menu, onColor: Menu, name: findLocaleServMenu('berry_driver'), buttonText: findLocaleServMenu('more')},
                                                <PageItem>{ navigate: true, id: 'NSPanel_FirmwareNextion', icon: 'cellphone-cog', offColor: Menu, onColor: Menu, name: findLocaleServMenu('nextion_tft_firmware'), buttonText: findLocaleServMenu('more')}
                                            ]
                                        };
                            
                                            let NSPanel_FirmwareTasmota = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('tasmota'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Firmware,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Tasmota.Version', name: findLocaleServMenu('installed_release'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Tasmota_Firmware.onlineVersion', name: findLocaleServMenu('available_release'), offColor: Menu, onColor: Menu },                        
                                                    <PageItem>{ id: 'Divider' },
                                                    <PageItem>{ id: AliasPath + 'Config.Update.UpdateTasmota', name: findLocaleServMenu('update_tasmota') ,icon: 'refresh', offColor: HMIOff, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                                ]
                                            };
                            
                                            let NSPanel_FirmwareBerry = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('berry_driver'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Firmware,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: findLocaleServMenu('installed_release'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Berry_Driver.onlineVersion', name: findLocaleServMenu('available_release'), offColor: Menu, onColor: Menu},                        
                                                    <PageItem>{ id: 'Divider' },
                                                    <PageItem>{ id: AliasPath + 'Config.Update.UpdateBerry', name: findLocaleServMenu('update_berry_driver') ,icon: 'refresh', offColor: HMIOff, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                                ]
                                            };
                            
                                            let NSPanel_FirmwareNextion = <PageEntities>
                                            {
                                                'type': 'cardEntities',
                                                'heading': findLocaleServMenu('nextion_tft'),
                                                'useColor': true,
                                                'subPage': true,
                                                'parent': NSPanel_Firmware,
                                                'home': 'NSPanel_Service',
                                                'items': [
                                                    <PageItem>{ id: AliasPath + 'Display_Firmware.TFT.currentVersion', name: findLocaleServMenu('installed_release'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Display_Firmware.TFT.desiredVersion', name: findLocaleServMenu('desired_release'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Display.Model', name: findLocaleServMenu('nspanel_model'), offColor: Menu, onColor: Menu },
                                                    <PageItem>{ id: AliasPath + 'Config.Update.UpdateNextion', name: 'Nextion TFT Update' ,icon: 'refresh', offColor: HMIOff, onColor: MSGreen, buttonText: findLocaleServMenu('start')},
                                                ]
                                            };
                            
                            // Ende der Service Pages
                            

                            • zusätzliche Seite unter subPages eintragen:
                              a4faea2c-9a97-4bac-b2d7-60d96646c804-image.png
                            • fertig ;-)

                            Ihr habt Fehler in der Übersetzung gefunden oder Verbesserungswünsche:
                            Uns ist bewusst, dass die Translater einige Übersetzungen wahrscheinlich nicht ganz korrekt oder ggfs. zu lang übersetzt haben... Für diesen Fall bitte einen kurzen Hinweis geben. Wir ändern die Übersetzung dann direkt im JSON-File auf Github ab, so dass es allen Usern sofort zur Verfügung steht (Updates werden automatisch gezogen).

                            So und nun viel Spaß mit den multilingualen Änderungen:
                            @TT-Tom und Armilar :blush:

                            EDIT:
                            Ihr habt das vorherige Menü bereits übersetzt?
                            Dann sendet hier einfach das komplette Menü mit den Übersetzungen... ;-)

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

                            @Breyger

                            wäre das etwas für dich?

                            https://forum.iobroker.net/post/1081945

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

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

                            1 Antwort Letzte Antwort
                            0
                            • D Offline
                              D Offline
                              drakal
                              schrieb am zuletzt editiert von
                              #4272

                              @armilar Danke.

                              Panel: v4.3.3.5
                              Nodejs 18.18.2
                              JS 7.1.4

                              hatte JS und nodejs aber gerade erst geupdatet. Außerdem habe ich die US-Version des NSPanels. Keine Ahnung woran das liegt. Ich habe alle JS-Adapter-Einstellungen richtig gemacht... Geht leider trotzdem nicht. Any ideas?

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • D drakal

                                @armilar Danke.

                                Panel: v4.3.3.5
                                Nodejs 18.18.2
                                JS 7.1.4

                                hatte JS und nodejs aber gerade erst geupdatet. Außerdem habe ich die US-Version des NSPanels. Keine Ahnung woran das liegt. Ich habe alle JS-Adapter-Einstellungen richtig gemacht... Geht leider trotzdem nicht. Any ideas?

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

                                @drakal

                                Hatte den Post oben noch erweitert:

                                9508a6af-22fb-48cb-82ee-0916217c607a-image.png

                                Dürfte mit der US-Version nichts zu tun haben...

                                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.

                                D 1 Antwort Letzte Antwort
                                0
                                • ArmilarA Armilar

                                  @drakal

                                  Hatte den Post oben noch erweitert:

                                  9508a6af-22fb-48cb-82ee-0916217c607a-image.png

                                  Dürfte mit der US-Version nichts zu tun haben...

                                  D Offline
                                  D Offline
                                  drakal
                                  schrieb am zuletzt editiert von
                                  #4274

                                  @armilar oh Mann... Du bist meine Rettung... Das war es (löschen und neu erstellen lassen)!!! Danke!!!!!!

                                  ArmilarA 1 Antwort Letzte Antwort
                                  1
                                  • D drakal

                                    @armilar oh Mann... Du bist meine Rettung... Das war es (löschen und neu erstellen lassen)!!! Danke!!!!!!

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

                                    @drakal

                                    manche Probleme lassen sich schnell und radikal lösen :blush:

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

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • Stephan LS Offline
                                      Stephan LS Offline
                                      Stephan L
                                      schrieb am zuletzt editiert von
                                      #4276

                                      Also, ich versuche gerade meine AppDaemon configuration nach ioBroker zu bringen.
                                      AppDaemon ist super lahm und was ich hier bisher sehe gefaellt mir.

                                      Leider stehe ich etwas auf dem Schlauch.... Zum einen, der Mix aus Deutsch und Englisch in der TS Datei macht es nicht wirklich einfacher. Zum Glueck behersche ich noch etwas Deutsch haha.

                                      Egal, mein erstes Problem ist, Ich will auf dem ScreenSaver das grosse Datum in der Mitte umformatieren.

                                      In der AppDaemon config geht das ganz einfach:
                                      dateFormat: "%A - %m/%d/%Y"
                                      Und fertig.

                                      Ich sehe hier in den 'Settings' zwar 2 Schalter, aber das ist nicht genug! Ich will das Datum mit / als Trenner.

                                      In der Wiki steht was von 'ScreensaverEntityDateFormat' aber leider ohne Beispiel wo genau das hin soll.
                                      Ein Beispiel hat es unter 'bottomScreensaverEntity : ' aber das ist ja nicht der Teil den ich anpassen will.

                                      Ich denke es sollte nicht so schwer sein und ich bin wohl einfach nur Blind.
                                      Will nicht zurueck zu AppDaemon denn damit ist das Panel echt traege!

                                      Vielen Dank!

                                      Stephan LS ArmilarA 2 Antworten Letzte Antwort
                                      0
                                      • Stephan LS Stephan L

                                        Also, ich versuche gerade meine AppDaemon configuration nach ioBroker zu bringen.
                                        AppDaemon ist super lahm und was ich hier bisher sehe gefaellt mir.

                                        Leider stehe ich etwas auf dem Schlauch.... Zum einen, der Mix aus Deutsch und Englisch in der TS Datei macht es nicht wirklich einfacher. Zum Glueck behersche ich noch etwas Deutsch haha.

                                        Egal, mein erstes Problem ist, Ich will auf dem ScreenSaver das grosse Datum in der Mitte umformatieren.

                                        In der AppDaemon config geht das ganz einfach:
                                        dateFormat: "%A - %m/%d/%Y"
                                        Und fertig.

                                        Ich sehe hier in den 'Settings' zwar 2 Schalter, aber das ist nicht genug! Ich will das Datum mit / als Trenner.

                                        In der Wiki steht was von 'ScreensaverEntityDateFormat' aber leider ohne Beispiel wo genau das hin soll.
                                        Ein Beispiel hat es unter 'bottomScreensaverEntity : ' aber das ist ja nicht der Teil den ich anpassen will.

                                        Ich denke es sollte nicht so schwer sein und ich bin wohl einfach nur Blind.
                                        Will nicht zurueck zu AppDaemon denn damit ist das Panel echt traege!

                                        Vielen Dank!

                                        Stephan LS Offline
                                        Stephan LS Offline
                                        Stephan L
                                        schrieb am zuletzt editiert von
                                        #4277

                                        @stephan-l

                                        Habe die Stelle im Code gefunden und das geht heute wirklich nicht :-(
                                        Arbeite zwar mit ioBroker erst seit paar Stunden aber ich denke das sollte so gehen.
                                        Wenn ich ein neues Objekt 'Config.Dateformat.options' erstelle dann kann ich dort z.B.
                                        { weekday: 'long', year: 'numeric', month: 'numeric', day: 'numeric' }
                                        eintragen und bekomme dann das Datum passend formatiert. Wenn das Objekt fehlt dann laueft der alte Code.

                                        function SendDate(): void {
                                            try {
                                                if (existsObject(NSPanel_Path + 'Config.locale')) {
                                                    let dpWeekday = existsObject(NSPanel_Path + 'Config.Dateformat.weekday') ? getState(NSPanel_Path + 'Config.Dateformat.weekday').val : 'short';
                                                    let dpMonth = existsObject(NSPanel_Path + 'Config.Dateformat.month') ? getState(NSPanel_Path + 'Config.Dateformat.month').val : 'short';
                                        
                                                    const date = new Date();
                                        -->         let fullOptions = existsObject(NSPanel_Path + 'Config.Dateformat.options') ? getState(NSPanel_Path + 'Config.Dateformat.options').val : { weekday: dpWeekday, year: 'numeric', month: dpMonth, day: 'numeric' };
                                        -->         const _SendDate = date.toLocaleDateString(getState(NSPanel_Path + 'Config.locale').val, fullOptions);
                                        
                                                    SendToPanel(<Payload>{ payload: 'date~' + _SendDate });
                                                }
                                        

                                        2 Fragen:

                                        1. Wo kann ich das als Feature Request einstellen? Ist ja recht einfach
                                        2. Hat jemand eine Idee warum mein Beispiel Format keine Wochentag mehr anzeigt?

                                        Ich denke es fehlt evtl. noch etwas code der ein Update triggert wenn das Objekt geandert wird. Dafuer kenne ich mich noch nicht gut genug aus :-)

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          SirMiker
                                          schrieb am zuletzt editiert von
                                          #4278

                                          Moin Moin,

                                          so ich hoffe ich werde für so eine anfängerfrage nicht verflucht...

                                          habe den Panel zum laufen gebracht...Screensaver läuft...Skript ist da...habe die Wiki gelesen und versuche eine eigene Page zu erstellen...

                                          hier fangen die Probleme an...WO und Wie muss ich das in ein Skript ablegen damit ich diese auch sehe...versuche nun seit 2 Tagen irgendwie eine Anleitung dafür zu finden

                                          Gruß Mike

                                          T 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          627

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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