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

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

Community Forum

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

NEWS

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

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

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 272 Kommentatoren 6.7m Aufrufe 254 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S SirMiker
    javascript.0 (23087) script.js.NSPANEL: TypeScript compilation failed: let name = <PageGrid>{ ^ ERROR: Conversion of type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' to type 'PageGrid' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' is missing the following properties from type 'PageGrid': subPage, parent, parentIcon, parentIconColor, and 9 more. let, name = <PageGrid>{ ^ ERROR: Identifier expected. 'let' is a reserved word in strict mode. Modules are automatically in strict mode. let, name = <PageGrid>{ ^ ERROR: No value exists in scope for the shorthand property 'let'. Either declare one or provide an initializer. let, name = <PageGrid>{ ^ ERROR: Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern. let, name = <PageGrid>{ ^ ERROR: Conversion of type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' to type 'PageGrid' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' is missing the following properties from type 'PageGrid': subPage, parent, parentIcon, parentIconColor, and 9 more.
    

    das habe ich eingefügt

               NSPanel_Service         	//Auto-Alias Service Page
    	    //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
        ],
        
        let name = <PageGrid>
    {
        'type': 'cardType',
        'heading': 'Eckstein',
        'useColor': true,
        'items': []
    };  ,
        subPages: [
    	    
    
    ArmilarA Offline
    ArmilarA Offline
    Armilar
    Most Active Forum Testing
    schrieb am zuletzt editiert von Armilar
    #4288

    @sirmiker

    viel wichtiger ist es jetzt zu zeigen, was du überhaupt in das Script eingefügt hast. Das der Fehler kommt, hat sicherlich etwas mit den folgenden Punkten zu tun.

    • Variablendefinition falsch
    • PageItem falsch
    • Komma in der Auflistung vergessen
    • Alias nicht über Geräte-Manager erstellt

    Also mehr Input zu deinen Aktionen als zum Fehler...

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

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

    1 Antwort Letzte Antwort
    0
    • S SirMiker
      javascript.0 (23087) script.js.NSPANEL: TypeScript compilation failed: let name = <PageGrid>{ ^ ERROR: Conversion of type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' to type 'PageGrid' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' is missing the following properties from type 'PageGrid': subPage, parent, parentIcon, parentIconColor, and 9 more. let, name = <PageGrid>{ ^ ERROR: Identifier expected. 'let' is a reserved word in strict mode. Modules are automatically in strict mode. let, name = <PageGrid>{ ^ ERROR: No value exists in scope for the shorthand property 'let'. Either declare one or provide an initializer. let, name = <PageGrid>{ ^ ERROR: Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern. let, name = <PageGrid>{ ^ ERROR: Conversion of type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' to type 'PageGrid' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Type '{ type: "cardType"; heading: string; useColor: true; items: undefined[]; }' is missing the following properties from type 'PageGrid': subPage, parent, parentIcon, parentIconColor, and 9 more.
      

      das habe ich eingefügt

                 NSPanel_Service         	//Auto-Alias Service Page
      	    //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
          ],
          
          let name = <PageGrid>
      {
          'type': 'cardType',
          'heading': 'Eckstein',
          'useColor': true,
          'items': []
      };  ,
          subPages: [
      	    
      
      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von Armilar
      #4289

      @sirmiker sagte in SONOFF NSPanel mit Lovelace UI:

      let name = <PageGrid>
      {
          'type': 'cardType',
          'heading': 'Eckstein',
          'useColor': true,
          'items': []
      };  ,
          subPages: [
      

      Das ist völlig falsch...

      Die Variablendefinition einer Seite befindet sich immer im oberen Teil des Scriptes...

      Die Seite selbst wird später nur in das page-Array in der Config eingetragen...

      Sieh dir mal das Service-Menü an... Das ist im Prinzip schon eine gute Anleitung...

      Hier nochmal ein Beispiel wie es korrekt wäre:

      Im oberen Teil wird eine Seite definiert...
      6045809b-1c3d-4d1c-bec4-1c2fa1df5a64-image.png

      im pages-Array rufe ich die Seite an der richtigen Position auf...

      ccfa6262-08ec-493c-8b6f-491db16f6ab0-image.png

      Alles andere steht auch in einer richtig umfänglichen Wiki... die muss man aber lesen...

      Hier mal die wichtigsten Seiten:

      • https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)
      • https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-‐-Typen_How-2_Beispiele#how-2-page

      Und ganz viele Beispiele:
      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen

      Der Rest ist auch nicht uninteressant...

      Jetzt noch ein kleines Beispiel für eine cardGrid:

      let Radiosender = <PageGrid>
      {
          'type': 'cardGrid',
          'heading': 'Büro 2',
          'useColor': true,
          'items': [
              <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio},
              <PageItem>{ id: 'alias.0.NSPanel_1.Countdown', icon: 'timer-outline', name: 'Timer', onColor: White}
          ]
      };
      

      Das ist bei mir die "Test"-Seite Radiosender. Jedes PageItem ist ein Steuerelement und muss mit einem "nicht selbstgebauten" Alias (https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen) erstellt werden und unter "id:" im PageItem eingetragen werden. Das Script sucht sich über den Alias-Channel dann den richtigen Typen zur Darstellung raus...

      Das Ergebnis in diesem Beispiel:
      1d6b765e-c7c9-41c7-b163-e6096a6d5c9b-image.png
      Eine cardGrid mit einem Button um einen Radiosender zu starten und ein popupTimer

      Noch detaillierte für z.B. den Radiosender ist es hier beschrieben:

      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#9-alias-taste-für-auswahl-eines-radiosenders

      Wenn man das Erstellen erst einmal verstanden hat, dann geht es sehr schnell...

      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.

      S 1 Antwort Letzte Antwort
      1
      • ArmilarA Armilar

        @stephan-l

        Im ioBroker ist vieles einfacher. Kein AppDaemon und kein Yaml.

        Das Script muss nicht angepasst werden, denn es lässt sich alles über die Datenpunkte steuern. Hierfür haben wir auch ein Service-Menü bereitgestellt:

        4659acb5-1295-4668-abaf-0f3d6b84b923-Nextion_Editor_LWEKmyMQ1h.gif

        Solltest du dann doch ein Feature Request benötigen, so kannst du es wie gewohnt im Github mit dem "Tag" ioBroker machen...

        6cebf463-dab2-4115-97a9-c2796c4cbec7-image.png

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

        Stephan LS Offline
        Stephan LS Offline
        Stephan L
        schrieb am zuletzt editiert von
        #4290

        @armilar said in SONOFF NSPanel mit Lovelace UI:

        Das Script muss nicht angepasst werden,

        Ich will folgendes Format: "%A - %m/%d/%Y"
        Im Klartext (fuer USA): Saturday - 11/18/2023

        Leider finde ich keine Schalter die mir das erlauben.

        Aber: meine kleine Aenderung fuegt einen Datenpunkt hinzu der mir die Kontrolle gibt. Keine TS leider nicht genug um zu wissen ob man absolute Freiheit wie in anderen Sprachen. Daher ist mein aktuelles Format: 'Saturday, 11/1/2023'.
        FAST richtig.

        ArmilarA 1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @sirmiker sagte in SONOFF NSPanel mit Lovelace UI:

          let name = <PageGrid>
          {
              'type': 'cardType',
              'heading': 'Eckstein',
              'useColor': true,
              'items': []
          };  ,
              subPages: [
          

          Das ist völlig falsch...

          Die Variablendefinition einer Seite befindet sich immer im oberen Teil des Scriptes...

          Die Seite selbst wird später nur in das page-Array in der Config eingetragen...

          Sieh dir mal das Service-Menü an... Das ist im Prinzip schon eine gute Anleitung...

          Hier nochmal ein Beispiel wie es korrekt wäre:

          Im oberen Teil wird eine Seite definiert...
          6045809b-1c3d-4d1c-bec4-1c2fa1df5a64-image.png

          im pages-Array rufe ich die Seite an der richtigen Position auf...

          ccfa6262-08ec-493c-8b6f-491db16f6ab0-image.png

          Alles andere steht auch in einer richtig umfänglichen Wiki... die muss man aber lesen...

          Hier mal die wichtigsten Seiten:

          • https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)
          • https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Page-‐-Typen_How-2_Beispiele#how-2-page

          Und ganz viele Beispiele:
          https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen

          Der Rest ist auch nicht uninteressant...

          Jetzt noch ein kleines Beispiel für eine cardGrid:

          let Radiosender = <PageGrid>
          {
              'type': 'cardGrid',
              'heading': 'Büro 2',
              'useColor': true,
              'items': [
                  <PageItem>{ id: 'alias.0.NSPanel_1.Radio.Bob', icon: 'radio', name: 'Radio BOB', onColor: colorRadio},
                  <PageItem>{ id: 'alias.0.NSPanel_1.Countdown', icon: 'timer-outline', name: 'Timer', onColor: White}
              ]
          };
          

          Das ist bei mir die "Test"-Seite Radiosender. Jedes PageItem ist ein Steuerelement und muss mit einem "nicht selbstgebauten" Alias (https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-ALIAS-Definitionen) erstellt werden und unter "id:" im PageItem eingetragen werden. Das Script sucht sich über den Alias-Channel dann den richtigen Typen zur Darstellung raus...

          Das Ergebnis in diesem Beispiel:
          1d6b765e-c7c9-41c7-b163-e6096a6d5c9b-image.png
          Eine cardGrid mit einem Button um einen Radiosender zu starten und ein popupTimer

          Noch detaillierte für z.B. den Radiosender ist es hier beschrieben:

          https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#9-alias-taste-für-auswahl-eines-radiosenders

          Wenn man das Erstellen erst einmal verstanden hat, dann geht es sehr schnell...

          S Offline
          S Offline
          SirMiker
          schrieb am zuletzt editiert von SirMiker
          #4291

          @armilar
          wirklich vielen dank für die ausführliche Erklärung!

          das mit der Pages klappt null bei mir....und ich verstehe auch mit durchlesen gar nicht was ich da machen muss...sorry...denke da habe ich mir diesmal eindeutig Zuviel vor genommen :(

           pages: [
                  
          
                      NSPanel_Service         	//Auto-Alias Service Page
          	    //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
              ],
              
          

          Dort muss ich nach Pages den Namen einfügen den ich vergeben habe oder?

          ArmilarA 1 Antwort Letzte Antwort
          0
          • Stephan LS Offline
            Stephan LS Offline
            Stephan L
            schrieb am zuletzt editiert von
            #4292

            Ich verwende das 'alternative' screensaver Layout.
            Leider scheint das ein paar Problemchen zu haben.

            Links sind 2 Eintraege uebereinander, daneben sind 3 weitere nebeneinander.

            Problem: Der OBERE auf der linken Seite ist bei ioBroker IMMER das Wetter!
            Im Script zu finden beim Komentar (//Create Weather MainIcon)

            Mein Panel mit AppDaemon:
            d4b300a4-32ba-4a70-9a65-6c213ff5569f-image.png

            Hier im Bild von AppDaemon sieht man dass ich dort was anderes hingelegt habe. Habe das aktuelle Wetter als erstes in der 3er Reihe (geht aber auch ganz ohne Wetter, meine Wahl)

            Ich ja bereits alle Werte und Infos in HA, daher verwende ich den ioBroker HA Adapter. Genial...
            Von dort kommt auch mein momentaner Stromverbrauch. Den konnte ich auch mit ioBroker anzeigen lassen. Aber warum auch immer wurde der Wert als 'String' erkannt. Und im Code gibt es dubiose logik die dann den Wert, z.B. "793" als DATUM umformatiert.
            Dafuer konnte ich einen einfachen Fix machen.

            Ein String x, der folgendes erfuellt ist KEIN Datum:

            if (parseFloat(val+"") == val)      // I have number that would fit this
                 val = parseFloat(val)
            

            Dann habe ich den State von 2 Lichtern (die letzten beiden in der Reihe unter dem Datum)

            Ich haette gerne wie mit AppDaemon das Icon in WEISS wenn das Licht aus ist und in Gelb wenn es an ist. Hab ich bisher nicht geschafft.
            Und zuletzt habe ich den State unter dem Icon. Auch hier konnte ich das in AppDaemon etwas schoener machen und den 1. Buchstaben mit 'capitalize' auf gross umstellen.
            Beides scheint es hier nicht zu geben?

            ArmilarA 2 Antworten Letzte Antwort
            0
            • Stephan LS Stephan L

              @armilar said in SONOFF NSPanel mit Lovelace UI:

              Das Script muss nicht angepasst werden,

              Ich will folgendes Format: "%A - %m/%d/%Y"
              Im Klartext (fuer USA): Saturday - 11/18/2023

              Leider finde ich keine Schalter die mir das erlauben.

              Aber: meine kleine Aenderung fuegt einen Datenpunkt hinzu der mir die Kontrolle gibt. Keine TS leider nicht genug um zu wissen ob man absolute Freiheit wie in anderen Sprachen. Daher ist mein aktuelles Format: 'Saturday, 11/1/2023'.
              FAST richtig.

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

              @stephan-l

              Okay - ich denke du meinst dann wohl das

              d4a27af6-7e45-4bc8-b0a3-97b6f43bb4e5-image.png

              Wir sind im ioBroker noch nicht ganz so International unterwegs... Ich werde mir für die Zukunft mal etwas überlegen.

              Damit sollte es aber funktionieren:

              const event = new Date();
              
              
              let weekday = event.toLocaleString('en-US', { weekday: 'long' });
              let day = event.toLocaleString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit'});
              
              console.log(weekday + ' - ' + day)
              

              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.

              Stephan LS 1 Antwort Letzte Antwort
              0
              • Stephan LS Stephan L

                Ich verwende das 'alternative' screensaver Layout.
                Leider scheint das ein paar Problemchen zu haben.

                Links sind 2 Eintraege uebereinander, daneben sind 3 weitere nebeneinander.

                Problem: Der OBERE auf der linken Seite ist bei ioBroker IMMER das Wetter!
                Im Script zu finden beim Komentar (//Create Weather MainIcon)

                Mein Panel mit AppDaemon:
                d4b300a4-32ba-4a70-9a65-6c213ff5569f-image.png

                Hier im Bild von AppDaemon sieht man dass ich dort was anderes hingelegt habe. Habe das aktuelle Wetter als erstes in der 3er Reihe (geht aber auch ganz ohne Wetter, meine Wahl)

                Ich ja bereits alle Werte und Infos in HA, daher verwende ich den ioBroker HA Adapter. Genial...
                Von dort kommt auch mein momentaner Stromverbrauch. Den konnte ich auch mit ioBroker anzeigen lassen. Aber warum auch immer wurde der Wert als 'String' erkannt. Und im Code gibt es dubiose logik die dann den Wert, z.B. "793" als DATUM umformatiert.
                Dafuer konnte ich einen einfachen Fix machen.

                Ein String x, der folgendes erfuellt ist KEIN Datum:

                if (parseFloat(val+"") == val)      // I have number that would fit this
                     val = parseFloat(val)
                

                Dann habe ich den State von 2 Lichtern (die letzten beiden in der Reihe unter dem Datum)

                Ich haette gerne wie mit AppDaemon das Icon in WEISS wenn das Licht aus ist und in Gelb wenn es an ist. Hab ich bisher nicht geschafft.
                Und zuletzt habe ich den State unter dem Icon. Auch hier konnte ich das in AppDaemon etwas schoener machen und den 1. Buchstaben mit 'capitalize' auf gross umstellen.
                Beides scheint es hier nicht zu geben?

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

                @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:
                1)

                Dann habe ich den State von 2 Lichtern (die letzten beiden in der Reihe unter dem Datum)
                Ich haette gerne wie mit AppDaemon das Icon in WEISS wenn das Licht aus ist und in Gelb wenn es an ist. Hab ich bisher nicht geschafft.

                Und zuletzt habe ich den State unter dem Icon. Auch hier konnte ich das in AppDaemon etwas schoener machen und den 1. Buchstaben mit 'capitalize' auf gross umstellen.

                Beides scheint es hier nicht zu geben?

                Zu 1)
                Stimmt - mache bitte einen Feature Request:

                wir implementieren dann noch:

                ScreensaverEntityOnColor: Yellow, 
                ScreensaverEntityOffColor: White
                

                Zu 2)
                Kannst du über den Alias verändern:

                Habe hier mal einen Datenpunkt, der "on"/"off" (klein) enthält
                84a604a7-f68e-4eb6-b2bf-bfa2669bd445-image.png

                Device-Manager
                7c5f6c0f-99f0-4e49-93fa-ec913a3ce8be-image.png

                efadd0f8-f5fe-40a5-b767-893243912413-image.png

                unter fx:
                7930201d-fda9-4f17-920e-7737e5f1b0a0-image.png

                val.charAt(0).toUpperCase() + val.slice(1);
                

                Ergebnis:
                1b2786f8-2d0b-421a-975a-de060adda865-image.png

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

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

                Stephan LS 2 Antworten Letzte Antwort
                0
                • Stephan LS Stephan L

                  Ich verwende das 'alternative' screensaver Layout.
                  Leider scheint das ein paar Problemchen zu haben.

                  Links sind 2 Eintraege uebereinander, daneben sind 3 weitere nebeneinander.

                  Problem: Der OBERE auf der linken Seite ist bei ioBroker IMMER das Wetter!
                  Im Script zu finden beim Komentar (//Create Weather MainIcon)

                  Mein Panel mit AppDaemon:
                  d4b300a4-32ba-4a70-9a65-6c213ff5569f-image.png

                  Hier im Bild von AppDaemon sieht man dass ich dort was anderes hingelegt habe. Habe das aktuelle Wetter als erstes in der 3er Reihe (geht aber auch ganz ohne Wetter, meine Wahl)

                  Ich ja bereits alle Werte und Infos in HA, daher verwende ich den ioBroker HA Adapter. Genial...
                  Von dort kommt auch mein momentaner Stromverbrauch. Den konnte ich auch mit ioBroker anzeigen lassen. Aber warum auch immer wurde der Wert als 'String' erkannt. Und im Code gibt es dubiose logik die dann den Wert, z.B. "793" als DATUM umformatiert.
                  Dafuer konnte ich einen einfachen Fix machen.

                  Ein String x, der folgendes erfuellt ist KEIN Datum:

                  if (parseFloat(val+"") == val)      // I have number that would fit this
                       val = parseFloat(val)
                  

                  Dann habe ich den State von 2 Lichtern (die letzten beiden in der Reihe unter dem Datum)

                  Ich haette gerne wie mit AppDaemon das Icon in WEISS wenn das Licht aus ist und in Gelb wenn es an ist. Hab ich bisher nicht geschafft.
                  Und zuletzt habe ich den State unter dem Icon. Auch hier konnte ich das in AppDaemon etwas schoener machen und den 1. Buchstaben mit 'capitalize' auf gross umstellen.
                  Beides scheint es hier nicht zu geben?

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

                  @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:

                  Ich ja bereits alle Werte und Infos in HA, daher verwende ich den ioBroker HA Adapter. Genial...
                  Von dort kommt auch mein momentaner Stromverbrauch. Den konnte ich auch mit ioBroker anzeigen lassen. Aber warum auch immer wurde der Wert als 'String' erkannt. Und im Code gibt es dubiose logik die dann den Wert, z.B. "793" als DATUM umformatiert.
                  Dafuer konnte ich einen einfachen Fix machen.
                  Ein String x, der folgendes erfuellt ist KEIN Datum:

                  if (parseFloat(val+"") == val)      // I have number that would fit this                                                                                                             val = parseFloat(val)
                  

                  ... sehen wir uns an und machen einen Fix

                  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.

                  Stephan LS 1 Antwort Letzte Antwort
                  1
                  • ArmilarA Armilar

                    @stephan-l

                    Okay - ich denke du meinst dann wohl das

                    d4a27af6-7e45-4bc8-b0a3-97b6f43bb4e5-image.png

                    Wir sind im ioBroker noch nicht ganz so International unterwegs... Ich werde mir für die Zukunft mal etwas überlegen.

                    Damit sollte es aber funktionieren:

                    const event = new Date();
                    
                    
                    let weekday = event.toLocaleString('en-US', { weekday: 'long' });
                    let day = event.toLocaleString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit'});
                    
                    console.log(weekday + ' - ' + day)
                    
                    Stephan LS Offline
                    Stephan LS Offline
                    Stephan L
                    schrieb am zuletzt editiert von
                    #4296

                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                    Ich werde mir für die Zukunft mal etwas überlegen.

                    const dayjs = require('dayjs');
                    console.error(dayjs().format('dddd - DD/MM/YYYY'));
                    

                    Bingo... der format-string kann dann ein Datenobjekt sein. Damit kann ich wie in anderen Sprachen das ganze komplett formatieren!

                    Siehe auch: https://day.js.org/docs/en/display/format

                    Ich bin kein Experte, habe aber wo gelesen dass 'moment' nicht mehr aktualisiert wird? Egal... DayJS kann alles was du brauchst mit minimalem Aufwand und 100% flexibel!

                    ArmilarA 1 Antwort Letzte Antwort
                    0
                    • Stephan LS Stephan L

                      @armilar said in SONOFF NSPanel mit Lovelace UI:

                      Ich werde mir für die Zukunft mal etwas überlegen.

                      const dayjs = require('dayjs');
                      console.error(dayjs().format('dddd - DD/MM/YYYY'));
                      

                      Bingo... der format-string kann dann ein Datenobjekt sein. Damit kann ich wie in anderen Sprachen das ganze komplett formatieren!

                      Siehe auch: https://day.js.org/docs/en/display/format

                      Ich bin kein Experte, habe aber wo gelesen dass 'moment' nicht mehr aktualisiert wird? Egal... DayJS kann alles was du brauchst mit minimalem Aufwand und 100% flexibel!

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

                      @stephan-l

                      sieht wirklich nach einer guten Lösung aus

                      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.

                      Stephan LS 1 Antwort Letzte Antwort
                      0
                      • ArmilarA Armilar

                        @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:
                        1)

                        Dann habe ich den State von 2 Lichtern (die letzten beiden in der Reihe unter dem Datum)
                        Ich haette gerne wie mit AppDaemon das Icon in WEISS wenn das Licht aus ist und in Gelb wenn es an ist. Hab ich bisher nicht geschafft.

                        Und zuletzt habe ich den State unter dem Icon. Auch hier konnte ich das in AppDaemon etwas schoener machen und den 1. Buchstaben mit 'capitalize' auf gross umstellen.

                        Beides scheint es hier nicht zu geben?

                        Zu 1)
                        Stimmt - mache bitte einen Feature Request:

                        wir implementieren dann noch:

                        ScreensaverEntityOnColor: Yellow, 
                        ScreensaverEntityOffColor: White
                        

                        Zu 2)
                        Kannst du über den Alias verändern:

                        Habe hier mal einen Datenpunkt, der "on"/"off" (klein) enthält
                        84a604a7-f68e-4eb6-b2bf-bfa2669bd445-image.png

                        Device-Manager
                        7c5f6c0f-99f0-4e49-93fa-ec913a3ce8be-image.png

                        efadd0f8-f5fe-40a5-b767-893243912413-image.png

                        unter fx:
                        7930201d-fda9-4f17-920e-7737e5f1b0a0-image.png

                        val.charAt(0).toUpperCase() + val.slice(1);
                        

                        Ergebnis:
                        1b2786f8-2d0b-421a-975a-de060adda865-image.png

                        Stephan LS Offline
                        Stephan LS Offline
                        Stephan L
                        schrieb am zuletzt editiert von
                        #4298

                        @armilar said in SONOFF NSPanel mit Lovelace UI:

                        Zu 2)
                        Kannst du über den Alias verändern:
                        Habe hier mal einen Datenpunkt, der "on"/"off" (klein) enthält

                        Naja, dann muss ich also alles doppelt machen? Wenn ich im Panel ein anderes Licht anzeigen will, dann muss ich einen neuen Alias machen UND dann noch im TS skript das andere Licht anwaehlen. Also dopplete Arbeit? Oder hab ich was falsch verstanden?

                        1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:

                          Ich ja bereits alle Werte und Infos in HA, daher verwende ich den ioBroker HA Adapter. Genial...
                          Von dort kommt auch mein momentaner Stromverbrauch. Den konnte ich auch mit ioBroker anzeigen lassen. Aber warum auch immer wurde der Wert als 'String' erkannt. Und im Code gibt es dubiose logik die dann den Wert, z.B. "793" als DATUM umformatiert.
                          Dafuer konnte ich einen einfachen Fix machen.
                          Ein String x, der folgendes erfuellt ist KEIN Datum:

                          if (parseFloat(val+"") == val)      // I have number that would fit this                                                                                                             val = parseFloat(val)
                          

                          ... sehen wir uns an und machen einen Fix

                          Stephan LS Offline
                          Stephan LS Offline
                          Stephan L
                          schrieb am zuletzt editiert von
                          #4299

                          @armilar said in SONOFF NSPanel mit Lovelace UI:

                          ... sehen wir uns an und machen einen Fix

                          Yay! Das waere Supi....

                          Ich will auf keinen Fall auf AppDaemon zurueck. NSPanel mit ioBroker ist 10000000x mehr responsive!
                          Aber.... manches geht halt nicht ;-) Aber ich hoffe wir bekommen das hin.

                          Danke fuer die super schnellen Antworten!

                          ArmilarA 1 Antwort Letzte Antwort
                          1
                          • S SirMiker

                            @armilar
                            wirklich vielen dank für die ausführliche Erklärung!

                            das mit der Pages klappt null bei mir....und ich verstehe auch mit durchlesen gar nicht was ich da machen muss...sorry...denke da habe ich mir diesmal eindeutig Zuviel vor genommen :(

                             pages: [
                                    
                            
                                        NSPanel_Service         	//Auto-Alias Service Page
                            	    //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
                                ],
                                
                            

                            Dort muss ich nach Pages den Namen einfügen den ich vergeben habe oder?

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

                            @sirmiker

                            Gib uns mal ein Anwendungsbeispiel für einen leichten Einstieg. Was soll als erstes passieren?

                            Eine neue Seite mit einer Lampe einbinden?

                            Dann benötigen wir erst einmal einen Datenpunkt der Lampe.

                            Step by Step...

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

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

                            1 Antwort Letzte Antwort
                            0
                            • Stephan LS Stephan L

                              @armilar said in SONOFF NSPanel mit Lovelace UI:

                              ... sehen wir uns an und machen einen Fix

                              Yay! Das waere Supi....

                              Ich will auf keinen Fall auf AppDaemon zurueck. NSPanel mit ioBroker ist 10000000x mehr responsive!
                              Aber.... manches geht halt nicht ;-) Aber ich hoffe wir bekommen das hin.

                              Danke fuer die super schnellen Antworten!

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

                              @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:

                              Yay! Das waere Supi....
                              Ich will auf keinen Fall auf AppDaemon zurueck. NSPanel mit ioBroker ist 10000000x mehr responsive!
                              Aber.... manches geht halt nicht Aber ich hoffe wir bekommen das hin.
                              Danke fuer die super schnellen Antworten!

                              Klar bekommen wir das hin :blush:

                              Am Besten aber in einen Feature Request auf Github. Dann geht es nicht so schnell verloren wie in diesem Thread...

                              Du bist dann der erste "Test-Amerikaner" für das NSPanel im ioBroker ;-)

                              Kannst natürlich auch "Pull Requests" machen, falls die Lösung schon bekannt ist...

                              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.

                              Stephan LS 1 Antwort Letzte Antwort
                              0
                              • ArmilarA Armilar

                                @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:
                                1)

                                Dann habe ich den State von 2 Lichtern (die letzten beiden in der Reihe unter dem Datum)
                                Ich haette gerne wie mit AppDaemon das Icon in WEISS wenn das Licht aus ist und in Gelb wenn es an ist. Hab ich bisher nicht geschafft.

                                Und zuletzt habe ich den State unter dem Icon. Auch hier konnte ich das in AppDaemon etwas schoener machen und den 1. Buchstaben mit 'capitalize' auf gross umstellen.

                                Beides scheint es hier nicht zu geben?

                                Zu 1)
                                Stimmt - mache bitte einen Feature Request:

                                wir implementieren dann noch:

                                ScreensaverEntityOnColor: Yellow, 
                                ScreensaverEntityOffColor: White
                                

                                Zu 2)
                                Kannst du über den Alias verändern:

                                Habe hier mal einen Datenpunkt, der "on"/"off" (klein) enthält
                                84a604a7-f68e-4eb6-b2bf-bfa2669bd445-image.png

                                Device-Manager
                                7c5f6c0f-99f0-4e49-93fa-ec913a3ce8be-image.png

                                efadd0f8-f5fe-40a5-b767-893243912413-image.png

                                unter fx:
                                7930201d-fda9-4f17-920e-7737e5f1b0a0-image.png

                                val.charAt(0).toUpperCase() + val.slice(1);
                                

                                Ergebnis:
                                1b2786f8-2d0b-421a-975a-de060adda865-image.png

                                Stephan LS Offline
                                Stephan LS Offline
                                Stephan L
                                schrieb am zuletzt editiert von
                                #4302

                                @armilar said in SONOFF NSPanel mit Lovelace UI:

                                Stimmt - mache bitte einen Feature Request:
                                wir implementieren dann noch:

                                https://github.com/joBr99/nspanel-lovelace-ui/issues/1045

                                1 Antwort Letzte Antwort
                                1
                                • ArmilarA Armilar

                                  @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:

                                  Yay! Das waere Supi....
                                  Ich will auf keinen Fall auf AppDaemon zurueck. NSPanel mit ioBroker ist 10000000x mehr responsive!
                                  Aber.... manches geht halt nicht Aber ich hoffe wir bekommen das hin.
                                  Danke fuer die super schnellen Antworten!

                                  Klar bekommen wir das hin :blush:

                                  Am Besten aber in einen Feature Request auf Github. Dann geht es nicht so schnell verloren wie in diesem Thread...

                                  Du bist dann der erste "Test-Amerikaner" für das NSPanel im ioBroker ;-)

                                  Kannst natürlich auch "Pull Requests" machen, falls die Lösung schon bekannt ist...

                                  Stephan LS Offline
                                  Stephan LS Offline
                                  Stephan L
                                  schrieb am zuletzt editiert von
                                  #4303

                                  @armilar said in SONOFF NSPanel mit Lovelace UI:

                                  Du bist dann der erste "Test-Amerikaner" für das NSPanel im ioBroker

                                  Ich denke das liegt daran dass doch einiges auf Deutsch dokumentiert ist ;-) Sowohl online als auch im Code.
                                  Nach 15+ Jahren USA ist Englisch eigentlich fuer mich inzwischen einfacher hahaha. Zumindest gefuehlt ;-)
                                  Aber 30 Jahre Deutsch vergisst man dann ja doch nicht so schnell....

                                  Ich mache gerne PullRequest wenn es da nicht so viele Huerden gibt.
                                  In manchen Projekten ist das mega unkompliziert und in manchen eher das Gegenteil.

                                  Wenn es OK ist wuerde ich den Datumsfix machen, so als tester.
                                  Passt das? Ich wuerde dafuer gerne ein DatenObjekt nehmen das, wenn es exisitiert die UI Schalter ignoriert. Und es waere gut wenn eine Aenderung am DatenObjekt direkt erkannt wird und dann ein neues Datum rausgeschickt wird.
                                  Geht das? Wenn ja, wie?

                                  ArmilarA 1 Antwort Letzte Antwort
                                  1
                                  • Stephan LS Stephan L

                                    @armilar said in SONOFF NSPanel mit Lovelace UI:

                                    Du bist dann der erste "Test-Amerikaner" für das NSPanel im ioBroker

                                    Ich denke das liegt daran dass doch einiges auf Deutsch dokumentiert ist ;-) Sowohl online als auch im Code.
                                    Nach 15+ Jahren USA ist Englisch eigentlich fuer mich inzwischen einfacher hahaha. Zumindest gefuehlt ;-)
                                    Aber 30 Jahre Deutsch vergisst man dann ja doch nicht so schnell....

                                    Ich mache gerne PullRequest wenn es da nicht so viele Huerden gibt.
                                    In manchen Projekten ist das mega unkompliziert und in manchen eher das Gegenteil.

                                    Wenn es OK ist wuerde ich den Datumsfix machen, so als tester.
                                    Passt das? Ich wuerde dafuer gerne ein DatenObjekt nehmen das, wenn es exisitiert die UI Schalter ignoriert. Und es waere gut wenn eine Aenderung am DatenObjekt direkt erkannt wird und dann ein neues Datum rausgeschickt wird.
                                    Geht das? Wenn ja, wie?

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

                                    @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:

                                    Wenn es OK ist wuerde ich den Datumsfix machen, so als tester.
                                    Passt das?

                                    Ja, natürlich

                                    Ich wuerde dafuer gerne ein DatenObjekt nehmen das, wenn es exisitiert die UI Schalter ignoriert. Und es waere gut wenn eine Aenderung am DatenObjekt direkt erkannt wird und dann ein neues Datum rausgeschickt wird.
                                    Geht das? Wenn ja, wie?

                                    Habe ich noch nicht ganz verstanden. Meinst du als Daten-Objekt einen Datenpunkt unter 0_userdata.0. das durch das Script inoitial erstellt wird?

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

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

                                    Stephan LS 1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @stephan-l

                                      sieht wirklich nach einer guten Lösung aus

                                      Stephan LS Offline
                                      Stephan LS Offline
                                      Stephan L
                                      schrieb am zuletzt editiert von
                                      #4305

                                      @armilar said in SONOFF NSPanel mit Lovelace UI:

                                      sieht wirklich nach einer guten Lösung aus

                                      Habe PR erstellt (https://github.com/joBr99/nspanel-lovelace-ui/pull/1046)

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • ArmilarA Armilar

                                        @stephan-l sagte in SONOFF NSPanel mit Lovelace UI:

                                        Wenn es OK ist wuerde ich den Datumsfix machen, so als tester.
                                        Passt das?

                                        Ja, natürlich

                                        Ich wuerde dafuer gerne ein DatenObjekt nehmen das, wenn es exisitiert die UI Schalter ignoriert. Und es waere gut wenn eine Aenderung am DatenObjekt direkt erkannt wird und dann ein neues Datum rausgeschickt wird.
                                        Geht das? Wenn ja, wie?

                                        Habe ich noch nicht ganz verstanden. Meinst du als Daten-Objekt einen Datenpunkt unter 0_userdata.0. das durch das Script inoitial erstellt wird?

                                        Stephan LS Offline
                                        Stephan LS Offline
                                        Stephan L
                                        schrieb am zuletzt editiert von
                                        #4306

                                        @armilar said in SONOFF NSPanel mit Lovelace UI:

                                        Meinst du als Daten-Objekt einen Datenpunkt unter 0_userdata.0. das durch das Script inoitial erstellt wird?

                                        Ja und nein... Datenpunkt unter dem panel basis pfad (.Config.Dateformat.customFormat)
                                        Der soll aber ja optional sein. Der user kann das anlegen und es wird verwendet. Der user loescht es wieder und die UI toggles gehen wieder.

                                        Was ich gemerkt habe, wenn ich in der UI die Locale einstelle passiert nix bis ich das TS Skript neu starte!
                                        Grund: die Locale wird ganz am Anfang gesetzt:

                                        const parseFormat = require('moment-parseformat');
                                        moment.locale(getState(NSPanel_Path + 'Config.locale').val);
                                        

                                        Der neue dayjs macht das jetzt genau gleich.

                                        Selbst Panel neustart hilft daher nicht.

                                        Was fehlt ist code der Locale change erkennt und dann

                                        moment.locale(getState(NSPanel_Path + 'Config.locale').val); ausfuehrt.
                                        Und mit meiner Aenderung dann auch dayjs.locale(getDayjsLocale());

                                        Stephan LS 2 Antworten Letzte Antwort
                                        0
                                        • Stephan LS Stephan L

                                          @armilar said in SONOFF NSPanel mit Lovelace UI:

                                          Meinst du als Daten-Objekt einen Datenpunkt unter 0_userdata.0. das durch das Script inoitial erstellt wird?

                                          Ja und nein... Datenpunkt unter dem panel basis pfad (.Config.Dateformat.customFormat)
                                          Der soll aber ja optional sein. Der user kann das anlegen und es wird verwendet. Der user loescht es wieder und die UI toggles gehen wieder.

                                          Was ich gemerkt habe, wenn ich in der UI die Locale einstelle passiert nix bis ich das TS Skript neu starte!
                                          Grund: die Locale wird ganz am Anfang gesetzt:

                                          const parseFormat = require('moment-parseformat');
                                          moment.locale(getState(NSPanel_Path + 'Config.locale').val);
                                          

                                          Der neue dayjs macht das jetzt genau gleich.

                                          Selbst Panel neustart hilft daher nicht.

                                          Was fehlt ist code der Locale change erkennt und dann

                                          moment.locale(getState(NSPanel_Path + 'Config.locale').val); ausfuehrt.
                                          Und mit meiner Aenderung dann auch dayjs.locale(getDayjsLocale());

                                          Stephan LS Offline
                                          Stephan LS Offline
                                          Stephan L
                                          schrieb am zuletzt editiert von
                                          #4307

                                          @stephan-l
                                          Also sowas wie

                                          on({id: [].concat(NSPanel_Path + 'Config.Locale'), change: "ne"}, async function (obj) {
                                             moment.locale(getState(NSPanel_Path + 'Config.locale').val);
                                             dayjs.locale(getDayjsLocale());
                                          });
                                          

                                          Da ich den syntax hier nicht kenne ist das kein fertiger Code, nur die Erklaerung was ich meine.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          510

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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