Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI (TypeScript Version)

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    134

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

SONOFF NSPanel mit Lovelace UI (TypeScript Version)

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
8.0k Posts 277 Posters 7.2m Views 262 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ArmilarA Armilar

    @marius-kossinna sagte in SONOFF NSPanel mit Lovelace UI:

    defaultCard

    Zu 1) Was ist die defaultCard? Hättest du einen Link? Ein Screenshot würde mir auch schon helfen

    Zu 2) cardAlarm hat @Kuckuckmann hier https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#2-alarm-page beschrieben. Es gibt zwei Blockly's und eines davon beinhaltet die Konfiguration mit der PIN im ioBroker.

    Grundsätzlich ist das TS-Script entkoppelt von deiner eigenen individuellen Logik, so dass es nicht zu "unglücklich" gelösten Anwendungsfällen kommen kann. Die cardAlarm-Funktionalität ist so angelegt, dass nicht jeder wildfremde einfach mal so den Alarm aktivieren kann. Somit ist die Eingabe einer PIN bei Aktivierung und Deaktivierung erforderlich (kann natürlich fest sein, siehe Beispiel).

    T Offline
    T Offline
    tomsport2022
    wrote on last edited by
    #643

    @armilar said in SONOFF NSPanel mit Lovelace UI:

    @marius-kossinna sagte in SONOFF NSPanel mit Lovelace UI:

    defaultCard

    Zu 1) Was ist die defaultCard? Hättest du einen Link? Ein Screenshot würde mir auch schon helfen

    Zu 2) cardAlarm hat @Kuckuckmann hier https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#2-alarm-page beschrieben. Es gibt zwei Blockly's und eines davon beinhaltet die Konfiguration mit der PIN im ioBroker.

    Grundsätzlich ist das TS-Script entkoppelt von deiner eigenen individuellen Logik, so dass es nicht zu "unglücklich" gelösten Anwendungsfällen kommen kann. Die cardAlarm-Funktionalität ist so angelegt, dass nicht jeder wildfremde einfach mal so den Alarm aktivieren kann. Somit ist die Eingabe einer PIN bei Aktivierung und Deaktivierung erforderlich (kann natürlich fest sein, siehe Beispiel).

    Gibt es eigentlich die Möglichkeit, die AlarmCard zur Pin Eingabe aufzurufen, wenn zB eine Alarmbedingung vorliegt bzw. extern via IOBroker bzw. eine angelegte Variable getriggert wird, dass nur diese am Display aufscheint und auswählbar ist?

    ArmilarA 1 Reply Last reply
    0
    • T tomsport2022

      @armilar said in SONOFF NSPanel mit Lovelace UI:

      @marius-kossinna sagte in SONOFF NSPanel mit Lovelace UI:

      defaultCard

      Zu 1) Was ist die defaultCard? Hättest du einen Link? Ein Screenshot würde mir auch schon helfen

      Zu 2) cardAlarm hat @Kuckuckmann hier https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#2-alarm-page beschrieben. Es gibt zwei Blockly's und eines davon beinhaltet die Konfiguration mit der PIN im ioBroker.

      Grundsätzlich ist das TS-Script entkoppelt von deiner eigenen individuellen Logik, so dass es nicht zu "unglücklich" gelösten Anwendungsfällen kommen kann. Die cardAlarm-Funktionalität ist so angelegt, dass nicht jeder wildfremde einfach mal so den Alarm aktivieren kann. Somit ist die Eingabe einer PIN bei Aktivierung und Deaktivierung erforderlich (kann natürlich fest sein, siehe Beispiel).

      Gibt es eigentlich die Möglichkeit, die AlarmCard zur Pin Eingabe aufzurufen, wenn zB eine Alarmbedingung vorliegt bzw. extern via IOBroker bzw. eine angelegte Variable getriggert wird, dass nur diese am Display aufscheint und auswählbar ist?

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      wrote on last edited by Armilar
      #644

      @tomsport2022

      Indirekt jein.

      Ich sag's mal so. Der Screensaver wird immer über einen gewissen eingestellten Zeitraum aktiv sein, jedoch kannst du mit einem entsprechenden Event eine spezielle Seite aufrufen und kurzzeitig übersteuern.

      Nehmen wir mal an, die Tür geht auf oder jemand läuft durch einen Bereich eines Bewegunsmelders, dann könntest du die cardAlarm aufschalten. Das macht aus meiner Sicht auch nur Sinn, wenn ein zusätzlicher Datenpunkt diese Aktion (eigene Logik) erwartet. Nachdem der Timer für den Screensaver (z.B. 20 Sekunden) zuschlägt wird wieder der Screensaver aktiv.

      Nur diese cardAlarm auswählbar machen und sonst keine andere geht nicht, wird aber aktuell bei den HA's im github ebenfalls diskutiert. Das heißt aber noch nicht, dass die Lösung kommen wird ;-)

      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.

      T J 2 Replies Last reply
      0
      • ArmilarA Armilar

        @tomsport2022

        Indirekt jein.

        Ich sag's mal so. Der Screensaver wird immer über einen gewissen eingestellten Zeitraum aktiv sein, jedoch kannst du mit einem entsprechenden Event eine spezielle Seite aufrufen und kurzzeitig übersteuern.

        Nehmen wir mal an, die Tür geht auf oder jemand läuft durch einen Bereich eines Bewegunsmelders, dann könntest du die cardAlarm aufschalten. Das macht aus meiner Sicht auch nur Sinn, wenn ein zusätzlicher Datenpunkt diese Aktion (eigene Logik) erwartet. Nachdem der Timer für den Screensaver (z.B. 20 Sekunden) zuschlägt wird wieder der Screensaver aktiv.

        Nur diese cardAlarm auswählbar machen und sonst keine andere geht nicht, wird aber aktuell bei den HA's im github ebenfalls diskutiert. Das heißt aber noch nicht, dass die Lösung kommen wird ;-)

        T Offline
        T Offline
        tomsport2022
        wrote on last edited by
        #645

        @armilar said in SONOFF NSPanel mit Lovelace UI:

        @tomsport2022

        Indirekt jein.

        Ich sag's mal so. Der Screensaver wird immer über einen gewissen eingestellten Zeitraum aktiv sein, jedoch kannst du mit einem entsprechenden Event eine spezielle Seite aufrufen und kurzzeitig übersteuern.

        Nehmen wir mal an, die Tür geht auf oder jemand läuft durch einen Bereich eines Bewegunsmelders, dann könntest du die cardAlarm aufschalten. Das macht aus meiner Sicht auch nur Sinn, wenn ein zusätzlicher Datenpunkt diese Aktion (eigene Logik) erwartet. Nachdem der Timer für den Screensaver (z.B. 20 Sekunden) zuschlägt wird wieder der Screensaver aktiv.

        Nur diese cardAlarm auswählbar machen und sonst keine andere geht nicht, wird aber aktuell bei den HA's im github ebenfalls diskutiert. Das heißt aber noch nicht, dass die Lösung kommen wird ;-)

        Ok danke für die Info und die schnelle Antwort. Ich werde dies dann mal austesten. Wie sieht so ein Aufruf aus?

        ArmilarA 1 Reply Last reply
        0
        • T tomsport2022

          @armilar said in SONOFF NSPanel mit Lovelace UI:

          @tomsport2022

          Indirekt jein.

          Ich sag's mal so. Der Screensaver wird immer über einen gewissen eingestellten Zeitraum aktiv sein, jedoch kannst du mit einem entsprechenden Event eine spezielle Seite aufrufen und kurzzeitig übersteuern.

          Nehmen wir mal an, die Tür geht auf oder jemand läuft durch einen Bereich eines Bewegunsmelders, dann könntest du die cardAlarm aufschalten. Das macht aus meiner Sicht auch nur Sinn, wenn ein zusätzlicher Datenpunkt diese Aktion (eigene Logik) erwartet. Nachdem der Timer für den Screensaver (z.B. 20 Sekunden) zuschlägt wird wieder der Screensaver aktiv.

          Nur diese cardAlarm auswählbar machen und sonst keine andere geht nicht, wird aber aktuell bei den HA's im github ebenfalls diskutiert. Das heißt aber noch nicht, dass die Lösung kommen wird ;-)

          Ok danke für die Info und die schnelle Antwort. Ich werde dies dann mal austesten. Wie sieht so ein Aufruf aus?

          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          wrote on last edited by Armilar
          #646

          @tomsport2022

          Du hast einen Datenpunkt der sieht so aus

          85f91472-8033-4197-a007-99dba1a2d362-image.png

          Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

          {"pagetype": "page", "pageId": 14}
          

          Wie findest du die pageID der z.B. cardAlarm? Du zählst in deiner "export const Config" die Seiten ab 0 beginnend.

          b0a095f5-fab8-48ca-a38d-3483f5949e44-image.png

          Ach ja... und nun nur noch das JSON zusammenbauen und in den Datenpunkt schreiben. Dann wird die Seite aufgerufen

          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.

          T 1 Reply Last reply
          0
          • ArmilarA Armilar

            @tomsport2022

            Du hast einen Datenpunkt der sieht so aus

            85f91472-8033-4197-a007-99dba1a2d362-image.png

            Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

            {"pagetype": "page", "pageId": 14}
            

            Wie findest du die pageID der z.B. cardAlarm? Du zählst in deiner "export const Config" die Seiten ab 0 beginnend.

            b0a095f5-fab8-48ca-a38d-3483f5949e44-image.png

            Ach ja... und nun nur noch das JSON zusammenbauen und in den Datenpunkt schreiben. Dann wird die Seite aufgerufen

            T Offline
            T Offline
            tomsport2022
            wrote on last edited by
            #647

            @armilar said in SONOFF NSPanel mit Lovelace UI:

            @tomsport2022

            Du hast einen Datenpunkt der sieht so aus

            85f91472-8033-4197-a007-99dba1a2d362-image.png

            Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

            {"pagetype": "page", "pageId": 14}
            

            Wie findest du die pageID der z.B. cardAlarm? Du zählst in deiner "export const Config" die Seiten ab 0 beginnend.

            b0a095f5-fab8-48ca-a38d-3483f5949e44-image.png

            Ach ja... und nun nur noch das JSON zusammenbauen und in den Datenpunkt schreiben. Dann wird die Seite aufgerufen

            Super vielen Dank wieder mal :) !

            ArmilarA 2 Replies Last reply
            0
            • T tomsport2022

              @armilar said in SONOFF NSPanel mit Lovelace UI:

              @tomsport2022

              Du hast einen Datenpunkt der sieht so aus

              85f91472-8033-4197-a007-99dba1a2d362-image.png

              Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

              {"pagetype": "page", "pageId": 14}
              

              Wie findest du die pageID der z.B. cardAlarm? Du zählst in deiner "export const Config" die Seiten ab 0 beginnend.

              b0a095f5-fab8-48ca-a38d-3483f5949e44-image.png

              Ach ja... und nun nur noch das JSON zusammenbauen und in den Datenpunkt schreiben. Dann wird die Seite aufgerufen

              Super vielen Dank wieder mal :) !

              ArmilarA Offline
              ArmilarA Offline
              Armilar
              Most Active Forum Testing
              wrote on last edited by
              #648

              @tomsport2022 :blush:

              Ist glaube ich auch noch nicht in der Wiki --> also "Top Secret" ;-)

              Ich schreibe es demnächst mal rein.

              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.

              T 1 Reply Last reply
              0
              • T tomsport2022

                @armilar said in SONOFF NSPanel mit Lovelace UI:

                @tomsport2022

                Du hast einen Datenpunkt der sieht so aus

                85f91472-8033-4197-a007-99dba1a2d362-image.png

                Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

                {"pagetype": "page", "pageId": 14}
                

                Wie findest du die pageID der z.B. cardAlarm? Du zählst in deiner "export const Config" die Seiten ab 0 beginnend.

                b0a095f5-fab8-48ca-a38d-3483f5949e44-image.png

                Ach ja... und nun nur noch das JSON zusammenbauen und in den Datenpunkt schreiben. Dann wird die Seite aufgerufen

                Super vielen Dank wieder mal :) !

                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                wrote on last edited by
                #649

                @tomsport2022 sagte in SONOFF NSPanel mit Lovelace UI:

                Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

                {"pagetype": "subpage","pageId": 2}
                

                Funktioniert im Übrigen auch für die SubPages...

                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 Reply Last reply
                0
                • ArmilarA Armilar

                  @tomsport2022 :blush:

                  Ist glaube ich auch noch nicht in der Wiki --> also "Top Secret" ;-)

                  Ich schreibe es demnächst mal rein.

                  T Offline
                  T Offline
                  tomsport2022
                  wrote on last edited by tomsport2022
                  #650

                  @armilar said in SONOFF NSPanel mit Lovelace UI:

                  @tomsport2022 :blush:

                  Ist glaube ich auch noch nicht in der Wiki --> also "Top Secret" ;-)

                  Ich schreibe es demnächst mal rein.

                  Ich weiß natürlich von nichts :blush: :grin: !

                  @armilar said in SONOFF NSPanel mit Lovelace UI:

                  @tomsport2022 sagte in SONOFF NSPanel mit Lovelace UI:

                  Dann sollte dein externes Script eine solche Zeile zusammenbauen (JSON), wobei die 14 im Beispiel eine pageID ist.

                  {"pagetype": "subpage","pageId": 2}
                  

                  Funktioniert im Übrigen auch für die SubPages...

                  Danke habs schon erfolgreich ausprobiert :grinning:

                  1 Reply Last reply
                  1
                  • PeoplesP Offline
                    PeoplesP Offline
                    Peoples
                    wrote on last edited by
                    #651

                    Hi,

                    zuerst mal muss ich sagen dass das ein Super Projekt ist.

                    Auch auf die Gefahr hin dass das schon gefragt wurde, ist es möglich bspw. bei Licht zwei verschiedene Symbole für On und Off zu verwenden?

                    Und weil ich immer den Fehler bekam:

                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at processImmediate (internal/timers.js:437:9)
                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at runNextTicks (internal/process/task_queues.js:60:5)
                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at runMicrotasks (<anonymous>:null:null)
                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at fulfilled (script.js.NS-Panel1:5:58)
                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at Object.next (script.js.NS-Panel1:14:53)
                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at step (script.js.NS-Panel1:33:23)
                    
                    javascript.0
                    2022-11-11 12:30:37.089	warn	at script.js.NS-Panel1:1314:46
                    
                    javascript.0
                    2022-11-11 12:30:37.088	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
                    
                    javascript.0
                    2022-11-11 12:30:37.088	warn	at new Promise (<anonymous>:null:null)
                    
                    javascript.0
                    2022-11-11 12:30:37.088	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
                    
                    javascript.0
                    2022-11-11 12:30:37.087	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                    
                    javascript.0
                    2022-11-11 12:30:37.084	warn	You are assigning a string to the state "0_userdata.0.NSPanel.1.Berry_Driver.currentVersion" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                    

                    habe ich die Zeile:

                    await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(result).nlui_driver_version, ack: true });
                    

                    um ein parseInt erweitert dann wars weg:

                    await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: parseInt(JSON.parse(result).nlui_driver_version), ack: true });
                    

                    Ich beantworte keine Fragen zu Themen via PN

                    ArmilarA 2 Replies Last reply
                    0
                    • PeoplesP Peoples

                      Hi,

                      zuerst mal muss ich sagen dass das ein Super Projekt ist.

                      Auch auf die Gefahr hin dass das schon gefragt wurde, ist es möglich bspw. bei Licht zwei verschiedene Symbole für On und Off zu verwenden?

                      Und weil ich immer den Fehler bekam:

                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at processImmediate (internal/timers.js:437:9)
                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at runNextTicks (internal/process/task_queues.js:60:5)
                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at runMicrotasks (<anonymous>:null:null)
                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at fulfilled (script.js.NS-Panel1:5:58)
                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at Object.next (script.js.NS-Panel1:14:53)
                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at step (script.js.NS-Panel1:33:23)
                      
                      javascript.0
                      2022-11-11 12:30:37.089	warn	at script.js.NS-Panel1:1314:46
                      
                      javascript.0
                      2022-11-11 12:30:37.088	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
                      
                      javascript.0
                      2022-11-11 12:30:37.088	warn	at new Promise (<anonymous>:null:null)
                      
                      javascript.0
                      2022-11-11 12:30:37.088	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
                      
                      javascript.0
                      2022-11-11 12:30:37.087	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                      
                      javascript.0
                      2022-11-11 12:30:37.084	warn	You are assigning a string to the state "0_userdata.0.NSPanel.1.Berry_Driver.currentVersion" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                      

                      habe ich die Zeile:

                      await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(result).nlui_driver_version, ack: true });
                      

                      um ein parseInt erweitert dann wars weg:

                      await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: parseInt(JSON.parse(result).nlui_driver_version), ack: true });
                      
                      ArmilarA Offline
                      ArmilarA Offline
                      Armilar
                      Most Active Forum Testing
                      wrote on last edited by
                      #652

                      @peoples sagte in SONOFF NSPanel mit Lovelace UI:

                      um ein parseInt erweitert dann wars weg:

                      await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: parseInt(JSON.parse(result).nlui_driver_version), ack: true });
                      

                      Werde ich mal für die nächste Version einbauen. Kommt irgendwie immer zustande, wenn das github-Limit bereits überschritten war. Ich sammele immer ein wenig und dann kommt das nächste Release.

                      • CIE (d.h, XY als Gerätetyp ) kommt ebenfalls in die nächste Version 3.5.0.6

                      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 Reply Last reply
                      0
                      • PeoplesP Peoples

                        Hi,

                        zuerst mal muss ich sagen dass das ein Super Projekt ist.

                        Auch auf die Gefahr hin dass das schon gefragt wurde, ist es möglich bspw. bei Licht zwei verschiedene Symbole für On und Off zu verwenden?

                        Und weil ich immer den Fehler bekam:

                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at processImmediate (internal/timers.js:437:9)
                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at runNextTicks (internal/process/task_queues.js:60:5)
                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at runMicrotasks (<anonymous>:null:null)
                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at fulfilled (script.js.NS-Panel1:5:58)
                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at Object.next (script.js.NS-Panel1:14:53)
                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at step (script.js.NS-Panel1:33:23)
                        
                        javascript.0
                        2022-11-11 12:30:37.089	warn	at script.js.NS-Panel1:1314:46
                        
                        javascript.0
                        2022-11-11 12:30:37.088	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16
                        
                        javascript.0
                        2022-11-11 12:30:37.088	warn	at new Promise (<anonymous>:null:null)
                        
                        javascript.0
                        2022-11-11 12:30:37.088	warn	at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16
                        
                        javascript.0
                        2022-11-11 12:30:37.087	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20)
                        
                        javascript.0
                        2022-11-11 12:30:37.084	warn	You are assigning a string to the state "0_userdata.0.NSPanel.1.Berry_Driver.currentVersion" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions.
                        

                        habe ich die Zeile:

                        await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: JSON.parse(result).nlui_driver_version, ack: true });
                        

                        um ein parseInt erweitert dann wars weg:

                        await setStateAsync(NSPanel_Path + 'Berry_Driver.currentVersion', <iobJS.State>{ val: parseInt(JSON.parse(result).nlui_driver_version), ack: true });
                        
                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        wrote on last edited by Armilar
                        #653

                        @peoples sagte in SONOFF NSPanel mit Lovelace UI:

                        ist es möglich bspw. bei Licht zwei verschiedene Symbole für On und Off zu verwenden?

                        Bei den Gerätetypen Steckdose und Licht kannst du auch ein icon2 im pageItem mitgeben. Für die anderen Licht-Gerätetypen habe ich es noch nicht übernommen, wäre aber ebenfalls sinnvoll...

                        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 Reply Last reply
                        0
                        • ArmilarA Armilar

                          @matrose65

                          Gleiches Problem... Du hast den JS-Adapter nicht auf v6.1.3 upgedatet. Es sind aktuell im Skript neue Alias-Funktionen drin und die gibt es erst seit dem 3.11.2022

                          siehe auch: https://forum.iobroker.net/post/888302 von gestern (und die nachfolgenden 2 Posts)

                          2 Möglichkeiten:

                          • Version 3.5.0.5 mit einem aktualisierten JavaScript-Adapter auf v6.1.3
                          • Version 3.5.0.4 ohne Update JS-Adapter.

                          Die 6.1.3 läuft prima. Falls du auch noch ein veraltetes node.js hast, solltest du das vorher upgraden. Die empfohlene node.js Version ist 16.18.1 (empfohlen). Die 18er hat noch Fehler und "nein" - ist nicht besser

                          also wenn node-v im Linux-Terminal kleiner als 16.X.X ist, dann
                          https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian

                          J Offline
                          J Offline
                          Julez318
                          wrote on last edited by
                          #654

                          @armilar
                          wollte gerade meinen javascript Adapter auch auf die 6.1.3 updaten. Nur leider ist bei mir seit der installierten Version 6.0.3 kein Update mehr verfügbar.

                          Hat das Problem hier auch schon jemand gehabt?

                          VumerV Thomas BraunT 2 Replies Last reply
                          0
                          • J Julez318

                            @armilar
                            wollte gerade meinen javascript Adapter auch auf die 6.1.3 updaten. Nur leider ist bei mir seit der installierten Version 6.0.3 kein Update mehr verfügbar.

                            Hat das Problem hier auch schon jemand gehabt?

                            VumerV Offline
                            VumerV Offline
                            Vumer
                            wrote on last edited by Vumer
                            #655

                            @julez318
                            fdc4ae1a-6f29-41bf-970b-14a5f54075af-grafik.png
                            9918737e-3b76-4562-b330-4390dcf1dc15-grafik.png

                            1 Reply Last reply
                            1
                            • J Offline
                              J Offline
                              jprisum.de
                              wrote on last edited by
                              #656

                              wie kann ich Berry-Driver Update durchführen?
                              NSPanel-Update.jpg
                              Ein Click auf ja langt nicht, es verschwindet zwar die Anzeige aber ein paar Std später ist es wieder da.

                              ArmilarA 1 Reply Last reply
                              0
                              • J Julez318

                                @armilar
                                wollte gerade meinen javascript Adapter auch auf die 6.1.3 updaten. Nur leider ist bei mir seit der installierten Version 6.0.3 kein Update mehr verfügbar.

                                Hat das Problem hier auch schon jemand gehabt?

                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                wrote on last edited by
                                #657

                                @julez318 sagte in SONOFF NSPanel mit Lovelace UI:

                                Hat das Problem hier auch schon jemand gehabt?

                                Das ist kein Problem, das sind einfach die zur Zeit in den einzelnen Repos verfübaren Versionen.

                                javascript
                                github:	6.1.3
                                latest:	6.1.3 for 7 days
                                stable:	6.0.3 for 58 days
                                

                                Linux-Werkzeugkasten:
                                https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                                NodeJS Fixer Skript:
                                https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                                iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                                D 1 Reply Last reply
                                0
                                • Thomas BraunT Thomas Braun

                                  @julez318 sagte in SONOFF NSPanel mit Lovelace UI:

                                  Hat das Problem hier auch schon jemand gehabt?

                                  Das ist kein Problem, das sind einfach die zur Zeit in den einzelnen Repos verfübaren Versionen.

                                  javascript
                                  github:	6.1.3
                                  latest:	6.1.3 for 7 days
                                  stable:	6.0.3 for 58 days
                                  
                                  D Offline
                                  D Offline
                                  danny_v1
                                  wrote on last edited by
                                  #658

                                  So ich habe gerade alles nach Anleitung installiert. Ich habe das PanelTs ohne Beispiele verwendet und bekomme beim Start des Skriptes folgende Fehlermeldung:

                                  javascript.0 (13719) script.js.common.NSPanel_DEV.NSPanelTs: TypeScript compilation failed: await createAliasAsync(config.weatherEntity + '.ICON', 'accuweather.0.Current.WeatherIcon', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ICON' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP', 'accuweather.0.Current.Temperature', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature', name: 'TEMP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MIN', 'accuweather.0.Daily.Day1.Temperature.Minimum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.forecast.0', name: 'TEMP_MIN' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MAX', 'accuweather.0.Daily.Day1.Temperature.Maximum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.max.forecast.0', name: 'TEMP_MAX' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.ACTUAL', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.SET', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'ipAddress.ACTUAL', NSPanel_Path + 'NSPanel_ipAddress', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.BerryDriver.ACTUAL', NSPanel_Path + 'Berry_Driver.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Uptime.ACTUAL', NSPanel_Path + 'Tasmota.Uptime', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Version.ACTUAL', NSPanel_Path + 'Tasmota.Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Hardware.ACTUAL', NSPanel_Path + 'Tasmota.Hardware', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.AP.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.AP', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.SSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.SSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.BSSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.BSSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Channel.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Channel', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Mode.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Mode', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.RSSI.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.RSSI', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Signal.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Signal', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.TFTVersion.ACTUAL', NSPanel_Path + 'Display_Firmware.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.Model.ACTUAL', NSPanel_Path + 'NSPanel_Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.Player.currentAlbum', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.Player.currentArtist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.Player.currentTitle', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.Player.controlNext', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.Player.controlPrevious', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.Player.controlPlay', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.Player.controlPause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.Commands.deviceStop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.Player.currentState', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.current_album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.current_artist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.current_title', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + '.current_station', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.next', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.prev', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.stop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.state_simple', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ANALOG.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ANALOG.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ESP32.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ESP32.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'.
                                  

                                  leigt bestimmt am anlegen der Wetterdatenpunkte.

                                  ArmilarA 1 Reply Last reply
                                  0
                                  • D danny_v1

                                    So ich habe gerade alles nach Anleitung installiert. Ich habe das PanelTs ohne Beispiele verwendet und bekomme beim Start des Skriptes folgende Fehlermeldung:

                                    javascript.0 (13719) script.js.common.NSPanel_DEV.NSPanelTs: TypeScript compilation failed: await createAliasAsync(config.weatherEntity + '.ICON', 'accuweather.0.Current.WeatherIcon', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ICON' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP', 'accuweather.0.Current.Temperature', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature', name: 'TEMP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MIN', 'accuweather.0.Daily.Day1.Temperature.Minimum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.forecast.0', name: 'TEMP_MIN' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(config.weatherEntity + '.TEMP_MAX', 'accuweather.0.Daily.Day1.Temperature.Maximum', true, <iobJS.StateCommon>{ type: 'number', role: 'value.temperature.max.forecast.0', name: 'TEMP_MAX' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessDay.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourDay.SET', NSPanel_Path + 'NSPanel_Dimmode_hourDay', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.brightnessNight.SET', NSPanel_Path + 'NSPanel_Dimmode_brightnessNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.ACTUAL', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'value', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Dimmode.hourNight.SET', NSPanel_Path + 'NSPanel_Dimmode_hourNight', true, <iobJS.StateCommon>{ type: 'number', role: 'level', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.ACTUAL', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'autoUpdate.SET', NSPanel_Path + 'NSPanel_autoUpdate', true, <iobJS.StateCommon>{ type: 'boolean', role: 'switch', name: 'SET' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'ipAddress.ACTUAL', NSPanel_Path + 'NSPanel_ipAddress', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.BerryDriver.ACTUAL', NSPanel_Path + 'Berry_Driver.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Uptime.ACTUAL', NSPanel_Path + 'Tasmota.Uptime', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Version.ACTUAL', NSPanel_Path + 'Tasmota.Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Hardware.ACTUAL', NSPanel_Path + 'Tasmota.Hardware', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.AP.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.AP', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.SSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.SSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.BSSId.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.BSSId', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Channel.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Channel', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Mode.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Mode', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.RSSI.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.RSSI', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Tasmota.Wifi.Signal.ACTUAL', NSPanel_Path + 'Tasmota.Wifi.Signal', true, <iobJS.StateCommon>{ type: 'number', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.TFTVersion.ACTUAL', NSPanel_Path + 'Display_Firmware.currentVersion', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Display.Model.ACTUAL', NSPanel_Path + 'NSPanel_Version', true, <iobJS.StateCommon>{ type: 'string', role: 'state', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.Player.currentAlbum', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.Player.currentArtist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.Player.currentTitle', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.Player.controlNext', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.Player.controlPrevious', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.Player.controlPlay', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.Player.controlPause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.Commands.deviceStop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.Player.currentState', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.Player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ACTUAL', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ALBUM', dpPath + '.current_album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.ARTIST', dpPath + '.current_artist', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.TITLE', dpPath + '.current_title', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + '.current_station', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.NEXT', dpPath + '.next', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PREV', dpPath + '.prev', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PLAY', dpPath + '.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.PAUSE', dpPath + '.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STOP', dpPath + '.stop', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.STATE', dpPath + '.state_simple', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(id + '.VOLUME', dpPath + '.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ANALOG.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ANALOG.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'. await createAliasAsync(AliasPath + 'Sensor.ESP32.Temperature.ACTUAL', NSPanel_Path + 'Sensor.ESP32.Temperature', true, <iobJS.StateCommon>{ type: 'number', 'unit': '°C' }); ^ ERROR: Cannot find name 'createAliasAsync'.
                                    

                                    leigt bestimmt am anlegen der Wetterdatenpunkte.

                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    wrote on last edited by
                                    #659

                                    @danny_v1

                                    Nein, liegt daran, dass du die TS-Version 3.5.0.5 benutzt, aber nicht den JavaScript-Adapter in der Version 6.1.3

                                    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 Reply Last reply
                                    0
                                    • J jprisum.de

                                      wie kann ich Berry-Driver Update durchführen?
                                      NSPanel-Update.jpg
                                      Ein Click auf ja langt nicht, es verschwindet zwar die Anzeige aber ein paar Std später ist es wieder da.

                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      wrote on last edited by
                                      #660

                                      @jprisum-de

                                      Manuelle Updates auf false stellen (oben im Script) oder in der 0_userdata.0. eine 4 eintragen...

                                      4666709e-8e5e-44a4-882c-338c68480d69-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.

                                      D J 2 Replies Last reply
                                      0
                                      • ArmilarA Armilar

                                        @jprisum-de

                                        Manuelle Updates auf false stellen (oben im Script) oder in der 0_userdata.0. eine 4 eintragen...

                                        4666709e-8e5e-44a4-882c-338c68480d69-image.png

                                        D Offline
                                        D Offline
                                        danny_v1
                                        wrote on last edited by
                                        #661

                                        @armilar ich hab javaskript 6.0.3. Zeigt mir auch keine Aktualisierung an.

                                        denk manuelle updates sind aus

                                        let manually_Update = false;
                                        

                                        aber die Datenpunkte aus deinem Bild existieren bei mir nicht.

                                        ArmilarA 1 Reply Last reply
                                        0
                                        • D danny_v1

                                          @armilar ich hab javaskript 6.0.3. Zeigt mir auch keine Aktualisierung an.

                                          denk manuelle updates sind aus

                                          let manually_Update = false;
                                          

                                          aber die Datenpunkte aus deinem Bild existieren bei mir nicht.

                                          ArmilarA Offline
                                          ArmilarA Offline
                                          Armilar
                                          Most Active Forum Testing
                                          wrote on last edited by Armilar
                                          #662

                                          @danny_v1 nee, für dich war nicht der Post mit den manuellen Updates

                                          Sie mal ein paar Posts zurück. Da steht was über das Beta-Repository

                                          https://forum.iobroker.net/post/890251

                                          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.

                                          D 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          545

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe