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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • Gargano
      Gargano @TT-Tom last edited by

      @tt-tom Dachte ich mir auch. Problem ist, daß im Script der Datenpunkt Mode vom Alias gesucht wird und explizit darin geschrieben wird.
      Hat wohl keiner so bis jetzt gebraucht.

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

        @tt-tom

        Ja, eigener Datenpunkt sollte den Mode entsprechend konvertieren. Da ist fast jeder Thermostat oder Adapter unterschiedlich...

        Hat wohl keiner so bis jetzt gebraucht.

        Ich denke, das wird sicherlich schon sehr individuell verwendet.

        Ich z.B. nutze das gar nicht. Sind "immer" im manuellen Modus und werden durch den ioBroker gesteuert. Aber ich teile ihm schon noch mit, wenn mir kalt ist 😉

        Gargano 1 Reply Last reply Reply Quote 0
        • R
          radierer last edited by

          Hallo zusammen,

          als Erstes möchte ich mich bei allen Beteiligten für die großartige Arbeit bedanken. Ich habe das NSPanel erst am vergangenen Freitag bekommen und mich entsprechend wenig damit beschäftigt. Aber die wirklich sehr guten und detaillierten Dokus und (Video-) Tutorials haben ausgereicht, dass Panel lauf- und funktionsfähig aufzusetzen.

          Ich habe die letzten Tage den Thread hier überflogen und wollte nochmal ein kleines nice-to-have-Feature ansprechen, was ich ebenfalls sinnvoll finde und hier meine ich gelesen zu haben. Ich gruppiere oft Zigbee-Leuchtmittel, da sich diese in einer Lampe oder einem bestimmten Ort (Deckenspots Küche zB) usw. befinden. Aktuell fasse ich die mit dem Zigbee Adapter zusammen und packe die als "einzelne" Lampe ins Panel. Im Pop-Up Fenster (Dimmer etc.) hat man dann ja die Möglichkeit Helligkeit, Farbtemp. etc. zu steuern. Kann man hier nicht zusätzlich auch die Steuernung der einzelnen Lampen einer Gruppe unterbringen?

          Danke & Gruß

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

            @armilar Das habe ich jetzt hinbekommen mit einem extra Alias-Datenpunkt (geht auch ohne Script):

            09b2757f-83ae-4cce-9bbf-5fac9fc23c91-image.png

            Allerdings ist der angezeigte Zustand immer manu, was ich auch mache :
            Wo holt denn der angezeigte Zustand die Info her ?

            6dad571a-96dd-47a4-8f7a-d41a9f7b2caf-image.png

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

              @radierer

              Auf einer cardGrid oder auf einer cardEntities können doch alle einzelnen Lampen ebenfalls als Alias angelegt werden.

              1. PageItem für die Gruppe
                • 6 PageItem für die einzelnen Lampen
              1 Reply Last reply Reply Quote 0
              • Armilar
                Armilar Most Active Forum Testing @Gargano last edited by

                @gargano

                aus der cardThermo

                Da wird natürlich der Wert MODE abgefragt und nicht MODE1. Wenn Mode nicht angegeben ist, dann ist es per Default MANU

                Gargano M 2 Replies Last reply Reply Quote 0
                • Gargano
                  Gargano @Armilar last edited by Gargano

                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                  Da wird natürlich der Wert MODE

                  MODE ist aber vorhanden.

                  Problem scheint hier zu liegen :

                  Der Datenpunkt MODE ist vom Type 'number'
                  Das Script ab Zeile ca 3230 ist so :

                  let statusStr: String = 'MANU';
                              let status = '';
                              if (existsState(id + '.MODE')) {
                                  status = getState(id + '.MODE').val;    // FixMe: Variable status is never used!
                              }
                  

                  Also wird hier ein String erwartet, was aber im Datenpunkt vom Alias ein Number ist.
                  Desweiteren wird der statusStr gar nicht mehr gesetzt.

                  Im weiteren Verlauf des Scripts wird MODE gar nicht mehr behandelt, sondern '.AUTOMATIC' oder '.MANUAL'
                  welches aber im Thermostat nicht gibt.

                  Ich werde es für mich ändern.

                  Falls jemand interessiert :

                  Änderung behandelt den numerischen Wert von .MODE zum Anzeigen des Status

                  Unter function

                  function GenerateThermoPage(page: PageThermo): Payload[] {
                  
                   if (o.common.role == 'thermostat') {
                                      
                                      // add from gargano
                                      if (existsState(id + '.MODE') && getState(id + '.MODE').val != null) {
                                          if (getState(id + '.MODE').val===1) {
                                                  statusStr = 'MANU';
                                          } else {
                                             statusStr = 'AUTO';
                                          }
                                      }
                                      // end add from gargano
                  

                  Und die ganze Anleitung in Verbindung mit HeatingControl ist hier

                  1 Reply Last reply Reply Quote 0
                  • R
                    radierer last edited by

                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                    @radierer

                    Auf einer cardGrid oder auf einer cardEntities können doch alle einzelnen Lampen ebenfalls als Alias angelegt werden.

                    1. PageItem für die Gruppe
                      • 6 PageItem für die einzelnen Lampen

                    Hm ok .. du meinst die einzelnen Lampen auf einer Subpage? So habe ich das aktuell zumindest gelöst und dafür ein zweites PageItem als "Link" unter dem Item der "Gruppensteuerung". Damit wären aber 2 Items auf der "Parent-Page" weg .. und der Platz ist ja begrenzt. Mein Gedanke war, ob man nicht die einzelnen Lampen (bei mir fast immer Dimmer ohne irgendeine Farbsteuerung) auf dem PopUp unterbringen kann? Klar .. auch da ist der Platz begrenzt.

                    Evtl. hab ich auch nur was übersehen .. wie gesagt, bin erst am Anfang und hab bisher wenig mit Skripten gemacht. 😆

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

                      @radierer

                      Du kannst auch SubPages nebeneinander anordnen. Mit Next und Prev kannst du Seiten horizontal anordnen. Siehe Wiki

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

                        @radierer

                        Vielleicht hilft dir das?

                        7ccb717b-01be-4c17-92e7-285919b1b69f-Nextion_Editor_A2U51jphKW.gif

                        1 Reply Last reply Reply Quote 0
                        • R
                          radierer last edited by

                          Joar .. ich muss mich wohl noch ein wenig mit der Navigation auseinandersetzen. 🙃

                          Die "Grundsteuerung" bei Dimmern mit dem Switch direkt auf der platzierten Page und dem PopUp für eine Detailsteuerung finde ich sehr gelungen. Aber eine weitere Ebene einbauen ist ja auch kein Beinbruch. 😋

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

                            @bembelstemmer sagte in SONOFF NSPanel mit Lovelace UI:

                            Ich habe eine erste Variante mit Squeezeboxrpc Unterstützung die bei mir soweit ganz gut funktioniert. Man kann die Speaker wechseln, die Favoriten Playlists auswählen, autoCreateAlias funktioniert, etc.
                            Das war bisher nicht möglich.
                            Allerdings musste ich für die Auswahl der Speaker leider recht große Anpassungen machen, da die Struktur einfach so verschieden ist zu den anderen Adaptern.

                            Funktioniert noch alles. Hab's dann gleich in die 4.0.0 übernommen. Sollte in wenigen Tagen kommen...

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

                              Ich habe mal eine Frage zum Nachtmodus des Displays.
                              Im TS-Script gibt es einen Bereich

                              //----------------------Begin Dimmode
                              function ScreensaverDimmode(timeDimMode: DimMode) {
                                  try {
                                      let active = getState(NSPanel_Path + 'ScreensaverInfo.activeBrightness').val
                                      let dimmode = getState(NSPanel_Path + 'ScreensaverInfo.activeDimmodeBrightness').val
                                      if (Debug) {
                                          console.log(rgb_dec565(HMIDark));
                                      }
                                      if (Debug) {
                                          console.log('Dimmode=' + timeDimMode.dimmodeOn);
                                      }
                                      if (timeDimMode.dimmodeOn != undefined ? timeDimMode.dimmodeOn : false) {
                                          if (compareTime(timeDimMode.timeNight != undefined ? timeDimMode.timeNight : '21:00', timeDimMode.timeDay != undefined ? timeDimMode.timeDay : '07:00', 'not between', undefined)) {
                                              SendToPanel({ payload: 'dimmode~' + timeDimMode.brightnessDay + '~' + active + '~' + rgb_dec565(config.defaultBackgroundColor) });
                              

                              wo meines Erachtens der Start- und Endzeitpunkt der Nacht eingestellt wird (hier 22:00 - 7:00 Uhr)
                              Leider greift dies Funktion nicht, sprich das Display geht nicht um 22 Uhr aus. Seltsamerweise ist es irgendwann nachts
                              aus und geht morgens um 7:00 Uhr wieder an. Ich habe zu Testzwecken mal die Night Start auf 10Uhr und Ende auf 10:15 gesetzt, das Display bleibt an.
                              Habe ich eine Möglichkeit zu prüfen woran das liegen kann?
                              Danke und liebe Grüße
                              Mercy

                              GregorS Armilar 2 Replies Last reply Reply Quote 0
                              • GregorS
                                GregorS @Mercyful 0 last edited by GregorS

                                Brauche mal einen Denkanstoß.
                                Ich habe die Seite Thermostat aktiviert.

                                let Buero_Themostat = <PageThermo>
                                {
                                    'type': 'cardThermo',
                                    'heading': 'Wohnzimmer',
                                    'useColor': true,
                                    'items': [<PageItem>{ id: 'alias.0.NSPanel.Thermostat_Wohnzimmer.Raumthermostat', minValue: 50, maxValue: 300 }]
                                };
                                

                                Unter Alias habe ich mir entsprechende Objekte mit dem Gerätemanager erstellt.
                                a1.JPG

                                Im Panel erscheint die Seite, die aktuelle Temperatur wird angezeigt, und ich kann den Sollwert ändern.
                                Dieser wird aber nicht weitergegeben.

                                a2.JPG

                                Gargano Armilar 2 Replies Last reply Reply Quote 0
                                • Gargano
                                  Gargano @GregorS last edited by Gargano

                                  @gregors Der Datenpunkt heißt .SET und nicht .SOLLWERT

                                  3664545c-2c1e-4f17-a495-a0cadb4d1e2f-image.png

                                  Weiter oben ist auch beschrieben wie das mit .MODE funktioniert oder auch hier

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

                                    @gregors

                                    Der Gerätetyp Temperatur ist falsch...

                                    Entweder Thermostat oder Klimaanlage

                                    1 Reply Last reply Reply Quote 0
                                    • O
                                      Oliver Feld last edited by

                                      N’Abend!
                                      Ich habe 2 Fragen zum Screensaver mit dem US-Panel.

                                      Die beiden Zusatzsymbole liegen bei mir links und rechts vom Strich.

                                      613C76F8-CC32-4CCD-BC89-B0F92FF9513A.jpeg

                                      Gibt es eine Möglichkeit diesen Strich ein wenig kürzer zu machen, dass ich dort die Werte vernünftig ablesen kann.

                                      Kann ich in der Zeile ganz unten eine dritte Seite hinzufügen?

                                      Gruß Olli

                                      Armilar 1 Reply Last reply Reply Quote 0
                                      • Gargano
                                        Gargano last edited by Gargano

                                        Mit der neuen Javascript Version 7.0.1 kommt dieser Fehler im Log :

                                        script.js.Monitoring.NSPanel.NsPanelTs_Wohn: JS-Adapter: javascript must be at least v6.1.3. Currently: v7.0.1
                                        
                                        

                                        Die Stelle ist hier zu suchen : Es wird eine Fehlermeldung ausgegeben wenn die Hauptversion kleiner 6 ist, das ist richtig,
                                        aber es wird auch eine Meldung ausgegeben wenn die Nebenversion < 1 ist, unabhängig von der Hauptversion.
                                        Deshalb die Fehlermeldung bei 7.0

                                        const adapterList = $('system.adapter.*.alive');
                                                adapterList.each(function(id, i) {
                                                    id = id.substring(0, id.lastIndexOf('.'));
                                                    if(existsObject(id)) {
                                                        let common = getObject(id).common;
                                                        if (common.name == 'javascript') {
                                                            let jsVersion = common.version.split('.');
                                                            if (parseInt(jsVersion[0]) < 6) { 
                                                                console.error('JS-Adapter: ' + common.name + ' must be at least v6.1.3. Currently: v' + common.version);
                                                            } else if (parseInt(jsVersion[1]) < 1) {
                                                                console.error('JS-Adapter: ' + common.name + ' must be at least v6.1.3. Currently: v' + common.version);
                                                            }
                                                        }     
                                                    }
                                                });
                                        

                                        Könnte man so lösen :

                                        const adapterList = $('system.adapter.*.alive');
                                                adapterList.each(function(id, i) {
                                                    id = id.substring(0, id.lastIndexOf('.'));
                                                    if(existsObject(id)) {
                                                        let common = getObject(id).common;
                                                        if (common.name == 'javascript') {
                                                            let jsVersion = common.version.split('.');
                                                            let jsV = 10*parseInt(jsVersion[0]) + parseInt(jsVersion[1]);
                                                            if (jsV<61) console.error('JS-Adapter: ' + common.name + ' must be at least v6.1.3. Currently: v' + common.version);
                                                        }     
                                                    }
                                                });
                                        
                                        Armilar 1 Reply Last reply Reply Quote 1
                                        • Armilar
                                          Armilar Most Active Forum Testing @Gargano last edited by Armilar

                                          @gargano

                                          Die 7.0 ist ja auch nicht die stable...

                                          Hatte es gestern aber bereits für die nachfolgenden Versionen geändert

                                          Da die Lösung aber besser ist als meine Implementierung, habe ich deinen Code übernommen

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

                                            @oliver-feld

                                            Warte auf die NSPanel.ts v4.0.0

                                            Da hast du mehr Möglichkeiten zur Anzeige

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            779
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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