Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

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

      So mittlerweile habe ich das Panel mit allem wichtigem eingerichtet und bin super zufrieden!

      Was momentan noch nicht funktioniert ist die Energieanzeige via "cardpower"
      Das Problem ist, dass das in der Anleitung aufgeführte Javascript von @l4rs im JSON-String eine falsche Struktur aufweist.

      Beispiel für id1 soll:

        {
          "id": 1,
          "value": 3,
          "unit": "kW",
          "icon": "battery-charging-60",
          "iconColor": 10,
          "speed": 30
        },
      

      Beispiel für id1 ist:

          {
            "id": 1
          },
          {
            "value": 0
          },
          {
            "unit": "W"
          },
          {
            "icon": "battery-charging-60"
          },
          {
            "iconColor": 0
          },
          {}
      

      Es werden zu viele {} verwendet. Allerdings verstehe ich leider nicht wie ich das im Javascript ändern muss.

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

        @foradh-0
        zeige mal dein Script. läuft bei mir ohne Probleme.

        F 1 Reply Last reply Reply Quote 0
        • F
          Foradh 0 @TT-Tom last edited by

          @tt-tom
          Hier das Javascript mit meinen Werten

          /**
          * generate an JSON for display Power-Card on NSPanel
          * Source: https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#cardpower-ab-ts-script-v341
          * Version: 0.1 - L4rs
          */
          schedule("* * * * *", function () {
           
              // Definition der Datenpunkte für das JSON der POWER-Card und der anzuzeigenden Leistungswerte
              var powerCardJson = "0_userdata.0.Datenpunkte.CardPower_json",
                pwr1 = Math.round(getState("modbus.1.holdingRegisters.57716_Battery_1_Instantaneous_Power").val), // Batterie
                pwr2 = Math.round(getState("javascript.0.Solar.Wechselrichter.PVLeistungAktuell").val),    // Solar
                pwr3 = "",    // Wind
                pwr4 = Math.round(getState("javascript.0.Solar.Wechselrichter.Hausverbrauch").val),   // Verbraucher
                pwr5 = Math.round(getState("modbus.1.holdingRegisters.40206_M_AC_Power").val),    // Stromnetz
                pwr6 = "", // Auto
                pwrHome = Math.round(pwr5 - pwr2);    // Berechnung des Energiefluss anstelle eines Datenpunktes
              
              // Definition der Keys im JSON
              var keys = ["id", "value", "unit", "icon", "iconColor", "speed"];
              
              // Definition der "Kacheln", inkl. StandardIcon. Es können alle Icon aus dem Iconmapping genutzt werden.
              // Kacheln die nicht genutzt werden sollen, müssen wie z.b. item1 formatiert sein
              var home = [0, pwrHome, "W", "home-lightning-bolt-outline", 0]; // Icon home
              var item1 = [1, pwr1, "W", "battery-charging-60", 0];   // Icon battery-charging-60
              var item2 = [2, pwr2, "W", "solar-power-variant-outline", 3, pwr2 > 0 ? -2 : 0]; // Icon solar-power-variant
              var item3 = [3, pwr3, "", "", "", ""];   // Icon wind-turbine
              var item4 = [4, pwr4, "W", "shape", 0];   // Icon shape
              var item5 = [5, pwr5, "W", "transmission-tower", 10, 10];   // Icon transmission-tower
              var item6 = [3, pwr6, "", "", "", ""];  // Icon car
              
              /**
               * JSON generieren und in den Datenpunkt schreiben,
               *
               *  --- ab hier keine Änderungen mehr ---
               */
              function func(tags, values) {
                return Object.assign(
                  ...tags.map((element, index) => ({ [element]: values[index] }))
                );
              }
              
              setState(
                powerCardJson,
                JSON.stringify([
                  func(keys, home),
                  func(keys, item1),
                  func(keys, item2),
                  func(keys, item3),
                  func(keys, item4),
                  func(keys, item5),
                  func(keys, item6),
                ])
              );
             });
          
          T 1 Reply Last reply Reply Quote 0
          • T
            TT-Tom @Foradh 0 last edited by TT-Tom

            @foradh-0
            Probiere mal die Parameter. Bei den „item“ müssen 6 Werte übergeben werden.

            
                var item1 = [1, pwr1, "W", "battery-charging-60", 0, ""];   // Icon battery-charging-60
                var item2 = [2, pwr2, "W", "solar-power-variant-outline", 3, pwr2 > 0 ? -2 : 0]; // Icon solar-power-variant
                var item3 = [3, pwr3, "", "", 0, ""];   // Icon wind-turbine
                var item4 = [4, pwr4, "W", "shape", 0, ""];   // Icon shape
                var item5 = [5, pwr5, "W", "transmission-tower", 10, 10];   // Icon transmission-tower
                var item6 = [6, pwr6, "", "", 0, "" ];  // Icon car
            
            
            F 1 Reply Last reply Reply Quote 1
            • F
              Foradh 0 @TT-Tom last edited by

              @tt-tom
              👍 Super, damit funktioniert es

              Beste Grüße
              Foradh

              1 Reply Last reply Reply Quote 0
              • N
                Nev last edited by Nev

                Hallo,

                jetzt hab ich doch einen Einsatzzweck für meine beiden Displays gefunden.
                Also nochmal alle Firmware und Tasmota nach Anleitung geupdated. (auch alte nspanel.be etc. gelöscht)

                Das Display kringelt nun vor sich hin und wartet auf Daten....

                Ich stecke nun hier im TS script fest mit der Fehlermeldung :
                6ea130fe-68cd-4f7f-8dd2-404efe269186-image.png

                Ich hab keinen Plan was bei Zeile 32 falsch sein sollte, geschweige denn welche das ist. Kommentare sind es vermutlich nicht ... bzw. werden nicht mitgezählt...

                Vielleicht hat jemand eine Idee?

                Danke! Nev

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

                  @nev

                  bei Zeile 32 ist sicherlich nicht der Fehler 😉 Die Zeillennummerierung kannst du im ioBroker knicken.

                  Ich vermute mal eher auf ein fehlendes Icon-Script (unter Schripte im global-Verzeichnis)

                  also das blaue:

                  2a092c6d-592a-47d3-9296-584f16447554-image.png

                  https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation#8--icon-typescript-anlegen

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

                    @armilar

                    Ne das ist es nicht.

                    Das Script hatte ich auch schon vermutet und 2 mal neu eingespielt und alles neu gestartet.

                    cb368110-9d5b-40c1-a726-608d61304f23-image.png

                    Bin offen für andere Vorschläge.

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

                      @nev

                      Zeige mal was du alles verändert hast im NSPanelTS.ts?

                      Ist eigentlich ohne weitere Anpassungen als:

                      const NSPanel_Path = '0_userdata.0.NSPanel.1.';       // Anpassen an das jeweilige NSPanel
                      const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.';     // Pfad für gemeinsame Nutzung durch mehrere Panels (bei Nutzung der cardAlarm)
                      
                      
                      export const config = <Config> {
                           panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // Bitte anpassen
                           panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // Bitte anpassen
                      

                      bereits lauffähig...

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

                        @armilar

                        Davon war ich ausgegangen ich hab lediglich die Pfade angepasst.

                        e8287713-4667-45fc-a351-b36080db6418-image.png

                        Das sind schon ordner oder?
                        96c6fca9-7977-417a-9982-892c8832a6b4-image.png

                        und dann noch die mqtt:
                        d5ebb89e-dc66-44f7-ae7e-157296cf9ec6-image.png

                        und hier die Objekte:
                        59852774-a561-4ba8-b044-57a289b41d97-image.png

                        Jetzt hoffe ich nur ich hab mich nirgendwo vertippt, das wäre peinlich..

                        Ich habs jetzt nochmal plain reingeladen, gleicher Fehler...ohne irgendwelche Änderungen.

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

                          @nev

                          Wirf mal die vom Script angelegten Ordner weg...

                          0_userdata.0.NSPanel... und
                          alias.0.NSPanel...

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

                            @armilar

                            aliases gibts noch garnicht. Soweit kommt das script schon garnicht.

                            Hab die 0_userdata auch weggeworfen keine Änderung.

                            https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/ioBroker/NsPanelTs.ts
                            Das ist btw das Script das ich nutze, grad frisch nochmal gezogen nur copy und paste......Fehler

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

                              @nev

                              Wie sieht es mit dem System aus?

                              • NodeJS (node -v)
                              • JS-Adapter-Version?
                              N 1 Reply Last reply Reply Quote 0
                              • N
                                Nev @Armilar last edited by

                                @armilar

                                e508a496-92b0-481a-9594-5fdbe4f6d6c3-image.png

                                4b2c1ddf-0028-4e4b-b07c-e7ddaaa90a91-image.png

                                Ich update mal die nodeJS...

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

                                  kleiner Tipp:

                                  https://forum.iobroker.net/topic/69067/neuer-befehl-iob-nodejs-update?page=1

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

                                    @armilar

                                    Hmmm geht immer noch nicht 😞

                                    ======================= SUMMARY =======================
                                                            v.2023-10-10
                                    
                                    
                                       Static hostname: muks-nuc
                                             Icon name: computer-desktop
                                               Chassis: desktop
                                      Operating System: Ubuntu 20.04.6 LTS
                                                Kernel: Linux 5.4.0-164-generic
                                          Architecture: x86-64
                                    
                                    Installation:           native
                                    Kernel:                 x86_64
                                    Userland:               amd64
                                    Timezone:               Europe/Berlin (CEST, +0200)
                                    User-ID:                1000
                                    X-Server:               true
                                    Boot Target:            graphical.target
                                    
                                    Pending OS-Updates:     0
                                    Pending iob updates:    0
                                    
                                    Nodejs-Installation:    /usr/bin/nodejs         v18.18.2
                                                            /usr/bin/node           v18.18.2
                                                            /usr/bin/npm            9.8.1
                                                            /usr/bin/npx            9.8.1
                                                            /usr/bin/corepack       0.19.0
                                    
                                    Recommended versions are nodejs 18.18.2 and npm 9.8.1
                                    Your nodejs installation is correct
                                    
                                    MEMORY:
                                                  total        used        free      shared  buff/cache   available
                                    Mem:            15G        2.7G         10G         11M        2.3G         12G
                                    Swap:          975M          0B        975M
                                    Total:          16G        2.7G         11G
                                    
                                    Active iob-Instances:   19
                                    Active repo(s): Stable (default)
                                    
                                    ioBroker Core:          js-controller           5.0.12
                                                            admin                   6.10.1
                                    
                                    ioBroker Status:        iobroker is running on this host.
                                    
                                    
                                    Objects type: jsonl
                                    States  type: jsonl
                                    
                                    Status admin and web instance:
                                    + system.adapter.admin.0                  : admin                 : muks-nuc
                                                  -  enabled, port: 8081, bind: 0.0.0.0, run as: admin
                                    + system.adapter.web.0                    : web                   : muks-nuc
                                                  -  enabled, port: 8082, bind: 0.0.0.0, run as: admin
                                    
                                    Objects:                11554
                                    States:                 10414
                                    
                                    Size of iob-Database:
                                    
                                    22M     /opt/iobroker/iobroker-data/objects.jsonl
                                    7.4M    /opt/iobroker/iobroker-data/states.jsonl
                                    
                                    =================== END OF SUMMARY ====================
                                    

                                    Jetzt hab ich nix mehr zum Updaten, system und alle iob teile geupdated...und es ist immer noch genau der gleiche Fehler. System auch neu gebootet...

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

                                      @nev

                                      Okay dann mal im Scripteditor oben in der Ecke den Haken bei "Ausführliche Protokollausgaben" setzen, das Script starten und das Log dann in Code-Tags d979f9e0-b03c-43fc-9bed-0a30cb9e6bb8-image.png senden

                                      b8243ec4-1160-408b-ae37-ee7fd99dba0c-image.png

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

                                        @nev

                                        Ok nun geht was.. ich hab ALLE anderen Scripte ausgeschaltet und die Instanz neu gestartet.

                                        Jetzt lief es durch mit warnings aber keine Errors..

                                        • alias.0.X wurden gebaut.
                                        • 0_userdata.X wurde gebaut

                                        Was zum Henker.. ich werde mal meine scripte einzel starten und den Schuldigen finden..

                                        Ich hab jetzt eine Startscreen auf dem Display

                                        Danke dir für die Hilfe.

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

                                          @nev sagte in SONOFF NSPanel mit Lovelace UI:

                                          0_userdata.X wurde gebaut

                                          Wird ein anderes Script unter "global" sein...

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

                                            @armilar

                                            Jup mein reset_cron_1min. Das lag da wohl falsch. Habs jetzt nach common verschoben und alles geht.

                                            DANKE!

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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