Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • Armilar
      Armilar Most Active Forum Testing @Kunibert last edited by

      @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
      
      1 Reply Last reply Reply Quote 0
      • K
        Kunibert @Kunibert last edited by

        @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?

        Armilar 2 Replies Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @Kunibert last edited by

          @kunibert

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

          K 1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing @Kunibert last edited by 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 1 Reply Last reply Reply Quote 1
            • K
              Kunibert @Armilar last edited by

              @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 Reply Last reply Reply Quote 0
              • K
                Kunibert @Armilar last edited by

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

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

                  @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...

                  Armilar 1 Reply Last reply Reply Quote 2
                  • Armilar
                    Armilar Most Active Forum Testing @Armilar last edited by 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 😊

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

                    Armilar 1 Reply Last reply Reply Quote 0
                    • D
                      drakal last edited by

                      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?

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

                        @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...

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

                          @Breyger

                          wäre das etwas für dich?

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

                          1 Reply Last reply Reply Quote 0
                          • D
                            drakal last edited by

                            @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?

                            Armilar 1 Reply Last reply Reply Quote 0
                            • Armilar
                              Armilar Most Active Forum Testing @drakal last edited by 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 1 Reply Last reply Reply Quote 0
                              • D
                                drakal @Armilar last edited by

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

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

                                  @drakal

                                  manche Probleme lassen sich schnell und radikal lösen 😊

                                  1 Reply Last reply Reply Quote 0
                                  • Stephan L
                                    Stephan L last edited by

                                    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 L Armilar 2 Replies Last reply Reply Quote 0
                                    • Stephan L
                                      Stephan L @Stephan L last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • S
                                        SirMiker last edited by

                                        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 Reply Last reply Reply Quote 0
                                        • T
                                          TT-Tom @SirMiker last edited by TT-Tom

                                          @sirmiker

                                          Guten Morgen

                                          Diesen Abschnitt hast du bestimmt schon gelesen.

                                          Hier zwischen kommen deine Seiten.

                                          //-- Anfang der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich -----------------------
                                            //-- siehe https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-%E2%80%90-Typen_How-2_Beispiele
                                          
                                          //-- ENDE der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich -------------------------
                                          

                                          Zum Schluss musst du sie hier noch eintragen. Hinter Pages:[ mit Komma getrennt. Siehe subPages.

                                             pages: [
                                          
                                                      NSPanel_Service         	//Auto-Alias Service Page
                                          	    //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
                                              ],
                                              subPages: [
                                          	    
                                          

                                          Ps: @Kuckuckmann könntest du im Wiki nochmal die Beschreibung anpassen. Danke

                                          S 1 Reply Last reply Reply Quote 1
                                          • Armilar
                                            Armilar Most Active Forum Testing @Stephan L last edited by Armilar

                                            @stephan-l

                                            Im ioBroker ist vieles einfacher. Kein AppDaemon und kein Yaml.

                                            Das Script muss nicht angepasst werden, denn es lässt sich alles über die Datenpunkte steuern. Hierfür haben wir auch ein Service-Menü bereitgestellt:

                                            4659acb5-1295-4668-abaf-0f3d6b84b923-Nextion_Editor_LWEKmyMQ1h.gif

                                            Solltest du dann doch ein Feature Request benötigen, so kannst du es wie gewohnt im Github mit dem "Tag" ioBroker machen...

                                            6cebf463-dab2-4115-97a9-c2796c4cbec7-image.png

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

                                            Stephan L 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            994
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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