Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

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

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      coto @Armilar last edited by

      @armilar

      Danke, das werde ich morgen dann mal in Ruhe ausprobieren.

      Zu Frage 2)
      Die Seiten müssen in der Config eingetragen sein. Sind die drin unter Subpages?

      Ich weiß jetzt nicht ob wir da aneinander vorbei sprechen.
      Die Config ist fast Original. Ich fange gerade an mich da durchzutesten,

      /*-----------------------------------------------------------------------
      TypeScript v3.6.0.4 zur Steuerung des SONOFF NSPanel mit dem ioBroker by @Armilar/@Sternmiere/@Britzelpuf
      - abgestimmt auf TFT 45 / v3.6.0 / BerryDriver 6 / Tasmota 12.2.0
      @joBr99 Projekt: https://github.com/joBr99/nspanel-lovelace-ui/tree/main/ioBroker
      NsPanelTs.ts (dieses TypeScript in ioBroker) Stable: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts
      icon_mapping.ts: https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/icon_mapping.ts (TypeScript muss in global liegen)
      ioBroker-Unterstützung: https://forum.iobroker.net/topic/50888/sonoff-nspanel
      WIKI zu diesem Projekt unter: https://github.com/joBr99/nspanel-lovelace-ui/wiki (siehe Sidebar)
      Icons unter: https://htmlpreview.github.io/?https://github.com/jobr99/Generate-HASP-Fonts/blob/master/cheatsheet.html
      *******************************************************************************
      Achtung Änderung des Sonoff ESP-Temperatursensors
      !!! Bitte "SetOption146 1" in der Tasmota-Console ausführen !!!
      *******************************************************************************
      ReleaseNotes:
          Bugfixes und Erweiterungen:
              - cardQR (für Gäste WLAN)
              - cardThermo (Neues Design für Alias Thermostat und zusätzlich für Alias Klimaanlage)
              - 08.05.2022 - v2.9.0 - Menüpfeile bei HardwareButtons (button1Page; button2Page) mit Navigation auf Page 0
              - 08.05.2022 - v2.9.0 - Standard-Brightness über neuen Parameter active einstellbar (Test mit 2.9.3)
              - 08.05.2022 - v2.9.0 - Schalter (Licht, Dimmer, Hue, etc) in cardGrid lassen sich wieder schalten
              - 14.06.2022 - v2.9.0 - Aktion auf Submenüs schaltet unmittelbar auf vorheriges Mainmenu (Many thanks to Grrzzz)
              - 14.06.2022 - v2.9.0 - Menü-Pfeile in Subpages (z.B. card QR, cardMedia, etc) (Many thanks to Grrzzz)
              - 15.06.2022 - v3.0.0 - Date/Time im Screensaver auf Basis localString (de-DE/en-EN/nl-NL/etc.)
              - 16.06.2022 - v3.0.0 - Multilingual - config.locale (en-EN, de-DE, nl-NL, da-DK, es-ES, fr-FR, it-IT, ru-RU, etc.)
              - 16.06.2022 - v3.0.0 - Bugfix by Grrzzz - Subpages
              - 18.06.2022 - v3.1.0 - Längere Textfelder in cardEntities
              - 18.06.2022 - V3.1.0 - Detail-Page Lights/Shutter hat neuen Parameter "id"
              - 19.06.2022 - v3.1.0 - Bugfix toLocalTimeString in en-EN/en-US
              - 19.06.2022 - v3.1.0 - Fehler in findLocale abgefangen
              - 19.06.2022 - v3.1.0 - Umstellung auf "Home Assistant" Sprachfile
              - 19.06.2022 - v3.1.0 - Alias "light" und "socket" haben optionalen Parameter icon2 für negative Zustände
              - 29.06.2022 - v3.1.1 - Bugfix Github #286 (Active Page) + Bugfix pageThermo, pageMedia, pageAlarm as first Page
              - 25.08.2022 - v3.1.0 - Code-Verbesserungen (klein0r)
              - 26.08.2022 - v3.2.0 - pageItem mit CIE (XY) Parameter für ColorWheel (Steuerung für z.B Deconz-Farben bei denen Hue nicht greift)
              - 28.08.2022 - v3.2.0 - Wechsel zwischen Weather-Forecast und eigenen Datenpunkten im Screensaver (minütlich)
              - 28.08.2022 - v3.2.0 - Bugfix für 3.2.0 in GenerateDetailPage: Color-Language nicht über findLocales, da nicht in Sprachfile enthalten
              - 29.08.2022 - v3.3.0 - Upgrade TFT 40
              - 29.08.2022 - v3.3.1 - Upgrade TFT 41
              - 04.09.2022 - v3.3.1 - Überarbeitung und BugFix für cardAlarm
              - 13.09.2022 - v3.3.1.3 BugFix Screensaver Toggle
              - 13.09.2022 - v3.3.1.3 Überarbeitung und BugFix und Refresh Features für cardMedia (Breaking Changes)
              - 13.09.2022 - v3.3.1.3 Hinzufügen von SpotifyPremium, Sonos und Chromecast (Google home) zur cardMedia-Logik
              - 15.09.2022 - V3.4.0 - BugFix Dimmode
              - 15.09.2022 - v3.4.0   Upgrade TFT 42
              - 15.09.2022 - V3.4.0 - Colormode für Screensaver + AutoColor WeatherForecast
              - 16.09.2022 - v3.4.0.1 Visualisierung der Relay Zustände (MRIcons) im Screensaver + Bugfix Screensaver MRIcon2
              - 17.09.2022 - v3.4.0.2 Bugfix for screensaver icons with scaled colors
              - 17.09.2022 - v3.4.0.3 Bugfix bNext / bPrev by joBr99
              - 18.09.2022 - v3.4.0.4 Add On/Off Colors in config.mrIcon1ScreensaverEntity and config.mrIcon2ScreensaverEntity
              - 19.09.2022 - v3.4.0.5 Add Mode to cardThermo (Alias Thermostat)
              - 03.10.2022 - v3.4.0.6 Add 5 Entities in US Panel Version to cardEntities
              - 03.10.2022 - v3.4.0.6 Fix screenSaverDoubleClick
              - 03.10.2022 - v3.4.0.6 Add cardPower (experimental)
              - 05.10.2022 - v3.4.0.6 Add sueezeboxrpc to cardMedia
              - 07.10.2022 - v3.4.0.6 Time-configurable change for screensaver icons
              - 07.10.2022 - v3.5.0   Upgrade TFT 43
              - 07.10.2022 - v3.5.0   Add Backgroundcolor to Pages
              - 08.10.2022 - v3.5.0   Add Tilt-Slider and TILT_Fucntions (Open/Stop/Close) to Blinds/Cover/Shutter popUp
              - 12.10.2022 - v3.5.0   Add PageNavigation via Datapoint
              - 25.10.2022 - v3.5.0   Add New Parameters to popUpNotify / Layout 2
              - 26.10.2022 - v3.5.0.1 Fix Thermostat for tado Support (by Sternmiere)
              - 27.10.2022 - v3.5.0.1 Add VirtualDevice Gate
              - 27.10.2022 - v3.5.0.2 Applied Boy Scout Rule (Fixed some typos, changed var to let, fixed min/max colorTemp Bug)
              - 30.10.2022 - v3.5.0.3 Fixed Media Play/Pause icon for alexa (and others) devices
              - 31.10.2022 - v3.5.0.4 Reengineering Media Subscriptions
              - 02.11.2022 - v3.5.0.5 Page navigation continues with page 0 from the last page
              - 04.11.2022 - v3.5.0.5 Create Auto-Alias for Service Pages
              - 07.11.2022 - v3.5.0.5 Create Auto-Alias for Alexa2, Spotify-Premium, Sonos
              - 08.11.2022 - v3.5.0.5 Create Auto-Alias for Wheather-Forcast (Screensaver Big-Icon)
              - 07.10.2022 - v3.6.0   Upgrade TFT 45
              - 09.11.2022 - v3.6.0   Add new Alias-DeviceTyp cie (control colors with XY)
              - 16.11.2022 - v3.6.0   Control Relay 1 + 2 via Datapoints
              - 17.11.2022 - v3.6.0   Add Datapoint to Control Screensaver-Dimmode
              - 17.11.2022 - v3.6.0   Change to Page after bExit 
              - 18.11.2022 - v3.6.0   Add cardChart by fumanchi (only on DEV)
              - 24.11.2022 - v3.6.0   Add Background Color Switch via DP
              - 26.11.2022 - v3.6.0   Add cardMedia Colors
              - 26.11.2022 - v3.6.0   Add cardThermostat Popup 
              - 28.11.2022 - v3.6.0.1 Bugfix in bExit
              - 29.11.2022 - v3.6.0.2 Update Berry Version 6
              - 30.11.2022 - v3.6.0.3 Bugfix string/number compare current BerryDriver (DP as string)
              - 05.12.2022 - v3.6.0.4 Add bHome to Navigation
              - 05.12.2022 - v3.6.0.4 Add changeable Center-Icon in cardPower with Color and Value
              - 08.12.2022 - v3.6.0.4 Bugfix - Use MRIcons in Screensaver with null
              - 11.12.2022 - v3.6.0.4 Add new DP to show active page
              - 13.12.2022 - v3.6.0.4 Add Sensor-Values to cardGrid
              - 13.12.2022 - v3.6.0.4 Hotfix - Update screensaver temperature without weather forecast
              Implemented in 3.6.1 DEV
              - XX.12.2022 - v3.6.1   Add cardChart on PROD (implemented but working with v3.6.1 --> next TFT)
              - XX.12.2022 - v3.6.1   Add Shuffle to Media Player
              - XX.12.2022 - v3.6.1   Remove Speakerlist and Add 5 GridCard PageItems
              - XX.12.2022 - v3.6.1   Add In_Sel PopUp
              Todo's for 3.6.1
              - XX.12.2022 - v3.6.1 Add Fan
      *****************************************************************************************************************
      * Falls Aliase durch das Skript erstellt werden sollen, muss in der JavaScript Instanz "setObect" gesetzt sein! *
      *****************************************************************************************************************
      Wenn Rule definiert, dann können die Hardware-Tasten ebenfalls für Seitensteuerung (dann nicht mehr als Relais) genutzt werden
      Tasmota Konsole:
          Rule2 on Button1#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button1"} endon on Button2#state do Publish %topic%/%prefix%/RESULT {"CustomRecv":"event,button2"} endon
          Rule2 1 (Rule aktivieren)
          Rule2 0 (Rule deaktivieren)
      Mögliche Seiten-Ansichten:
          screensaver Page    - wird nach definiertem Zeitraum (config) mit Dimm-Modus aktiv (Uhrzeit, Datum, Aktuelle Temperatur mit Symbol)
                                (die 4 kleineren Icons können als Wetter-Vorschau + 4Tage (Symbol + Höchsttemperatur) oder zur Anzeige definierter Infos konfiguriert werden)
          cardEntities Page   - 4 vertikale angeordnete Steuerelemente - auch als Subpage
          cardGrid Page       - 6 horizontal angeordnete Steuerelemente in 2 Reihen a 3 Steuerelemente - auch als Subpage
          cardThermo Page     - Thermostat mit Solltemperatur, Isttemperatur, Mode - Weitere Eigenschaften können im Alias definiert werden
          cardMedia Page      - Mediaplayer - Ausnahme: Alias sollte mit Alias-Manager automatisch über Alexa-Verzeichnis Player angelegt werden
          cardAlarm Page      - Alarmseite mit Zustand und Tastenfeld
          cardPower Page      - Energiefluss
      Popup-Pages:
          popupLight Page     - in Abhängigkeit zum gewählten Alias werden "Helligkeit", "Farbtemperatur" und "Farbauswahl" bereitgestellt
          popupShutter Page   - die Shutter-Position (Rollo, Jalousie, Markise, Leinwand, etc.) kann über einen Slider verändert werden.
          popupNotify Page    - Info - Seite mit Headline Text und Buttons - Intern für manuelle Updates / Extern zur Befüllung von Datenpunkten unter 0_userdata
          screensaver Notify  - Über zwei externe Datenpunkte in 0_userdata können "Headline" und "Text" an den Screensaver zur Info gesendet werden
      Mögliche Aliase: (Vorzugsweise mit ioBroker-Adapter "Geräte verwalten" konfigurieren, da SET, GET, ACTUAL, etc. verwendet werden)
          Info                - Werte aus Datenpunkt
          Schieberegler       - Slider numerische Werte (SET/ACTUAL)
          Lautstärke          - Volume (SET/ACTUAL) und MUTE
          Lautstärke-Gruppe   - analog Lautstärke
          Licht               - An/Aus (Schalter)
          Steckdose           - An/Aus (Schalter)
          Dimmer              - An/Aus, Brightness
          Farbtemperatur      - An/Aus, Farbtemperatur und Brightness
          HUE-Licht           - Zum Schalten von Color-Leuchtmitteln über HUE-Wert, Brightness, Farbtemperatur, An/Aus (HUE kann auch fehlen)
          RGB-Licht           - RGB-Leuchtmitteln/Stripes welche Rot/Grün/ und Blau separat benötigen (Tasmota, WifiLight, etc.) + Brightness, Farbtemperatur
          RGB-Licht-einzeln   - RGB-Leuchtmitteln/Stripes welche HEX-Farbwerte benötigen (Tasmota, WifiLight, etc.) + Brightness, Farbtemperatur
          Jalousien           - Up, Stop, Down, Position
          Fenster             - Sensor open
          Tür                 - Sensor open
          Verschluss          - Türschloss SET/ACTUAL/OPEN
          Taste               - Für Szenen oder Radiosender, etc. --> Nur Funktionsaufruf - Kein Taster wie MonoButton - True/False
          Tastensensor        - analog Taste
          Thermostat          - Aktuelle Raumtemperatur, Setpoint, etc.
          Klimaanlage         - Buttons zur Steuerung der Klimaanlage im unteren Bereich
          Temperatur          - Anzeige von Temperatur - Datenpunkten, analog Info
          Feuchtigkeit        - Anzeige von Humidity - Datenpunkten, analog Info
          Medien              - Steuerung von Alexa - Über Alias-Manager im Verzeichnis Player automatisch anlegen (Geräte-Manager funktioniert nicht)
          Wettervorhersage    - Aktuelle Außen-Temperatur (Temp) und aktuelles AccuWeather-Icon (Icon) für Screensaver
      Interne Sonoff-Sensoren (über Tasmota):
          ESP-Temperatur      - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden --> SetOption146 1
          Temperatur          - Raumtemperatur - wird in 0_userdata.0. abgelegt, kann als Alias importiert werden
                                (!!! Achtung: der interne Sonoff-Sensor liefert keine exakten Daten, da das NSPanel-Board und der ESP selbst Hitze produzieren !!!
                                ggf. Offset einplanen oder besser einen externen Sensor über Zigbee etc. verwenden)
          Timestamp           - wird in 0_userdata.0. Zeitpunkt der letzten Sensorübertragung
      Tasmota-Status0 - (zyklische Ausführung)
          liefert relevanten Tasmota-Informationen und kann bei Bedarf in "function get_tasmota_status0()" erweitert werden. Daten werden in 0_userdata.0. abgelegt
      Erforderliche Adapter:
          AccuWeather:        - Bei Nutzung der Wetterfunktionen (und zur Icon-Konvertierung) im Screensaver
          Alexa2:             - Bei Nutzung der dynamischen SpeakerList in der cardMedia
          Geräte verwalten    - Für Erstellung der Aliase
          Alias-Manager       - !!! ausschließlich für MEDIA-Alias
          MQTT-Adapter        - Für Kommunikation zwischen Skript und Tasmota
          JavaScript-Adapter
      Upgrades in Konsole:
          Tasmota BerryDriver     : Backlog UpdateDriverVersion https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
          TFT EU STABLE Version   : FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.6.0.tft
      ---------------------------------------------------------------------------------------
      */
      let Icons = new IconsSelector();
      let timeoutSlider: any;
      let manually_Update = false;
      const autoCreateAlias = true;  //Für diese Option muss der Haken in setObjects in deiner javascript.X. Instanz gesetzt sein.  
      
      const NSPanel_Path = '0_userdata.0.NSPanel.1.';
      const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; //Neuer Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
      
      let AliasPath: string = 'alias.0.' + NSPanel_Path.substring(13, NSPanel_Path.length);
      const Debug = false;
      
      // Variablen zur Steuerung der Wettericons auf dem Screensaver (Steuerung in 0_userdata.0.XPANELX.ScreensaverInfo)
      // Wenn weatherForecastTimer auf true, dann Wechsel zwischen Datenpunkten und Wettervorhersage (30 Sekunden nach Minute (Zeit))
      // Wenn weatherForecastTimer auf false, dann Möglichkeit über weatherForecast, ob Datenpunkte oder Wettervorhersage (true = WeatherForecast/false = Datenpunkte)
      let weatherForecast: boolean; // Änderung zum Video --> Einstellung siehe Wiki
      
      const HMIOff:           RGB = { red:  68, green: 115, blue: 158 };     // Blau-Off - Original Entity Off
      const HMIOn:            RGB = { red:   3, green: 169, blue: 244 };     // Blau-On
      const HMIDark:          RGB = { red:  29, green:  29, blue:  29 };     // Original Background Color
      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 DarkBlue:         RGB = { red:   0, green:   0, blue: 136 };
      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 };
      
      //Dynamische Indikatoren
      const colorScale0:      RGB = { red:   99, green: 190, blue: 123 };
      const colorScale1:      RGB = { red:  129, green: 199, blue: 126 };
      const colorScale2:      RGB = { red:  161, green: 208, blue: 127 };
      const colorScale3:      RGB = { red:  129, green: 217, blue: 126 };
      const colorScale4:      RGB = { red:  222, green: 226, blue: 131 };
      const colorScale5:      RGB = { red:  254, green: 235, blue: 132 };
      const colorScale6:      RGB = { red:  255, green: 210, blue: 129 };
      const colorScale7:      RGB = { red:  251, green: 185, blue: 124 };
      const colorScale8:      RGB = { red:  251, green: 158, blue: 117 };
      const colorScale9:      RGB = { red:  248, green: 131, blue: 111 };
      const colorScale10:     RGB = { red:  248, green: 105, blue: 107 };
      
      //Screensaver Default Theme Colors
      const scbackground:     RGB = { red:   0, green:    0, blue:   0};
      const scbackgroundInd1: RGB = { red: 255, green:   0,  blue:   0};
      const scbackgroundInd2: RGB = { red: 121, green: 222,  blue: 121};
      const scbackgroundInd3: RGB = { red: 255, green: 255,  blue:   0};
      const sctime:           RGB = { red: 255, green:  255, blue: 255};
      const sctimeAMPM:       RGB = { red: 255, green:  255, blue: 255};
      const scdate:           RGB = { red: 255, green:  255, blue: 255};
      const sctMainIcon:      RGB = { red: 255, green:  255, blue: 255};
      const sctMainText:      RGB = { red: 255, green:  255, blue: 255};
      const sctForecast1:     RGB = { red: 255, green:  255, blue: 255};
      const sctForecast2:     RGB = { red: 255, green:  255, blue: 255};
      const sctForecast3:     RGB = { red: 255, green:  255, blue: 255};
      const sctForecast4:     RGB = { red: 255, green:  255, blue: 255};
      const sctF1Icon:        RGB = { red: 255, green:  235, blue: 156};
      const sctF2Icon:        RGB = { red: 255, green:  235, blue: 156};
      const sctF3Icon:        RGB = { red: 255, green:  235, blue: 156};
      const sctF4Icon:        RGB = { red: 255, green:  235, blue: 156};
      const sctForecast1Val:  RGB = { red: 255, green:  255, blue: 255};
      const sctForecast2Val:  RGB = { red: 255, green:  255, blue: 255};
      const sctForecast3Val:  RGB = { red: 255, green:  255, blue: 255};
      const sctForecast4Val:  RGB = { red: 255, green:  255, blue: 255};
      const scbar:            RGB = { red: 255, green:  255, blue: 255};
      const sctMainIconAlt:   RGB = { red: 255, green:  255, blue: 255};
      const sctMainTextAlt:   RGB = { red: 255, green:  255, blue: 255};
      const sctTimeAdd:       RGB = { red: 255, green:  255, blue: 255};
      
      //Auto-Weather-Colors
      const swClearNight:     RGB = { red: 150, green: 150, blue: 100};
      const swCloudy:         RGB = { red:  75, green:  75, blue:  75};
      const swExceptional:    RGB = { red: 255, green:  50, blue:  50};
      const swFog:            RGB = { red: 150, green: 150, blue: 150};
      const swHail:           RGB = { red: 200, green: 200, blue: 200};
      const swLightning:      RGB = { red: 200, green: 200, blue:  0};
      const swLightningRainy: RGB = { red: 200, green: 200, blue: 150};
      const swPartlycloudy:   RGB = { red: 150, green: 150, blue: 150};
      const swPouring:        RGB = { red:  50, green:  50, blue: 255};
      const swRainy:          RGB = { red: 100, green: 100, blue: 255};
      const swSnowy:          RGB = { red: 150, green: 150, blue: 150};
      const swSnowyRainy:     RGB = { red: 150, green: 150, blue: 255};
      const swSunny:          RGB = { red: 255, green: 255, blue:   0};
      const swWindy:          RGB = { red: 150, green: 150, blue: 150};
      
      let vwIconColor = [];
      
      
      //-- Anfang der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ----------------
      
      let Seite1_Broker: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Meine 1 Seite",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "Schlafzimmer Lampe", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "RGB-Licht", minValueBrightness: 0, maxValueBrightness: 100, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "HUE-Licht-CT", minValueBrightness: 0, maxValueBrightness: 70, minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel1.SZLampe", name: "HUE-Licht-Color", minValueColorTemp: 500, maxValueColorTemp: 6500, interpolateColor: true}
          ]
      };
      
      let SensorGrid: PageGrid =
      {
          "type": "cardGrid",
          "heading": "Sensor Werte",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.TestTemperatur", name: "Außentemp. °C", offColor: MSRed, onColor: MSGreen, useValue: true },
              <PageItem>{ id: "alias.0.NSPanel_1.TestFeuchtigkeit", name: "Luftfeuchte %", offColor: MSYellow, onColor: MSYellow , useValue: true },
              <PageItem>{ id: "alias.0.NSPanel_1.Taupunkt", name: "Taupunkt °C", offColor: MSRed, onColor: MSGreen, useValue: true },
              <PageItem>{ id: "alias.0.NSPanel_1.UV_Index", name: "UV Index", offColor: White , onColor: White, useValue: true },
              <PageItem>{ id: "alias.0.NSPanel_1.Windstaerke", name: "Windstärke bft", offColor: White , onColor: White, useValue: true },
              <PageItem>{ id: "alias.0.NSPanel_1.Luftdruck", name: "Luftdruck hPa", offColor: White , onColor: White, useValue: true }
          ]
      };
      
      //Only DEV --> Test
      let ChartDemo: PageChart =
      {
          "type": "cardChart",
          "heading": "Charts Demo",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ 
                      id: 'alias.0.NSPanel_1.cardChart', 
                      yAxis: 'Gas [kWh]', 
                      yAxisTicks: [2,4,6,8,10,12,14], 
                      onColor: Yellow
                   }]
      };
      
      let CardPowerExample: PagePower =
      {
          "type": "cardPower",
          "heading": "cardPower Emulator",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: 'alias.0.NSPanel_1.Power.PowerCard' },
          ]
      };
      
      let Test_Licht2: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Color Aliase 2",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              //Beispiel für RGB Light mit neuem PageItem-Parameter colormode: "xy" alternativ colormode: "rgb" oder weglassen
              //Steuert im z.B. DeConz Adapter unter Lampen die Farben per CIE (XY)
              <PageItem>{ id: "alias.0.NSPanel_2.WZ_E14_Fenster_rechts", name: "Fensterbank rechts", minValueBrightness: 0, maxValueBrightness: 100, minValueColorTemp: 500, maxValueColorTemp: 150, interpolateColor: true, colormode: "xy"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestFarbtemperatur", name: "Farbtemperatur", interpolateColor: true},
          ]
      };
      
      let 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, 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 }
          ]
      };
      
      let Buero_Seite_1: PageEntities =
      {
          "type": "cardEntities",
          "heading": "Büro",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: "alias.0.NSPanel_1.Schreibtischlampe", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Deckenbeleuchtung", interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Testlampe2", name: "Filamentlampe", minValueBrightness: 0, maxValueBrightness: 70, interpolateColor: true},
              <PageItem>{ id: "alias.0.NSPanel_1.Luftreiniger", icon: "power", icon2: "power",offColor: MSRed, onColor: MSGreen}
          ]
      };
      
      let 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", icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
              <PageItem>{ id: "alias.0.NSPanel_1.TestDoorlock", offColor: MSRed, onColor: MSGreen, name: "Türschloss"},
          ]
      };
      //<PageItem>{ id: "alias.0.NS-Panel.Buero.Rollade", icon: "blinds-horizontal", offColor: White, onColor: Yellow, name: "Büro", secondRow: "Hier Text für 2. Zeile"},
      let 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},
              <PageItem>{ id: "alias.0.NSPanel_1.TestVentil1", icon: "valve-open", icon2: "valve-closed",offColor: MSRed, onColor: MSGreen, name: "Test-Ventil 1"},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.NDR2", icon: 'alarm-light', name: "Alert mit Zielseite", offColor: MSGreen, onColor: MSRed, targetPage: 'Abfall', buttonText: 'Popup'},
          ]
      };
      
      let 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
              let Abfall: PageEntities =
              {
                  "type": "cardEntities",
                  "heading": "Abfallkalender",
                  "useColor": true,
                  "subPage": true,
                  "parent": Subpages_1,
                  "items": [
                      <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                      <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                      <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                      <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                  ]
              };
      
              //Subpage 2 von Subpages_1
              let WLAN: PageQR = 
              {
                  "type": "cardQR",
                  "heading": "Gäste WLAN",
                  "useColor": true,
                  "subPage": true,
                  "parent": Subpages_1,
                  "items": [<PageItem>{ id: "alias.0.NSPanel_1.Guest_Wifi", hidePassword: true }]
              };
      
      let 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", secondRow: "auch Text"},
              <PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "play", onColor: White, name: "TuneIn"}
          ]
      };
      
      let Radiosender: PageGrid =
      {
          "type": "cardGrid",
          "heading": "Büro 2",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel_1.Radio.Bob", icon: "radio", name: "Radio BOB", onColor: colorRadio}]
      };
      
      // NEW: Neue Definition von Medien-Aliasen
      // adapterPlayerInstance = alexa2.0. or spotify-premium.0. or sonos.0. or chromecast.0.
      // MEDIA ALIASE können auch per JS-Script erstellt werden https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen#medien---cardmedia
      let Alexa: PageMedia = 
      {
          'type': 'cardMedia',
          'heading': 'Alexa',
          'useColor': true,
          'subPage': false,
          'parent': undefined,
          'items': [<PageItem>{   
                      id: AliasPath + 'Media.PlayerAlexa', 
                      adapterPlayerInstance: 'alexa2.0.',
                      mediaDevice: 'G0XXXXXXXXXXXXXX', 
                      speakerList: ['Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                      autoCreateALias : true
                   }]
      };
      
      let Sonos: PageMedia = 
      {
          'type': 'cardMedia',
          'heading': 'Sonos',
          'useColor': true,
          'subPage': false,
          'parent': undefined,
          'items': [<PageItem>{   
                      id: AliasPath + 'Media.PlayerSonos', 
                      adapterPlayerInstance: "sonos.0.",
                      mediaDevice: "192_168_1_212",
                      speakerList: ['Terrasse'],
                      autoCreateALias : true
                   }]
      };
      
      let SpotifyPremium: PageMedia = 
      {
          "type": "cardMedia",
          "heading": "Spotify-Premium",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ 
                      id: AliasPath + 'Media.PlayerSpotifyPremium', 
                      adapterPlayerInstance: "spotify-premium.0.",
                      speakerList: ['LENOVO-W11-01','Terrasse','Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                      colorMediaIcon: colorSpotify,
                      colorMediaArtist: Yellow,
                      colorMediaTitle: Yellow,
                      autoCreateALias : true
                   }] 
      };
      
      let SqueezeboxRPC: PageMedia = 
      {
          "type": "cardMedia",
          "heading": "SqueezeboxRPC",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ 
                      id: "alias.0.Media.LMS.SqueezePlay", 
                      adapterPlayerInstance: "squeezeboxrpc.0.Players.SqueezePlay.",
                      speakerList: ['SqueezePlay']
                   }] 
      };
      
      let WZ_Heizung: PageThermo = 
      {
          "type": "cardThermo",
          "heading": "WZ Thermostat",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.NSPanel1.HeizungWZ", minValue: 50, maxValue: 300 }]
      };
      
      let Buero_Klimaanlage: PageThermo = 
      {
          "type": "cardThermo",
          "heading": "Test Klimaanlage",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{   
                      id: "alias.0.NSPanel_1.TestKlimaanlage", 
                      minValue: 50, 
                      maxValue: 250,
                      popupThermoMode1: ['Auto','0','1','2','3'],
                      popupThermoMode2: ['Auto','0','1','2','3','4','5'],
                      popupThermoMode3: ['Auto','Manual','Boost',],
                      popUpThermoName: ["Schwenk-Modus", 'Speed', 'Temperatur'],
                      icon: 'fan',
                      setThermoAlias: ['MODE1','MODE2','MODE3'],
                      //setThermoDestTemp2: 'ACTUAL2'
                   }]
      };
      
      let Buero_Alarm: PageAlarm = 
      {
          "type": "cardAlarm",
          "heading": "Alarm",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [<PageItem>{ id: "alias.0.Alarm" }]
      };
      
      let 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}
          ]
      };
      
      let 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'}
          ]
      };
      
      //-- ENDE der Beispiele für Seitengestaltung -- Selbstdefinierte Aliase erforderlich ------------------
      
      
      /********************************************************************************************************** */
      //Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)
      /********************************************************************************************************** */
      
      let Service: PageEntities =
      {
          "type": "cardEntities",
          "heading": "NSPanel Service",
          "useColor": true,
          "subPage": false,
          "parent": undefined, 
          "items": [
              <PageItem>{ id: AliasPath + '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_Info", icon: "update", onColor: White, name: "Firmware Infos"},
              <PageItem>{ navigate: true, id: "NSPanel_Einstellungen", icon: "wrench-outline", onColor: White, name: "Screensaver"}
          ]
      };
      
              //Subpage 1 von Subpages_2
              let NSPanel_Infos: PageEntities =
              {
                  "type": "cardEntities",
                  "heading": "NSPanel Infos",
                  "useColor": true,
                  "subPage": true,
                  "parent": Service,
                  "items": [
                      <PageItem>{ id: AliasPath + 'Tasmota.Hardware', name: 'Hardware', icon: 'memory', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Sensor.ESP32.Temperature', name: "ESP Temperatur", icon: "thermometer", unit: "°C", offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Tasmota.Uptime', name: "Uptime", icon: "timeline-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Tasmota.Wifi.RSSI', name: "Wifi-Signal", icon: "signal-distance-variant", unit: "dBm", offColor: MSYellow, onColor: MSYellow, useColor: true}
                  ]
              };
      
              //Subpage 2 von Subpages_2
              let NSPanel_Einstellungen: PageEntities =
              {
                  'type': 'cardEntities',
                  'heading': 'Screensaver',
                  'useColor': true,
                  'subPage': true,
                  'parent': Service,
                  'items': [
                      <PageItem>{ id: AliasPath + 'Dimmode.brightnessDay', name: 'Brightness Tag', icon: 'brightness-5', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                      <PageItem>{ id: AliasPath + 'Dimmode.brightnessNight', name: 'Brightness Nacht', icon: 'brightness-4', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                      <PageItem>{ id: AliasPath + 'Dimmode.hourDay', name: 'Stunde Tag', icon: 'sun-clock', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                      <PageItem>{ id: AliasPath + 'Dimmode.hourNight', name: 'Stunde Nacht', icon: 'sun-clock-outline', offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                  ]
              };
      
              //Subpage 3 von Subpages_2
              let NSPanel_Firmware_Info: PageEntities =
              {
                  'type': 'cardEntities',
                  'heading': 'Firmware-Updates',
                  'useColor': true,
                  'subPage': true,
                  'parent': Service,
                  'items': [
                      <PageItem>{ id: AliasPath + 'Tasmota.Version', name: 'Tasmota Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Display.TFTVersion', name: 'TFT-Firmware', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Display.BerryDriver', name: 'Berry-Treiber', offColor: MSYellow, onColor: MSYellow, useColor: true},
                      <PageItem>{ id: AliasPath + 'Display.Model', name: 'NSPanel Version', offColor: MSYellow, onColor: MSYellow, useColor: true}
                  ]
              };
      
      export const config: Config = {
          panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // anpassen
          panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // anpassen
          firstScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Hourly.h0.PrecipitationProbability', ScreensaverEntityIcon: 'weather-pouring', ScreensaverEntityText: 'Regen', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} },
          secondScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', ScreensaverEntityIcon: 'weather-windy', ScreensaverEntityText: "Wind", ScreensaverEntityUnitText: 'km/h', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 120} },
          thirdScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.UVIndex', ScreensaverEntityIcon: 'solar-power', ScreensaverEntityText: 'UV', ScreensaverEntityUnitText: '', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} },
          fourthScreensaverEntity: { ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity', ScreensaverEntityIcon: 'water-percent', ScreensaverEntityText: 'Luft', ScreensaverEntityUnitText: '%', ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} },
          alternativeScreensaverLayout: false,
          autoWeatherColorScreensaverLayout: true,
          mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', ScreensaverEntityIcon: 'light-switch', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff  },
          mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', ScreensaverEntityIcon: 'lightbulb', ScreensaverEntityOnColor: On, ScreensaverEntityOffColor: HMIOff  },
          timeoutScreensaver: 10,
          dimmode: 20,
          active: 100, //Standard-Brightness TFT
          screenSaverDoubleClick: true,
          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.Ullendorf',    // Dieser Alias muss erstellt werden, damit die 4 kleineren Icons (Wetter oder DP) angezeigt werden können
          defaultOffColor: Off,
          defaultOnColor: On,
          defaultColor: Off,
          defaultBackgroundColor: Black,    //New Parameter
          temperatureUnit: '°C',
          pages: [
                  Seite1_Broker,        //Beispiel-Seite
                  Buero_Seite_1,      //Beispiel-Seite
                  SensorGrid,         //Beispiel-Seite
                  //CardPowerExample,   //Beispiel-Seite
                  //SqueezeboxRPC,      //Beispiel-Seite
                  //Sonos,              //Beispiel-Seite
                  //SpotifyPremium,     //Beispiel-Seite
                  //Alexa,              //Beispiel-Seite
                  Buero_Seite_2,      //Beispiel-Seite
                  //Buero_Klimaanlage,  //Beispiel-Seite 
                  Button_1,           //Beispiel-Seite
                  Test_Licht2,        //Beispiel-Seite
                  Test_Funktionen,    //Beispiel-Seite    
                  Fenster_1,          //Beispiel-Seite
                  Subpages_1,         //Beispiel-Seite
                  WZ_Heizung,    //Beispiel-Seite
                  Buero_Alarm,        //Beispiel-Seite
      
                  Service             //Auto-Alias Service Page
          ],
          subPages: [
                      Abfall,                     //Beispiel-Unterseite
                      WLAN,                       //Beispiel-Unterseite
                      
                      NSPanel_Infos,              //Auto-Alias Service Page
                      NSPanel_Einstellungen,      //Auto-Alias Service Page
                      NSPanel_Firmware_Info       //Auto-Alias Service Page
          ],
          button1Page: button1Page,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
          button2Page: button2Page    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
      };
      
      // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
      
      
      Armilar 1 Reply Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @coto last edited by Armilar

        @coto

        Eine weitere Frage, die Subpages von ServicePage "NSPanel Service" sind bei mir leer. Muss da auch was Manuel angelegt werden?
        "Service Pages mit Auto-Alias (Nachfolgende Seiten werden mit Alias automatisch angelegt)"

        Versuche nur nebenher nachzuvollziehen, warum die nicht angezeigt werden. Die Antwort hierzu ist: Nein muss nichts manuell angelegt werden.

        Aber das ein Alias automatisch und vollständig erzeugt werden kann, dazu benötigt das Script die Einstellung setObjects als Berechtigung im JS-Adapter.

        Sollten die also immer noch nicht zu sehen sein. Dann bitte mal checken, ob für die Seiten Aliase angelegt wurden.

        z.B. ein alias.0.NSPanel.1.Sensor.ESP32.Temperature

        C 1 Reply Last reply Reply Quote 0
        • C
          coto @Armilar last edited by

          @armilar

          Danke für dein Hilfe.

          Die Datenpunkte sind alle erstellt, außer
          'Dimmode.brightnessDay'
          'Dimmode.brightnessNight'
          'Dimmode.hourDay'
          'Dimmode.hourNight'

          Die Einstellung setObjects hatte ich noch nicht gesetzt. Mit gesetzter Einstellung funktioniert es jetzt auch mit der Anzeige auf dem NSPanel.
          Die Screensaver SubPage funktionert allerdings nicht wegen der fehlenden Datenpunkte. Die werden wohl nicht automatisch angelegt. Hier sieht die Struktur auch anders aus.

          a8fb0c8d-082a-4634-a84a-feedf272b500-image.png

          72c15d9d-e6fd-42cf-8cc2-e567e01f099f-image.png

          T Armilar 2 Replies Last reply Reply Quote 0
          • T
            TT-Tom @coto last edited by TT-Tom

            @coto
            hast du das Script noch einmal neu gestartet? Eigentlich werden sie automatisch angelegt.

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

              @coto

              Sollte in etwa so aussehen
              8e92eed7-49b5-4674-8035-0ec3c9d8502a-image.png

              Falls nicht, dann den ganzen 0_userdata-Baum und Alias-Baum löschen und neu anlegen lassen.

              C T 2 Replies Last reply Reply Quote 0
              • C
                coto @Armilar last edited by

                @armilar

                Hab alles noch mal gelöscht und geht jetzt.

                Danke euch. Für heute reicht das dann erstmal 😊

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

                  @armilar
                  So krass wollte ich nicht gleich rangehen. 😊

                  Frage: wie kann man die Farbe von Icon wechseln bei diesem pageItem? Ich wollte als Übersicht das Icon Rot Weden lassen, wenn mein DP größer 1 ist.

                  <PageItem>{ navigate: true, id: 'Fenster', icon: 'window-closed-variant', onColor: MSGreen, offColor: MSRed, name: 'Fenster'}
                  
                  Armilar 1 Reply Last reply Reply Quote 0
                  • Armilar
                    Armilar Most Active Forum Testing @TT-Tom last edited by

                    @tt-tom

                    Da kenne ich nix 😊

                    Habe es nie ausprobiert, wüsste aber auch keinen Grund warum es nicht gehen sollte...

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

                      @armilar
                      die ID ist ja eine Subpage.

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

                        @tt-tom

                        Aber es ist doch immer noch ein pageItem. Das hat eigentlich mit der Seitenstruktur nichts zu tun.

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

                          @armilar
                          ja aber bei ID steht doch die Subpage drin und nicht der DP

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

                            @tt-tom

                            ich brauchte etwas länger... stimmt - wie soll der einen Wert bekommen?

                            Das wird wohl dann doch nicht gehen...

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

                              @armilar ich habe grade bei der Type Pageitem das gefunden

                              targetPage: (string | undefined)

                              wofür wird dies genutzt? eventuell kann man diesen ja für 'navigate:true' nutzen, dann bleibt ID für Datenpunkt.

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

                                @tt-tom

                                Wäre möglich. Keine Ahnung wo der herkommt. Wahrscheinlich noch aus einer früheren Navigation.

                                Naja war eigentlich auch nie gedacht, ein Navigations-Item einzufärben 😊

                                Hast du schon eine Idee? Sonst bastel mal ne Runde... Ich muss aktuell noch ans Christmas-Release... hoffe das schaffen wir noch...

                                T 2 Replies Last reply Reply Quote 0
                                • T
                                  TT-Tom @Armilar last edited by

                                  @armilar hat erstmal Zeit. Ich werde es morgen, ne übermorgen mal zusammenschreiben, wofür es genutzt werden kann und mir dann mal den Code ansehen. schönen Abend noch

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

                                    @tt-tom

                                    Super, dir auch

                                    1 Reply Last reply Reply Quote 0
                                    • I
                                      io_andre @joBr99 last edited by io_andre

                                      @jobr99 Hallo, ich verzweifel gerade ebenfalls schon mehrere Tage am Punkt "Waiting for content". Die Anleitung ist wirklich 1. Klasse, ich bekomme es aber einfach nicht hin.
                                      Eine Frage zum Grundverständnis. Wenn die richtige Tasmota Version läuft, das Display geflasht ist und der Berry-Treiber richtig installiert ist, dann müsste doch ohne MQTT Server auch schon durch Eingabe von „CustomSend time~12:00“ in der Tasmota Console die Anzeige auf die Uhrzeit wechseln? Habe ich das richtig verstenden? VG Andre

                                      GELÖST: Wenn die Verzweiflung am größten ist geht es auf einmal - Ich habe den Datenpunkt "CustomSend" noch einmal über den ioBroker Expertenmodus und nicht im MQTT-Explorer oder über die Tasmota Console angelegt. Optisch sieht das Ergebnis genau so aus, nur das es nun geht!

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

                                        @io_andre

                                        Schön das es funktioniert... Und weiterhin viel Spaß damit...

                                        Zu deiner Frage, die du wahrscheinlich schon beantwortet hast:

                                        Eine Frage zum Grundverständnis. Wenn die richtige Tasmota Version läuft, das Display geflasht ist und der Berry-Treiber richtig installiert ist, dann müsste doch ohne MQTT Server auch schon durch Eingabe von „CustomSend time~12:00“ in der Tasmota Console die Anzeige auf die Uhrzeit wechseln? Habe ich das richtig verstenden?

                                        Die MQTT-Kommunikation muss funktionieren, da "alle" Inhalte für das NSPanel vom ioBroker kommen. Sogar die Zeit und das Datum.

                                        Falls weitere Fragen aufkommen, zögere nicht sie hier zu stellen... 😊

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          tobiasp @Wuschl last edited by

                                          Grüßt euch,
                                          bei mir läuft alles soweit. Nur mit den Popups bin ich am Ende meines Lateins.
                                          Ich habe verstanden ich muss ein Script schreiben um es anzeigen lassen zu können. Richtig?
                                          Hat jemand ein Script für die Updaten ?
                                          Dankeschön für die Hilfe

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

                                            @tobiasp

                                            Ich gehe davon aus, dass du als popUp die Notifications meinst? Falls ja gibt es zwei davon...

                                            Sagen wir es mal so... Du muss kein Skript schreiben um es anzeigen lassen zu können, sondern alle Informationen die du gerne visualisieren möchtest, kommen sowieso aus Datenpunkten oder anderen externen Skripten.

                                            Fangen wir mal mit der ScreensaverNotify an. Das sind 2 Datenpunkte, die das TS-Script bereits angelegt hat und die als Schnittstelle dienen:

                                            • 0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading
                                            • 0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyText

                                            Gib mal etwas in diese Datenpunkte ein... Es sollte eine Nachricht im Screensaver erscheinen. Wenn du auf den Screensaver klickst, verschwindet die Nachricht.

                                            https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#3-info-screensaver-info-auf-request

                                            EDIT:
                                            Hier ist die andere beschrieben:
                                            https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#popupnotify---layout-2

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            629
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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