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

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Sonoff NSPanel

NEWS

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

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

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

Sonoff NSPanel

Geplant Angeheftet Gesperrt Verschoben Hardware
1.5k Beiträge 78 Kommentatoren 638.0k Aufrufe 80 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.
  • T TT-Tom

    @wal

    Hast du sie richtig konfiguriert im Script? Kannst dein config Teil ja auch mal zeigen. Angefangen ab diesen Zeilen

    export const config: Config = {
       panelRecvTopic: "mqtt.1.SmartHome.NSPanel_1.tele.RESULT",       //anpassen
       panelSendTopic: "mqtt.1.SmartHome.NSPanel_1.cmnd.CustomSend",   //anpassen
    
    WalW Offline
    WalW Offline
    Wal
    Developer
    schrieb am zuletzt editiert von Wal
    #904

    @tt-tom ,
    bei mir funktioniert ja alles.
    Blende ich aber die Subpage aus kommen die Fehler:

    export const config: Config = {
        panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
        panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
        firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
        secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
        thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
        fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
        timeoutScreensaver: 15,
        dimmode: 8,
        active: 100, //Standard-Brightness TFT
        screenSaverDoubleClick: false,
        locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
        timeFormat: "%H:%M",                //currently not used 
        dateFormat: "%A, %d. %B %Y",        //currently not used 
        weatherEntity: "alias.0.Wetter",
        defaultOffColor: Off,
        defaultOnColor: On,
        defaultColor: Off,
        temperatureUnit: "°C",
        pages: [
     //   	    Subpages_1,
                Buero_Themostat
        ],
        subPages: [
        ],
        button1Page: button1Page,
        button2Page: button2Page
    };
    

    Bitte das funktioniert:

    */ 
    var Icons = new IconsSelector();
    var timeoutSlider: any;
    const NSPanel_Path = "0_userdata.0.NSPanel.WZ."
    const Debug = false;
    var manually_Update = true;
    
    //const Off: RGB = { red: 68, green: 115, blue: 158 };  //Blau-Off
    const Off: RGB = { red: 253, green: 128, blue: 0 };     //Orange-Off - schönere Farbübergänge
    const On: RGB = { red: 253, green: 216, blue: 53 };
    const MSRed: RGB = { red: 251, green: 105, blue: 98 };
    const MSYellow: RGB = { red: 255, green: 235, blue: 156 };
    const MSGreen: RGB = { red: 121, green: 222, blue: 121 };
    const Red: RGB = { red: 255, green: 0, blue: 0 };
    const White: RGB = { red: 255, green: 255, blue: 255 }; 
    const Yellow: RGB = { red: 255, green: 255, blue: 0 };
    const Green: RGB = { red: 0, green: 255, blue: 0 };
    const Blue: RGB = { red: 0, green: 0, blue: 255 };
    const Gray: RGB = { red: 136, green: 136, blue: 136 };
    const Black: RGB = { red: 0, green: 0, blue: 0 };
    const colorSpotify: RGB = { red: 30, green: 215, blue: 96 };
    const colorAlexa: RGB = { red: 49, green: 196, blue: 243 };
    const colorRadio: RGB = { red: 255, green: 127, blue: 0 };
    const BatteryFull: RGB = { red: 96, green: 176, blue: 62 };
    const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 };
    
    //----------------------Begin Dimmode
    //Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0") 
    if (existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourNight") == false) {
        createState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8)});
        createState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7)});
        createState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1)});
        createState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22)});
    }
    var vBrightnessDay = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay").val;
    var vBrightnessNight = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight").val;
    var vTimeDay = getState(NSPanel_Path + "NSPanel_Dimmode_hourDay").val;
    if (vTimeDay < 10) {
        var TimeDay = "0" + vTimeDay.toString() + ":00";
    } else {
        var TimeDay = vTimeDay.toString() + ":00";
    }
    var vTimeNight = getState(NSPanel_Path + "NSPanel_Dimmode_hourNight").val;
    if (vTimeNight < 10) {
        var TimeNight = "0" + vTimeNight.toString() + ":00";
    } else {
        var TimeNight = vTimeNight.toString() + ":00";
    }
    var timeDimMode = <DimMode>{dimmodeOn: true, brightnessDay: vBrightnessDay, brightnessNight: vBrightnessNight, timeDay: TimeDay, timeNight: TimeNight};
    //--------------------End Dimmode
    
    //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
    var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...
    
    //Alexa-Instanz
    var alexaInstanz = "alexa2.0"
    var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)
    
    // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
    // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
    //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
    const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];
    
    //Datenpunkte für Nachricht an Screensaver 
    var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
    var screensaverNotifyText = NSPanel_Path + "ScreensaverInfo.popupNotifyText";
    createState(screensaverNotifyHeading, {type: 'string'});
    createState(screensaverNotifyText, {type: 'string'});
    
    //Datenpunkte für Nachricht popupNotify Page 
    var popupNotifyHeading = NSPanel_Path + "popupNotify.popupNotifyHeading";
    var popupNotifyText = NSPanel_Path + "popupNotify.popupNotifyText";
    var popupNotifyInternalName = NSPanel_Path + "popupNotify.popupNotifyInternalName"; // Wird mit Button-Action zurückgeschrieben
    var popupNotifyButton1Text = NSPanel_Path + "popupNotify.popupNotifyButton1Text";
    var popupNotifyButton2Text = NSPanel_Path + "popupNotify.popupNotifyButton2Text";
    var popupNotifySleepTimeout = NSPanel_Path + "popupNotify.popupNotifySleepTimeout"; // in sek. / wenn 0, dann bleibt die Nachricht stehen
    var popupNotifyAction = NSPanel_Path + "popupNotify.popupNotifyAction"; // Antwort aus dem Panel true/false
    createState(popupNotifyHeading, {type: 'string'});
    createState(popupNotifyText, {type: 'string'});
    createState(popupNotifyInternalName, {type: 'string'});
    createState(popupNotifyButton1Text, {type: 'string'});
    createState(popupNotifyButton2Text, {type: 'string'});
    createState(popupNotifySleepTimeout, {type: 'number'});
    createState(popupNotifyAction, {type: 'boolean'});
    
    var Test_Licht: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Color Aliase",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
            //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
        ]
    };
    
    var Test_Funktionen: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Sonstige Aliase",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /*if mute=true*/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
            <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
            <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White},
            <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true}
        ]
    };
    
    var Buero_Seite_1: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Büro",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
            //<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
        ]
    };
    
    var Fenster_1: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Fenster und Türen",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
            <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
            <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", onColor: White, name: "IKEA Fyrtur"},
            <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
        ]
    };
    
    var Button_1: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Button Aliase",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
        ]
    };
    
    var Subpages_1: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Test Subpages",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
            <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
        ]
    };
    
    //Subpage 1 von Subpages_1
    var Abfall: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Abfallkalender",
        "useColor": true,
        "subPage": true,
        "parent": Subpages_1,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
            <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
            <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
            <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
        ]
    };
    
    var Buero_Seite_2: PageGrid =
    {
        "type": "cardGrid",
        "heading": "Büro 2",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
            <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
            <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
            <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
            <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer"},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
        ]
    };
    
    var Alexa: PageMedia = 
    {
        "type": "cardMedia",
        "heading": "Alexa",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
    };
    
    var Buero_Themostat: PageThermo = 
    {
        "type": "cardThermo",
        "heading": "Test Thermostat",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [<PageItem>{ id: "alias.0.NSPanel_WZ.Thermostat_WZ", minValue: 50, maxValue: 300 }]
    };
    
    var Buero_Klimaanlage: PageThermo = 
    {
        "type": "cardThermo",
        "heading": "Test Klimaanlage",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
    };
    
    //Subpage 2 von Subpages_1
    var WLAN: PageQR = 
    {
        "type": "cardQR",
        "heading": "Gäste WLAN",
        "useColor": true,
        "subPage": true,
        "parent": Subpages_1,
        "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
    };
    
    var Buero_Alarm: PageAlarm = 
    {
        "type": "cardAlarm",
        "heading": "Alarm",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
    };
    
    var button1Page: PageGrid =
    {
        "type": "cardGrid",
        "heading": "Radio",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "NDR2", onColor: colorRadio},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.Spotify", icon: "spotify", name: "Party Playlist", onColor: colorSpotify},
            <PageItem>{ id: "alias.0.NSPanel_1.Radio.Alexa", icon: "playlist-music", name: "Playlist 2021", onColor: colorAlexa}
        ]
    };
    
    var button2Page: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Büro",
        "useColor": true,
        "subPage": false,
        "parent": undefined,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
            <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
        ]
    };
    
    //Subpages 2 (+ Info)
    var Service: PageEntities =
    {
        "type": "cardEntities",
        "heading": "NSPanel Service",
        "useColor": true,
        "subPage": false,
        "parent": undefined, 
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
            <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
            <PageItem>{ navigate: true, id: "NSPanel_Firmware_Updates", icon: "update", onColor: White, name: "Manuelle-Updates"},
            <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Einstellungen"}
        ]
    };
    
    //Subpage 1 von Subpages_2
    var NSPanel_Infos: PageEntities =
    {
        "type": "cardEntities",
        "heading": "NSPanel Infos",
        "useColor": true,
        "subPage": true,
        "parent": Service,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_Hardware", name: "Hardware", icon: "memory", offColor: MSYellow, onColor: MSYellow, useColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_ESP_Temp", name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_UpTime", name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_RSSI", name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
        ]
    };
    
    //Subpage 2 von Subpages_2
    var NSPanel_Einstellungen: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Screensaver",
        "useColor": true,
        "subPage": true,
        "parent": Service,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
            <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
            <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
            <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
        ]
    };
    
    //Subpage 3 von Subpages_2
    var NSPanel_Firmware_Updates: PageEntities =
    {
        "type": "cardEntities",
        "heading": "Firmware-Updates",
        "useColor": true,
        "subPage": true,
        "parent": Service,
        "items": [
            <PageItem>{ id: "alias.0.NSPanel_1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
            <PageItem>{ id: "alias.0.NSPanel_1.TFT_Firmware", name: "TFT-Firmware", useColor: true},
        ]
    };
    
    export const config: Config = {
        panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
        panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
        firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
        secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
        thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
        fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
        timeoutScreensaver: 15,
        dimmode: 8,
        active: 100, //Standard-Brightness TFT
        screenSaverDoubleClick: false,
        locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
        timeFormat: "%H:%M",                //currently not used 
        dateFormat: "%A, %d. %B %Y",        //currently not used 
        weatherEntity: "alias.0.Wetter",
        defaultOffColor: Off,
        defaultOnColor: On,
        defaultColor: Off,
        temperatureUnit: "°C",
        pages: [
                Buero_Seite_2,
                Buero_Seite_1,
                Buero_Klimaanlage, 
                Button_1,
                Test_Licht,
                Test_Funktionen,
                Fenster_1,
        	    Subpages_1,
                Alexa,
                Buero_Themostat,
                Buero_Alarm,
                Service
        ],
        subPages: [
                    Abfall,
                    WLAN,
                    NSPanel_Infos,
                    NSPanel_Einstellungen,
                    NSPanel_Firmware_Updates
        ],
        button1Page: button1Page,
        button2Page: button2Page
    };
    

    Edit:

    
    javascript.0
    2022-07-09 12:08:24.677	error	at processImmediate (node:internal/timers:471:21)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:609:29)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1205:38)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at Object.<anonymous> (script.js.common.NSPanelTs_WZ_3_1_0:890:9)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at HandleMessage (script.js.common.NSPanelTs_WZ_3_1_0:938:17)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at HandleButtonEvent (script.js.common.NSPanelTs_WZ_3_1_0:1954:17)
    
    javascript.0
    2022-07-09 12:08:24.677	error	at GeneratePage (script.js.common.NSPanelTs_WZ_3_1_0:966:18)
    
    javascript.0
    2022-07-09 12:08:24.677	error	Error in callback: TypeError: Cannot read properties of undefined (reading 'type')
    

    Gruß
    Walter

    DoorIO-Adapter
    wioBrowser-Adapter und wioBrowser

    T 1 Antwort Letzte Antwort
    0
    • WalW Wal

      @tt-tom ,
      bei mir funktioniert ja alles.
      Blende ich aber die Subpage aus kommen die Fehler:

      export const config: Config = {
          panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
          panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
          firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
          secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
          thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
          fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
          timeoutScreensaver: 15,
          dimmode: 8,
          active: 100, //Standard-Brightness TFT
          screenSaverDoubleClick: false,
          locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
          timeFormat: "%H:%M",                //currently not used 
          dateFormat: "%A, %d. %B %Y",        //currently not used 
          weatherEntity: "alias.0.Wetter",
          defaultOffColor: Off,
          defaultOnColor: On,
          defaultColor: Off,
          temperatureUnit: "°C",
          pages: [
       //   	    Subpages_1,
                  Buero_Themostat
          ],
          subPages: [
          ],
          button1Page: button1Page,
          button2Page: button2Page
      };
      

      Bitte das funktioniert:

      */ 
      var Icons = new IconsSelector();
      var timeoutSlider: any;
      const NSPanel_Path = "0_userdata.0.NSPanel.WZ."
      const Debug = false;
      var manually_Update = true;
      
      //const Off: RGB = { red: 68, green: 115, blue: 158 };  //Blau-Off
      const Off: RGB = { red: 253, green: 128, blue: 0 };     //Orange-Off - schönere Farbübergänge
      const On: RGB = { red: 253, green: 216, blue: 53 };
      const MSRed: RGB = { red: 251, green: 105, blue: 98 };
      const MSYellow: RGB = { red: 255, green: 235, blue: 156 };
      const MSGreen: RGB = { red: 121, green: 222, blue: 121 };
      const Red: RGB = { red: 255, green: 0, blue: 0 };
      const White: RGB = { red: 255, green: 255, blue: 255 }; 
      const Yellow: RGB = { red: 255, green: 255, blue: 0 };
      const Green: RGB = { red: 0, green: 255, blue: 0 };
      const Blue: RGB = { red: 0, green: 0, blue: 255 };
      const Gray: RGB = { red: 136, green: 136, blue: 136 };
      const Black: RGB = { red: 0, green: 0, blue: 0 };
      const colorSpotify: RGB = { red: 30, green: 215, blue: 96 };
      const colorAlexa: RGB = { red: 49, green: 196, blue: 243 };
      const colorRadio: RGB = { red: 255, green: 127, blue: 0 };
      const BatteryFull: RGB = { red: 96, green: 176, blue: 62 };
      const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 };
      
      //----------------------Begin Dimmode
      //Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0") 
      if (existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourNight") == false) {
          createState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8)});
          createState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7)});
          createState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1)});
          createState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22)});
      }
      var vBrightnessDay = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay").val;
      var vBrightnessNight = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight").val;
      var vTimeDay = getState(NSPanel_Path + "NSPanel_Dimmode_hourDay").val;
      if (vTimeDay < 10) {
          var TimeDay = "0" + vTimeDay.toString() + ":00";
      } else {
          var TimeDay = vTimeDay.toString() + ":00";
      }
      var vTimeNight = getState(NSPanel_Path + "NSPanel_Dimmode_hourNight").val;
      if (vTimeNight < 10) {
          var TimeNight = "0" + vTimeNight.toString() + ":00";
      } else {
          var TimeNight = vTimeNight.toString() + ":00";
      }
      var timeDimMode = <DimMode>{dimmodeOn: true, brightnessDay: vBrightnessDay, brightnessNight: vBrightnessNight, timeDay: TimeDay, timeNight: TimeNight};
      //--------------------End Dimmode
      
      //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
      var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...
      
      //Alexa-Instanz
      var alexaInstanz = "alexa2.0"
      var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)
      
      // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
      // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
      //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
      const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];
      
      //Datenpunkte für Nachricht an Screensaver 
      var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
      var screensaverNotifyText = NSPanel_Path + "ScreensaverInfo.popupNotifyText";
      createState(screensaverNotifyHeading, {type: 'string'});
      createState(screensaverNotifyText, {type: 'string'});
      
      //Datenpunkte für Nachricht popupNotify Page 
      var popupNotifyHeading = NSPanel_Path + "popupNotify.popupNotifyHeading";
      var popupNotifyText = NSPanel_Path + "popupNotify.popupNotifyText";
      var popupNotifyInternalName = NSPanel_Path + "popupNotify.popupNotifyInternalName"; // Wird mit Button-Action zurückgeschrieben
      var popupNotifyButton1Text = NSPanel_Path + "popupNotify.popupNotifyButton1Text";
      var popupNotifyButton2Text = NSPanel_Path + "popupNotify.popupNotifyButton2Text";
      var popupNotifySleepTimeout = NSPanel_Path + "popupNotify.popupNotifySleepTimeout"; // in sek. / wenn 0, dann bleibt die Nachricht stehen
      var popupNotifyAction = NSPanel_Path + "popupNotify.popupNotifyAction"; // Antwort aus dem Panel true/false
      createState(popupNotifyHeading, {type: 'string'});
      createState(popupNotifyText, {type: 'string'});
      createState(popupNotifyInternalName, {type: 'string'});
      createState(popupNotifyButton1Text, {type: 'string'});
      createState(popupNotifyButton2Text, {type: 'string'});
      createState(popupNotifySleepTimeout, {type: 'number'});
      createState(popupNotifyAction, {type: 'boolean'});
      
      var Test_Licht: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Color Aliase",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
              //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
          ]
      };
      
      var Test_Funktionen: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Sonstige Aliase",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /*if mute=true*/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
              <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
              <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White},
              <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true}
          ]
      };
      
      var Buero_Seite_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Büro",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
              //<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
          ]
      };
      
      var Fenster_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Fenster und Türen",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
              <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", onColor: White, name: "IKEA Fyrtur"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
          ]
      };
      
      var Button_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Button Aliase",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
          ]
      };
      
      var Subpages_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Test Subpages",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
              <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
          ]
      };
      
      //Subpage 1 von Subpages_1
      var Abfall: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Abfallkalender",
          "useColor": true,
          "subPage": true,
          "parent": Subpages_1,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
          ]
      };
      
      var Buero_Seite_2: PageGrid =
      {
          "type": "cardGrid",
          "heading": "Büro 2",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
              <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer"},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
          ]
      };
      
      var Alexa: PageMedia = 
      {
          "type": "cardMedia",
          "heading": "Alexa",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
      };
      
      var Buero_Themostat: PageThermo = 
      {
          "type": "cardThermo",
          "heading": "Test Thermostat",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_WZ.Thermostat_WZ", minValue: 50, maxValue: 300 }]
      };
      
      var Buero_Klimaanlage: PageThermo = 
      {
          "type": "cardThermo",
          "heading": "Test Klimaanlage",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
      };
      
      //Subpage 2 von Subpages_1
      var WLAN: PageQR = 
      {
          "type": "cardQR",
          "heading": "Gäste WLAN",
          "useColor": true,
          "subPage": true,
          "parent": Subpages_1,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
      };
      
      var Buero_Alarm: PageAlarm = 
      {
          "type": "cardAlarm",
          "heading": "Alarm",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
      };
      
      var button1Page: PageGrid =
      {
          "type": "cardGrid",
          "heading": "Radio",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "NDR2", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Spotify", icon: "spotify", name: "Party Playlist", onColor: colorSpotify},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Alexa", icon: "playlist-music", name: "Playlist 2021", onColor: colorAlexa}
          ]
      };
      
      var button2Page: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Büro",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
          ]
      };
      
      //Subpages 2 (+ Info)
      var Service: PageEntities =
      {
          "type": "cardEntities",
          "heading": "NSPanel Service",
          "useColor": true,
          "subPage": false,
          "parent": undefined, 
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
              <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
              <PageItem>{ navigate: true, id: "NSPanel_Firmware_Updates", icon: "update", onColor: White, name: "Manuelle-Updates"},
              <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Einstellungen"}
          ]
      };
      
      //Subpage 1 von Subpages_2
      var NSPanel_Infos: PageEntities =
      {
          "type": "cardEntities",
          "heading": "NSPanel Infos",
          "useColor": true,
          "subPage": true,
          "parent": Service,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_Hardware", name: "Hardware", icon: "memory", offColor: MSYellow, onColor: MSYellow, useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_ESP_Temp", name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_UpTime", name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_RSSI", name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
          ]
      };
      
      //Subpage 2 von Subpages_2
      var NSPanel_Einstellungen: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Screensaver",
          "useColor": true,
          "subPage": true,
          "parent": Service,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
          ]
      };
      
      //Subpage 3 von Subpages_2
      var NSPanel_Firmware_Updates: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Firmware-Updates",
          "useColor": true,
          "subPage": true,
          "parent": Service,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TFT_Firmware", name: "TFT-Firmware", useColor: true},
          ]
      };
      
      export const config: Config = {
          panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
          panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
          firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
          secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
          thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
          fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
          timeoutScreensaver: 15,
          dimmode: 8,
          active: 100, //Standard-Brightness TFT
          screenSaverDoubleClick: false,
          locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
          timeFormat: "%H:%M",                //currently not used 
          dateFormat: "%A, %d. %B %Y",        //currently not used 
          weatherEntity: "alias.0.Wetter",
          defaultOffColor: Off,
          defaultOnColor: On,
          defaultColor: Off,
          temperatureUnit: "°C",
          pages: [
                  Buero_Seite_2,
                  Buero_Seite_1,
                  Buero_Klimaanlage, 
                  Button_1,
                  Test_Licht,
                  Test_Funktionen,
                  Fenster_1,
          	    Subpages_1,
                  Alexa,
                  Buero_Themostat,
                  Buero_Alarm,
                  Service
          ],
          subPages: [
                      Abfall,
                      WLAN,
                      NSPanel_Infos,
                      NSPanel_Einstellungen,
                      NSPanel_Firmware_Updates
          ],
          button1Page: button1Page,
          button2Page: button2Page
      };
      

      Edit:

      
      javascript.0
      2022-07-09 12:08:24.677	error	at processImmediate (node:internal/timers:471:21)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5909:56)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:609:29)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1205:38)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at Object.<anonymous> (script.js.common.NSPanelTs_WZ_3_1_0:890:9)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at HandleMessage (script.js.common.NSPanelTs_WZ_3_1_0:938:17)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at HandleButtonEvent (script.js.common.NSPanelTs_WZ_3_1_0:1954:17)
      
      javascript.0
      2022-07-09 12:08:24.677	error	at GeneratePage (script.js.common.NSPanelTs_WZ_3_1_0:966:18)
      
      javascript.0
      2022-07-09 12:08:24.677	error	Error in callback: TypeError: Cannot read properties of undefined (reading 'type')
      
      T Offline
      T Offline
      TT-Tom
      schrieb am zuletzt editiert von TT-Tom
      #905

      @wal sagte in Sonoff NSPanel:

      @tt-tom ,
      bei mir funktioniert ja alles.
      Blende ich aber die Subpage aus kommen die Fehler:

      export const config: Config = {
          panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
          panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
          firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
          secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
          thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
          fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
          timeoutScreensaver: 15,
          dimmode: 8,
          active: 100, //Standard-Brightness TFT
          screenSaverDoubleClick: false,
          locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
          timeFormat: "%H:%M",                //currently not used 
          dateFormat: "%A, %d. %B %Y",        //currently not used 
          weatherEntity: "alias.0.Wetter",
          defaultOffColor: Off,
          defaultOnColor: On,
          defaultColor: Off,
          temperatureUnit: "°C",
          pages: [
       //   	    Subpages_1,
                  Buero_Themostat
          ],
          subPages: [
          ],
          button1Page: button1Page,
          button2Page: button2Page
      };
      

      Kannst du bitte mal deine Pages zeigen. bzw. prüfe mal ob du irgendwo diese Eintrage hast:

      >     "subPage": true,
      >     "parent": Subpages_1,
      

      Bitte das funktioniert:

      */ 
      var Icons = new IconsSelector();
      var timeoutSlider: any;
      const NSPanel_Path = "0_userdata.0.NSPanel.WZ."
      const Debug = false;
      var manually_Update = true;
      
      //const Off: RGB = { red: 68, green: 115, blue: 158 };  //Blau-Off
      const Off: RGB = { red: 253, green: 128, blue: 0 };     //Orange-Off - schönere Farbübergänge
      const On: RGB = { red: 253, green: 216, blue: 53 };
      const MSRed: RGB = { red: 251, green: 105, blue: 98 };
      const MSYellow: RGB = { red: 255, green: 235, blue: 156 };
      const MSGreen: RGB = { red: 121, green: 222, blue: 121 };
      const Red: RGB = { red: 255, green: 0, blue: 0 };
      const White: RGB = { red: 255, green: 255, blue: 255 }; 
      const Yellow: RGB = { red: 255, green: 255, blue: 0 };
      const Green: RGB = { red: 0, green: 255, blue: 0 };
      const Blue: RGB = { red: 0, green: 0, blue: 255 };
      const Gray: RGB = { red: 136, green: 136, blue: 136 };
      const Black: RGB = { red: 0, green: 0, blue: 0 };
      const colorSpotify: RGB = { red: 30, green: 215, blue: 96 };
      const colorAlexa: RGB = { red: 49, green: 196, blue: 243 };
      const colorRadio: RGB = { red: 255, green: 127, blue: 0 };
      const BatteryFull: RGB = { red: 96, green: 176, blue: 62 };
      const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 };
      
      //----------------------Begin Dimmode
      //Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0") 
      if (existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourNight") == false) {
          createState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8)});
          createState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7)});
          createState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1)});
          createState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22)});
      }
      var vBrightnessDay = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay").val;
      var vBrightnessNight = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight").val;
      var vTimeDay = getState(NSPanel_Path + "NSPanel_Dimmode_hourDay").val;
      if (vTimeDay < 10) {
          var TimeDay = "0" + vTimeDay.toString() + ":00";
      } else {
          var TimeDay = vTimeDay.toString() + ":00";
      }
      var vTimeNight = getState(NSPanel_Path + "NSPanel_Dimmode_hourNight").val;
      if (vTimeNight < 10) {
          var TimeNight = "0" + vTimeNight.toString() + ":00";
      } else {
          var TimeNight = vTimeNight.toString() + ":00";
      }
      var timeDimMode = <DimMode>{dimmodeOn: true, brightnessDay: vBrightnessDay, brightnessNight: vBrightnessNight, timeDay: TimeDay, timeNight: TimeNight};
      //--------------------End Dimmode
      
      //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
      var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...
      
      //Alexa-Instanz
      var alexaInstanz = "alexa2.0"
      var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)
      
      // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
      // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
      //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
      const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];
      
      //Datenpunkte für Nachricht an Screensaver 
      var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
      var screensaverNotifyText = NSPanel_Path + "ScreensaverInfo.popupNotifyText";
      createState(screensaverNotifyHeading, {type: 'string'});
      createState(screensaverNotifyText, {type: 'string'});
      
      //Datenpunkte für Nachricht popupNotify Page 
      var popupNotifyHeading = NSPanel_Path + "popupNotify.popupNotifyHeading";
      var popupNotifyText = NSPanel_Path + "popupNotify.popupNotifyText";
      var popupNotifyInternalName = NSPanel_Path + "popupNotify.popupNotifyInternalName"; // Wird mit Button-Action zurückgeschrieben
      var popupNotifyButton1Text = NSPanel_Path + "popupNotify.popupNotifyButton1Text";
      var popupNotifyButton2Text = NSPanel_Path + "popupNotify.popupNotifyButton2Text";
      var popupNotifySleepTimeout = NSPanel_Path + "popupNotify.popupNotifySleepTimeout"; // in sek. / wenn 0, dann bleibt die Nachricht stehen
      var popupNotifyAction = NSPanel_Path + "popupNotify.popupNotifyAction"; // Antwort aus dem Panel true/false
      createState(popupNotifyHeading, {type: 'string'});
      createState(popupNotifyText, {type: 'string'});
      createState(popupNotifyInternalName, {type: 'string'});
      createState(popupNotifyButton1Text, {type: 'string'});
      createState(popupNotifyButton2Text, {type: 'string'});
      createState(popupNotifySleepTimeout, {type: 'number'});
      createState(popupNotifyAction, {type: 'boolean'});
      
      var Test_Licht: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Color Aliase",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
              //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
          ]
      };
      
      var Test_Funktionen: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Sonstige Aliase",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /*if mute=true*/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
              <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
              <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White},
              <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true}
          ]
      };
      
      var Buero_Seite_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Büro",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
              //<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
          ]
      };
      
      var Fenster_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Fenster und Türen",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
              <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", onColor: White, name: "IKEA Fyrtur"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
          ]
      };
      
      var Button_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Button Aliase",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
          ]
      };
      
      var Subpages_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Test Subpages",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
              <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
          ]
      };
      
      //Subpage 1 von Subpages_1
      var Abfall: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Abfallkalender",
          "useColor": true,
          "subPage": true,
          "parent": Subpages_1,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
              <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
          ]
      };
      
      var Buero_Seite_2: PageGrid =
      {
          "type": "cardGrid",
          "heading": "Büro 2",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
              <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer"},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
          ]
      };
      
      var Alexa: PageMedia = 
      {
          "type": "cardMedia",
          "heading": "Alexa",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
      };
      
      var Buero_Themostat: PageThermo = 
      {
          "type": "cardThermo",
          "heading": "Test Thermostat",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_WZ.Thermostat_WZ", minValue: 50, maxValue: 300 }]
      };
      
      var Buero_Klimaanlage: PageThermo = 
      {
          "type": "cardThermo",
          "heading": "Test Klimaanlage",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
      };
      
      //Subpage 2 von Subpages_1
      var WLAN: PageQR = 
      {
          "type": "cardQR",
          "heading": "Gäste WLAN",
          "useColor": true,
          "subPage": true,
          "parent": Subpages_1,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
      };
      
      var Buero_Alarm: PageAlarm = 
      {
          "type": "cardAlarm",
          "heading": "Alarm",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
      };
      
      var button1Page: PageGrid =
      {
          "type": "cardGrid",
          "heading": "Radio",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "NDR2", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Spotify", icon: "spotify", name: "Party Playlist", onColor: colorSpotify},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Alexa", icon: "playlist-music", name: "Playlist 2021", onColor: colorAlexa}
          ]
      };
      
      var button2Page: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Büro",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
          ]
      };
      
      //Subpages 2 (+ Info)
      var Service: PageEntities =
      {
          "type": "cardEntities",
          "heading": "NSPanel Service",
          "useColor": true,
          "subPage": false,
          "parent": undefined, 
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
              <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
              <PageItem>{ navigate: true, id: "NSPanel_Firmware_Updates", icon: "update", onColor: White, name: "Manuelle-Updates"},
              <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Einstellungen"}
          ]
      };
      
      //Subpage 1 von Subpages_2
      var NSPanel_Infos: PageEntities =
      {
          "type": "cardEntities",
          "heading": "NSPanel Infos",
          "useColor": true,
          "subPage": true,
          "parent": Service,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_Hardware", name: "Hardware", icon: "memory", offColor: MSYellow, onColor: MSYellow, useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_ESP_Temp", name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_UpTime", name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_RSSI", name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
          ]
      };
      
      //Subpage 2 von Subpages_2
      var NSPanel_Einstellungen: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Screensaver",
          "useColor": true,
          "subPage": true,
          "parent": Service,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
              <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
          ]
      };
      
      //Subpage 3 von Subpages_2
      var NSPanel_Firmware_Updates: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Firmware-Updates",
          "useColor": true,
          "subPage": true,
          "parent": Service,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.TFT_Firmware", name: "TFT-Firmware", useColor: true},
          ]
      };
      
      export const config: Config = {
          panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
          panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
          firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
          secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
          thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
          fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
          timeoutScreensaver: 15,
          dimmode: 8,
          active: 100, //Standard-Brightness TFT
          screenSaverDoubleClick: false,
          locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
          timeFormat: "%H:%M",                //currently not used 
          dateFormat: "%A, %d. %B %Y",        //currently not used 
          weatherEntity: "alias.0.Wetter",
          defaultOffColor: Off,
          defaultOnColor: On,
          defaultColor: Off,
          temperatureUnit: "°C",
          pages: [
                  Buero_Seite_2,
                  Buero_Seite_1,
                  Buero_Klimaanlage, 
                  Button_1,
                  Test_Licht,
                  Test_Funktionen,
                  Fenster_1,
          	    Subpages_1,
                  Alexa,
                  Buero_Themostat,
                  Buero_Alarm,
                  Service
          ],
          subPages: [
                      Abfall,
                      WLAN,
                      NSPanel_Infos,
                      NSPanel_Einstellungen,
                      NSPanel_Firmware_Updates
          ],
          button1Page: button1Page,
          button2Page: button2Page
      };
      

      das ist auch das Orignal, oder?
      `

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

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

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

      WalW 1 Antwort Letzte Antwort
      0
      • K Offline
        K Offline
        Kuckuckmann
        schrieb am zuletzt editiert von
        #906

        Habt Ihr die Subpages auch aus dem Menübereich gelöscht?

        14d7938d-c759-4b5d-8eb3-1cc1610145b4-image.png

        NSPanel Dokumentation im GitHub Wiki:

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

        1 Antwort Letzte Antwort
        0
        • T TT-Tom

          @wal sagte in Sonoff NSPanel:

          @tt-tom ,
          bei mir funktioniert ja alles.
          Blende ich aber die Subpage aus kommen die Fehler:

          export const config: Config = {
              panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
              panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
              firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
              secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
              thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
              fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
              timeoutScreensaver: 15,
              dimmode: 8,
              active: 100, //Standard-Brightness TFT
              screenSaverDoubleClick: false,
              locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
              timeFormat: "%H:%M",                //currently not used 
              dateFormat: "%A, %d. %B %Y",        //currently not used 
              weatherEntity: "alias.0.Wetter",
              defaultOffColor: Off,
              defaultOnColor: On,
              defaultColor: Off,
              temperatureUnit: "°C",
              pages: [
           //   	    Subpages_1,
                      Buero_Themostat
              ],
              subPages: [
              ],
              button1Page: button1Page,
              button2Page: button2Page
          };
          

          Kannst du bitte mal deine Pages zeigen. bzw. prüfe mal ob du irgendwo diese Eintrage hast:

          >     "subPage": true,
          >     "parent": Subpages_1,
          

          Bitte das funktioniert:

          */ 
          var Icons = new IconsSelector();
          var timeoutSlider: any;
          const NSPanel_Path = "0_userdata.0.NSPanel.WZ."
          const Debug = false;
          var manually_Update = true;
          
          //const Off: RGB = { red: 68, green: 115, blue: 158 };  //Blau-Off
          const Off: RGB = { red: 253, green: 128, blue: 0 };     //Orange-Off - schönere Farbübergänge
          const On: RGB = { red: 253, green: 216, blue: 53 };
          const MSRed: RGB = { red: 251, green: 105, blue: 98 };
          const MSYellow: RGB = { red: 255, green: 235, blue: 156 };
          const MSGreen: RGB = { red: 121, green: 222, blue: 121 };
          const Red: RGB = { red: 255, green: 0, blue: 0 };
          const White: RGB = { red: 255, green: 255, blue: 255 }; 
          const Yellow: RGB = { red: 255, green: 255, blue: 0 };
          const Green: RGB = { red: 0, green: 255, blue: 0 };
          const Blue: RGB = { red: 0, green: 0, blue: 255 };
          const Gray: RGB = { red: 136, green: 136, blue: 136 };
          const Black: RGB = { red: 0, green: 0, blue: 0 };
          const colorSpotify: RGB = { red: 30, green: 215, blue: 96 };
          const colorAlexa: RGB = { red: 49, green: 196, blue: 243 };
          const colorRadio: RGB = { red: 255, green: 127, blue: 0 };
          const BatteryFull: RGB = { red: 96, green: 176, blue: 62 };
          const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 };
          
          //----------------------Begin Dimmode
          //Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0") 
          if (existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourNight") == false) {
              createState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8)});
              createState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7)});
              createState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1)});
              createState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22)});
          }
          var vBrightnessDay = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay").val;
          var vBrightnessNight = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight").val;
          var vTimeDay = getState(NSPanel_Path + "NSPanel_Dimmode_hourDay").val;
          if (vTimeDay < 10) {
              var TimeDay = "0" + vTimeDay.toString() + ":00";
          } else {
              var TimeDay = vTimeDay.toString() + ":00";
          }
          var vTimeNight = getState(NSPanel_Path + "NSPanel_Dimmode_hourNight").val;
          if (vTimeNight < 10) {
              var TimeNight = "0" + vTimeNight.toString() + ":00";
          } else {
              var TimeNight = vTimeNight.toString() + ":00";
          }
          var timeDimMode = <DimMode>{dimmodeOn: true, brightnessDay: vBrightnessDay, brightnessNight: vBrightnessNight, timeDay: TimeDay, timeNight: TimeNight};
          //--------------------End Dimmode
          
          //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
          var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...
          
          //Alexa-Instanz
          var alexaInstanz = "alexa2.0"
          var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)
          
          // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
          // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
          //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
          const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];
          
          //Datenpunkte für Nachricht an Screensaver 
          var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
          var screensaverNotifyText = NSPanel_Path + "ScreensaverInfo.popupNotifyText";
          createState(screensaverNotifyHeading, {type: 'string'});
          createState(screensaverNotifyText, {type: 'string'});
          
          //Datenpunkte für Nachricht popupNotify Page 
          var popupNotifyHeading = NSPanel_Path + "popupNotify.popupNotifyHeading";
          var popupNotifyText = NSPanel_Path + "popupNotify.popupNotifyText";
          var popupNotifyInternalName = NSPanel_Path + "popupNotify.popupNotifyInternalName"; // Wird mit Button-Action zurückgeschrieben
          var popupNotifyButton1Text = NSPanel_Path + "popupNotify.popupNotifyButton1Text";
          var popupNotifyButton2Text = NSPanel_Path + "popupNotify.popupNotifyButton2Text";
          var popupNotifySleepTimeout = NSPanel_Path + "popupNotify.popupNotifySleepTimeout"; // in sek. / wenn 0, dann bleibt die Nachricht stehen
          var popupNotifyAction = NSPanel_Path + "popupNotify.popupNotifyAction"; // Antwort aus dem Panel true/false
          createState(popupNotifyHeading, {type: 'string'});
          createState(popupNotifyText, {type: 'string'});
          createState(popupNotifyInternalName, {type: 'string'});
          createState(popupNotifyButton1Text, {type: 'string'});
          createState(popupNotifyButton2Text, {type: 'string'});
          createState(popupNotifySleepTimeout, {type: 'number'});
          createState(popupNotifyAction, {type: 'boolean'});
          
          var Test_Licht: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Color Aliase",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
                  //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestHUELicht", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
              ]
          };
          
          var Test_Funktionen: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Sonstige Aliase",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed /*if mute=true*/, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true}
              ]
          };
          
          var Buero_Seite_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Büro",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
                  //<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
              ]
          };
          
          var Fenster_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Fenster und Türen",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", onColor: White, name: "IKEA Fyrtur"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
              ]
          };
          
          var Button_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Button Aliase",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
              ]
          };
          
          var Subpages_1: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Test Subpages",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
                  <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"},
              ]
          };
          
          //Subpage 1 von Subpages_1
          var Abfall: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Abfallkalender",
              "useColor": true,
              "subPage": true,
              "parent": Subpages_1,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
              ]
          };
          
          var Buero_Seite_2: PageGrid =
          {
              "type": "cardGrid",
              "heading": "Büro 2",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
              ]
          };
          
          var Alexa: PageMedia = 
          {
              "type": "cardMedia",
              "heading": "Alexa",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
          };
          
          var Buero_Themostat: PageThermo = 
          {
              "type": "cardThermo",
              "heading": "Test Thermostat",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel_WZ.Thermostat_WZ", minValue: 50, maxValue: 300 }]
          };
          
          var Buero_Klimaanlage: PageThermo = 
          {
              "type": "cardThermo",
              "heading": "Test Klimaanlage",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
          };
          
          //Subpage 2 von Subpages_1
          var WLAN: PageQR = 
          {
              "type": "cardQR",
              "heading": "Gäste WLAN",
              "useColor": true,
              "subPage": true,
              "parent": Subpages_1,
              "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
          };
          
          var Buero_Alarm: PageAlarm = 
          {
              "type": "cardAlarm",
              "heading": "Alarm",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
          };
          
          var button1Page: PageGrid =
          {
              "type": "cardGrid",
              "heading": "Radio",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "NDR2", onColor: colorRadio},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.Spotify", icon: "spotify", name: "Party Playlist", onColor: colorSpotify},
                  <PageItem>{ id: "alias.0.NSPanel_1.Radio.Alexa", icon: "playlist-music", name: "Playlist 2021", onColor: colorAlexa}
              ]
          };
          
          var button2Page: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Büro",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
                  <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
              ]
          };
          
          //Subpages 2 (+ Info)
          var Service: PageEntities =
          {
              "type": "cardEntities",
              "heading": "NSPanel Service",
              "useColor": true,
              "subPage": false,
              "parent": undefined, 
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
                  <PageItem>{ navigate: true, id: "NSPanel_Firmware_Updates", icon: "update", onColor: White, name: "Manuelle-Updates"},
                  <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Einstellungen"}
              ]
          };
          
          //Subpage 1 von Subpages_2
          var NSPanel_Infos: PageEntities =
          {
              "type": "cardEntities",
              "heading": "NSPanel Infos",
              "useColor": true,
              "subPage": true,
              "parent": Service,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_Hardware", name: "Hardware", icon: "memory", offColor: MSYellow, onColor: MSYellow, useColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_ESP_Temp", name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_UpTime", name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_RSSI", name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
              ]
          };
          
          //Subpage 2 von Subpages_2
          var NSPanel_Einstellungen: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Screensaver",
              "useColor": true,
              "subPage": true,
              "parent": Service,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                  <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                  <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                  <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
              ]
          };
          
          //Subpage 3 von Subpages_2
          var NSPanel_Firmware_Updates: PageEntities =
          {
              "type": "cardEntities",
              "heading": "Firmware-Updates",
              "useColor": true,
              "subPage": true,
              "parent": Service,
              "items": [
                  <PageItem>{ id: "alias.0.NSPanel_1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
                  <PageItem>{ id: "alias.0.NSPanel_1.TFT_Firmware", name: "TFT-Firmware", useColor: true},
              ]
          };
          
          export const config: Config = {
              panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
              panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
              firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
              secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
              thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
              fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
              timeoutScreensaver: 15,
              dimmode: 8,
              active: 100, //Standard-Brightness TFT
              screenSaverDoubleClick: false,
              locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
              timeFormat: "%H:%M",                //currently not used 
              dateFormat: "%A, %d. %B %Y",        //currently not used 
              weatherEntity: "alias.0.Wetter",
              defaultOffColor: Off,
              defaultOnColor: On,
              defaultColor: Off,
              temperatureUnit: "°C",
              pages: [
                      Buero_Seite_2,
                      Buero_Seite_1,
                      Buero_Klimaanlage, 
                      Button_1,
                      Test_Licht,
                      Test_Funktionen,
                      Fenster_1,
              	    Subpages_1,
                      Alexa,
                      Buero_Themostat,
                      Buero_Alarm,
                      Service
              ],
              subPages: [
                          Abfall,
                          WLAN,
                          NSPanel_Infos,
                          NSPanel_Einstellungen,
                          NSPanel_Firmware_Updates
              ],
              button1Page: button1Page,
              button2Page: button2Page
          };
          

          das ist auch das Orignal, oder?
          `

          WalW Offline
          WalW Offline
          Wal
          Developer
          schrieb am zuletzt editiert von
          #907

          @tt-tom ,
          beide Datei sind gleich, ich habe nur die Pages die nicht gebraucht wie oben gezeigt gelöscht.
          Übrig geblieben ist die Thermostat-Page die beim neu starten des NSPanel auch korrekt angezeigt wird, aber nach dem umspringen auf den Screensaver wird die Page nicht mehr angezeigt und es kommen die Fehler beim antippen des Panels.

          Gruß
          Walter

          DoorIO-Adapter
          wioBrowser-Adapter und wioBrowser

          1 Antwort Letzte Antwort
          0
          • WalW Offline
            WalW Offline
            Wal
            Developer
            schrieb am zuletzt editiert von
            #908

            Wenn jemand eine Konfig hätte bei der der Screensaver angezeigt wird und nur eine Page am besten ein Thermostat, wäre mir geholfen.

            Gruß
            Walter

            DoorIO-Adapter
            wioBrowser-Adapter und wioBrowser

            1 Antwort Letzte Antwort
            0
            • T TT-Tom

              @michaelf

              Hi das Script IconsSelctor hast du unter global gespeichert? bei mir sieht es so aus
              Bildschirmfoto 2022-07-09 um 11.01.20.png

              Poste bitte mal den config Teil vom nspanel Script. Bitte aber zw die Code Tags packen. Liest sich besser als Screenshot. Bild ist von @mickym

              1643511571178-code-tags.gif

              Hier mal meine Config, habe ein groß Teil auskommentiert um den Code zu erhalten.

              
              var Icons = new IconsSelector();
              var timeoutSlider: any;
              const NSPanel_Path = "0_userdata.0.NSPanel.1."
              const Debug = false;
              var manually_Update = true;
              
              //const Off: RGB = { red: 68, green: 115, blue: 158 };  //Blau-Off
              const Off: RGB = { red: 253, green: 128, blue: 0 };     //Orange-Off - schönere Farbübergänge
              const On: RGB = { red: 253, green: 216, blue: 53 };
              const MSRed: RGB = { red: 251, green: 105, blue: 98 };
              const MSYellow: RGB = { red: 255, green: 235, blue: 156 };
              const MSGreen: RGB = { red: 121, green: 222, blue: 121 };
              const Red: RGB = { red: 255, green: 0, blue: 0 };
              const White: RGB = { red: 255, green: 255, blue: 255 }; 
              const Yellow: RGB = { red: 255, green: 255, blue: 0 };
              const Green: RGB = { red: 0, green: 255, blue: 0 };
              const Blue: RGB = { red: 0, green: 0, blue: 255 };
              const Gray: RGB = { red: 136, green: 136, blue: 136 };
              const Black: RGB = { red: 0, green: 0, blue: 0 };
              const colorSpotify: RGB = { red: 30, green: 215, blue: 96 };
              const colorAlexa: RGB = { red: 49, green: 196, blue: 243 };
              const colorRadio: RGB = { red: 255, green: 127, blue: 0 };
              const BatteryFull: RGB = { red: 96, green: 176, blue: 62 };
              const BatteryEmpty: RGB = { red: 179, green: 45, blue: 25 };
              
              //----------------------Begin Dimmode
              //Screensaver nachts auf dunkel ("brightnessNight: z.B. 2") oder aus ("brightnessNight:0") 
              if (existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourDay") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight") == false || existsState(NSPanel_Path + "NSPanel_Dimmode_hourNight") == false) {
                 createState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay", 8)});
                 createState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourDay", 7)});
                 createState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight", 1)});
                 createState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22, {type: 'number'}, function() {setState(NSPanel_Path + "NSPanel_Dimmode_hourNight", 22)});
              }
              var vBrightnessDay = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessDay").val;
              var vBrightnessNight = getState(NSPanel_Path + "NSPanel_Dimmode_brightnessNight").val;
              var vTimeDay = getState(NSPanel_Path + "NSPanel_Dimmode_hourDay").val;
              if (vTimeDay < 10) {
                 var TimeDay = "0" + vTimeDay.toString() + ":00";
              } else {
                 var TimeDay = vTimeDay.toString() + ":00";
              }
              var vTimeNight = getState(NSPanel_Path + "NSPanel_Dimmode_hourNight").val;
              if (vTimeNight < 10) {
                 var TimeNight = "0" + vTimeNight.toString() + ":00";
              } else {
                 var TimeNight = vTimeNight.toString() + ":00";
              }
              var timeDimMode = <DimMode>{dimmodeOn: true, brightnessDay: vBrightnessDay, brightnessNight: vBrightnessNight, timeDay: TimeDay, timeNight: TimeNight};
              //--------------------End Dimmode
              
              //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
              var weatherForecast = true; //true = WheatherForecast 5 Days --- false = Config --> firstScreensaverEntity - fourthScreensaverEntity ...
              
              //Alexa-Instanz
              var alexaInstanz = "alexa2.0"
              var alexaDevice = "G0XXXXXXXXXXXXXX"; //Primär zu steuerndes Device oder Gruppe aus alexa2-Adapter (Seriennummer)
              
              // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
              // Speakerwechsel funktioniert nicht bei Radio/TuneIn sonden bei Playlists
              //const alexaSpeakerList = []; //Beispiel ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino"];
              const alexaSpeakerList = ["Echo Spot Buero","Überall","Gartenhaus","Esszimmer","Heimkino","Echo Dot Küche"];
              
              //Datenpunkte für Nachricht an Screensaver 
              var screensaverNotifyHeading = NSPanel_Path + "ScreensaverInfo.popupNotifyHeading";
              var screensaverNotifyText = NSPanel_Path + "ScreensaverInfo.popupNotifyText";
              createState(screensaverNotifyHeading, {type: 'string'});
              createState(screensaverNotifyText, {type: 'string'});
              
              //Datenpunkte für Nachricht popupNotify Page 
              var popupNotifyHeading = NSPanel_Path + "popupNotify.popupNotifyHeading";
              var popupNotifyText = NSPanel_Path + "popupNotify.popupNotifyText";
              var popupNotifyInternalName = NSPanel_Path + "popupNotify.popupNotifyInternalName"; // Wird mit Button-Action zurückgeschrieben
              var popupNotifyButton1Text = NSPanel_Path + "popupNotify.popupNotifyButton1Text";
              var popupNotifyButton2Text = NSPanel_Path + "popupNotify.popupNotifyButton2Text";
              var popupNotifySleepTimeout = NSPanel_Path + "popupNotify.popupNotifySleepTimeout"; // in sek. / wenn 0, dann bleibt die Nachricht stehen
              var popupNotifyAction = NSPanel_Path + "popupNotify.popupNotifyAction"; // Antwort aus dem Panel true/false
              createState(popupNotifyHeading, {type: 'string'});
              createState(popupNotifyText, {type: 'string'});
              createState(popupNotifyInternalName, {type: 'string'});
              createState(popupNotifyButton1Text, {type: 'string'});
              createState(popupNotifyButton2Text, {type: 'string'});
              createState(popupNotifySleepTimeout, {type: 'number'});
              createState(popupNotifyAction, {type: 'boolean'});
              
              var Test_Licht: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Color Aliase",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     //<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLichteinzeln", name: "RGB-Licht Hex-Color", interpolateColor: true},
                     //<PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
                     //<PageItem>{ id: "alias.0.NSPanel_1.TestRGBLicht", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
                     //<PageItem>{ id: "alias.0.NSPanel_1.TestCTmitHUE", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.LED_TV", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
                 ]
              };
              
              /*
              var Test_Funktionen: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Sonstige Aliase",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.TestLautstärke", offColor: MSRed if mute=true, onColor: MSGreen ,name: "Echo Spot Büro", minValue: 0, maxValue: 100},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur",name: "Temperatur außen", icon: "thermometer", onColor: White},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte außen", icon: "water-percent", unit: "%H", onColor: White},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestInfo", name: "Windstärke", icon: "wind-power-outline", offColor: MSRed, onColor: MSGreen, unit: "bft", minValue: 0, maxValue: 12, interpolateColor: true, useColor: true}
                 ]
              };
              */
              
              /*
              var Buero_Seite_1: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Büro",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "",offColor: MSRed, onColor: MSGreen}
                     //<PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"}
                 ]
              };
              */
              
              /*
              var Fenster_1: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Fenster und Türen",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Haustuer", offColor: MSRed, onColor: MSGreen, name: "Haustür"},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", onColor: White, name: "IKEA Fyrtur"},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
                 ]
              };
              */
              
              /*
              var Button_1: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Button Aliase",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.TestTastensensor", name: "Tastensensor (FFN)"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "Taste (NDR2)", onColor: colorRadio},
                 ]
              };
              */
              
              
              var Subpages_1: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Test Subpages1",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                  //   <PageItem>{ navigate: true, id: "Abfall", onColor: White, name: "Abfallkalender"},
                     <PageItem>{ navigate: true, id: "WLAN", onColor: White, name: "Gäste WLAN"}
                 ]
              };
              
              
              //Subpage 1 von Subpages_1
              /*
              var Abfall: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Abfallkalender",
                 "useColor": true,
                 "subPage": true,
                 "parent": Subpages_1,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                 ]
              };
              */
              
              //Subpage 2 von Subpages_1
              var WLAN: PageQR = 
              {
                 "type": "cardQR",
                 "heading": "Gäste WLAN",
                 "useColor": true,
                 "subPage": true,
                 "parent": Subpages_1,
                 "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi" }]
              };
              
              /*
              var Buero_Seite_2: PageGrid =
              {
                 "type": "cardGrid",
                 "heading": "Büro 2",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", name: "Schreibtisch"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", name: "Deckenlampe"},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestFenster", offColor: MSRed, onColor: MSGreen, name: "Büro Fenster"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", offColor: MSRed, onColor: MSGreen},
                     <PageItem>{ id: "alias.0.NSPanel_1.TestBlind", icon: "projector-screen", onColor: White, name: "Beamer"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
                 ]
              };
              */
              
              /*
              var Alexa: PageMedia = 
              {
                 "type": "cardMedia",
                 "heading": "Alexa",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alexa.PlayerBuero" }]
              };
              */
              
              /*
              var Buero_Themostat: PageThermo = 
              {
                 "type": "cardThermo",
                 "heading": "Test Thermostat",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [<PageItem>{ id: "alias.0.NSPanel_1.Thermostat_Büro", minValue: 50, maxValue: 300 }]
              };
              */
              
              /*
              var Buero_Klimaanlage: PageThermo = 
              {
                 "type": "cardThermo",
                 "heading": "Test Klimaanlage",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [<PageItem>{ id: "alias.0.NSPanel_1.TestKlimaanlage", minValue: 170, maxValue: 250}]
              };
              */
              
              /*
              var Buero_Alarm: PageAlarm = 
              {
                 "type": "cardAlarm",
                 "heading": "Alarm",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [<PageItem>{ id: "alias.0.NSPanel_1.Alarm" }]
              };
              */
              
              var button1Page: PageGrid =
              {
                 "type": "cardGrid",
                 "heading": "Radio",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.FFN", icon: "radio", name: "FFN", onColor: colorRadio},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.Antenne" , icon: "radio", name: "Antenne Nds.", onColor: colorRadio},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: "radio", name: "NDR2", onColor: colorRadio},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.Spotify", icon: "spotify", name: "Party Playlist", onColor: colorSpotify},
                     <PageItem>{ id: "alias.0.NSPanel_1.Radio.Alexa", icon: "playlist-music", name: "Playlist 2021", onColor: colorAlexa}
                 ]
              };
              
              var button2Page: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Büro",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe"},
                     <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung"}
                 ]
              };
              
              
              //Subpages 2 (+ Info)
              var Service: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "NSPanel Service",
                 "useColor": true,
                 "subPage": false,
                 "parent": undefined, 
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_AutoUpdate", name: "Auto-Updates" ,icon: "update", offColor: MSRed, onColor: MSGreen},
                     <PageItem>{ navigate: true, id: "NSPanel_Infos", icon: "information-outline", onColor: White, name: "NSPanel Infos"},
                     <PageItem>{ navigate: true, id: "NSPanel_Firmware_Updates", icon: "update", onColor: White, name: "Manuelle-Updates"},
                     <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Einstellungen"}
                 ]
              };
              
              //Subpage 1 von Subpages_2
              var NSPanel_Infos: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "NSPanel Infos",
                 "useColor": true,
                 "subPage": true,
                 "parent": Service,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_Hardware", name: "Hardware", icon: "memory", offColor: MSYellow, onColor: MSYellow, useColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_ESP_Temp", name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_UpTime", name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.NSPanel_RSSI", name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
                 ]
              };
              
              //Subpage 2 von Subpages_2
              var NSPanel_Einstellungen: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Screensaver",
                 "useColor": true,
                 "subPage": true,
                 "parent": Service,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                     <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_BrightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                     <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                     <PageItem>{ id: "alias.0.NSPanel_1.Dimmode_HourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                 ]
              };
              
              //Subpage 3 von Subpages_2
              var NSPanel_Firmware_Updates: PageEntities =
              {
                 "type": "cardEntities",
                 "heading": "Firmware-Updates",
                 "useColor": true,
                 "subPage": true,
                 "parent": Service,
                 "items": [
                     <PageItem>{ id: "alias.0.NSPanel_1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
                     <PageItem>{ id: "alias.0.NSPanel_1.TFT_Firmware", name: "TFT-Firmware", useColor: true},
                 ]
              };
              
              export const config: Config = {
                 panelRecvTopic: "mqtt.1.SmartHome.NSPanel_1.tele.RESULT",       //anpassen
                 panelSendTopic: "mqtt.1.SmartHome.NSPanel_1.cmnd.CustomSend",   //anpassen
                 firstScreensaverEntity: { ScreensaverEntity: "netatmo-crawler.0.stationData.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
                 secondScreensaverEntity: { ScreensaverEntity: "netatmo-crawler.0.stationData.1.rain", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                 thirdScreensaverEntity: { ScreensaverEntity: "netatmo-crawler.0.stationData.1.windstrength", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
                 fourthScreensaverEntity: { ScreensaverEntity: "netatmo-crawler.0.stationData.1.pressure", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
                 timeoutScreensaver: 15,
                 dimmode: 8,
                 active: 100, //Standard-Brightness TFT
                 screenSaverDoubleClick: false,
                 locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
                 timeFormat: "%H:%M",                //currently not used 
                 dateFormat: "%A, %d. %B %Y",        //currently not used 
                 weatherEntity: "alias.0.Wetter",
                 defaultOffColor: Off,
                 defaultOnColor: On,
                 defaultColor: Off,
                 temperatureUnit: "°C",
                 pages: [
              //            Buero_Seite_2,
              //            Buero_Seite_1,
              //            Buero_Klimaanlage, 
              //            Button_1,
                         Test_Licht,
              //            Test_Funktionen,
              //            Fenster_1,
                	      Subpages_1,
              //            Alexa,
              //            Buero_Themostat,
              //            Buero_Alarm,
                         Service
                 ],
                 subPages: [
              //                Abfall,
                             WLAN,
                             NSPanel_Infos,
                             NSPanel_Einstellungen,
                             NSPanel_Firmware_Updates
                 ],
                 button1Page: button1Page,
                 button2Page: button2Page
              };
              
              
              MichaelFM Offline
              MichaelFM Offline
              MichaelF
              schrieb am zuletzt editiert von MichaelF
              #909

              @tt-tom

              Hi,

              hat sich glaube ich erledigt.

              Auch ich hatte Seiten Gelöscht........ Ich denke das war das Problem.

              Mit dem was ich jetzt neu aufgesetzt habe läuft alles, man muss halt echt aufpassen was man löscht und was nicht.

              Habe jetzt drei Seiten :-), mach süchtig das Teil :-D, grade bin ich an den Seiten NS Panel Infos und NS Panel Service irgendwie bekomm ich die Aliase nicht richtig angelegt. Sind diese Typ Info ? Genauso die Aliase des Abfallkalenders, da bekomme ich überall nur Gelbe Tonnen mit dem Richtigen Datum aber ohne Namen. Habe vier Aliase als Event angelegt mit der Jeweiligen Tonne aber irgendwie will es noch nicht so ganz.

              Und noch eine Frage, ist es möglich das Display auch ganz aus und einzuschalten ?

              Grüsse

              1 Antwort Letzte Antwort
              0
              • WalW Offline
                WalW Offline
                Wal
                Developer
                schrieb am zuletzt editiert von Wal
                #910

                So ich bin ein bisschen weiter, ich brauche min. 2 Seiten und die erste Seite muss ein PageEntities sein.
                Funktioniert:

                    pages: [
                            Fenster_1,
                            Buero_Themostat             
                    ],
                

                Funktioniert nicht:

                    pages: [
                         Buero_Themostat,   
                         Fenster_1
                    ],
                

                Um das Ganze zum "tillen" zu bekommen genügt es schon die Thermostat-Page an erster Stelle zu stellen.

                Gruß
                Walter

                DoorIO-Adapter
                wioBrowser-Adapter und wioBrowser

                MichaelFM 1 Antwort Letzte Antwort
                0
                • WalW Wal

                  So ich bin ein bisschen weiter, ich brauche min. 2 Seiten und die erste Seite muss ein PageEntities sein.
                  Funktioniert:

                      pages: [
                              Fenster_1,
                              Buero_Themostat             
                      ],
                  

                  Funktioniert nicht:

                      pages: [
                           Buero_Themostat,   
                           Fenster_1
                      ],
                  

                  Um das Ganze zum "tillen" zu bekommen genügt es schon die Thermostat-Page an erster Stelle zu stellen.

                  MichaelFM Offline
                  MichaelFM Offline
                  MichaelF
                  schrieb am zuletzt editiert von
                  #911

                  @wal said in Sonoff NSPanel:

                  So ich bin ein bisschen weiter, ich brauche min. 2 Seiten und die erste Seite muss ein PageEntities sein.
                  Funktioniert:

                      pages: [
                              Fenster_1,
                              Buero_Themostat             
                      ],
                  

                  Funktioniert nicht:

                      pages: [
                           Buero_Themostat,   
                           Fenster_1
                      ],
                  

                  Um das Ganze zum "tillen" zu bekommen genügt es schon die Thermostat-Page an erster Stelle zu stellen.

                  Hi,

                  also bei mir sieht das jetzt so aus:

                   pages: [
                              Bad,
                              Bad2,
                              Test_Funktionen,
                              Subpages_1,
                              Service
                      ],
                      subPages: [
                                  Abfall,
                                  WLAN,
                                  NSPanel_Infos,
                                  NSPanel_Einstellungen,
                                  NSPanel_Firmware_Updates
                      ],
                  

                  Allerdings nutze ich die auch so alle.

                  Kann es sein das die Formatierung nicht mehr stimmt ? Weil unten sind die Seiten an einer anderen Stelle

                  WalW 1 Antwort Letzte Antwort
                  0
                  • MichaelFM MichaelF

                    @wal said in Sonoff NSPanel:

                    So ich bin ein bisschen weiter, ich brauche min. 2 Seiten und die erste Seite muss ein PageEntities sein.
                    Funktioniert:

                        pages: [
                                Fenster_1,
                                Buero_Themostat             
                        ],
                    

                    Funktioniert nicht:

                        pages: [
                             Buero_Themostat,   
                             Fenster_1
                        ],
                    

                    Um das Ganze zum "tillen" zu bekommen genügt es schon die Thermostat-Page an erster Stelle zu stellen.

                    Hi,

                    also bei mir sieht das jetzt so aus:

                     pages: [
                                Bad,
                                Bad2,
                                Test_Funktionen,
                                Subpages_1,
                                Service
                        ],
                        subPages: [
                                    Abfall,
                                    WLAN,
                                    NSPanel_Infos,
                                    NSPanel_Einstellungen,
                                    NSPanel_Firmware_Updates
                        ],
                    

                    Allerdings nutze ich die auch so alle.

                    Kann es sein das die Formatierung nicht mehr stimmt ? Weil unten sind die Seiten an einer anderen Stelle

                    WalW Offline
                    WalW Offline
                    Wal
                    Developer
                    schrieb am zuletzt editiert von
                    #912

                    @michaelf sagte in Sonoff NSPanel:

                    Kann es sein das die Formatierung nicht mehr stimmt ? Weil unten sind die Seiten an einer anderen Stelle

                    Nein, ist nur ein copy/paste Fehler.

                    Gruß
                    Walter

                    DoorIO-Adapter
                    wioBrowser-Adapter und wioBrowser

                    1 Antwort Letzte Antwort
                    0
                    • WalW Offline
                      WalW Offline
                      Wal
                      Developer
                      schrieb am zuletzt editiert von Wal
                      #913

                      So bin soweit fertig und es funktioniert so:

                      var Wohnzimmer_Thermostat: PageThermo = 
                      {
                          "type": "cardThermo",
                          "heading": "Wohnzimmer",
                          "useColor": true,
                          "subPage": false,
                          "parent": undefined,
                          "items": [<PageItem>{ id: "alias.0.NSPanel_WZ.Thermostat_WZ", minValue: 50, maxValue: 300 }]
                      };
                      
                      var Zisterne: PageEntities =
                      {
                          "type": "cardEntities",
                          "heading": "Füllstand",
                          "useColor": true,
                          "subPage": false,
                          "parent": undefined,
                          "items": [<PageItem>{ id: "alias.0.NSPanel_WZ.Zisterne"}]
                      };
                      
                      var button1Page: PageGrid =
                      {
                          "type": "cardGrid",
                          "heading": "",
                          "useColor": true,
                          "subPage": false,
                          "parent": undefined,
                          "items": [
                          ]
                      };
                       
                      var button2Page: PageEntities =
                      {
                          "type": "cardEntities",
                          "heading": "",
                          "useColor": true,
                          "subPage": false,
                          "parent": undefined,
                          "items": [
                          ]
                      };
                       
                      export const config: Config = {
                          panelRecvTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.tele.RESULT",       //anpassen
                          panelSendTopic: "mqtt.0.Wohnzimmer.NSPanel_WZ.cmnd.CustomSend",   //anpassen
                          firstScreensaverEntity: { ScreensaverEntity: "hmip.0.devices.3014F711A000185BE9922BCF.channels.1.humidity", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
                          secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                          thirdScreensaverEntity: { ScreensaverEntity: "0_userdata.0.Wetter.Windstaerke_homaticIP", ScreensaverEntityIcon: "weather-windy", ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: "bft" },
                          fourthScreensaverEntity: { ScreensaverEntity: "accuweather.0.Current.UVIndex", ScreensaverEntityIcon: "solar-power", ScreensaverEntityText: "UV", ScreensaverEntityUnitText: "" },
                          timeoutScreensaver: 15,
                          dimmode: 8,
                          active: 100, //Standard-Brightness TFT
                          screenSaverDoubleClick: false,
                          locale: "de-DE",                    //en-US, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.
                          timeFormat: "%H:%M",                //currently not used 
                          dateFormat: "%A, %d. %B %Y",        //currently not used 
                          weatherEntity: "alias.0.Wetter",
                          defaultOffColor: Off,
                          defaultOnColor: On,
                          defaultColor: Off,
                          temperatureUnit: "°C",
                          pages: [
                                  Zisterne,
                                  Wohnzimmer_Thermostat             
                          ],
                          subPages: [
                          ],
                          button1Page: button1Page,
                          button2Page: button2Page
                      };
                      

                      Ich möchte jetzt nur das Thermostat als erste Page haben was aber leider nicht funktioniert.

                      Gruß
                      Walter

                      DoorIO-Adapter
                      wioBrowser-Adapter und wioBrowser

                      1 Antwort Letzte Antwort
                      0
                      • WalW Offline
                        WalW Offline
                        Wal
                        Developer
                        schrieb am zuletzt editiert von
                        #914

                        Habe den Skript-Fehler gefunden:

                        function GenerateThermoPage(page: PageThermo): Payload[] {
                            activePage = page;
                        

                        Das activePage fehlt in der Funktion.

                        Gruß
                        Walter

                        DoorIO-Adapter
                        wioBrowser-Adapter und wioBrowser

                        ArmilarA 1 Antwort Letzte Antwort
                        0
                        • WalW Wal

                          Habe den Skript-Fehler gefunden:

                          function GenerateThermoPage(page: PageThermo): Payload[] {
                              activePage = page;
                          

                          Das activePage fehlt in der Funktion.

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

                          @wal

                          und Github Bug #286 ebenfalls eleminiert. ;-)

                          Gleiches bei pageMedia und pageAlarm

                          :+1:

                          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.

                          WalW 1 Antwort Letzte Antwort
                          0
                          • ArmilarA Armilar

                            @wal

                            und Github Bug #286 ebenfalls eleminiert. ;-)

                            Gleiches bei pageMedia und pageAlarm

                            :+1:

                            WalW Offline
                            WalW Offline
                            Wal
                            Developer
                            schrieb am zuletzt editiert von
                            #916

                            @armilar sagte in Sonoff NSPanel:

                            @wal

                            und Github Bug #286 ebenfalls elemeniert. ;-)

                            Gleiches bei pageMedia und pageAlarm

                            :+1:

                            function GeneratePage(page: Page): void {
                                activePage = page;
                                switch (page.type) {
                                    case "cardEntities":
                            

                            das activePage so einfügen, da sind alle Spatzen gefangen.
                            Will jetzt keinen neuen PullRequest machen.

                            Gruß
                            Walter

                            DoorIO-Adapter
                            wioBrowser-Adapter und wioBrowser

                            1 Antwort Letzte Antwort
                            0
                            • K Offline
                              K Offline
                              Kuckuckmann
                              schrieb am zuletzt editiert von
                              #917

                              @Wal

                              Ich hätte darauf getippt, dass Du zum einen bei jeder VAR ein "parent": undefined hast und zum anderen die ggf. nicht näher definierten Button 1 + Button 2 da ggf. noch ein Problem sein könnten.
                              Das undefined habe ich bei mir durch den Namen der VAR ersetzt, funktioniert eigentlich alles soweit sehr gut.

                              NSPanel Dokumentation im GitHub Wiki:

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

                              1 Antwort Letzte Antwort
                              0
                              • K Offline
                                K Offline
                                Kuckuckmann
                                schrieb am zuletzt editiert von Kuckuckmann
                                #918

                                In eigener Sache:

                                Ich habe hier eine Funktion aus einem Skript, diese scheint bei mir einen Absturz des mqtt Adapters zu verursachen:

                                5a50c2a8-8675-4a98-ba11-30d5a0dd0cd2-image.png

                                Deaktiviere ich den Aufruf der Funktion, habe ich keine Probleme, aktiviere ich die Notify Funktion, passiert folgendes:

                                c609f4b3-3748-40f5-a36c-51366f3c79de-image.png

                                Jemand eine Idee?

                                Kann es sein, dass derGrund das direkte Ansprechen der Notify Datenpunkte ist, anstatt über Aliase zu gehen?

                                Und noch eine Frage: Wie kann ich den Inhalt der DP der NotifyPage leeren, ohne dass dabei eine Page aufgeht auf dem Display?

                                Thx vorab

                                NSPanel Dokumentation im GitHub Wiki:

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

                                1 Antwort Letzte Antwort
                                0
                                • K Offline
                                  K Offline
                                  Kuckuckmann
                                  schrieb am zuletzt editiert von
                                  #919

                                  @Armilar

                                  Wenn ich ein Alias Lampe habe, bei der ich auch Energiewerte eingebunden habe, wie kann ich das denn am einfachsten darstellen lassen? In dem einen Alias bekomme ich ON/OFF Switch, Verbrauchte Energie over all und aktueller Energieverbrauch.

                                  Danke für eine Hilfestellung.

                                  NSPanel Dokumentation im GitHub Wiki:

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

                                  ArmilarA 1 Antwort Letzte Antwort
                                  0
                                  • K Kuckuckmann

                                    @Armilar

                                    Wenn ich ein Alias Lampe habe, bei der ich auch Energiewerte eingebunden habe, wie kann ich das denn am einfachsten darstellen lassen? In dem einen Alias bekomme ich ON/OFF Switch, Verbrauchte Energie over all und aktueller Energieverbrauch.

                                    Danke für eine Hilfestellung.

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

                                    @kuckuckmann sagte in Sonoff NSPanel:

                                    @Armilar

                                    Wenn ich ein Alias Lampe habe, bei der ich auch Energiewerte eingebunden habe, wie kann ich das denn am einfachsten darstellen lassen? In dem einen Alias bekomme ich ON/OFF Switch, Verbrauchte Energie over all und aktueller Energieverbrauch.

                                    Danke für eine Hilfestellung.

                                    Aktuell nur über eine cardEntities mit einer Lampe und 2 Infos auf die restlichen Werte. Alles andere würde eine Änderung der HMI bedeuten.

                                    Wenn genug Platz in dem Anzeigenamen bis zum Switch verfügbar ist, müsste ein join der Informationen in einer Zeile auch möglich sein.

                                    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 Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      schrieb am zuletzt editiert von
                                      #921

                                      @kuckuckmann sagte in Sonoff NSPanel:

                                      In eigener Sache:

                                      Ich habe hier eine Funktion aus einem Skript, diese scheint bei mir einen Absturz des mqtt Adapters zu verursachen:

                                      5a50c2a8-8675-4a98-ba11-30d5a0dd0cd2-image.png

                                      Deaktiviere ich den Aufruf der Funktion, habe ich keine Probleme, aktiviere ich die Notify Funktion, passiert folgendes:

                                      c609f4b3-3748-40f5-a36c-51366f3c79de-image.png

                                      Jemand eine Idee?

                                      Kann es sein, dass derGrund das direkte Ansprechen der Notify Datenpunkte ist, anstatt über Aliase zu gehen?

                                      Und noch eine Frage: Wie kann ich den Inhalt der DP der NotifyPage leeren, ohne dass dabei eine Page aufgeht auf dem Display?

                                      Thx vorab

                                      Stellt sich die Frage, was ruft die Funktion auf und dann wie oft. Kann nur mit der Funktion nicht viel anfangen.

                                      Frage 2: Aktuell ist ein leeren nicht vorgesehen. Nur im Falle eines Überschreibens der Werte werden neue Angezeigt. Wenn sie dennoch leer sein müssen, dann nur über eine Erweiterung der Funktion für die pageNotify. Im Falle des Triggers könnte man mit einer kleinen Erweiterung den Wert des Datenpunktes mit "" ignorieren.

                                      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

                                        @kuckuckmann sagte in Sonoff NSPanel:

                                        @Armilar

                                        Wenn ich ein Alias Lampe habe, bei der ich auch Energiewerte eingebunden habe, wie kann ich das denn am einfachsten darstellen lassen? In dem einen Alias bekomme ich ON/OFF Switch, Verbrauchte Energie over all und aktueller Energieverbrauch.

                                        Danke für eine Hilfestellung.

                                        Aktuell nur über eine cardEntities mit einer Lampe und 2 Infos auf die restlichen Werte. Alles andere würde eine Änderung der HMI bedeuten.

                                        Wenn genug Platz in dem Anzeigenamen bis zum Switch verfügbar ist, müsste ein join der Informationen in einer Zeile auch möglich sein.

                                        K Offline
                                        K Offline
                                        Kuckuckmann
                                        schrieb am zuletzt editiert von
                                        #922

                                        @armilar
                                        Gibt es da bestimmte Infos, die man da befüllen muss?
                                        Auf meiner CardEntitie kann ich auf die Zeile klicken, es kommt eine Subpage, da hab ich aber nur einen Switch ohne Beschriftung und auch sonst keine Anzeige.

                                        NSPanel Dokumentation im GitHub Wiki:

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

                                        ArmilarA 1 Antwort Letzte Antwort
                                        0
                                        • K Kuckuckmann

                                          @armilar
                                          Gibt es da bestimmte Infos, die man da befüllen muss?
                                          Auf meiner CardEntitie kann ich auf die Zeile klicken, es kommt eine Subpage, da hab ich aber nur einen Switch ohne Beschriftung und auch sonst keine Anzeige.

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

                                          @kuckuckmann sagte in Sonoff NSPanel:

                                          Gibt es da bestimmte Infos, die man da befüllen muss?
                                          Auf meiner CardEntitie kann ich auf die Zeile klicken, es kommt eine Subpage, da hab ich aber nur einen Switch ohne Beschriftung und auch sonst keine Anzeige.

                                          Nein nicht falsch verstehen. In der Subpage sind aktuell keine Infos zu Energie-Verbräuchen der einzelnen Verbraucher berücksichtigt. Ich dachte daran, dass man evtl. über ein Verketten der Informationen im Namen (Dein eigener Workaround), diese Infos über das pageItem-Atribut name: "Lampe 1" + getState(Energie-Alias) mitgeben könnte.

                                          Also dann in der Zeile so etwas steht:

                                          Lampe 1 (4,2 W)
                                          Lampe 2 (3,2 W)
                                          usw.

                                          Du hast da nach einer Möglichkeit gefragt ;-) . Ich habe da überhaupt keine Anwendung für. Panel dient zum Schalten von Zuständen. Ich schalte mein Licht nicht nach Verbräuchen, sondern nach Helligkeit (Bedarf).

                                          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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          265

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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