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 goes Matter ... Matter Adapter in Stable

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

      @bean

      Danke fürs testen. Übernehme ich mit ins Script 👍

      1 Reply Last reply Reply Quote 1
      • B
        Bhenyamin last edited by

        Hello Hello...

        Frage zur Page Power:
        Ich habe mich da recht erfolgreich durch das Skript für das JSON gearbeitet und es entsprechend angepasst.
        Musste einige Werte nochmal als Datenpunkte anlegen und vorher errechnen, da mein Adapter für die LG Anlage manche Werte einfach nicht darstellt (z.B. die aktuelle Gesamtleistung der Panels)

        Mein einziges Problem:
        Das erste Symbol oben links auf der Seite wird immer durch die Werte der Id: 0 konfiguriert und die Id: 6 fällt quasi weg.
        Wie ich las, ist die Id:0 ja der mittlere Balken. Hat sich da an der Config irgendwas geandert? Arbeite mit der V 4.0.4.5

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

          @bhenyamin

          Da ist in letzter Zeit nichts mehr an der cardPower passiert - sollte Funktionieren.

          Sende mal das JSON aus dem Datenpunkt. Dann wird es einfacher zu finden...

          B 1 Reply Last reply Reply Quote 0
          • M
            marc_d0810 last edited by

            @armilar said in SONOFF NSPanel mit Lovelace UI:

            default =

            @armilar said in SONOFF NSPanel mit Lovelace UI:

            @ronny130286

            Mal eine Frage, wäre es eigentlich möglich das Display Nachts komplett auszuschalten? Also sowas wie Dimmode 0

            Ja klar, einfach nachts auf Dimmode "0" stellen. Geht eigentlich schon immer 😊

            EDIT:

            per Automatik mit:
            9cb9ab91-44a4-43cf-8947-f385c2248ed9-image.png

            oder manuell mit:

            e49492cc-98db-44fd-8ebf-dc083af48dc9-image.png

            null = default = Automatik

            Hey @Armilar,

            wie bekomme ich denn den Modus wieder auf (null) = automatik?
            Ich hatte zum testen einen Wert eingestellt, da die automatik bei mir irgendwie nicht funktioniert.
            Zur eingestellten Zeit, wird nicht runtergedimmt sondern bleibt auf dem Tageswert.

            Ich habe gerade auch im LOG gesehen, dass es ab und zu folgende Fehler gibt.
            Kann ich aber irgendwie nicht so recht was draus erkennen 😞

            Bildschirm­foto 2023-03-28 um 19.31.04.png

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

              @marc_d0810

              In 0_userdata.0.NSPanel.1.ScreensaverInfo.activeDimmodeBrightness einfach null reinschreiben

              Die Fehlermeldungen sind interessant. Gibt es die Datenpunkte nicht oder sind die leer?

              8970e419-a81c-459a-a3ec-177bf4bfc5b9-image.png

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

                @armilar

                Sorry... Hätte ich auch gleich drauf kommen können.
                Also Id: 0 steuert bei mir letzlich das Element oben links (und den mittleren Balken mit dem Home-Symbol) und die Id:1 beginnt dann beim 2. Element auf der linken Seite. Dafür fällt Id 6 weg.

                Vielleicht noch gleich die Frage dazu was die direction "both" bewirkt?

                
                [
                  {
                    "id": 0,
                    "value": "",
                    "unit": "",
                    "icon": "home",
                    "iconColor": 0
                  },
                  {
                    "id": 1,
                    "value": 0,
                    "unit": "kW",
                    "direction": "both,in,in,out,both,out",
                    "icon": "solar-power-variant",
                    "iconColor": 10,
                    "speed": 0
                  },
                  {
                    "id": 2,
                    "value": 0,
                    "unit": "kW",
                    "direction": "both",
                    "icon": "transmission-tower",
                    "iconColor": 0,
                    "speed": 0
                  },
                  {
                    "id": 3,
                    "value": 0.5,
                    "unit": "kW",
                    "direction": "out",
                    "icon": "battery-charging-60",
                    "iconColor": 1,
                    "speed": 0
                  },
                  {
                    "id": 4,
                    "value": 0.4,
                    "unit": "kW",
                    "direction": "out",
                    "icon": "home-lightning-bolt",
                    "iconColor": 10,
                    "speed": 3
                  },
                  {
                    "id": 5,
                    "value": 7,
                    "unit": "Ct",
                    "direction": "out",
                    "icon": "cash-100",
                    "iconColor": 10,
                    "speed": 3
                  },
                  {
                    "id": 6,
                    "value": 85.8,
                    "unit": "%",
                    "direction": "out",
                    "icon": "battery-50",
                    "iconColor": 9,
                    "speed": 2
                  }
                ]
                
                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @Bhenyamin last edited by

                  @bhenyamin

                  Ist in der Tat ein Bug drin --> Positionen sind verschoben --> Fix auf github folgt die Tage

                  Oder direkt die Funktion austauschen:

                  function GeneratePowerPage(page: PagePower): Payload[] {
                      try {
                          let obj:object;
                          let demoMode = false;        
                          if (page.items[0].id == undefined){
                              console.log("Kein PageItem definiert - cardPower Demo-Modus aktiv");
                              demoMode = true;
                          }
                  
                          activePage = page;
                          if (Debug) {
                              console.log('GeneratePowerPage PageItem.id = ' + page.items[0].id);
                          }
                          
                  
                          let heading = 'cardPower Example';
                          if (demoMode != true) {
                              let id = page.items[0].id
                              unsubscribePowerSubscriptions();
                              subscribePowerSubscriptions(id);
                  
                              let o = getObject(id);
                              heading = page.heading !== undefined ? page.heading : o.common.name.de;
                  
                               obj = JSON.parse((getState(page.items[0].id + '.ACTUAL').val));
                          }
                          
                          let out_msgs: Array<Payload> = [];
                          out_msgs.push({ payload: 'pageType~cardPower' });
                  
                          //Demo Data if no pageItem present
                          let array_icon_color = [White, MSGreen, MSYellow, MSGreen, MSYellow, MSGreen, MSRed];
                          let array_icon = ['home', 'battery-charging-60', 'solar-power-variant', 'wind-turbine', 'shape', 'transmission-tower', 'car'];
                          let array_powerspeed = ['', '-1', '2', '4', '1', '1', '5'];
                          let array_powerstate = ['', '0,5 kW', '0,9 kW', '2,8 kW', '0,2 kW', '0,1 kW', '4,6 kW'];
                  
                          let arrayColorScale = [colorScale0, colorScale1, colorScale2, colorScale3, colorScale4, colorScale5, colorScale6, colorScale7, colorScale8, colorScale9, colorScale10];
                  
                          let homeIconColor = 0;
                          if (!demoMode) {
                              for (let obji = 0; obji < 7; obji++) {
                                  array_icon_color[obji + 1] = arrayColorScale[obj[obji].iconColor !== '' ? obj[obji].iconColor : 0];
                                  array_icon[obji + 1] = obj[obji].icon;
                                  array_powerspeed[obji + 1] = obj[obji].speed;
                                  array_powerstate[obji + 1] = obj[obji].value + ' ' + obj[obji].unit ;
                              }
                              array_icon[0] = obj[0].icon;
                              array_powerstate[0] = obj[0].value + ' ' + obj[0].unit;
                              homeIconColor = obj[0].iconColor;
                          }
                  
                          let power_string : any = '';
                  
                          for (let i = 1; i < 7; i++ ) {
                              power_string = power_string + '~';                                        // type (ignored)
                              power_string = power_string + '~';                                        // intNameEntity (ignored)
                              power_string = power_string + Icons.GetIcon(array_icon[i+1]) + '~';       // icon~
                              power_string = power_string + rgb_dec565(array_icon_color[i+1]) + '~';    // icon_color~
                              power_string = power_string + '~';                                        // display (ignored in TS)
                              power_string = power_string + array_powerstate[i+1] + '~';                // optionalValue~
                              power_string = power_string + array_powerspeed[i+1] + '~';                // speed~
                  
                              if (Debug) console.log(power_string);
                          }
                  
                          power_string = power_string.substring(0, power_string.length - 1);
                              
                          out_msgs.push({
                              payload: 'entityUpd~' +                                 //entityUpd~*
                                  heading                         + '~' +             //internalNameEntity*~*
                                  GetNavigationString(pageId)     + '~' +             //navigation*~*
                              // Home Icon / Value below Home Icon
                                  '' + '~' +                                          // type (ignored)
                                  '' + '~' +                                          // intNameEntity (ignored)
                                  Icons.GetIcon(array_icon[0])    + '~' +             // icon
                                  rgb_dec565(array_icon_color[homeIconColor]) + '~' + // icon_color
                                  '' + '~' +                                          // display (ignored in TS)
                                  array_powerstate[0]             + '~' +             // optionalValue
                                  '' + '~' +                                          // speed
                              // Value above Home Icon
                                  '' + '~' +                                          // type (ignored)
                                  '' + '~' +                                          // intNameEntity (ignored)
                                  '' + '~' +                                          // icon
                                  '' + '~' +                                          // icon_color
                                  '' + '~' +                                          // display (ignored in TS)
                                  '' + '~' +                                          // optionalValue
                                  '' + '~' +                                          // speed~
                              // 1st to 6th Item
                                  power_string
                          });
                          if (Debug) console.log('GeneratePowerPage payload: ' + out_msgs);
                          return out_msgs;
                  
                      } catch (err) {
                          console.warn('error at function GeneratePowerPage: ' + err.message);
                      }
                  }
                  

                  Vielleicht noch gleich die Frage dazu was die direction "both" bewirkt?

                  "Nichts" - weder in noch out noch both wird im Script wirklich ausgewertet. Direction wird nur über das Vorzeichen in speed gesteuert. Habe da nur "in" drin stehen 😉

                  Im Übrigen habe ich folgende Warns in der Log: (Wenn ich doch nur peilen würde was die Position 731 ist... 😞 )

                  Dein JSON ist valide - kann da keinen Fehler erkennen. Sieh noch mal nach dem Fix nach. Dein JSON läuft mit dem Fix bei mir...

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

                    @armilar

                    Ah Supergeil!
                    Sorry, die Logs habe ich wieder aus meinem Post genommen, da sie von heute Nachmittag waren, als ich da rum probiert habe. Fiel mir erst später auf. Sorry.
                    Danke für den super schnellen Support! Freue mich sehr! Setzte ich gleich um!

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

                      Super läuft!
                      Kann ich denn eigentlich beeinflussen, dass die Power-Page aktualisiert wird, ohne dass ich sie neu lade (durch Blättern im Menü oder Screensaver) ?

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

                        @bhenyamin

                        Super läuft!

                        Perfekt 👍

                        Kann ich denn eigentlich beeinflussen, dass die Power-Page aktualisiert wird, ohne dass ich sie neu lade (durch Blättern im Menü oder Screensaver) ?

                        Kommt demnächst eine Lösung für die cardPower und die cardChart/cardLChart. 😊

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

                          @armilar
                          Whoop Whoop! Wird ja immer besser

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

                            @armilar said in SONOFF NSPanel mit Lovelace UI:

                            @marc_d0810

                            In 0_userdata.0.NSPanel.1.ScreensaverInfo.activeDimmodeBrightness einfach null reinschreiben

                            Die Fehlermeldungen sind interessant. Gibt es die Datenpunkte nicht oder sind die leer?

                            8970e419-a81c-459a-a3ec-177bf4bfc5b9-image.png

                            ahh ich hatte es mit (null) versucht.
                            Doch die Datenpunkte gibt es und gefüllt sind die auch.
                            Heute kamen die Fehler 2x im ganzen Tagesverlauf vor.

                            Bildschirm­foto 2023-03-29 um 20.36.05.png

                            Ich hatte Gestern das Skript nochmal gestoppt und die Punkte unter Alias und Userdata gelöscht.
                            Beim starten wurden die Punkte dann alle wieder ordentlich angelegt und nun scheint auch das dimmen zu funktionieren.

                            Aber die Fehler im LOG bleiben.

                            T 1 Reply Last reply Reply Quote 0
                            • B
                              Bhenyamin last edited by

                              Kleine Detailfrage, die ich hier noch nicht diskutiert finde:
                              Würde gern auf einer CardEntities ein Item zur Shuttersteuerung setzen und dabei je nach Öffnungszustand das Symbol ändern, um es nicht bloß von der Farbe des Symbols abhängig zu machen.
                              Gleiches gilt für den Fall der Items auf einer CardGrid, auf der ich 4 verschiedene Shutter darstelle. Da wäre es auch toll, direkt das entsprechende Symbol zu haben.
                              Über icon & icon2 geht es offenbar nicht (ist ja auch kein bool'scher Wert dahinter... Aber geht es trotzdem irgendwie?
                              Ich meine irgendwo was von einem Blockly dazu gelesen zu haben, finde es in der Wiki aber nicht mehr.

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

                                @marc_d0810
                                kommen die Fehlermeldungen zum Wechsel der Dimmeinstellungen also wenn das richtig sehe um 07:00 und 22:00?

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

                                  @bhenyamin

                                  Wir müssen für die Shutter/Blinds noch 2 Funktionen um das icon2 erweitern. Ist bislang noch nicht passiert... kommt aber auch noch...

                                  1 Reply Last reply Reply Quote 1
                                  • M
                                    marc_d0810 @TT-Tom last edited by

                                    @tt-tom Hey, nein kommen nicht zu der Zeit.
                                    Meine Einstellungen sind 7 und 19 Uhr.
                                    Das andere Bild war von @Armilar

                                    Heute kamen die zB. um 03:49 und 04:04.

                                    Bildschirm­foto 2023-03-30 um 06.07.43.png

                                    1 Reply Last reply Reply Quote 0
                                    • André Koschnik
                                      André Koschnik last edited by André Koschnik

                                      Moin zusammen,

                                      ich habe meine Panel FW und Skript geupdatet.
                                      javascript.0 (5701) script.js.house.panel.NsPanelTs_130129: Installed TFT Firmware: 50 / v4.0.5

                                      Musste den ScreenSaver umstellen aber läuft alles wieder wie vorher.
                                      Jetzt wollte ich mal cardChart ausprobieren bekomme es aber nicht zum laufen.
                                      Hier meine Konfiguration im Script:

                                      let ChartDailySolarPower = <PageChart>
                                      {
                                      "type": "cardChart",
                                      "heading": "Stromerzeugung",
                                      "useColor": true,
                                      "subPage": true,
                                      "parent": Solar,
                                      "items": [<PageItem>{
                                      id: 'alias.0.NSPanel.1.Solar.ChartDailySolarPower',
                                      yAxis: 'Leistung [W]',
                                      yAxisTicks: [0,1000,2000,3000,4000,5000],
                                      onColor: Yellow
                                      }]
                                      };

                                      Nachtrag: auch mit:
                                      yAxisTicks: [0,500,1000,1500,5000,2500],
                                      sieht es genau so aus!

                                      Das ist der Inhalt von meinem Datenpunkt:
                                      502^8:00~627~1052~1523~1577^12:00~1826~1695~1288~711^16:00~288~151~64~0^20:00~0~0~0~0^0:00~0~0~0~0^4:00~0~0~0

                                      Auf meinem Panel sieht es aus als wenn die Balken nach unten gehen. Kann mir jemand sagen was ich falsch mache?
                                      20230330_082347.jpg
                                      PS: wie macht ihr die ScreenShots vom Panel?!

                                      Fehler gefunden...
                                      yAxisTicks: [**0,**500,1000,1500,5000,2500],
                                      sogehts
                                      yAxisTicks: [500,1000,1500,5000,2500],

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

                                        @andré-koschnik sagte in SONOFF NSPanel mit Lovelace UI:

                                        yAxisTicks: [0,500,1000,1500,5000,2500],

                                        Die yAxisTicks: [0,5000,10000,15000,20000,25000], benötigen den Faktor 10

                                        Dennoch würde die y-Achse im tausender Bereich nicht vollständig angezeigt werden. Abhilfe würde eine Umrechnung des Wertes von Watt in Kilowatt schaffen. Bei einer Umrechnung von W in kW (/1000) könnten die yAxisTicks folgendermaßen sein:

                                        yAxisTicks: [0,5,100,150,200,250],

                                        Die Screenshots kann man nicht direkt mit dem NSPanel machen. Das sind dann Screenshots mit dem Nextion Editor in Form einer NSPanel-Emulation...

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

                                          @andré-koschnik

                                          ich denke der Sprung von 1500 auf 2500 ist nicht 5000, sondern 2000

                                          Wie beschrieben geht im Momment deine Skala von 50W - 250W

                                          1 Reply Last reply Reply Quote 1
                                          • André Koschnik
                                            André Koschnik @Armilar last edited by André Koschnik

                                            @armilar said in SONOFF NSPanel mit Lovelace UI:

                                            yAxisTicks: [0,5,100,150,200,250],

                                            Danke hab das targetValue um Skript umgerechnet in kW. Funktioniert!

                                            Zur Doku wenn einer mal das gleiche Problem hat...
                                            Meine Solaranlage macht Max. 4100W also die yAxisTicks wie folgt:
                                            yAxisTicks: [20,40,60,80,100,20,40,60,80,200,20,40,60,80,300,20,40,60,80,400,20],

                                            Meine Werte aus der History werden aber in W und nicht in kW angegeben dann kann man ein Teil des Scriptes wie folgt anpassen:
                                            if (valueDate > targetDate){
                                            if ((targetDate.getHours() % stepXAchsis) == 0){
                                            cardChartString += (targetValue/100) + '^' + targetDate.getHours() + ':00' + '~';
                                            } else {
                                            cardChartString += (targetValue/100) + '~';
                                            }
                                            break;
                                            } else {
                                            targetValue = value;
                                            }

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            788
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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