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

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

Community Forum

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

NEWS

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

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

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

Sonoff NSPanel

Geplant Angeheftet Gesperrt Verschoben Hardware
1.5k Beiträge 78 Kommentatoren 640.7k 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 Offline
    T Offline
    TT-Tom
    schrieb am zuletzt editiert von TT-Tom
    #981

    @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

    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

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      diwoma
      schrieb am zuletzt editiert von diwoma
      #982

      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?

      -- diwoma

      ioBroker in LX-Container in Proxmox
      Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

      ArmilarA 1 Antwort Letzte Antwort
      0
      • D 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?

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

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

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

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

        K 1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @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 Offline
          K Offline
          Kuckuckmann
          schrieb am zuletzt editiert von
          #984

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

          NSPanel Dokumentation im GitHub Wiki:

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

          ArmilarA 1 Antwort Letzte Antwort
          0
          • K Kuckuckmann

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

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

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

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

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

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

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

              NSPanel Dokumentation im GitHub Wiki:

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

              ArmilarA 1 Antwort Letzte Antwort
              0
              • K Kuckuckmann

                @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"}
                    ]
                };
                
                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von Armilar
                #987

                @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

                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 S 3 Antworten Letzte Antwort
                0
                • V Offline
                  V Offline
                  Vocaris
                  schrieb am zuletzt editiert von Vocaris
                  #988

                  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 Antwort Letzte Antwort
                  0
                  • V 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 Offline
                    H Offline
                    holgerwolf
                    schrieb am zuletzt editiert von holgerwolf
                    #989

                    @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 Antwort Letzte Antwort
                    0
                    • H 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 Offline
                      V Offline
                      Vocaris
                      schrieb am zuletzt editiert von Vocaris
                      #990

                      @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 Antwort Letzte Antwort
                      0
                      • V 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 Offline
                        H Offline
                        holgerwolf
                        schrieb am zuletzt editiert von
                        #991

                        @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 Antwort Letzte Antwort
                        0
                        • V Offline
                          V Offline
                          Vocaris
                          schrieb am zuletzt editiert von Vocaris
                          #992

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

                            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 Antwort Letzte Antwort
                            0
                            • D DaPeace

                              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 Offline
                              T Offline
                              TT-Tom
                              schrieb am zuletzt editiert von
                              #994

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

                              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

                              D 1 Antwort Letzte Antwort
                              0
                              • D Offline
                                D Offline
                                diwoma
                                schrieb am zuletzt editiert von
                                #995

                                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.

                                -- diwoma

                                ioBroker in LX-Container in Proxmox
                                Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                                1 Antwort Letzte Antwort
                                0
                                • T TT-Tom

                                  @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 Offline
                                  D Offline
                                  DaPeace
                                  schrieb am zuletzt editiert von
                                  #996

                                  @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 Antwort Letzte Antwort
                                  0
                                  • D DaPeace

                                    @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 Offline
                                    T Offline
                                    TT-Tom
                                    schrieb am zuletzt editiert von
                                    #997

                                    @dapeace

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

                                    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

                                    1 Antwort Letzte Antwort
                                    0
                                    • V Offline
                                      V Offline
                                      Vocaris
                                      schrieb am zuletzt editiert von
                                      #998

                                      Hat keiner einen Link, wo man das Standard nspanel.tft laden kann?
                                      In verschiedenen Foren wird immer dieser Link angepriesen:

                                      https://cdn.discordapp.com/attachments/538814618106331139/925351768852951050/ns-panel.tft
                                      

                                      Aber der geht nicht.

                                      1 Antwort Letzte Antwort
                                      0
                                      • ArmilarA 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 Offline
                                        K Offline
                                        Kuckuckmann
                                        schrieb am zuletzt editiert von
                                        #999

                                        @armilar said in Sonoff NSPanel:

                                        @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

                                        Und in dem Jason steht dann auch schon ein Farbcode drin?

                                        NSPanel Dokumentation im GitHub Wiki:

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

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • K Kuckuckmann

                                          @armilar said in Sonoff NSPanel:

                                          @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

                                          Und in dem Jason steht dann auch schon ein Farbcode drin?

                                          T Offline
                                          T Offline
                                          TT-Tom
                                          schrieb am zuletzt editiert von TT-Tom
                                          #1000

                                          @kuckuckmann
                                          Denn farbcode legst du mit der Variable Color fest. Event2 musst du an deine Abfallnamen anpassen

                                          
                                              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;
                                              }
                                          
                                          

                                          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

                                          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

                                          448

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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