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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

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

      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

      @ilovegym

      Habe alle Flash's mit Tasmota 14.4.1 gemacht.

      Hast du es mal versucht mit:

      Feste (statische) IP des NSPanels merken

      Jetzt alles weitere in der Tasmota-Konsole ausführen:

      backlog savedata 1; ipaddress1 0.0.0.0; savedata 0; restart 1
      

      nach dem Neustart

      FlashNextion http://nspanel.de/nspanel-4.5.0.tft
      

      und dann, wenn durchgelaufen, wieder mit der gemerkten statischen IP einstellen

      ipaddress1 192.168.X.X

      Hi Armilar, ich hatte ebenfalls das Problem dass der Flash mit dieser Fehlermeldung stehengeblieben ist.

      BRY: Exception> 'type_error' - unsupported operand type(s) for <: 'nil' and 'int'
      

      Mit deinem Vorschlag die feste Ip mit dem Befehl temporär zu deaktivieren hat es ohne Problem funktioniert.
      Könntest du mir erklären warum der Flash mit einer fest zugewiesenen IP fehlschlägt?

      Vielen Dank vorab
      Foradh

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

        @foradh-0 sagte in SONOFF NSPanel mit Lovelace UI:

        Mit deinem Vorschlag die feste Ip mit dem Befehl temporär zu deaktivieren hat es ohne Problem funktioniert.
        Könntest du mir erklären warum der Flash mit einer fest zugewiesenen IP fehlschlägt?

        Nicht wirklich. Der Vorschlag stammt aus dem gesammelten Fundus ehemaliger Flash-Probleme und tritt nur sehr selten unter mir unbekannten Bedingungen auf... 😊

        Wenn es eine Lösung zu einem Tasmota-Problem gibt, nehmen wir lediglich die Themen im Bereich FAQ-Tasmota im Wiki auf und haben einen potenziellen Lösungsansatz.

        Bei mir ist das ebenfalls einmal vorgekommen und bei mir hat jedes Tasmota-Device eine statische IP. Ist allerdings schon sehr lange her. Ich konnte es auch nicht wieder reproduzieren.

        1 Reply Last reply Reply Quote 1
        • T
          ticaki Developer last edited by ticaki

          Hab ein Script geschrieben dass es für Leute mit Wetterstationen ermöglicht den Wind so anzuzeigen:
          Rechts das Icon:
          IMG_0769.jpeg

          Das Skript erzeugt einen Datenpunkt unter userdata, diesen und natürlich woher die Richtung kommt (0-360) muß eingestellt werden.

          Script (Typescript):

          // 0 for alignment to north, for relative alignment to the panel enter the deviation to north,
          const directionOfPanel = 0;
          
          // Arrow shape can be set here
          const arrowToUse = 'bold-outline'
          const createTheState = true;
          
          const cDataFrom = 'sainlogic.0.weather.current.winddir';
          const cDataTo = '0_userdata.0.NSPanel.1.usr.windrichtung_zu_icon';
          
          async function main() {
              if (createTheState) {
                  await extendObjectAsync(cDataTo, {
                      type: 'state',
                      common: {
                          type: 'string', 
                          role:'text', 
                          read: true, 
                          write: false, 
                          def: '',
                          name: `Nspanel icon for wind direction (N - ${directionOfPanel}°)`,
                      }
                  });
                  await sleep(10);
              }
              setDirection( {state:{val: getState(cDataFrom).val}});
              on(cDataFrom , setDirection);
          }
          
          function setDirection(obj) {
              let dir: number = (obj.state.val || 0)
              dir = (dir - directionOfPanel + 360) % 360
          
              let icon = 'arrow-'
              let icontop: 'bottom-' | 'top-' | 'down-' | 'up-' | '' = ''
              let iconleft: 'left-' | 'right-' | '' = ''
              if (dir > 292.5 || dir < 67.5) {
                  icontop = 'top-'
              }
              else if(dir < 247.5 && dir > 112.5) {
                  icontop = 'bottom-'
              }
              if (dir < 337.5 && dir > 212.5) {
                  iconleft = 'left-'
              }
              else if((dir < 157.5 && dir > 32.5)) {
                  iconleft = 'right-'
              }
              if (iconleft === '' && icontop) {
                  if (icontop === 'top-') {
                      icontop = 'up-';
                  } else {
                       icontop = 'down-';
                  }
          
              }
              icon += icontop + iconleft + arrowToUse
              
              setState(cDataTo, icon, true)
          }
          
          main();
          
          
          //bottomScreensaverEntity
                     {
                          ScreensaverEntity: 'sainlogic.0.weather.current.windgustspeed',
                          ScreensaverEntityFactor: 1,
                          ScreensaverEntityDecimalPlaces: 0,
                          ScreensaverEntityIconOn: '0_userdata.0.NSPanel.1.usr.windrichtung_zu_icon',
                          ScreensaverEntityIconOff: null,
                          ScreensaverEntityText: 'Wind',
                          ScreensaverEntityUnitText: 'km/h',
                          ScreensaverEntityIconColor: { val_min: 0, val_max: 150 },
                      },
          

          Und wer ne etwas aufgebohrte Temperaturanzeige will:

          //bottomScreensaverEntity
                      {
                          ScreensaverEntity: 'alias.0.zuhause.aussen.Außentemperatur_.ACTUAL',
                          ScreensaverEntityFactor: 1,
                          ScreensaverEntityDecimalPlaces: 1,
                          ScreensaverEntityIconOn: 'thermometer',
                          ScreensaverEntityIconOff: null,
                          ScreensaverEntityText: 'Außen',
                          ScreensaverEntityUnitText: '°C',
                          ScreensaverEntityIconColor: { val_min: -20, val_max: 40, val_best: 20 },
                          ScreensaverEntityIconSelect: [
                              {icon: 'sun-thermometer', value:40},
                              {icon: 'sun-thermometer-outline', value: 35},
                              {icon: 'thermometer-high', value: 30},
                              {icon: 'thermometer', value: 25},
                              {icon: 'thermometer-low', value: 15},
                              {icon: 'snowflake-alert', value: 1},
                              {icon: 'snowflake-thermometer', value: -2},
                              {icon: 'snowflake', value: -10},
                              ]
                      },
          
          1 Reply Last reply Reply Quote 4
          • C
            christian_ffm last edited by christian_ffm

            Hi,
            bei mir kompiliert das NSPanelTs.ts Script nicht, entsprechend wartet auch das Display auf Content. System ist up to date. Die Datei ist original, nur result und send datenpunkte sind in der config geändert. Kann mir jemand einen Hinweis geben, was bei mir fehlt? Danke euch im Vorraus!

            script.js.global.Sonoffpanel1: TypeScript compilation failed:async export function Init_momentjs() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function CheckConfigParameters() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitIoBrokerInfo() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function CheckDebugMode() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function CheckMQTTPorts() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_Release() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitConfigParameters() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_ScreensaverAdvanced() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_ActivePageData() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_Screensaver_Backckground_Color_Switch() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_bExit_Page_Change() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_Dimmode_Trigger() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitActiveBrightness() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitRebootPanel() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitUpdateDatapoints() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Init_Relays() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitAlternateMRIconsSize() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitDateformat() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function SubscribeMRIcons() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function CreateWeatherAlias() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitPageNavi() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitWeatherForecast() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitDimmode() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function Calc_Consumption(Brightness: number, Relays: number | undefined) { ^ERROR: 'export' modifier must precede 'async' modifier.async export function CountRelaysOn(Path: string): Promise<number> { ^ERROR: 'export' modifier must precede 'async' modifier.async export function DetermineDimBrightness(Path: string) { ^ERROR: 'export' modifier must precede 'async' modifier.async export function DetermineScreensaverDimmode(timeDimMode: NSPanel.DimMode): Promise<number> { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitMeanPowerConsumption() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function InitPopupNotify() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function get_locales() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function get_locales_servicemenu() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function check_updates() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function get_panel_update_data() { ^ERROR: 'export' modifier must precede 'async' modifier.async export function SendToPanel(val: NSPanel.Payload | NSPanel.Payload[]) { ^ERROR: 'export' modifier must precede 'async' modifier.async export function createAutoMediaAlias(id: string, mediaDevice: string, adapterPlayerInstance: NSPanel.adapterPlayerInstanceType) { ^ERROR: 'export' modifier must precede 'async' modifier.async export function createAutoAlarmAlias(id: string, nsPath: string) { ^ERROR: 'export' modifier must precede 'async' modifier.async export function createAutoUnlockAlias(id: string, dpPath: string) { ^ERROR: 'export' modifier must precede 'async' modifier.async export function createAutoQRAlias(id: string, dpPath: string) { ^ERROR: 'export' modifier must precede 'async' modifier.
            

            Screenshot 2025-02-01 020030.png

            T 1 Reply Last reply Reply Quote 0
            • T
              ticaki Developer @christian_ffm last edited by ticaki

              @christian_ffm

              Das Hauptscript darf NICHT in global sein 🙂 Iconselector mußt du in global haben, du hast jedoch das Hauptscript dort angelegt.

              C 1 Reply Last reply Reply Quote 2
              • C
                christian_ffm @ticaki last edited by

                @ticaki danke für die schnelle Antwort und Lösung! Läuft direkt. Danke dir!

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

                  Moin Gemeinde.

                  Nachdem ich mit tatkräftiger Unterstützung hier meine NSPanel zum laufen bekommen habe, danke noch mal dafür, tauchen nun neue Problemchen auf.
                  Ich wollte meine 2 Sonos Lautsprecher über die Media Card bedienen. Soweit läuft das auch sehr gut.
                  Nur kann ich leider nur einen Lautsprecher ansteuern. Auf der Auswahlseite tauchen beide auf, spielen tut nur der den ich unter medieDevice fest eingestellt habe.
                  Der Scriptteil:

                  };
                  let Sonos: PageType =
                  {
                      'type': 'cardMedia',
                      'heading': 'Sonos',
                      'items': [{   
                                  id: AliasPath + 'Media.PlayerSonos', 
                                  adapterPlayerInstance: 'sonos.0.',
                                  mediaDevice: '192_168_1_150',
                                  speakerList: ['Büro','Mobil'],
                                  playList: ['Freitag_Nachmittagsmix','BestOf01','MamaMia'],
                                  colorMediaIcon: colorSonos,
                                  colorMediaArtist: Yellow,
                                  colorMediaTitle: Yellow,
                                  alwaysOnDisplay: true,
                                  autoCreateALias: true
                               }]
                  };
                  

                  Ich habe mich mit den Eintragungen an den Text in der Anleitung gehalten:
                  "
                  Speaker Liste (Array speakerList)
                  Diese List sollte die Wiedergabegeräte des primären Sonos und ggfs. optionale Geräte aus dem Datenpunkt sonos.0.root.<DEVICE_IP>.members enthalten.
                  "
                  und die Eintragung aus diesem DP übernommen.
                  Aber wie gesagt, tauchen auch als Auswahl auf, kann sie aber nicht auswählen?!?!
                  Sehr seltsam...
                  Jemand ne Idee?

                  Dank euch

                  Mist der sollte doch an den Lovelace Haupt Fred. Kann mal ein Admin ihn hinten dran hängen?

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

                    @armilar

                    Nach dem Update vom TFT und dem Script fehlt nach dem Start die Beschriftung neben den Symbolen bzw. die Beschriftung ist sehr sehr blass.

                    Beispielseite:

                    Screenshot 2025-02-02 102134.jpg

                    Erst nach einem Neustart des Panels wird es wieder "richtig" angezeigt.

                    Screenshot 2025-02-02 102115.jpg

                    Ne Idee woran das liegen kann ?

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

                      @chris_71

                      Wenn du etwas mehr Input zur Seitenvariable und zum Alias liefern könntest, würde ich die Glaskugel wieder weglegen 😉

                      Oder hast du gar nichts verändert? Ist das ne EU oder ein US-L?

                      Passiert das auch mit andere cardEntities?

                      Würde mal vermuten, dass das ein US-L ist. Das interessante ist, dass es zu einer Verschiebung kommt. Der erste Screenshot sieht aus, als würde da eine EU-Version arbeiten und der zweite Screenshot sieht aus, als würden die Abstände auf der linken Seite wieder dir zusätzlichen 15px Versatz der US-L haben.

                      Falls US-L, dann mache bitte zuerst nochmal das:

                      FlashNextion http://nspanel.de/nspanel-us-l-v4.5.0.tft
                      

                      Und noch eine Frage 😊
                      Was steht in dem Datenpunkt: 0_userdata.0.NSPanel.X.NSPanel_Version wenn es verblasst und was steht im Datenpunkt, wenn es korrekt dargestellt wird?

                      EDIT:
                      War das ne einmalige Sache? Oder tritt das häufiger auf?

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

                        @armilar

                        Ich habe am Script nur den Bereich vom Service Menü ausgetauscht und halt ab hier keine Konfig mehr - der Rest ist so geblieben.
                        Die fehlende Beschriftung ist bei jedem cardEntities (auch beim Durchblättern der Seiten), sobald das Panel (EU Version) über Tasmota neu gestartet wird ist alles wieder i.O. auf allen Seiten.

                        Wenn ich aber das Script anhalte und neu starte taucht der Fehler wieder auf, nur ein Reset schafft dann hier wieder abhilfe.

                        Wenn es verblasst ist steht im Datenpunkt 0_userdata.0.NSPanel.X.NSPanel_Version "eu" auch nach dem Reset des Planels ändert es sich nicht.

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

                          @chris_71

                          Okay das ist interessant... Also ein EU-Panel... An der cardEntities hat es gar keine Änderungen gegeben.
                          Mach nochmal:

                          FlashNextion http://nspanel.de/nspanel-v4.5.0.tft
                          

                          Von welchem Seitentyp kommst du, wenn das passiert (Pfeilnavigation)? cardEntities, cardGrid, cardXXX?

                          Oder ist das die Seite, die zuerst aufgebaut wird?

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

                            @armilar

                            Hab schon alles probiert. Downgrade auf die Version davor und anschliessend wieder auf 4.5.0 geflashed - beim erneutem flashen fängt er bei 84% wieder an.

                            Hab mal das Script mit v4.4.0.11 wieder genommen - hier läuft es auch mit der neuen TFT Version. Also gehe ich mal davon aus das es am Script liegt.

                            EDIT:
                            Hab jetzt nur den Bereich ab
                            // _________________________________ DE: Ab hier keine Konfiguration mehr _____________________________________

                            getauscht und dann kommt auch der Fehler.

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

                              @chris_71

                              Kann ich nicht nachvollziehen. Bei mir läuft das DEV Skript v4.5.0.4

                              https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/DEV/NSPanelTs.ts zusammen mit der TFT54/v4.5.0

                              Kannst du das noch mal ausprobieren? Ich kann es nicht rekonstruieren...

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

                                @armilar

                                Gleichen Bereich ausgetauscht und selbes Ergebnis.

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

                                  @chris_71

                                  Gibt es Warnungen im Log?

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

                                    @armilar

                                    Nein, sieht alles gut aus.

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

                                      @chris_71

                                      Das Servicemenü ist auch falsch dargestellt? Besteht ja überwiegend aus cardEntities

                                      Falls es noch jemand mit diesem Phänomen gibt, bitte kurz melden.

                                      Wie bereits erwähnt, bei mir sieht alles völlig normal aus...

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

                                        @armilar

                                        Ja, auch das Service Menü hat den gleichen Fehler. Ein Neustart vom JS-Adapter hat leider auch nichts gebracht.

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

                                          @Chris_71

                                          hmm - okay

                                          Eventuell wissen @TT-Tom oder @ticaki woran es liegen könnte. Ich bin mit meinem Tipps am Ende... Kann es aktuell nicht rekonstruieren und ehrlich gesagt nicht verstehen, da alles bei mir perfekt läuft...

                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            ticaki Developer @Armilar last edited by

                                            @armilar
                                            Ich glaube da verschluckt sich der Tasmota an irgendwas. Vielleicht mal einen platt machen und ganz neu aufsetzen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            533
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4635075
                                            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