Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • N 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

    ArmilarA Offline
    ArmilarA Offline
    Armilar
    Most Active Forum Testing
    schrieb am zuletzt editiert von Armilar
    #3947

    @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

    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
    https://github.com/joBr99/nspanel-lovelace-ui/wiki

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    N 1 Antwort Letzte Antwort
    0
    • ArmilarA 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 Offline
      N Offline
      Nev
      schrieb am zuletzt editiert von
      #3948

      @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.

      ArmilarA 1 Antwort Letzte Antwort
      0
      • N Nev

        @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.

        ArmilarA Offline
        ArmilarA Offline
        Armilar
        Most Active Forum Testing
        schrieb am zuletzt editiert von Armilar
        #3949

        @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...

        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        N 1 Antwort Letzte Antwort
        0
        • ArmilarA 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 Offline
          N Offline
          Nev
          schrieb am zuletzt editiert von Nev
          #3950

          @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.

          ArmilarA 1 Antwort Letzte Antwort
          0
          • N 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.

            ArmilarA Offline
            ArmilarA Offline
            Armilar
            Most Active Forum Testing
            schrieb am zuletzt editiert von
            #3951

            @nev

            Wirf mal die vom Script angelegten Ordner weg...

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

            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
            https://github.com/joBr99/nspanel-lovelace-ui/wiki

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            N 1 Antwort Letzte Antwort
            0
            • ArmilarA Armilar

              @nev

              Wirf mal die vom Script angelegten Ordner weg...

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

              N Offline
              N Offline
              Nev
              schrieb am zuletzt editiert von
              #3952

              @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

              ArmilarA 1 Antwort Letzte Antwort
              0
              • N Nev

                @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

                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von Armilar
                #3953

                @nev

                Wie sieht es mit dem System aus?

                • NodeJS (node -v)
                • JS-Adapter-Version?

                Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                N 1 Antwort Letzte Antwort
                0
                • ArmilarA Armilar

                  @nev

                  Wie sieht es mit dem System aus?

                  • NodeJS (node -v)
                  • JS-Adapter-Version?
                  N Offline
                  N Offline
                  Nev
                  schrieb am zuletzt editiert von
                  #3954

                  @armilar

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

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

                  Ich update mal die nodeJS...

                  ArmilarA 1 Antwort Letzte Antwort
                  0
                  • N Nev

                    @armilar

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

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

                    Ich update mal die nodeJS...

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #3955

                    kleiner Tipp:

                    https://forum.iobroker.net/topic/69067/neuer-befehl-iob-nodejs-update?page&#x3D;1

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    N 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      kleiner Tipp:

                      https://forum.iobroker.net/topic/69067/neuer-befehl-iob-nodejs-update?page&#x3D;1

                      N Offline
                      N Offline
                      Nev
                      schrieb am zuletzt editiert von
                      #3956

                      @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...

                      ArmilarA N 2 Antworten Letzte Antwort
                      0
                      • N Nev

                        @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...

                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von Armilar
                        #3957

                        @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

                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        1 Antwort Letzte Antwort
                        0
                        • N Nev

                          @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...

                          N Offline
                          N Offline
                          Nev
                          schrieb am zuletzt editiert von
                          #3958

                          @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.

                          ArmilarA 1 Antwort Letzte Antwort
                          0
                          • N Nev

                            @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.

                            ArmilarA Offline
                            ArmilarA Offline
                            Armilar
                            Most Active Forum Testing
                            schrieb am zuletzt editiert von
                            #3959

                            @nev sagte in SONOFF NSPanel mit Lovelace UI:

                            0_userdata.X wurde gebaut

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

                            Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                            https://github.com/joBr99/nspanel-lovelace-ui/wiki

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            N 1 Antwort Letzte Antwort
                            0
                            • ArmilarA Armilar

                              @nev sagte in SONOFF NSPanel mit Lovelace UI:

                              0_userdata.X wurde gebaut

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

                              N Offline
                              N Offline
                              Nev
                              schrieb am zuletzt editiert von
                              #3960

                              @armilar

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

                              DANKE!

                              K 1 Antwort Letzte Antwort
                              1
                              • N Nev

                                @armilar

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

                                DANKE!

                                K Offline
                                K Offline
                                Kuckuckmann
                                schrieb am zuletzt editiert von
                                #3961

                                @nev

                                Ich wollte grade sagen, deine NSPanel TS Skripte laufen nicht unter common.

                                NSPanel Dokumentation im GitHub Wiki:

                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                ArmilarA 1 Antwort Letzte Antwort
                                0
                                • K Kuckuckmann

                                  @nev

                                  Ich wollte grade sagen, deine NSPanel TS Skripte laufen nicht unter common.

                                  ArmilarA Offline
                                  ArmilarA Offline
                                  Armilar
                                  Most Active Forum Testing
                                  schrieb am zuletzt editiert von
                                  #3962

                                  @kuckuckmann

                                  Spielt auch eher eine untergeordnete Rolle. Solange sie nicht unter global (böser Ort für Skripte) liegen ;-)

                                  Common hat da eher einen kosmetischen Ordner-Hintergrund

                                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  B 1 Antwort Letzte Antwort
                                  0
                                  • ArmilarA Armilar

                                    @kuckuckmann

                                    Spielt auch eher eine untergeordnete Rolle. Solange sie nicht unter global (böser Ort für Skripte) liegen ;-)

                                    Common hat da eher einen kosmetischen Ordner-Hintergrund

                                    B Offline
                                    B Offline
                                    Bergi84
                                    schrieb am zuletzt editiert von
                                    #3963

                                    Ich beschäftige mich seit ein paar Tagen mit Lovelace UI auf dem NS Panel und glaube eine Fehler im Script gefunden zuhaben. Ich bin ganz neu in der Materie daher ist die Wahrscheinlichkeit groß das ich falsch liege.

                                    Ich verwende die Version v4.3.1.5 von dem Script. Ich wollte auf einer Grid Page die gemessene Feuchtigkeit von meinen Temperatursensoren anzeigen lassen welche im Alias Device unter SECOND verfügbar ist. Das sollte so wie es verstanden habe ja so funktionieren:

                                    let NSPanel_Humi = <PageGrid>
                                    {
                                        'type': 'cardGrid',
                                        'heading': 'Feuchtigkeit',
                                        'useColor': true,
                                        'items': [
                                            <PageItem>{ id: 'alias.0.devices.TempSchlafzimmer.SECOND', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
                                        ]
                                    };
                                    

                                    Ich bekam aber immer den Wert 0 angezeigt. Der Grund, dass das nicht funktioniert liegt in der function CreateEntity in folgendem CodeTeil:

                                                    case 'info':
                                    
                                                    case 'humidity':
                                    
                                                    case 'temperature':
                                    
                                                    case 'value.temperature':
                                    
                                                    case 'value.humidity':
                                    
                                                    case 'sensor.door':
                                    
                                                    case 'sensor.window':
                                    
                                                    case 'thermostat':
                                                        type = 'text';
                                    
                                                        iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
                                         
                                                        let unit = '';
                                                        optVal = '0';
                                    
                                                        if (existsState(pageItem.id + '.ON_ACTUAL')) {
                                                            optVal = getState(pageItem.id + '.ON_ACTUAL').val;
                                                            unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ON_ACTUAL');
                                                        } else if (existsState(pageItem.id + '.ACTUAL')) {
                                                            optVal = getState(pageItem.id + '.ACTUAL').val;
                                                            unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ACTUAL');
                                                        }
                                    
                                    // Hier gehört noch:
                                                        else if (o.common.role == 'value.temperature' || o.common.role == 'value.humidity') {
                                                            optVal = getState(pageItem.id).val;
                                                            unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id);
                                                        }
                                    // ende Ergänzung
                                    
                                                        if (o.common.role == 'value.temperature') {
                                                            iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('thermometer');
                                                        }
                                    
                                    // ist übrigens redundant: 
                                                        iconColor = GetIconColor(pageItem, parseInt(optVal), useColors);
                                    

                                    Mit dieser kleine Ergänzung funktioniert es bei mir.

                                    Bitte korrigiert mich falls ich falsch liege.

                                    ArmilarA T 2 Antworten Letzte Antwort
                                    0
                                    • B Bergi84

                                      Ich beschäftige mich seit ein paar Tagen mit Lovelace UI auf dem NS Panel und glaube eine Fehler im Script gefunden zuhaben. Ich bin ganz neu in der Materie daher ist die Wahrscheinlichkeit groß das ich falsch liege.

                                      Ich verwende die Version v4.3.1.5 von dem Script. Ich wollte auf einer Grid Page die gemessene Feuchtigkeit von meinen Temperatursensoren anzeigen lassen welche im Alias Device unter SECOND verfügbar ist. Das sollte so wie es verstanden habe ja so funktionieren:

                                      let NSPanel_Humi = <PageGrid>
                                      {
                                          'type': 'cardGrid',
                                          'heading': 'Feuchtigkeit',
                                          'useColor': true,
                                          'items': [
                                              <PageItem>{ id: 'alias.0.devices.TempSchlafzimmer.SECOND', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
                                          ]
                                      };
                                      

                                      Ich bekam aber immer den Wert 0 angezeigt. Der Grund, dass das nicht funktioniert liegt in der function CreateEntity in folgendem CodeTeil:

                                                      case 'info':
                                      
                                                      case 'humidity':
                                      
                                                      case 'temperature':
                                      
                                                      case 'value.temperature':
                                      
                                                      case 'value.humidity':
                                      
                                                      case 'sensor.door':
                                      
                                                      case 'sensor.window':
                                      
                                                      case 'thermostat':
                                                          type = 'text';
                                      
                                                          iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
                                           
                                                          let unit = '';
                                                          optVal = '0';
                                      
                                                          if (existsState(pageItem.id + '.ON_ACTUAL')) {
                                                              optVal = getState(pageItem.id + '.ON_ACTUAL').val;
                                                              unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ON_ACTUAL');
                                                          } else if (existsState(pageItem.id + '.ACTUAL')) {
                                                              optVal = getState(pageItem.id + '.ACTUAL').val;
                                                              unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ACTUAL');
                                                          }
                                      
                                      // Hier gehört noch:
                                                          else if (o.common.role == 'value.temperature' || o.common.role == 'value.humidity') {
                                                              optVal = getState(pageItem.id).val;
                                                              unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id);
                                                          }
                                      // ende Ergänzung
                                      
                                                          if (o.common.role == 'value.temperature') {
                                                              iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('thermometer');
                                                          }
                                      
                                      // ist übrigens redundant: 
                                                          iconColor = GetIconColor(pageItem, parseInt(optVal), useColors);
                                      

                                      Mit dieser kleine Ergänzung funktioniert es bei mir.

                                      Bitte korrigiert mich falls ich falsch liege.

                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      schrieb am zuletzt editiert von Armilar
                                      #3964

                                      @bergi84

                                      Der .SECOND ist zwar im Temperatur-Alias für die Luftfeuchte im Gerätemanager vorhanden, wird jedoch nicht genutzt und war auch nie vorgesehen. Die vorgeschlagene Änderung zeigt dir die Luftfeuchte an, wird aber nur aktualisiert, wenn sich die der Trigger "Temperatur" ändert, da diese auf dem .ACTUAL Datenpunkt arbeitet.

                                      Besser wäre daher, wie auch im Script vorgesehen, den Alias-Gerätetyp Feuchtigkeit (channel humidity) im PageItem ohne .SECOND zu verwenden. Dann wird auch, wenn sich nur die Luftfeuchte ändert ein Update gesendet.

                                      Also

                                      • ein separater Alias (temperatur oder info) für die Temperatur (nur .ACTUAL und ohne .SECOND)
                                      • ein separater Alias (humidity oder info) für die Luftfeuchte (nur .ACTUAL)

                                      EDIT: Hier noch der Link zur Wiki für den Luftfeuchte Alias:
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen#feuchtigkeit-channel-humidity

                                      Und herzlich willkommen im Thread :blush:

                                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      1 Antwort Letzte Antwort
                                      0
                                      • B Bergi84

                                        Ich beschäftige mich seit ein paar Tagen mit Lovelace UI auf dem NS Panel und glaube eine Fehler im Script gefunden zuhaben. Ich bin ganz neu in der Materie daher ist die Wahrscheinlichkeit groß das ich falsch liege.

                                        Ich verwende die Version v4.3.1.5 von dem Script. Ich wollte auf einer Grid Page die gemessene Feuchtigkeit von meinen Temperatursensoren anzeigen lassen welche im Alias Device unter SECOND verfügbar ist. Das sollte so wie es verstanden habe ja so funktionieren:

                                        let NSPanel_Humi = <PageGrid>
                                        {
                                            'type': 'cardGrid',
                                            'heading': 'Feuchtigkeit',
                                            'useColor': true,
                                            'items': [
                                                <PageItem>{ id: 'alias.0.devices.TempSchlafzimmer.SECOND', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': -20, 'val_max': 40, 'val_best': 20} },
                                            ]
                                        };
                                        

                                        Ich bekam aber immer den Wert 0 angezeigt. Der Grund, dass das nicht funktioniert liegt in der function CreateEntity in folgendem CodeTeil:

                                                        case 'info':
                                        
                                                        case 'humidity':
                                        
                                                        case 'temperature':
                                        
                                                        case 'value.temperature':
                                        
                                                        case 'value.humidity':
                                        
                                                        case 'sensor.door':
                                        
                                                        case 'sensor.window':
                                        
                                                        case 'thermostat':
                                                            type = 'text';
                                        
                                                            iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
                                             
                                                            let unit = '';
                                                            optVal = '0';
                                        
                                                            if (existsState(pageItem.id + '.ON_ACTUAL')) {
                                                                optVal = getState(pageItem.id + '.ON_ACTUAL').val;
                                                                unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ON_ACTUAL');
                                                            } else if (existsState(pageItem.id + '.ACTUAL')) {
                                                                optVal = getState(pageItem.id + '.ACTUAL').val;
                                                                unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ACTUAL');
                                                            }
                                        
                                        // Hier gehört noch:
                                                            else if (o.common.role == 'value.temperature' || o.common.role == 'value.humidity') {
                                                                optVal = getState(pageItem.id).val;
                                                                unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id);
                                                            }
                                        // ende Ergänzung
                                        
                                                            if (o.common.role == 'value.temperature') {
                                                                iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('thermometer');
                                                            }
                                        
                                        // ist übrigens redundant: 
                                                            iconColor = GetIconColor(pageItem, parseInt(optVal), useColors);
                                        

                                        Mit dieser kleine Ergänzung funktioniert es bei mir.

                                        Bitte korrigiert mich falls ich falsch liege.

                                        T Offline
                                        T Offline
                                        TT-Tom
                                        schrieb am zuletzt editiert von
                                        #3965

                                        @bergi84

                                        ein zusätzlicher Hinweis. Die ID des Pagitem benötigt keinen Datenpunkt ( z.B. ".SECOND oder .ACTUAL), nur den Channel. Das Script ermittelt selber die benötigten Datenpunkte zur Rolle des Channel.

                                        Gruß Tom
                                        https://github.com/tt-tom17
                                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                        NSPanel Script Wiki
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        NSPanel Adapter Wiki
                                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                        1 Antwort Letzte Antwort
                                        1
                                        • B Offline
                                          B Offline
                                          Bergi84
                                          schrieb am zuletzt editiert von
                                          #3966

                                          Danke für die schnelle Antwort und auch danke für das Tolle Script.

                                          @Armilar
                                          Ich hab prinzipiell gesehen das es auch möglich ist eine Feuchtigkeitsgerät zu verwenden aber ich dachte mir wenn es im Script auch vorgesehen ist direkt die Datenpunkte zu verwenden dann mach ich das. Somit brauchte ich nur ein Alias Gerät statt zwei Anlegen. Das dieser Scriptteil nicht vorgesehen ist für die Nutzung wusste ich nicht.

                                          Das mit dem updaten spielt bei dem Grid View vermutlich nur untergeordnete Rolle da die Werte beim Aufruf so wie ich das gesehen habe eh neu geladen werden. Nach ein paar Sekunden springt eh der Screensaver rein.

                                          Hab jetzt meine Konfiguration auf die vorgeschlagene weise geändert.

                                          @TT-Tom
                                          Das habe ich verstanden aber ich hab im Script gesehen das es möglich ist auch direkt die datenpunkte zu nutzen wenn die Rolle stimmt. Dadurch bin ich überhaupt erst auf die Idee gekommen das zu verwenden. Dachte das ist eine alternative Konfigurationsmöglichkeit.

                                          @all
                                          Übrigens hab ich gleich auch noch einen Verbesserungswunsch den ich hier zur Diskussion stellen wollte. Und zwar geht es darum dass ich gerne hätte wenn ich zB auf auf einer GridPage auf die Temperatur vom zB. Wohnzimmer drücke dass sich dann eine subPage öffnet. Durch hinzufügen entsprechenden cases in der Funktion CreateEntity in der switch abfrage für die dynamischen navi icons hab ich das mal ausprobiert und in meinem Fall funktioniert das.

                                          geänderte Config damit es auch funktioniert:

                                          let NSPanel_Temp = <PageGrid>
                                          {
                                              'type': 'cardGrid',
                                              'heading': 'Temperaturen',
                                              'useColor': true,
                                              'items': [
                                                  <PageItem>{ navigate: true, targetPage: 'NSPanel_TestSub', id: 'alias.0.devices.TempSchlafzimmer', unit: '°C', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen, useValue: true, colorScale: {'val_min': 20, 'val_max': 25, 'val_best': 23} },
                                              ]
                                          };
                                          

                                          Hinzugefügte cases in der Funktion CreateEntity in dem switch für die dynamischen navi icons.

                                                                  case 'humidity':
                                          
                                                                  case 'temperature':
                                          
                                                                  case 'value.temperature':
                                          
                                                                  case 'value.humidity':
                                          
                                                                  case 'sensor.door':
                                          
                                                                  case 'sensor.window':
                                          
                                                                  case 'thermostat':
                                                                      type = 'text';
                                          
                                                                      iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'value.temperature' || o.common.role == 'thermostat' ? Icons.GetIcon('thermometer') : Icons.GetIcon('information-outline');
                                                      
                                                                      let unit = '';
                                                                      optVal = '0';
                                          
                                                                      if (existsState(pageItem.id + '.ON_ACTUAL')) {
                                                                          optVal = getState(pageItem.id + '.ON_ACTUAL').val;
                                                                          unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ON_ACTUAL');
                                                                      } else if (existsState(pageItem.id + '.ACTUAL')) {
                                                                          optVal = getState(pageItem.id + '.ACTUAL').val;
                                                                          unit = pageItem.unit !== undefined ? pageItem.unit : GetUnitOfMeasurement(pageItem.id + '.ACTUAL');
                                                                      } 
                                                                      
                                                                      if (o.common.role == 'value.temperature') {
                                                                          iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('thermometer');
                                                                      }
                                                                      
                                                                      iconColor = GetIconColor(pageItem, parseInt(optVal), useColors);
                                          
                                                                      if (pageItem.colorScale != undefined) {
                                                                          let iconvalmin = (pageItem.colorScale.val_min != undefined) ? pageItem.colorScale.val_min : 0 ;
                                                                          let iconvalmax = (pageItem.colorScale.val_max != undefined) ? pageItem.colorScale.val_max : 100 ;
                                                                          let iconvalbest = (pageItem.colorScale.val_best != undefined) ? pageItem.colorScale.val_best : iconvalmin ;
                                                                          let valueScale = val;
                                          
                                                                          if (iconvalmin == 0 && iconvalmax == 1) {
                                                                              iconColor = (getState(pageItem.id).val == 1) ? rgb_dec565(colorScale0) : rgb_dec565(colorScale10);
                                                                          } else {
                                                                              if (iconvalbest == iconvalmin) {
                                                                                  valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0);
                                                                              } else {
                                                                                  if (valueScale < iconvalbest) {
                                                                                      valueScale = scale(valueScale,iconvalmin, iconvalbest, 0, 10);
                                                                                  } else if (valueScale > iconvalbest || iconvalbest != iconvalmin) {
                                                                                      valueScale = scale(valueScale,iconvalbest, iconvalmax, 10, 0);
                                                                                  } else {
                                                                                      valueScale = scale(valueScale,iconvalmin, iconvalmax, 10, 0);
                                                                                  }
                                                                              }
                                                                              let valueScaletemp = (Math.round(valueScale)).toFixed();
                                                                              iconColor = HandleColorScale(valueScaletemp);
                                                                          }
                                                                      }
                                          
                                                                      if (existsState(pageItem.id + '.USERICON')) {
                                                                          iconId = Icons.GetIcon(getState(pageItem.id + '.USERICON').val);
                                                                          if (Debug) console.log('iconid von ' + pageItem.id + '.USERICON: ' + getState(pageItem.id + '.USERICON').val);
                                                                          RegisterEntityWatcher(pageItem.id + '.USERICON');
                                                                      }
                                          
                                                                      if (pageItem.useValue) {
                                                                          if (pageItem.fontSize != undefined) {
                                                                              iconId = optVal + '¬' + pageItem.fontSize; 
                                                                          } else {
                                                                              iconId = optVal; 
                                                                          }
                                                                      }
                                          
                                                                      if (Debug) console.log('CreateEntity Icon role info, humidity, temperature, value.temperature, value.humidity, sensor.door, sensor.window, thermostat');
                                                                      if (Debug) console.log('CreateEntity  ~' + type + 'navigate.' + pageItem.targetPage + '~' + iconId + '~' + iconColor + '~' + name + '~' + optVal + ' ' + unit);
                                                                      return '~' + type + '~' + 'navigate.' + pageItem.targetPage + '~' + iconId + '~' + iconColor + '~' + name + '~' + optVal + ' ' + unit;
                                          
                                          
                                          ArmilarA 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          792

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe