Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Sonoff NSPanel

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @holgerwolf last edited by TT-Tom

      @holgerwolf sagte in Sonoff NSPanel:

      @diwoma bei mir gehts. Hab aber nur Apple Zeug…

      Kann ich bestätigen.
      @diwoma Hast du es mal mit der Kamera App probiert???

      D 1 Reply Last reply Reply Quote 0
      • D
        diwoma @TT-Tom last edited by

        @tt-tom said in Sonoff NSPanel:

        @holgerwolf sagte in Sonoff NSPanel:

        @diwoma bei mir gehts. Hab aber nur Apple Zeug…

        Kann ich bestätigen.
        @diwoma Hast du es mal mit der Kamera App probiert???

        Es geht anscheinend nicht mit meinem Gerät, das Gerät meiner Frau kann es lesen.

        1 Reply Last reply Reply Quote 0
        • S
          Sascha last edited by

          Hallo Zusammen,

          ich hab mitlerweile 2 NSPanel ans laufen bekommen jedoch scheitere ich gerade an dem Abfallkalender, kann mir jemand sagen wie ich die Alias zusammenbauen muss?

          Gruß

          Sascha

          1 Reply Last reply Reply Quote 0
          • T
            TT-Tom last edited by TT-Tom

            @joBr99

            Hallo ich habe eine Frage zur Einbindung eines Nuki-Türschloss. Welche State erwartet das Script als Rückmeldung und welche sendet es zu schalten.

            Edit: hat sich erledigt. selber raus gefunden

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

              Hi,

              ich habe mir (weil es Spass macht und zum 'spielen') ein zweites NSPanel bestellt.
              Mir ist klar, dass ich die NSPanelTS duplizieren muss, um die Konfiguration auf das 2. Panel zu setzen.

              Aber eine reine Verständnis-Frage:
              Wie sieht es mit dem Gültigkeitsbereich (Scope) der Variablen aus? Wenn sie global sind, dann sind sie ja überall sichtbar und gültig.
              Bekommt man da nicht Konflikte?

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

                @diwoma sagte in Sonoff NSPanel:

                Hi,

                ich habe mir (weil es Spass macht und zum 'spielen') ein zweites NSPanel bestellt.
                Mir ist klar, dass ich die NSPanelTS duplizieren muss, um die Konfiguration auf das 2. Panel zu setzen.

                Aber eine reine Verständnis-Frage:
                Wie sieht es mit dem Gültigkeitsbereich (Scope) der Variablen aus? Wenn sie global sind, dann sind sie ja überall sichtbar und gültig.
                Bekommt man da nicht Konflikte?

                Nein, nur das Skript für den IconSelector ist "global" und muss deshalb nicht zweimal vorhanden sein. Einfach NSPanelTS duplizieren und für das zweite Panel konfigurieren. Dann läuft alles ohne Probleme.

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kuckuckmann @Armilar last edited by

                  @Armilar

                  Nein, nur das Skript für den IconSelector ist "global" und muss deshalb nicht zweimal vorhanden sein. Einfach NSPanelTS duplizieren und für das zweite Panel konfigurieren. Dann läuft alles ohne Probleme.

                  Wie verhält sich das mit den Daten unter 0_userdata.0.NSPanel?
                  Wir dort dann ein neuer Unterordner 2 etc. angelegt?

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

                    @kuckuckmann ja, so wie oben im Skript definiert, wird ein neuer Ordner erstellt.

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kuckuckmann last edited by

                      @Armilar

                      Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                      //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"}
                          ]
                      };
                      
                      Armilar 1 Reply Last reply Reply Quote 0
                      • Armilar
                        Armilar Most Active Forum Testing @Kuckuckmann last edited by Armilar

                        @kuckuckmann sagte in Sonoff NSPanel:

                        @Armilar

                        Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                        //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"}
                            ]
                        };
                        

                        Unsere Stadt stellt einen ical Kalender zur Verfügung.

                        var i, Muell_JSON, Event2, Color;
                        
                        function subsequenceFromStartLast(sequence, at1) {
                          var start = at1;
                          var end = sequence.length - 1 + 1;
                          return sequence.slice(start, end);
                        }
                        
                        
                        on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          for (i = 0; i <= 3; i++) {
                            Muell_JSON = getState("ical.1.data.table").val;
                            setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                            Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                            setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                            if (Event2 == 'Reststoff') {
                              Color = 33840;
                            } else if (Event2 == 'Biotonne') {
                              Color = 2016;
                            } else if (Event2 == 'Blaue Tonne') {
                              Color = 31;
                            } else if (Event2 == 'Gelbe Tonne') {
                              Color = 65504;
                            }
                            setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                          }
                        });
                        

                        Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                        Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                        Statisch lässt dich das als Alias "info" abbilden

                        K S 3 Replies Last reply Reply Quote 0
                        • V
                          Vocaris last edited by Vocaris

                          Hallo,

                          ich stehe am Anfang meines NSPanel Projekts. Bei mir ist das Problem, dass ich beim Start des Panels kein Screen bekomme sondern den drehen blauen Kreis mit der Info, "Waiting for content".
                          Was habe ich gemacht:

                          1. tasmote32-de.bin mittels FTDI auf das Panel geflahed.
                          2. Mit AP verbunden und WLAN eingerichtet
                          3. Panel im eigenen WLAN aufgerufen
                          4. Unter Sonstiges die Vorlagenparameter hinterlegt und aktiviert.
                          5. Panel läuft jetzt als NSPAnel
                          6. Schalte der Relais klappt.
                          7. Im Konsolenbereich die Datei nspanel.be inkl. des Inhaltes von blakadder gefüllt und gespeichert
                          8. Ebenfalls die autoexec.be mit dem Inhalt erstellt.
                          9. Neustart. Webzugriff weiterhin ohne Problem möglich. Display des Panels weiter auf "Waiting for content"

                          Wo liegt der Fehler?
                          PS: Muss ggf. eine andere/richtige TFT Version drauf?

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            holgerwolf @Vocaris last edited by holgerwolf

                            @vocaris Da fehlen ja auch noch die Scripte auf iobroker Seite. Woher sollte das Panel denn seinen "Content" bekommen?

                            Lies mal hier weiter:
                            https://forum.iobroker.net/topic/50888/sonoff-nspanel/612?_=1660026285801

                            V 1 Reply Last reply Reply Quote 0
                            • V
                              Vocaris @holgerwolf last edited by Vocaris

                              @holgerwolf Hei, danke für deine Antwort.
                              Ich bin nach der Anleitung von Matthias (haus-automatisierung.com) vorgegangen. Dort hat er nach meinen Schritte das Panel neu gestartet und hatte ein Display. In der nspanel.be ist wohl schon ein Set vorhanden.

                              Bzgl. des Link: Ich wollte nicht die Lovelace Installation.

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                holgerwolf @Vocaris last edited by

                                @vocaris Auch da brauchte es Scripte die den Content zum Panel schicken.
                                Aber das ist schon lange her und ich nutze das nicht mehr. Keine Ahnung ob das heute so alles noch klappt.

                                1 Reply Last reply Reply Quote 0
                                • V
                                  Vocaris last edited by Vocaris

                                  @holgerwolf Ich muss wohl das Nextion TFT wider auf das Panel bringen.
                                  Hatte mal versucht auf das lovelace umzusteigen. Ging auch, aber das sagte mir nicht zu. Dort habe ich ja ein Update auf das lovelace TFT gemacht. Ggf. muss ich wieder auf das Nextion TFT wechseln.

                                  PS: Kennt einer diese Seite?
                                  https://java.codetea.com/tasmota-and-sonoff-nspanel/
                                  Ist das ein Weg die alte TFT Datei wieder rein zu bekommen?

                                  M 1 Reply Last reply Reply Quote 0
                                  • D
                                    DaPeace last edited by

                                    Hallo Jungs,
                                    ich bin jetzt seit Tagen dabei für einen Kollegen das NSPanel einzurichten.
                                    Ich hab das auch schonmal zum Laufen gebracht aber dann ist vom Raspberry die SD-Karte eingegangen und jetzt mußte ich wieder von vorne anfangen.
                                    Ich bin dem Tutorial hier im Thread gefolgt aber hänge bei folgendem Fehler:

                                    10:30:04.442	info	javascript.0 (1579) script.js.common.NSPanel_FLUR: TypeScript compilation successful
                                    10:30:04.536	warn	javascript.0 (1579) at get_current_tasmota_ip_address (script.js.common.NSPanel_FLUR:747:36)
                                    10:30:04.536	warn	javascript.0 (1579) at get_tasmota_status0 (script.js.common.NSPanel_FLUR:771:37)
                                    10:30:04.536	warn	javascript.0 (1579) at script.js.common.NSPanel_FLUR:577:1
                                    10:30:04.538	error	javascript.0 (1579) script.js.common.NSPanel_FLUR: script.js.common.NSPanel_FLUR:748
                                    10:30:04.539	error	javascript.0 (1579) at get_current_tasmota_ip_address (script.js.common.NSPanel_FLUR:748:26)
                                    10:30:04.539	error	javascript.0 (1579) at get_tasmota_status0 (script.js.common.NSPanel_FLUR:771:37)
                                    10:30:04.539	error	javascript.0 (1579) at script.js.common.NSPanel_FLUR:577:1
                                    

                                    Das Panel-Script schaut so aus:

                                    var Icons = new IconsSelector();
                                    var timeoutSlider: any;
                                    const NSPanel_Path = "0_userdata.0.NSPanel_FLUR."
                                    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.Licht_Mauer", 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.Thermostat_Flur", minValue: 5, maxValue: 30 }]
                                    };
                                    
                                    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.SmartHome.tasmota_310564.tele.RESULT",       //anpassen
                                        panelSendTopic: "mqtt.0.SmartHome.tasmota_310564.cmnd.CustomSend",   //anpassen
                                        firstScreensaverEntity: { ScreensaverEntity: "alias.0.Wetter.Wettervorhersage.HUMIDITY", ScreensaverEntityIcon: "water-percent", ScreensaverEntityText: "Luft", ScreensaverEntityUnitText: "%" },
                                        secondScreensaverEntity: { ScreensaverEntity: "accuweather.0.Daily.Day1.Day.PrecipitationProbability", ScreensaverEntityIcon: "weather-pouring", ScreensaverEntityText: "Regen", ScreensaverEntityUnitText: "%" },
                                        thirdScreensaverEntity: { ScreensaverEntity: "alias.0.Wetter.Wettervorhersage.WIND_SPEED", 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_Themostat
                                    //            Buero_Seite_2,
                                    //            Buero_Seite_1,
                                    //            Buero_Klimaanlage, 
                                    //              Button_1,
                                    //              Test_Licht,
                                    //            Test_Funktionen,
                                    //            Fenster_1,
                                    //    	      Subpages_1,
                                    //            Alexa,
                                     
                                    //            Buero_Alarm,
                                    //            Service
                                        ],
                                        subPages: [
                                                    Abfall,
                                     //               WLAN,
                                     //               NSPanel_Infos,
                                     //               NSPanel_Einstellungen,
                                     //               NSPanel_Firmware_Updates
                                        ],
                                       button1Page: button1Page,
                                       button2Page: button2Page
                                    };
                                    
                                    

                                    Kann mir jemand sagen woran das liegt bzw. was ich hier genau falsch mache?

                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      TT-Tom @DaPeace last edited by

                                      @dapeace sagte in Sonoff NSPanel:

                                      const NSPanel_Path = "0_userdata.0.NSPanel_FLUR."
                                      const Debug = false;

                                      sind die Datenpunkte in userdata angelegt worden und stehen dort infos drin?

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

                                        Hi,
                                        kann man das onColor und offColor mit einer Funktion belegen?

                                        <PageItem>{ id: "alias.0.PV.Netz", name: "Netz", offColor: MSGreen, onColor: MSRed},
                                        

                                        Die Farbe sollte sich bei grösser oder kleiner als 0 ändern.
                                        Eventuell auch über einen logischen User-Datenpunkt.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          DaPeace @TT-Tom last edited by

                                          @tt-tom ja die Datenpunkte werden angelegt allerdings stehen nur im Hauptordner ein paar Variablen drin aber bei ScreensaverInfo und popupNotify steht bei den Datenpunkten überall null und es fehlen mir auch die Tasmota-Infos inkl. dem Temperatursensor und der Version.

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            TT-Tom @DaPeace last edited by

                                            @dapeace

                                            Hast du die MQTT Verbindung hergestellt? Hat das senden aus der Tasmota-Konsole funktioniert?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            632
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            78
                                            1548
                                            397811
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo