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.
    • T
      TT-Tom last edited by

      Neue Script Version
      v4.3.3.1

      Bildschirmfoto 2023-11-12 um 15.49.46.png

      diese behandelt den gemeldeten Fehler von @peer69 aus diesem Post

      Wie üblich recht es den unteren Teil des Script zu ersetzen ab hier

      // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
      

      oder wer sich auskennt ersetzt diese Function

      function HandleHardwareButton(method: string): void {
          try {
              let buttonConfig: ConfigButtonFunction = config[method];
              if(buttonConfig.mode === null) {
                  return;
              }
       
              switch(buttonConfig.mode) {
                  case 'page':
                      if (Debug) console.log('HandleHardwareButton -> Mode Page');
                      if (buttonConfig.page) {
                          if(method == 'button1') {
                              pageId = -1;
                          } else if (method == 'button2') {
                              pageId = -2;
                          }
                          GeneratePage(buttonConfig.page);
                          break;
                      }
                  case 'toggle':
                      if (Debug) console.log('HandleHardwareButton -> Mode Toggle');
                      if (buttonConfig.entity) {
                          let current = getState(buttonConfig.entity).val;
                          setState(buttonConfig.entity, !current);
                      }
                      screensaverEnabled = true;
                      break;
                  case 'set':
                      if (Debug) console.log('HandleHardwareButton -> Mode Set');
                      if (buttonConfig.entity) {
                          setState(buttonConfig.entity, buttonConfig.setValue);
                      }
                      screensaverEnabled = true;
                      break;
              }
          } catch (err) {
              console.warn('error at function HandleHardwareButton: ' + err.message);
          }
      }
      

      weiter Viel Spass mit dem Panel
      @Armilar und @tt-tom

      1 Reply Last reply Reply Quote 2
      • D
        docf last edited by

        @armilar

        Danke soweit alles Gerade ; )

        Das Einzige was noch nicht gelöst ist ist die Meldung mit dem nodeJs.
        Mittlerweile habe ich alles mögliche schon probiert. NodeJS komplett deinstalliert und auf 18.18.0 downgegradet.
        Host habe ich auch nur einen.
        Das Skript greift die Version ja mit system.host.*.nodeCurrent ab oder ?

        Leider bin ich kein Linux Spezialist und bin da auf eure Hilfe angewiesen. An was kann das noch liegen

        Gruss Franz

        Armilar Thomas Braun 2 Replies Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @docf last edited by

          @docf

          Ich habe nicht die leiseste Ahnung, warum dein ioBroker der Ansicht ist, dass da NodeJS 14 installiert ist. Evtl. hat @Thomas-Braun da einen Tipp…

          Ja wir greifen nur den Wert aus dem Datenpunkt ab…

          1 Reply Last reply Reply Quote 0
          • Thomas Braun
            Thomas Braun Most Active @docf last edited by

            @docf sagte in SONOFF NSPanel mit Lovelace UI:

            Das Einzige was noch nicht gelöst ist ist die Meldung mit dem nodeJs.

            Welche?

            iob nodejs-update
            

            meldet was genau? Aber auch gerne in einem separaten Thread.

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

              @tt-tom
              Vielen Dank, das Einstellen des Datumsformates funktioniert nun. Das Panel Dimmode bleibt weiter dunkel.

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

                @nk63 sagte in SONOFF NSPanel mit Lovelace UI:

                Das Panel Dimmode bleibt weiter dunkel.

                Was steht in den folgenden Datenpunkten?
                95916d34-56eb-45de-9964-4b54e2a8fe63-image.png
                und in:
                4cf8ba38-d667-4fc8-a80f-c1f7dbf5185c-image.png

                Außerdem wäre interessant, mal diese Datenpunkte unter alias.0 zu betrachten:
                c11dd6c4-3968-44b1-ba63-c9c1456da1d0-image.png

                N 1 Reply Last reply Reply Quote 0
                • D
                  docf @Thomas Braun last edited by

                  @thomas-braun

                  Danke mach ich unter Allgemein

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

                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                    535e7fc3-83fd-42d4-a90f-95485de25bb4-image.png

                    Wenn der Datenpunkt dann befüllt ist, der Alias über den Datenpunkt gelegt wurde, die Seitenvariable angelegt wurde und die cardPorwer (CardPowerExample in diesem Beispiel), in der Config unter pages aufgelistet ist, dann sollte auch im NSPanel eine powerCard erscheinen...

                    So weit so gut... Jetzt hat sie nur statische Werte. Das nächste Ziel ist es, mit einem Blockly oder JS-Script exakt so ein JSON mit deinen Sensor-Werten zu erstellen...

                    PS.: Als "Newbie" hast du dir auch gleich eine der schwersten Sachen herausgesucht... Die meisten fangen erst mal mit kleineren Pages an, um das Grundverständnis zu bekommen... Aber im ioBroker "neu" und gleich mit dem NSPanel-Projekt eine cardPower... Hut ab 😉

                    Bei Problemen weiterfragen 😊

                    So...ich hab nun das Beispiel komplett am laufen inkl. dem Javascript und alternativ dem Blockly... funktioniert soweit auch alles supi.... Bin nun am umarbeiten auf meine "realen" PV und Verbrauchswerte. Dabei ist mir aufgefallen das die Werte nicht sofort auf dem Display aktualisiert werden obwohl die DPTs und json die aktuellen Werte haben. Erst wenn das Display in den Screensaver wechselt und dann wieder aufgeweckt wird sind die Daten aktuell..... Wie kann ich erreichen das die Werte direkt auf dem Display aktualisiert werden?
                    Und wie bekomme ich im Screensaver die optisch nicht gerade tollen Glühbirnchen für die Relais in den oberen Ecken weg? Im Skript einfach aus kommentieren?

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

                      @armilar
                      In den Datenpunkten steht Folgendes, unter Screensaverinfo:
                      9bd7ceed-b0f8-4bda-8338-6742d0283e81-image.png

                      und unter den Einzeleinträgen:
                      6e109297-c7ae-45ed-8700-842327051487-image.png

                      Die gleichen Werte stehen auch unter den alias.0 Datenpunkten.
                      fa62b5fb-0377-4e44-aa8e-319a9b6110af-image.png

                      Im Protokoll steht beim Aufruf der Einstellungen des Dimmode:

                      javascript.0 2023-11-12 19:20:59.164	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Icon keine passende Rolle gefunden
                      javascript.0 2023-11-12 19:20:59.163	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Icon keine passende Rolle gefunden
                      javascript.0 2023-11-12 19:20:59.163	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Icon keine passende Rolle gefunden
                      javascript.0 2023-11-12 19:20:59.163	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Icon keine passende Rolle gefunden
                      javascript.0 2023-11-12 19:20:59.162	info	script.js.common.nspanel-1_4_3_2_1: GetNavigationString Übergabe pageId: 0
                      javascript.0 2023-11-12 19:20:59.161	info	script.js.common.nspanel-1_4_3_2_1: HandleButtonEvent übergebene Werte event - buttonPress2 - navigate.NSPanel_ScreensaverDimmode - button - undefined - PageId: 0
                      javascript.0 2023-11-12 19:20:57.862	info	script.js.common.nspanel-1_4_3_2_1: HandleMessage -> buttonPress2 event - buttonPress2 - navigate.NSPanel_Screensaver - button - undefined
                      javascript.0 2023-11-12 19:20:57.862	info	script.js.common.nspanel-1_4_3_2_1: function SendToPanel payload: entityUpd~Einstellungen~button~bUp~~65535~~~button~bHome~~65535~~~button~navigate.NSPanel_ScreensaverDimmode~勇~38060~Dimmode~PRESS~button~navigate.NSPanel_ScreensaverBrightness~~38060~Brightness~PRESS~button~navigate.NSPanel_ScreensaverLayout~~38060~Layout~PRESS~button~navigate.NSPanel_ScreensaverWeather~~38060~Wetter~PRESS~button~navigate.NSPanel_ScreensaverDateformat~~38060~Datumsformat~PRESS~button~navigate.NSPanel_ScreensaverIndicators~~38060~Indikatoren~PRESS
                      javascript.0 2023-11-12 19:20:57.861	info	script.js.common.nspanel-1_4_3_2_1: function SendToPanel payload: pageType~cardGrid
                      javascript.0 2023-11-12 19:20:57.861	info	script.js.common.nspanel-1_4_3_2_1: GeneratePageElements pageData entityUpd~Einstellungen~button~bUp~~65535~~~button~bHome~~65535~~~button~navigate.NSPanel_ScreensaverDimmode~勇~38060~Dimmode~PRESS~button~navigate.NSPanel_ScreensaverBrightness~~38060~Brightness~PRESS~button~navigate.NSPanel_ScreensaverLayout~~38060~Layout~PRESS~button~navigate.NSPanel_ScreensaverWeather~~38060~Wetter~PRESS~button~navigate.NSPanel_ScreensaverDateformat~~38060~Datumsformat~PRESS~button~navigate.NSPanel_ScreensaverIndicators~~38060~Indikatoren~PRESS
                      javascript.0 2023-11-12 19:20:57.861	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Standard ~button~navigate.NSPanel_ScreensaverIndicators~~38060~Indikatoren~PRESS
                      javascript.0 2023-11-12 19:20:57.861	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Standard ~button~navigate.NSPanel_ScreensaverDateformat~~38060~Datumsformat~PRESS
                      javascript.0 2023-11-12 19:20:57.860	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Standard ~button~navigate.NSPanel_ScreensaverWeather~~38060~Wetter~PRESS
                      javascript.0 2023-11-12 19:20:57.860	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Standard ~button~navigate.NSPanel_ScreensaverLayout~~38060~Layout~PRESS
                      javascript.0 2023-11-12 19:20:57.859	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Standard ~button~navigate.NSPanel_ScreensaverBrightness~~38060~Brightness~PRESS
                      javascript.0 2023-11-12 19:20:57.859	info	script.js.common.nspanel-1_4_3_2_1: CreateEntity Standard ~button~navigate.NSPanel_ScreensaverDimmode~勇~38060~Dimmode~PRESS
                      
                      Armilar 1 Reply Last reply Reply Quote 0
                      • Armilar
                        Armilar Most Active Forum Testing @Mucky 0 last edited by

                        @mucky-0

                        Okay sind zwei Fragen... ich unterteile mal

                        1. Die cardPower hat derzeit keine direkten Updates. Die Seite wird folglich jedes mal neu gerendert wenn sie aufgerufen wird. Wir könnten da mal eine Erweiterung einbauen, in dem wir den Seitenaufbau von den Updates trennen und von über einen zusätzlichen Trigger bei ActivePage = cardPower nur die Updates senden. Hoffe es wird flickerfrei...

                          Aber aktuell ist es nur so, das bei jedem Seitenaufbau neue Werte erscheinen. Wir sind auch nicht davon ausgegangen, dass das Panel als Fernseher genutzt wird... 😊

                          Falls gewünscht, bitte Issue in Github anlegen...

                        2. ScreensaverEntity auf 'null' setzen und das Lämpchen ist weg

                           mrIcon1ScreensaverEntity: 
                                { 
                                    ScreensaverEntity: null, 
                                    ScreensaverEntityIconOn: 'lightbulb',
                                    ScreensaverEntityIconOff: null, 
                                    ScreensaverEntityValue: null,
                                    ScreensaverEntityValueDecimalPlace : 0,
                                    ScreensaverEntityValueUnit: null,
                                    ScreensaverEntityOnColor: On, 
                                    ScreensaverEntityOffColor: HMIOff 
                                },
                        
                        M 1 Reply Last reply Reply Quote 0
                        • Armilar
                          Armilar Most Active Forum Testing @nk63 last edited by Armilar

                          @nk63

                          Das ist relativ einfach zu beantworten:

                          60edce63-2e99-4357-980f-dd44d4a6333e-image.png

                          Die Channel deiner 4 Aliase sind folder, sollten aber channel mit der Rolle slider sein.

                          1ed87e5c-350a-46c9-8555-d23664798b5d-image.png

                          Entweder du korrigierst die Rolle dieser 4 Channel oder du löscht die angelegten Ordner des NSPanels unter 0_userdata.0 und alias.0. mal komplett raus und lässt sie neu anlegen.

                          Interessieren würde es mich dennoch, wie das passieren konnte?

                          Kann es sein, dass du erst sehr spät das Kommando setOption erlauben in der JS-Adapter Instanz gesetzt hast, oder das die immer noch nicht aktiv ist?

                          d0be65b1-990a-4fd2-8082-d314a6dde67b-image.png

                          Das wäre der einzige Grund, warum ein Channel nicht korrekt angelegt wird, der Ordner aber mit der Anlage der Alias-Datenpunkte erstellt wird.

                          N 1 Reply Last reply Reply Quote 0
                          • M
                            Mucky 0 @Armilar last edited by

                            @armilar
                            Danke für die Info.... Wäre schon Interesant wenn eine Aktualisierung der Werte möglich wäre, müsste ja nicht jede Sekunde sein. Ich werde mal bei Gelegenheit einen Issue erstellen.

                            1 Reply Last reply Reply Quote 1
                            • N
                              nk63 @Armilar last edited by nk63

                              @armilar
                              Ja, den Haken bei "setOption" erlauben habe ich erst später gesetzt. Das manuelle Ändern hat nichts gebracht. Nun habe ich die Folder gelöscht, aber es werden keine neuen erstellt.
                              Es kommen diese Meldungen:
                              2370405d-13f3-4269-8adb-1ffa71c506d0-image.png

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

                                @nk63

                                Die angelegten Datenpunkte unter 0_userdata.0.NSPanel.1 auch löschen

                                Nur so kommst du durch alle Funktionen im TS-Script zur Erstellung. Dann wird es aber auch funktionieren

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

                                  @armilar
                                  Und es hat funktioniert, danke dir für die schnelle Hilfe und eine gute Nacht.

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

                                    @nk63

                                    perfekt - gute n8 😊

                                    PS.: Werde demnächst noch eine Änderung im TS-Script machen und falls setOption (Das Script prüft es ja bereits und gibt schon eine Nachricht aus) nicht gesetzt ist, werden auch keine Datenpunkte oder Aliase mehr angelegt... bis der Haken drin ist 😉

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

                                      Update - v4.3.3.3

                                      24b160ce-2408-490d-abb3-13bf895fdbf9-image.png

                                      • v4.3.3.2 Add autoCreateALias to cardUnlock
                                      • v4.3.3.2 Change NodeJS to at least v18.X.X
                                      • v4.3.3.3 if setOption = false, do not create autoAlias (Functional/Servicemenu) and Datapoints

                                      Änderungen:

                                      • Das TS-Script legt jetzt keine Channel und abhängige Datenpunkte mehr an, solange setOption in der JS-Instanz nicht aktiv ist.
                                      • Wenn NodeJS < v18 ist, dann gibt es eine Warnung
                                      • Das Service-Menü hat jetzt als festen Bestandteil die cardUnlock (nicht default) bekommen.

                                      siehe https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-‐-Typen_How-2_Beispiele#page-beispiele unter cardUnlock (Weitere Wiki Seiten werden noch angepasst Alle relevanten Wiki-Pages auf dem aktuellen Stand)

                                      Link zur NSPanelTs.ts v4.3.3.3:
                                      https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                                      Wie erfolgt ein Update?

                                      • Header tauschen (Ist auf 4.3.X reduziert)
                                      • Service-Menu bei Bedarf tauschen und (falls cardUnlock genutzt werden soll, dann in der config "Unlock_Service" unter pages eintragen und "NSPanel_Service_SubPage" unter subPages eintragen). Der Rest erfolgt automatisch.
                                      • Unteren Teil (____ Ab hier keine Konfiguration mehr ____) tauschen.

                                      Viel Spaß mit der 4.3.3.3

                                      Gruß @TT-Tom und Armilar

                                      draexler 1 Reply Last reply Reply Quote 2
                                      • draexler
                                        draexler @Armilar last edited by

                                        Hat jemand von euch eine Idee warum mein Panel auf einmal keine Werte mehr aktuell werden?
                                        z.B. auf meine Foto das A. Zeit.
                                        Hier kommt jede Minute ein neuer Wert.

                                        Aber irgendwann kommt nichts mehr und wenn ich das NS Panel Skript neu starte funktioniert es wieder.

                                        IMG_0455.jpeg

                                        Wenn mehr Infos benötigt werden, gerne 🙂 Wüsste jetzt nicht was alles benötigt wird. Besonders weil es ja eine Zeitlang funktioniert.
                                        Im Log ist nichts zu finden.

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

                                          @draexler

                                          Ich denke ich weiß woran es liegt, müsste aber kurz wissen, ob die Script-Version aktuell ist? Also, ob die bereits auf moments läuft?

                                          Falls die Version >= v4.3.2.1 , dann ist wahrscheinlich der Format-String nicht mehr korrekt!

                                          Wäre jetzt für Uhrzeit so:

                                          ScreensaverEntityDateFormat: { hour: '2-digit', minute: '2-digit' },
                                          
                                          draexler 1 Reply Last reply Reply Quote 0
                                          • draexler
                                            draexler @Armilar last edited by

                                            @armilar Es ist die Version v4.3.1.3
                                            Also eine Version die nicht mehr aktuell ist.
                                            Kann ich das in dieser Version ändern?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            766
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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