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.
    • Armilar
      Armilar Most Active Forum Testing @bean last edited by

      @bean

      https://youtu.be/qEbxVWK6y8U

      Ist ja ein cooles Video. Und schon richtig viel drin... hatte ich vorhin gar nicht ganz wahrgenommen 👍

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

        @vumer

        rot ist auch nicht meine Farbe im Log. Mit gelb kann ich leben, wenns nicht von meinen Sachen kommt 😂

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

          HI @vumer,

          schön das es läuft. Viel Spass weiter mit dem Panel.

          1 Reply Last reply Reply Quote 1
          • V
            valbuz last edited by

            Hallo

            Bin auch dabei meine Erfahrungen mit dem Panel zu sammeln.
            Soweit läuft's auch.
            Bin jedoch noch etwas mit dem Screensaver am verhandeln... 😑
            Wer kann mir die einzelnen Einstellungen kurz erklären? Siehe Bild.
            screensaver.jpg

            Ebenfalls ändert sich nichts wenn ich folgenden Wert in der Script Datei ändere:

            dimmode: 8,
            

            Wie verhalten sich all diese Einstellungen untereinander? 🙄

            Danke 🙏

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

              @armilar

              vielen leben Dank

              nach dem Update auf die 16.X gab es noch das Problem mit dem nicht angezeigten device Adapter.

              Ich habe auf Ubuntu eine IOBROKER Test installation dort habe ich aus meinem Echtsystem einmal das Backup zurück gespielt.
              Und siehe da man konnte dort den Device Adapter danach installieren.
              Ich habe versucht heraus zu finden warum das so ist.
              Bin aber nicht wirklich weitergekommen hatten den Sourceanalytics im Verdacht.

              Heute habe ich dann einfach ein Backup auf meinem Echtsystem zurückgespielt.
              Dan konnte ich den Device Adapter installieren und kann jetzt endlich weiter testen .

              Gruß Marcus

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

                @valbuz

                Ich mach es dann mal mit der Erklärung 😉

                Das Panel hat die Aliase vom Typ Slider erstellt, die wiederum greifen auf 4 Datenpunkte in 0_userdata (hat das Script dir ebenfalls erstellt) zu.

                93835a84-449c-42e0-8773-7ab1fd404a10-image.png

                0_userdata.0.NSPanel.1.NSPanel_Dimmode_brightnessDay ist die Helligkeit (bei dir aktuell 10) des Displays, die mit der Stunde Tag (bei dir aktuell 10:00 Uhr = hourDay) beginnt.

                0_userdata.0.NSPanel.1.NSPanel_Dimmode_brightnessDay ist die Helligkeit (bei dir aktuell 2) des Displays, die mit der Stunde Nacht (bei dir aktuell 5:00 Uhr = hourNight) beginnt.

                c5ba1ca7-4c7c-4c6c-a135-a9c823dbec47-image.png

                Deine aktuellen Einstellungen:
                Bei dir fängt der Abend/Nacht um 5:00 Uhr an. In dieser Zeit bis zum Tagesbeginn um 10:00 Uhr (d.h. 5 Stunden später) wird das Screensaver-Display auf Helligkeit 2% gestellt. Ab 10:00 Uhr fängt bei dir der Tag an. Das Display wechselt im Screensaver auf 10% Helligkeit.

                Der Parameter dimmode: 8, ist noch ein Relikt aus alten Zeiten (Als es noch keine DP's gab und das Panel nur einen Zustand kannte) und wird nirgendwo mehr im Code verwendet.

                Zu den definierten Stunden stellt jeweils ein Scheduler im Script die Helligkeiit um. Bei Start des Scriptes erfolgt ebenfalls eine initiale Überprüfung.

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

                In diesen pageItems findest du ebenfalls die Einstellungen für die Slider in Form von minValue und maxValue. Die können natürlich angepasst werden.

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

                  @froitzheims

                  Sehr gerne. Noch ein Tipp für die Zukunft...

                  3004b4f9-4abd-4587-9835-78f043c9599f-image.png

                  Unter Info und dann unter Systeminformationen rechts:
                  926d6c8c-2a7e-4fcb-b6b0-1e9bfc8bc09c-image.png

                  findest du die Node.js Version ebenfalls. Wenn die gelb oder rot wird, steht in der Regel auch die empfohlene Version dabei. Wenn es eine empfohlene Version gibt, sollte die nach Möglichkeit auch unmittelbar installiert werden. Die wird immer entsprechend korrekte Funktionalitäten für den ioBroker zur Verfügung stellen. Anderenfalls kann es zu Problemen in der Ausführung kommen!

                  Der Satz "Never touch a running System" ist das dümmste was man in der Server-Welt machen kann. Die vorherige Version ist bereits fehlerbehaftet und die neue Version beinhaltet bereits das "Pflaster" für diese Fehler. Gilt auch für das Betriebssystem.

                  Konntest du damit auch das Sprachthema erledigen?

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

                    @armilar Da Danke ich vielmals! 👍 😊
                    Ja bei Relikten aus alten Zeiten, wird's schwierig um eine Logik zu finden 😳

                    Danke nochmals.

                    Pat

                    1 Reply Last reply Reply Quote 0
                    • W
                      Woffi1967 @joBr99 last edited by

                      @jobr99 : Hallo jobr99,
                      sorry wenn ich jetzt diesen Weg wähle.
                      Leider finde ich keinen Button um ein neues Thema zu öffnen.

                      Ich habe ein Problem, das Scritpt NSPanelTS.ts zu starten. Ich bekomme die Fehlermeldung

                      javascript.0 (1433) script.js.common.NSPANEL_1_3_6_0_3 compile failed: at script.js.common.NSPANEL_1_3_6_0_3:166

                      In der Zeile 166 steht folgender Befehl: let timeoutSlider: any;

                      Würde mich über eine Hilfe freuen.

                      Mfg Wolfgang

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

                        @woffi1967

                        Hi und erstmal herzlich willkommen.

                        Neues Thema ist gar nicht erforderlich und somit absolut korrekt gemacht. @joBr99 ist übrigens für die Nextion-TFT-Firmware und Home Assistant zuständig. Deshalb übernehme ich mal im Bereich TS-Script und ioBroker...

                        Könntest du das Log mit den Fehlern kurz in Code-Tags posten? Oben in der Menüleiste f163ce7f-a28b-419e-b388-5c144fff3ec8-image.png

                        Nur mit der Info des timeoutSlider kann ich erstmal alleine nichts anfangen.

                        EDIT: Die Fehlersuche ist oft nicht einfach, da die Zeilennummern (in deinem Fall 166) nicht auf den Fehler hinweisen. Ist eher eine Näherung 😉

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

                          @woffi1967

                          Ich tippe übrigens auf die IconSelector, also das 2. TypeScript, dass die Icons enthält und im global angelegt sein muss (und natürlich angeschaltet)

                          Bist du nach dieser Anleitung vorgegangen?
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation

                          1 Reply Last reply Reply Quote 0
                          • B
                            bean last edited by bean

                            Seit neuesten bekomme ich beim Start des Scripts zwei Zeilen mit den roten Fehlern

                            Error by subscription (trigger): empty ID defined. All states matched.
                            

                            Ich vermute, irgendein Datenpunkt in den Aliasen passt nicht, aber kann ich das irgendwie debuggen bzw selber draufkommen, welche Subscription den Fehler auslöst?
                            Das Skript startet trotzdem und läuft scheinbar auch fehlerfrei, aber rot ist doch störend 😰

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

                              @bean

                              rot ist nicht so schön 😉 Ich habe auch nicht die geringste Ahnung, warum sich das nicht in Pink umstellen lässt.

                              Nee, mal kurz Spaß beiseite. Stell mal im Script-Editor oben in der Ecke:
                              79d85721-50fa-49fb-947c-d8101e60768e-image.png
                              im Schraubenschlüssel den Haken bei "Ausführliche Protokollausgaben" rein und starte mal durch. Danach sende mal das Log mit den Fehlern in rot und so ein klein wenig an Log-Infos drumherum hier in Code-Tags.

                              Evtl. siehst du selbst die Fehlerquelle schon...

                              B 1 Reply Last reply Reply Quote 1
                              • B
                                bean @Armilar last edited by bean

                                @armilar said in SONOFF NSPanel mit Lovelace UI:

                                im Schraubenschlüssel den Haken bei "Ausführliche Protokollausgaben" rein und starte mal durch. Danach sende mal das Log mit den Fehlern in rot und so ein klein wenig an Log-Infos drumherum hier in Code-Tags.
                                Evtl. siehst du selbst die Fehlerquelle schon...

                                Ah! Aber die Fehlerquelle ist noch unklar

                                19:30:47.180	info	javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.Relay.1","change":"ne","q":0},"name":"script.js.common.NSPanel.1"}
                                19:30:47.181	info	javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.Relay.2","change":"ne","q":0},"name":"script.js.common.NSPanel.1"}
                                19:30:47.181	error	javascript.0 (557640) script.js.common.NSPanel.1 Error by subscription (trigger): empty ID defined. All states matched.
                                19:30:47.181	error	javascript.0 (557640) script.js.common.NSPanel.1 Error by subscription (trigger): empty ID defined. All states matched.
                                19:30:47.182	info	javascript.0 (557640) script.js.common.NSPanel.1: Wetter-Alias existiert bereits
                                19:30:47.183	info	javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.PageNavi","change":"any","q":0},"name":"script.js.common.NSPanel.1"}
                                
                                

                                Scheinbar werden die beiden Relais-Datenpunkte abonniert, dann zwei Fehler, und dann geht es mit dem Wetter etc. weiter. Oder lese ich das falsch? Danke!

                                EDIT: Hat sicher erledigt - ich hatte bei mrIcon1ScreensaverEntity und mrIcon2ScreensaverEntity unter entity "null" eingetragen weil ich keine Icons oben haben wollte, in der letzten Scriptversion warf das noch keinen Fehler.

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

                                  @bean

                                  Super, danke für die Info.

                                  "null" sollte auch künftig wieder möglich sein. Ich prüfe das für die nächste Version und werde vorher abfragen, ob einer von den Icons "null" ist. Dann sollte null auch ohne Fehler funktionieren, da die Init für die Subscriptions der jeweiligen Icons nicht mehr durchlaufen werden.

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

                                    @bean

                                    Wenn du es direkt wieder ohne Buttons haben möchtest kannst du den Teil suchen (relativ weit oben):

                                    on({id: [].concat(config.mrIcon1ScreensaverEntity.ScreensaverEntity).concat(config.mrIcon2ScreensaverEntity.ScreensaverEntity), change: "ne"}, async function (obj) {
                                        if (obj.id.substring(0,4) == 'mqtt') {
                                            let Button = obj.id.split('.'); 
                                            if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                            }
                                        }
                                    });
                                    

                                    und gegen den Teil ersetzen:

                                    async function SubscribeMRIcons () { 
                                        if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                                            on({id: config.mrIcon1ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
                                                if (obj.id.substring(0,4) == 'mqtt') {
                                                    let Button = obj.id.split('.'); 
                                                    if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                        await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                                    }
                                                }
                                            });
                                        }
                                        if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                                            on({id: config.mrIcon2ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
                                                if (obj.id.substring(0,4) == 'mqtt') {
                                                    let Button = obj.id.split('.'); 
                                                    if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                        await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                                    }
                                                }
                                            });
                                        }
                                    }
                                    SubscribeMRIcons();
                                    

                                    dann sollte auch "null" wieder möglich sein.

                                    LG

                                    B 1 Reply Last reply Reply Quote 2
                                    • M
                                      michael_4358 last edited by

                                      hallo

                                      habe den Biobroker heute neu aufgesetzt.
                                      nun zeigt das Panel nicht mehr die richtige Uhrzeit...
                                      Uhrzeit im pi und im Broker sind aber richtig...
                                      muss ich noch was beachten?

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

                                        @michael_4358

                                        Abweichungen der Uhrzeit waren bislang Bestandteil von:

                                        • Einstellungen der loacales im pi

                                          sudo raspi-config
                                          

                                          dann zu Set Locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)

                                          Ebenfalls bitte noch nachsehen, ob Timezone auf Europa/Berlin steht

                                        • Node.js
                                          Welche Version ist aktuell auf dem pi installiert? Die node.js Version bekommst du im Systemterminal mit

                                          node -v
                                          

                                          heraus und dann wäre noch interessant, welches Betriebssystem auf dem pi läuft (buster oder bullseye)

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

                                          @armilar said in SONOFF NSPanel mit Lovelace UI:

                                          dann sollte auch "null" wieder möglich sein.

                                          Super, funktioniert!

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

                                            @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                            dann sollte auch "null" wieder möglich sein.

                                            Super, funktioniert!

                                            Perfekt, dann kommt es so auch in die folgenden Versionen...

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            957
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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