Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    12
    2
    250

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

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

SONOFF NSPanel mit Lovelace UI

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 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.
  • Rene55R Rene55

    @armilar Ich hab in den letzten Wochen nicht alle Updates von hier mitbekommen. Ich habe allerdings gestern den Scriptadapter auf 8.9.0 hochgezogen. Beim Start des NS-Scripts bekomme ich beim compilen folgenden Fehler:

    TypeScript compilation failed:
                    SendToPanel({ payload: 'dimmode~' + getState(NSPanel_Path + 'ScreensaverInfo.activeDimmodeBrightness').val + '~' + getState(NSPanel_Path + 'ScreensaverInfo.activeBrightness').val ?? 80 + '~' + rgb_dec565(config.defaultBackgroundColor) + '~' + rgb_dec565(globalTextColor) + '~' + Sliders2 });
                                           ^
    ERROR: Right operand of ?? is unreachable because the left operand is never nullish.
    
                        SendToPanel({ payload: 'dimmode~' + timeDimMode.brightnessDay + '~' + getState(NSPanel_Path + 'ScreensaverInfo.activeBrightness').val ?? 80 + '~' + rgb_dec565(config.defaultBackgroundColor) + '~' + rgb_dec565(globalTextColor) + '~' + Sliders2 });
                                               ^
    ERROR: Right operand of ?? is unreachable because the left operand is never nullish.
    
                        SendToPanel({ payload: 'dimmode~' + timeDimMode.brightnessNight + '~' + getState(NSPanel_Path + 'ScreensaverInfo.activeBrightness').val ?? 80 + '~' + rgb_dec565(config.defaultBackgroundColor) + '~' + rgb_dec565(globalTextColor) + '~' + Sliders2 });
                                               ^
    ERROR: Right operand of ?? is unreachable because the left operand is never nullish.code_text
    

    Schon bekannt oder muss/soll ich erstmal die letzte Version von hier einbauen?

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

    @rene55

    Äh ja... knapp 10 Beiträge zurück...

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

    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.

    Rene55R 1 Reply Last reply
    0
    • ArmilarA Armilar

      @ilovegym

      Könntest du für einen Test mal:

      Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1
      

      durchführen und danach nochmal das

      FlashNextion http://nspanel.de/nspanel-4.5.0.tft
      
      ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #6787

      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

      Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1

      Asche ueber mein Haupt... ich habs gefunden.. das Teil war noch fuers Internet geblockt.. oh Mann... oh Mann..

      SIZE 0 hat mich drauf gebracht.. dass er da kein Zugriff auf die Datei hat.. und die Tasmota-URL hab ich in der Firewall als rule drin.. 😄 verflixte Technik..

      ArmilarA 1 Reply Last reply
      1
      • ArmilarA Armilar

        @rene55

        Äh ja... knapp 10 Beiträge zurück...

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

        Rene55R Offline
        Rene55R Offline
        Rene55
        wrote on last edited by
        #6788

        @armilar ok, gefunden, gelesen: ich geb mich ans Update 4.5.0. Danke.

        Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
        ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
        Wetterstation: Froggit WH3000SE V1.6.6

        1 Reply Last reply
        0
        • ? A Former User

          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

          Backlog UrlFetch https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be; Restart 1

          Asche ueber mein Haupt... ich habs gefunden.. das Teil war noch fuers Internet geblockt.. oh Mann... oh Mann..

          SIZE 0 hat mich drauf gebracht.. dass er da kein Zugriff auf die Datei hat.. und die Tasmota-URL hab ich in der Firewall als rule drin.. 😄 verflixte Technik..

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

          @ilovegym

          😉 passiert auch anderen 😊

          War nämlich mit den Tipps langsam am Ende

          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.

          Rene55R 1 Reply Last reply
          0
          • ArmilarA Armilar

            @ilovegym

            😉 passiert auch anderen 😊

            War nämlich mit den Tipps langsam am Ende

            Rene55R Offline
            Rene55R Offline
            Rene55
            wrote on last edited by
            #6790

            @armilar Läuft wieder. Jetzt bietet das Display ein TFT-Firmware-Update von 53 auf 54 an. Wie krieg ich das drauf?

            Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
            ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
            Wetterstation: Froggit WH3000SE V1.6.6

            ArmilarA 1 Reply Last reply
            0
            • Rene55R Rene55

              @armilar Läuft wieder. Jetzt bietet das Display ein TFT-Firmware-Update von 53 auf 54 an. Wie krieg ich das drauf?

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

              @rene55

              FlashNextion http://nspanel.de/nspanel-4.5.0.tft
              

              Das ist die 54

              Aktuell "nicht" über das Servicemenü... Da muss noch eine Anpassung rein... Nur über die Tasmota-Konsole

              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.

              Rene55R 1 Reply Last reply
              0
              • ArmilarA Armilar

                @rene55

                FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                

                Das ist die 54

                Aktuell "nicht" über das Servicemenü... Da muss noch eine Anpassung rein... Nur über die Tasmota-Konsole

                Rene55R Offline
                Rene55R Offline
                Rene55
                wrote on last edited by
                #6792

                @armilar Sind die Änderungen gravierend, dass ich das per Konsole machen sollte?
                Bei dem Versuch über das Servicemenü fehlt "alias.0.NSPanel.1.Config.Update.UpdateNextion.SET" und "alias.0.NSPanel.1.Config.Update.UpdateNextion.ON_SET". Aber das wisst ihr sicher und seid dran,

                Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                Wetterstation: Froggit WH3000SE V1.6.6

                ArmilarA 1 Reply Last reply
                0
                • Rene55R Rene55

                  @armilar Sind die Änderungen gravierend, dass ich das per Konsole machen sollte?
                  Bei dem Versuch über das Servicemenü fehlt "alias.0.NSPanel.1.Config.Update.UpdateNextion.SET" und "alias.0.NSPanel.1.Config.Update.UpdateNextion.ON_SET". Aber das wisst ihr sicher und seid dran,

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

                  @rene55

                  Nein, die sind nicht gravierend... Ist nur der Part mit dem EasyView screensaver3 und der cardGrid3

                  Sofern du die nicht nutzt, geht auch die alte TFT53

                  Und deshalb habe ich ja auch geschrieben, dass das Update aktuell "nicht" über das Servicemenü stattfinden soll, sondern über die Tasmota-Konsole 😊

                  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.

                  Rene55R 1 Reply Last reply
                  0
                  • ArmilarA Armilar

                    @rene55

                    Nein, die sind nicht gravierend... Ist nur der Part mit dem EasyView screensaver3 und der cardGrid3

                    Sofern du die nicht nutzt, geht auch die alte TFT53

                    Und deshalb habe ich ja auch geschrieben, dass das Update aktuell "nicht" über das Servicemenü stattfinden soll, sondern über die Tasmota-Konsole 😊

                    Rene55R Offline
                    Rene55R Offline
                    Rene55
                    wrote on last edited by
                    #6794

                    @armilar Danke für die Info. Das Ding läuft bei mir auch nur so nebenbei. Ich warte ja eigentlich auf den Adapter (weil mich die Aliase furchtbar nerven), weiß aber nicht, wie ich ticaki dabei helfen könnte.

                    Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                    ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                    Wetterstation: Froggit WH3000SE V1.6.6

                    ArmilarA 1 Reply Last reply
                    0
                    • Rene55R Rene55

                      @armilar Danke für die Info. Das Ding läuft bei mir auch nur so nebenbei. Ich warte ja eigentlich auf den Adapter (weil mich die Aliase furchtbar nerven), weiß aber nicht, wie ich ticaki dabei helfen könnte.

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

                      @rene55

                      React lernen 😉

                      Wir sind dran...

                      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
                      1
                      • ArmilarA Armilar

                        @rene55

                        React lernen 😉

                        Wir sind dran...

                        T Do not disturb
                        T Do not disturb
                        ticaki
                        wrote on last edited by ticaki
                        #6796

                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                        @rene55

                        React lernen 😉

                        Wir sind dran...

                        Ich weiß nicht in wieweit Rene react kann, aber der macht da immer mit web zeugs rum wovon ich keine Ahnung habe. Helfen könnte er wohl schon - aber dann müsste ich meine letzte Alias idee wieder in die Tonne kloppen sonst streikt er 😄

                        @Rene55
                        Ich hab ne sehr komplizierte Konfiguration gebaut, in der Annahme das ich schon ne Mögliichkeit finde das nachher umzusetzen und da sind wir.

                        Im Adapter kann man aktuell zu jedem "pageItem" jeden einzelnen Datenpunkt(6-8) als id, fester wert oder triggernd ausführen - das sieht dann zum Bespiel so aus:

                        //const pageGridTest4: pages.PageBaseConfig = {
                            //type: 'sonstiges',
                            //card: 'cardGrid',
                            dpInit: '',
                        
                            alwaysOn: 'none',
                            uniqueID: 'grid4',
                            useColor: false,
                            config: {
                                card: 'cardGrid',
                                data: {
                                    headline: {
                                        type: 'const',
                                        constVal: 'Überschrift2',
                                    },
                                },
                            },
                            items: undefined,
                            pageItems: [
                                {
                                    role: 'text.list',
                                    type: 'input_sel',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Green },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entityInSel: {
                                            value: {
                                                type: 'const',
                                                constVal: true,
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                        /**
                                         * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                         */
                                        valueList: { type: 'const', constVal: 'home?butter' },
                                        /**
                                         * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                         */
                                        setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                    },
                                },
                                {
                                    role: 'text.list',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'account' },
                                                color: { type: 'const', constVal: Color.Green },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: {
                                                type: 'const',
                                                constVal: true,
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                            ],
                        //};
                        

                        Hab ein kleines als Bespiel genommen

                        Oder was komplexeres:

                        const pageThermoTest: pages.PageBaseConfig = {
                            //card: 'cardThermo',
                        
                            uniqueID: 'thermo1',
                            dpInit: '',
                            alwaysOn: 'none',
                            pageItems: [
                                {
                                    role: '',
                                    type: 'button',
                                    dpInit: '',
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'arrow-right' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: {
                                                type: 'triggered',
                                                dp: '0_userdata.0.example_state',
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'text.list',
                                    type: 'input_sel',
                                    dpInit: '',
                        
                                    data: {
                                        entityInSel: {
                                            value: {
                                                type: 'triggered',
                                                dp: '0_userdata.0.statesTest',
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        headline: {
                                            type: 'const',
                                            constVal: 'Test',
                                        },
                                        /**
                                         * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                         */
                                        //valueList: { type: 'const', constVal: 'home?butter' },
                                        /**
                                         * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                         */
                                        //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                    },
                                },
                                {
                                    role: 'text.list',
                                    type: 'input_sel',
                                    dpInit: '',
                        
                                    data: {
                                        entityInSel: {
                                            value: {
                                                type: 'triggered',
                                                dp: '0_userdata.0.statesTest',
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        headline: {
                                            type: 'const',
                                            constVal: 'Test',
                                        },
                                        /**
                                         * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                         */
                                        //valueList: { type: 'const', constVal: 'home?butter' },
                                        /**
                                         * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                         */
                                        //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                    },
                                },
                                {
                                    role: 'text.list',
                                    type: 'input_sel',
                                    dpInit: '',
                        
                                    data: {
                                        entityInSel: {
                                            value: {
                                                type: 'triggered',
                                                dp: '0_userdata.0.statesTest',
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        headline: {
                                            type: 'const',
                                            constVal: 'Test',
                                        },
                                        /**
                                         * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                         */
                                        //valueList: { type: 'const', constVal: 'home?butter' },
                                        /**
                                         * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                         */
                                        //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                    },
                                },
                                {
                                    role: 'text.list',
                                    type: 'input_sel',
                                    dpInit: '',
                        
                                    data: {
                                        entityInSel: {
                                            value: {
                                                type: 'triggered',
                                                dp: '0_userdata.0.statesTest',
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        headline: {
                                            type: 'const',
                                            constVal: 'Test',
                                        },
                                        /**
                                         * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                         */
                                        //valueList: { type: 'const', constVal: 'home?butter' },
                                        /**
                                         * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                         */
                                        //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                    },
                                },
                                {
                                    role: 'button',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'arrow-up' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: {
                                                type: 'const',
                                                constVal: true,
                                            },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'indicator',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: { type: 'state', dp: '0_userdata.0.example_state' },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'indicator',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: { type: 'state', dp: '0_userdata.0.example_state' },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'indicator',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: { type: 'state', dp: '0_userdata.0.example_state' },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'indicator',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: { type: 'state', dp: '0_userdata.0.example_state' },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'indicator',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: { type: 'state', dp: '0_userdata.0.example_state' },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                                {
                                    role: 'indicator',
                                    type: 'button',
                                    dpInit: '',
                        
                                    data: {
                                        color: {
                                            true: {
                                                type: 'const',
                                                constVal: Color.HMIOn,
                                            },
                                            false: undefined,
                                            scale: undefined,
                                        },
                                        icon: {
                                            true: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Blue },
                                            },
                                            false: {
                                                value: { type: 'const', constVal: 'fan' },
                                                color: { type: 'const', constVal: Color.Red },
                                            },
                                            scale: undefined,
                                            maxBri: undefined,
                                            minBri: undefined,
                                        },
                                        entity1: {
                                            value: { type: 'state', dp: '0_userdata.0.example_state' },
                                            decimal: undefined,
                                            factor: undefined,
                                            unit: undefined,
                                        },
                                        text: {
                                            true: undefined,
                                            false: undefined,
                                        },
                                    },
                                },
                            ],
                            config: {
                                card: 'cardThermo',
                                data: {
                                    headline: {
                                        type: 'const',
                                        constVal: 'headline',
                                    },
                                    mixed2: {
                                        value: {
                                            type: 'const',
                                            constVal: '20',
                                        },
                                    },
                                    unit: {
                                        type: 'const',
                                        constVal: '°C',
                                    },
                                    mixed1: {
                                        value: {
                                            type: 'const',
                                            constVal: 'H1',
                                        },
                                    },
                                    mixed3: {
                                        value: {
                                            type: 'const',
                                            constVal: 'H2',
                                        },
                                    },
                                    minTemp: {
                                        type: 'const',
                                        constVal: '10',
                                    },
                                    maxTemp: {
                                        type: 'const',
                                        constVal: '60',
                                    },
                                    tempStep: {
                                        type: 'const',
                                        constVal: '5',
                                    },
                                    set1: { type: 'state', dp: '0_userdata.0.number1' },
                                    mixed4: {
                                        value: {
                                            type: 'const',
                                            constVal: '20',
                                        },
                                    },
                                },
                            },
                            items: undefined,
                            useColor: false,
                        };
                        

                        oder was einfaches von @TT-Tom

                        const pageFahrplanRoutes: pages.PageBaseConfig = {
                            card: 'cardEntities',
                            dpInit: 'fahrplan.0.0',
                            uniqueID: 'fahrplanrouten',
                            template: 'entities.fahrplan.routes',
                        };
                        

                        Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                        Spenden

                        Rene55R 1 Reply Last reply
                        0
                        • T ticaki

                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                          @rene55

                          React lernen 😉

                          Wir sind dran...

                          Ich weiß nicht in wieweit Rene react kann, aber der macht da immer mit web zeugs rum wovon ich keine Ahnung habe. Helfen könnte er wohl schon - aber dann müsste ich meine letzte Alias idee wieder in die Tonne kloppen sonst streikt er 😄

                          @Rene55
                          Ich hab ne sehr komplizierte Konfiguration gebaut, in der Annahme das ich schon ne Mögliichkeit finde das nachher umzusetzen und da sind wir.

                          Im Adapter kann man aktuell zu jedem "pageItem" jeden einzelnen Datenpunkt(6-8) als id, fester wert oder triggernd ausführen - das sieht dann zum Bespiel so aus:

                          //const pageGridTest4: pages.PageBaseConfig = {
                              //type: 'sonstiges',
                              //card: 'cardGrid',
                              dpInit: '',
                          
                              alwaysOn: 'none',
                              uniqueID: 'grid4',
                              useColor: false,
                              config: {
                                  card: 'cardGrid',
                                  data: {
                                      headline: {
                                          type: 'const',
                                          constVal: 'Überschrift2',
                                      },
                                  },
                              },
                              items: undefined,
                              pageItems: [
                                  {
                                      role: 'text.list',
                                      type: 'input_sel',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Green },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entityInSel: {
                                              value: {
                                                  type: 'const',
                                                  constVal: true,
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                          /**
                                           * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                           */
                                          valueList: { type: 'const', constVal: 'home?butter' },
                                          /**
                                           * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                           */
                                          setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                      },
                                  },
                                  {
                                      role: 'text.list',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'account' },
                                                  color: { type: 'const', constVal: Color.Green },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: {
                                                  type: 'const',
                                                  constVal: true,
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                              ],
                          //};
                          

                          Hab ein kleines als Bespiel genommen

                          Oder was komplexeres:

                          const pageThermoTest: pages.PageBaseConfig = {
                              //card: 'cardThermo',
                          
                              uniqueID: 'thermo1',
                              dpInit: '',
                              alwaysOn: 'none',
                              pageItems: [
                                  {
                                      role: '',
                                      type: 'button',
                                      dpInit: '',
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'arrow-right' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: {
                                                  type: 'triggered',
                                                  dp: '0_userdata.0.example_state',
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'text.list',
                                      type: 'input_sel',
                                      dpInit: '',
                          
                                      data: {
                                          entityInSel: {
                                              value: {
                                                  type: 'triggered',
                                                  dp: '0_userdata.0.statesTest',
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          headline: {
                                              type: 'const',
                                              constVal: 'Test',
                                          },
                                          /**
                                           * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                           */
                                          //valueList: { type: 'const', constVal: 'home?butter' },
                                          /**
                                           * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                           */
                                          //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                      },
                                  },
                                  {
                                      role: 'text.list',
                                      type: 'input_sel',
                                      dpInit: '',
                          
                                      data: {
                                          entityInSel: {
                                              value: {
                                                  type: 'triggered',
                                                  dp: '0_userdata.0.statesTest',
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          headline: {
                                              type: 'const',
                                              constVal: 'Test',
                                          },
                                          /**
                                           * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                           */
                                          //valueList: { type: 'const', constVal: 'home?butter' },
                                          /**
                                           * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                           */
                                          //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                      },
                                  },
                                  {
                                      role: 'text.list',
                                      type: 'input_sel',
                                      dpInit: '',
                          
                                      data: {
                                          entityInSel: {
                                              value: {
                                                  type: 'triggered',
                                                  dp: '0_userdata.0.statesTest',
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          headline: {
                                              type: 'const',
                                              constVal: 'Test',
                                          },
                                          /**
                                           * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                           */
                                          //valueList: { type: 'const', constVal: 'home?butter' },
                                          /**
                                           * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                           */
                                          //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                      },
                                  },
                                  {
                                      role: 'text.list',
                                      type: 'input_sel',
                                      dpInit: '',
                          
                                      data: {
                                          entityInSel: {
                                              value: {
                                                  type: 'triggered',
                                                  dp: '0_userdata.0.statesTest',
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          headline: {
                                              type: 'const',
                                              constVal: 'Test',
                                          },
                                          /**
                                           * valueList string[]/stringify oder string?string?string?string stelle korreliert mit setList  {input_sel}
                                           */
                                          //valueList: { type: 'const', constVal: 'home?butter' },
                                          /**
                                           * setList: {id:Datenpunkt, value: zu setzender Wert}[] bzw. stringify  oder ein String nach dem Muster datenpunkt?Wert|Datenpunkt?Wert {input_sel}
                                           */
                                          //setList: { type: 'const', constVal: '0_userdata.0.test?1|0_userdata.0.test?2' },
                                      },
                                  },
                                  {
                                      role: 'button',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'arrow-up' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: {
                                                  type: 'const',
                                                  constVal: true,
                                              },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'indicator',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: { type: 'state', dp: '0_userdata.0.example_state' },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'indicator',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: { type: 'state', dp: '0_userdata.0.example_state' },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'indicator',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: { type: 'state', dp: '0_userdata.0.example_state' },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'indicator',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: { type: 'state', dp: '0_userdata.0.example_state' },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'indicator',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: { type: 'state', dp: '0_userdata.0.example_state' },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                                  {
                                      role: 'indicator',
                                      type: 'button',
                                      dpInit: '',
                          
                                      data: {
                                          color: {
                                              true: {
                                                  type: 'const',
                                                  constVal: Color.HMIOn,
                                              },
                                              false: undefined,
                                              scale: undefined,
                                          },
                                          icon: {
                                              true: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Blue },
                                              },
                                              false: {
                                                  value: { type: 'const', constVal: 'fan' },
                                                  color: { type: 'const', constVal: Color.Red },
                                              },
                                              scale: undefined,
                                              maxBri: undefined,
                                              minBri: undefined,
                                          },
                                          entity1: {
                                              value: { type: 'state', dp: '0_userdata.0.example_state' },
                                              decimal: undefined,
                                              factor: undefined,
                                              unit: undefined,
                                          },
                                          text: {
                                              true: undefined,
                                              false: undefined,
                                          },
                                      },
                                  },
                              ],
                              config: {
                                  card: 'cardThermo',
                                  data: {
                                      headline: {
                                          type: 'const',
                                          constVal: 'headline',
                                      },
                                      mixed2: {
                                          value: {
                                              type: 'const',
                                              constVal: '20',
                                          },
                                      },
                                      unit: {
                                          type: 'const',
                                          constVal: '°C',
                                      },
                                      mixed1: {
                                          value: {
                                              type: 'const',
                                              constVal: 'H1',
                                          },
                                      },
                                      mixed3: {
                                          value: {
                                              type: 'const',
                                              constVal: 'H2',
                                          },
                                      },
                                      minTemp: {
                                          type: 'const',
                                          constVal: '10',
                                      },
                                      maxTemp: {
                                          type: 'const',
                                          constVal: '60',
                                      },
                                      tempStep: {
                                          type: 'const',
                                          constVal: '5',
                                      },
                                      set1: { type: 'state', dp: '0_userdata.0.number1' },
                                      mixed4: {
                                          value: {
                                              type: 'const',
                                              constVal: '20',
                                          },
                                      },
                                  },
                              },
                              items: undefined,
                              useColor: false,
                          };
                          

                          oder was einfaches von @TT-Tom

                          const pageFahrplanRoutes: pages.PageBaseConfig = {
                              card: 'cardEntities',
                              dpInit: 'fahrplan.0.0',
                              uniqueID: 'fahrplanrouten',
                              template: 'entities.fahrplan.routes',
                          };
                          
                          Rene55R Offline
                          Rene55R Offline
                          Rene55
                          wrote on last edited by
                          #6797

                          @ticaki Ich hatte deinen "Hilferuf" schon gesehen. Habe aber noch keinen Schimmer von React - bin aber gerade dabei, mich schlau zu machen. Aber hier werden dann komplette Sites behandelt, die mit ioBroker nichts zu tun haben. Daher so schleppend, mich auf Stand zu bringen.
                          Und streiken tu ich so schnell auch nicht - eher Flinte ==> Korn.
                          Wenn ich klüger bin müssen wir uns nochmal unterhalten, damit ich deine Idee vom Frontend auch so ein bisschen reinkriege.

                          Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                          ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                          Wetterstation: Froggit WH3000SE V1.6.6

                          T 1 Reply Last reply
                          1
                          • Rene55R Rene55

                            @ticaki Ich hatte deinen "Hilferuf" schon gesehen. Habe aber noch keinen Schimmer von React - bin aber gerade dabei, mich schlau zu machen. Aber hier werden dann komplette Sites behandelt, die mit ioBroker nichts zu tun haben. Daher so schleppend, mich auf Stand zu bringen.
                            Und streiken tu ich so schnell auch nicht - eher Flinte ==> Korn.
                            Wenn ich klüger bin müssen wir uns nochmal unterhalten, damit ich deine Idee vom Frontend auch so ein bisschen reinkriege.

                            T Do not disturb
                            T Do not disturb
                            ticaki
                            wrote on last edited by ticaki
                            #6798

                            @rene55
                            Hab dich mal im Discord angeschrieben, wegen Teammeeting heute 🙂 Geht um die Richtung, also nix zu spezifisches.

                            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                            Spenden

                            1 Reply Last reply
                            3
                            • ArmilarA Armilar

                              @oochrisoo

                              Sieht tatsächlich nach einem Hardwaredefekt aus. Die Original Firmware kannst du nicht zurückflashen. Mir ist zumindest kein Weg bekannt...

                              Würde es dennoch zurücksenden als defekt...

                              O Offline
                              O Offline
                              oOchrisOo
                              wrote on last edited by
                              #6799

                              @armilar
                              Danke für die schnelle Rückmeldung,
                              Versuchs mal , neue ist schon unterwegs 😊

                              1 Reply Last reply
                              0
                              • ArmilarA Armilar

                                Update v4.5.0

                                acb8351a-2ce5-452e-8968-f375feff8bd8-image.png

                                Nachdem es heute zu einem Bug mit dem "BETA"-JS-Adapter v8.9.0 heute kam, haben wir uns kurzfristig entschlossen, das Release v4.5.0 mit dem Bugfix und einer Erweiterung der TFT zu veröffentlichen.


                                Wer also diese JS-Adapter Version geladen hat, kommt nicht an diesem Update vorbei.

                                https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

                                Unteren Teil austauschen ab:
                                6848e21f-0ecb-4351-8326-6c023e0ea5f7-image.png


                                Das Service Menü hat einen weiteren Eintrag erhalten. Mit diesem kann der Einfache Screensaver (siehe Bilder unten) umgeschaltet werden.
                                Zeilen 425 bis 822 austauschen


                                Die Firmware sollte in der Tasmota-Konsole mit (Achtung neue URL)

                                FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                

                                aktualisiert werden.


                                Der neue "Einfache Screensaver":
                                f31d6ffb-b782-4561-8b0e-a38885577ab6-image.png
                                ist eine Version mit stark vergrößerten Elementen. Die beiden Relais sind hierbei nur noch als Balken (keine Icons) im unteren Teil zu sehen.

                                Außerdem gibt es eine cardGrid3 mit 4 Steuerelementen:
                                a3dcfcb4-dfad-48cd-bd84-f649b65c3bf9-image.png

                                Die Variable unterscheidet sich lediglich durch den type cardGrid3 und das max. 4 pageItems möglich sind

                                let Buero_Seite_2: PageType = 
                                {
                                    'type': 'cardGrid3',
                                    'heading': 'Büro 2',
                                    'useColor': true,
                                    'items': [
                                        { id: 'alias.0.NSPanel_1.Schreibtischlampe', name: 'Schreibtisch'},
                                        { id: 'alias.0.NSPanel_1.Deckenbeleuchtung', name: 'Deckenlampe'},
                                        { id: 'alias.0.NSPanel_1.TestFenster', offColor: MSGreen, onColor: MSRed, name: 'Büro Fenster'},
                                        { id: 'alias.0.NSPanel_1.Luftreiniger', icon: 'power', offColor: MSRed, onColor: MSGreen},
                                    ]
                                };
                                

                                Es gibt noch eine weitere Neuerung, in der ein 3. Icon im pageItem für die Rollos (Alias Channel: blinds) genutzt werden kann. Diese wird jedoch im Wiki beschrieben.


                                Viel Spaß mit dem neuen Release

                                @ticaki, @TT-Tom und Armilar

                                Chris_71C Offline
                                Chris_71C Offline
                                Chris_71
                                wrote on last edited by
                                #6800

                                Die Firmware sollte in der Tasmota-Konsole mit (Achtung neue URL)

                                FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                

                                aktualisiert werden.

                                Hi,
                                gibt es auch ein Update für die US Version Portrait und Landscape ?

                                ArmilarA 2 Replies Last reply
                                0
                                • Chris_71C Chris_71

                                  Die Firmware sollte in der Tasmota-Konsole mit (Achtung neue URL)

                                  FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                  

                                  aktualisiert werden.

                                  Hi,
                                  gibt es auch ein Update für die US Version Portrait und Landscape ?

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

                                  @chris_71

                                  Du könntest es durchführen, dann hast du aber nur die 53 als 54

                                  Die GUI - Änderungen sind noch nicht in der US... Der Bug durch den JS-Adapter jedoch behoben...

                                  Irgendwie musste es gestern alles etwas schneller gehen als sonst 😊

                                  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
                                  • Chris_71C Chris_71

                                    Die Firmware sollte in der Tasmota-Konsole mit (Achtung neue URL)

                                    FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                    

                                    aktualisiert werden.

                                    Hi,
                                    gibt es auch ein Update für die US Version Portrait und Landscape ?

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

                                    @chris_71 sagte in SONOFF NSPanel mit Lovelace UI:

                                    gibt es auch ein Update für die US Version Portrait und Landscape ?

                                    ist hinzugefügt (54/v4.5.0):

                                    TFT EU

                                    FlashNextion http://nspanel.de/nspanel-v4.5.0.tft
                                    

                                    TFT US-L

                                    FlashNextion http://nspanel.de/nspanel-us-l-v4.5.0.tft
                                    

                                    TFT US-P

                                    FlashNextion http://nspanel.de/nspanel-us-p-v4.5.0.tft
                                    

                                    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.

                                    Chris_71C 1 Reply Last reply
                                    2
                                    • ArmilarA Armilar

                                      @ilovegym

                                      Habe alle Flash's mit Tasmota 14.4.1 gemacht.

                                      Hast du es mal versucht mit:

                                      Feste (statische) IP des NSPanels merken

                                      Jetzt alles weitere in der Tasmota-Konsole ausführen:

                                      backlog savedata 1; ipaddress1 0.0.0.0; savedata 0; restart 1
                                      

                                      nach dem Neustart

                                      FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                      

                                      und dann, wenn durchgelaufen, wieder mit der gemerkten statischen IP einstellen

                                      ipaddress1 192.168.X.X

                                      F Offline
                                      F Offline
                                      Foradh 0
                                      wrote on last edited by
                                      #6803

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      @ilovegym

                                      Habe alle Flash's mit Tasmota 14.4.1 gemacht.

                                      Hast du es mal versucht mit:

                                      Feste (statische) IP des NSPanels merken

                                      Jetzt alles weitere in der Tasmota-Konsole ausführen:

                                      backlog savedata 1; ipaddress1 0.0.0.0; savedata 0; restart 1
                                      

                                      nach dem Neustart

                                      FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                      

                                      und dann, wenn durchgelaufen, wieder mit der gemerkten statischen IP einstellen

                                      ipaddress1 192.168.X.X

                                      Hi Armilar, ich hatte ebenfalls das Problem dass der Flash mit dieser Fehlermeldung stehengeblieben ist.

                                      BRY: Exception> 'type_error' - unsupported operand type(s) for <: 'nil' and 'int'
                                      

                                      Mit deinem Vorschlag die feste Ip mit dem Befehl temporär zu deaktivieren hat es ohne Problem funktioniert.
                                      Könntest du mir erklären warum der Flash mit einer fest zugewiesenen IP fehlschlägt?

                                      Vielen Dank vorab
                                      Foradh

                                      ArmilarA 1 Reply Last reply
                                      1
                                      • F Foradh 0

                                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                        @ilovegym

                                        Habe alle Flash's mit Tasmota 14.4.1 gemacht.

                                        Hast du es mal versucht mit:

                                        Feste (statische) IP des NSPanels merken

                                        Jetzt alles weitere in der Tasmota-Konsole ausführen:

                                        backlog savedata 1; ipaddress1 0.0.0.0; savedata 0; restart 1
                                        

                                        nach dem Neustart

                                        FlashNextion http://nspanel.de/nspanel-4.5.0.tft
                                        

                                        und dann, wenn durchgelaufen, wieder mit der gemerkten statischen IP einstellen

                                        ipaddress1 192.168.X.X

                                        Hi Armilar, ich hatte ebenfalls das Problem dass der Flash mit dieser Fehlermeldung stehengeblieben ist.

                                        BRY: Exception> 'type_error' - unsupported operand type(s) for <: 'nil' and 'int'
                                        

                                        Mit deinem Vorschlag die feste Ip mit dem Befehl temporär zu deaktivieren hat es ohne Problem funktioniert.
                                        Könntest du mir erklären warum der Flash mit einer fest zugewiesenen IP fehlschlägt?

                                        Vielen Dank vorab
                                        Foradh

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

                                        @foradh-0 sagte in SONOFF NSPanel mit Lovelace UI:

                                        Mit deinem Vorschlag die feste Ip mit dem Befehl temporär zu deaktivieren hat es ohne Problem funktioniert.
                                        Könntest du mir erklären warum der Flash mit einer fest zugewiesenen IP fehlschlägt?

                                        Nicht wirklich. Der Vorschlag stammt aus dem gesammelten Fundus ehemaliger Flash-Probleme und tritt nur sehr selten unter mir unbekannten Bedingungen auf... 😊

                                        Wenn es eine Lösung zu einem Tasmota-Problem gibt, nehmen wir lediglich die Themen im Bereich FAQ-Tasmota im Wiki auf und haben einen potenziellen Lösungsansatz.

                                        Bei mir ist das ebenfalls einmal vorgekommen und bei mir hat jedes Tasmota-Device eine statische IP. Ist allerdings schon sehr lange her. Ich konnte es auch nicht wieder reproduzieren.

                                        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
                                        1
                                        • T Do not disturb
                                          T Do not disturb
                                          ticaki
                                          wrote on last edited by ticaki
                                          #6805

                                          Hab ein Script geschrieben dass es für Leute mit Wetterstationen ermöglicht den Wind so anzuzeigen:
                                          Rechts das Icon:
                                          IMG_0769.jpeg

                                          Das Skript erzeugt einen Datenpunkt unter userdata, diesen und natürlich woher die Richtung kommt (0-360) muß eingestellt werden.

                                          Script (Typescript):

                                          // 0 for alignment to north, for relative alignment to the panel enter the deviation to north,
                                          const directionOfPanel = 0;
                                          
                                          // Arrow shape can be set here
                                          const arrowToUse = 'bold-outline'
                                          const createTheState = true;
                                          
                                          const cDataFrom = 'sainlogic.0.weather.current.winddir';
                                          const cDataTo = '0_userdata.0.NSPanel.1.usr.windrichtung_zu_icon';
                                          
                                          async function main() {
                                              if (createTheState) {
                                                  await extendObjectAsync(cDataTo, {
                                                      type: 'state',
                                                      common: {
                                                          type: 'string', 
                                                          role:'text', 
                                                          read: true, 
                                                          write: false, 
                                                          def: '',
                                                          name: `Nspanel icon for wind direction (N - ${directionOfPanel}°)`,
                                                      }
                                                  });
                                                  await sleep(10);
                                              }
                                              setDirection( {state:{val: getState(cDataFrom).val}});
                                              on(cDataFrom , setDirection);
                                          }
                                          
                                          function setDirection(obj) {
                                              let dir: number = (obj.state.val || 0)
                                              dir = (dir - directionOfPanel + 360) % 360
                                          
                                              let icon = 'arrow-'
                                              let icontop: 'bottom-' | 'top-' | 'down-' | 'up-' | '' = ''
                                              let iconleft: 'left-' | 'right-' | '' = ''
                                              if (dir > 292.5 || dir < 67.5) {
                                                  icontop = 'top-'
                                              }
                                              else if(dir < 247.5 && dir > 112.5) {
                                                  icontop = 'bottom-'
                                              }
                                              if (dir < 337.5 && dir > 212.5) {
                                                  iconleft = 'left-'
                                              }
                                              else if((dir < 157.5 && dir > 32.5)) {
                                                  iconleft = 'right-'
                                              }
                                              if (iconleft === '' && icontop) {
                                                  if (icontop === 'top-') {
                                                      icontop = 'up-';
                                                  } else {
                                                       icontop = 'down-';
                                                  }
                                          
                                              }
                                              icon += icontop + iconleft + arrowToUse
                                              
                                              setState(cDataTo, icon, true)
                                          }
                                          
                                          main();
                                          
                                          
                                          //bottomScreensaverEntity
                                                     {
                                                          ScreensaverEntity: 'sainlogic.0.weather.current.windgustspeed',
                                                          ScreensaverEntityFactor: 1,
                                                          ScreensaverEntityDecimalPlaces: 0,
                                                          ScreensaverEntityIconOn: '0_userdata.0.NSPanel.1.usr.windrichtung_zu_icon',
                                                          ScreensaverEntityIconOff: null,
                                                          ScreensaverEntityText: 'Wind',
                                                          ScreensaverEntityUnitText: 'km/h',
                                                          ScreensaverEntityIconColor: { val_min: 0, val_max: 150 },
                                                      },
                                          

                                          Und wer ne etwas aufgebohrte Temperaturanzeige will:

                                          //bottomScreensaverEntity
                                                      {
                                                          ScreensaverEntity: 'alias.0.zuhause.aussen.Außentemperatur_.ACTUAL',
                                                          ScreensaverEntityFactor: 1,
                                                          ScreensaverEntityDecimalPlaces: 1,
                                                          ScreensaverEntityIconOn: 'thermometer',
                                                          ScreensaverEntityIconOff: null,
                                                          ScreensaverEntityText: 'Außen',
                                                          ScreensaverEntityUnitText: '°C',
                                                          ScreensaverEntityIconColor: { val_min: -20, val_max: 40, val_best: 20 },
                                                          ScreensaverEntityIconSelect: [
                                                              {icon: 'sun-thermometer', value:40},
                                                              {icon: 'sun-thermometer-outline', value: 35},
                                                              {icon: 'thermometer-high', value: 30},
                                                              {icon: 'thermometer', value: 25},
                                                              {icon: 'thermometer-low', value: 15},
                                                              {icon: 'snowflake-alert', value: 1},
                                                              {icon: 'snowflake-thermometer', value: -2},
                                                              {icon: 'snowflake', value: -10},
                                                              ]
                                                      },
                                          

                                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                          Spenden

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          102

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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