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

donate donate
  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.7k

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

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

SONOFF NSPanel mit Lovelace UI

Geplant Angeheftet Gesperrt Verschoben Hardware
lovelace uinspanelsonoff
7.8k Beiträge 274 Kommentatoren 6.8m Aufrufe 257 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.
  • ArmilarA Armilar

    @basti-gepp

    Lösche den Media-Alias für Alexa mal, der legt sich von selbst an.

    Seitendefinition Beispiel:

    let Alexa = <PageMedia> 
    {
        'type': 'cardMedia',
        'heading': 'Alexa',
        'useColor': true,
        'items': [<PageItem>{   
                    id: AliasPath + 'Media.PlayerAlexa', 
                    adapterPlayerInstance: 'alexa2.0.',
                    mediaDevice: 'G0XXXXXXXXXXXXXX', 
                    speakerList: ['Überall','Gartenhaus','Esszimmer','Heimkino','Echo Dot Küche','Echo Spot Buero'],
                    //analog alexa2 Music-Provider
                    playList: ['Spotify-Playlist.PartyPlaylist',
                               'Amazon-Music-Playlist.Mein Discovery Mix',
                               'My-Library-Playlist.2020',
                               'My-Library-Playlist.2021',
                               'TuneIn.Radio Bob Rock',
                               'TuneIn.NDR2',
                               'Spotify-Playlist.Sabaton Radio',
                               'Spotify-Playlist.Rock Party',
                               'Spotify-Playlist.This Is Nightwish',
                               'Spotify-Playlist.Metal Christmas'],
                    equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', 
                                    'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'],
                    colorMediaIcon: colorAlexa,
                    colorMediaArtist: Yellow,
                    colorMediaTitle: Yellow,
                    autoCreateALias : true
                 }]
    };
    

    Danach einfach die Seite aufrufen (ist beim ersten mal schwarz, da der Alias erzeugt wird). Wenn der Screensaver da war, ist auch die cardMedia zu sehen.

    Basti GeppB Offline
    Basti GeppB Offline
    Basti Gepp
    schrieb am zuletzt editiert von
    #2655

    @armilar vielen dank, wie fast immer saß der Fehler 60cm vor dem Bildschirm.
    Hab ich wohl falsch gelesen, oder falsch verstanden oder wie auch immer.

    Jetzt funktioniert es auf jeden Fall. Ich habe noch viel zu lernen :D

    **basti

    ArmilarA 1 Antwort Letzte Antwort
    0
    • Basti GeppB Basti Gepp

      @armilar vielen dank, wie fast immer saß der Fehler 60cm vor dem Bildschirm.
      Hab ich wohl falsch gelesen, oder falsch verstanden oder wie auch immer.

      Jetzt funktioniert es auf jeden Fall. Ich habe noch viel zu lernen :D

      **basti

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

      @basti-gepp

      Perfekt, ja der Fehler sitzt meistens zwischen einem Schreibtischstuhl und einem Bildschirm ;-)

      Den Rest bekommst du auch noch hin. Viel Spaß mit dem Media-Player... :blush:

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

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

      1 Antwort Letzte Antwort
      0
      • ArmilarA Armilar

        @basti-gepp sagte in SONOFF NSPanel mit Lovelace UI:

        Ich bekomme auch einen Haufen Warnungen, aber ich denke die haben damit nichts zu tun:
        643fefca-abec-42b1-abb2-7a38c627e149-image.png

        Nein, das liegt daran, dass mindestens einer der beiden mrIconXScreensaverEntity in der Config falsch konfiguriert ist und kein existierender Datenpunkt verwendet wird.

        Basti GeppB Offline
        Basti GeppB Offline
        Basti Gepp
        schrieb am zuletzt editiert von
        #2657

        @armilar mrIconXScreensaverEntity damit sind die zwei "Symbole" oben links/rechts im BIldschirmschoner gemeint oder?
        Wenn ja muss ich mir da noch was überlegen, soviele "Smarte" Geräte habe ich noch garnicht da ich ja noch in der Testphase bin :-)

        **basti

        ArmilarA 1 Antwort Letzte Antwort
        0
        • Basti GeppB Basti Gepp

          @armilar mrIconXScreensaverEntity damit sind die zwei "Symbole" oben links/rechts im BIldschirmschoner gemeint oder?
          Wenn ja muss ich mir da noch was überlegen, soviele "Smarte" Geräte habe ich noch garnicht da ich ja noch in der Testphase bin :-)

          **basti

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

          @basti-gepp

          Das Panel hat ja selbst auch Relay's

          Einfach die verwenden, wenn sonst nichts verwendet werden kann!

              mrIcon1ScreensaverEntity: 
                  { 
                      ScreensaverEntity: NSPanel_Path + 'Relay.1', 
                      ScreensaverEntityIconOn: 'lightbulb',                           //Rename
                      ScreensaverEntityIconOff: null, 
                      ScreensaverEntityValue: null,                                   //New
                      ScreensaverEntityValueDecimalPlace : 0,                         //New
                      ScreensaverEntityValueUnit: null,                               //New
                      ScreensaverEntityOnColor: On, 
                      ScreensaverEntityOffColor: HMIOff 
                  },
          
              mrIcon2ScreensaverEntity:
                  { 
                      ScreensaverEntity: NSPanel_Path + 'Relay.2', 
                      ScreensaverEntityIconOn: 'lightbulb',                           //Rename
                      ScreensaverEntityIconOff: null, 
                      ScreensaverEntityValue: null,                                   //New
                      ScreensaverEntityValueDecimalPlace : 0,                         //New
                      ScreensaverEntityValueUnit: null,                               //New
                      ScreensaverEntityOnColor: On, 
                      ScreensaverEntityOffColor: HMIOff 
                  },
          

          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.

          Basti GeppB 1 Antwort Letzte Antwort
          0
          • J joBr99

            @marc_d0810 said in SONOFF NSPanel mit Lovelace UI:

            hast du mit @joBr99 Kontakt oder meinst du es kommt noch ein Hinweis?

            Bin gerade am Reisen, wenn da 55BB im Log steht, ist schon Lovelace drauf, dann sollte eigentlich auch das flashen ganz normal funktionieren ... Ich würde mal probieren das NSPanel auseinanderzubauen und das Kabel vom Display neu zu stecken, eventuell gibts da nen Kontaktproblem zwischen ESP und Nextion display auf dem TX Kontakt. (Solltest du sonst auch nicht über Waiting for content hinauskommen)

            Ansonsten, könntest du über die Testpunkte auf dem board auch direkt mit dem nextion editor flashen (da muss dann aber rx an rx und tx an tx von deinem serial adapter, da die beschriftung aus sicht des ESP ist)

            M Offline
            M Offline
            marc_d0810
            schrieb am zuletzt editiert von
            #2659

            @jobr99 said in SONOFF NSPanel mit Lovelace UI:

            @marc_d0810 said in SONOFF NSPanel mit Lovelace UI:

            hast du mit @joBr99 Kontakt oder meinst du es kommt noch ein Hinweis?

            Bin gerade am Reisen, wenn da 55BB im Log steht, ist schon Lovelace drauf, dann sollte eigentlich auch das flashen ganz normal funktionieren ... Ich würde mal probieren das NSPanel auseinanderzubauen und das Kabel vom Display neu zu stecken, eventuell gibts da nen Kontaktproblem zwischen ESP und Nextion display auf dem TX Kontakt. (Solltest du sonst auch nicht über Waiting for content hinauskommen)

            Ansonsten, könntest du über die Testpunkte auf dem board auch direkt mit dem nextion editor flashen (da muss dann aber rx an rx und tx an tx von deinem serial adapter, da die beschriftung aus sicht des ESP ist)

            Es ist vollbracht, mit den Testpunkten vom Board konnte ich die aktuellste TFT auf das Display flashen und nun läuft die Sache wieder. :-)

            Danke nochmal an @joBr99 @TT-Tom und @Armilar für die tolle Unterstützung. :-)

            1 Antwort Letzte Antwort
            1
            • ArmilarA Armilar

              @basti-gepp

              Das Panel hat ja selbst auch Relay's

              Einfach die verwenden, wenn sonst nichts verwendet werden kann!

                  mrIcon1ScreensaverEntity: 
                      { 
                          ScreensaverEntity: NSPanel_Path + 'Relay.1', 
                          ScreensaverEntityIconOn: 'lightbulb',                           //Rename
                          ScreensaverEntityIconOff: null, 
                          ScreensaverEntityValue: null,                                   //New
                          ScreensaverEntityValueDecimalPlace : 0,                         //New
                          ScreensaverEntityValueUnit: null,                               //New
                          ScreensaverEntityOnColor: On, 
                          ScreensaverEntityOffColor: HMIOff 
                      },
              
                  mrIcon2ScreensaverEntity:
                      { 
                          ScreensaverEntity: NSPanel_Path + 'Relay.2', 
                          ScreensaverEntityIconOn: 'lightbulb',                           //Rename
                          ScreensaverEntityIconOff: null, 
                          ScreensaverEntityValue: null,                                   //New
                          ScreensaverEntityValueDecimalPlace : 0,                         //New
                          ScreensaverEntityValueUnit: null,                               //New
                          ScreensaverEntityOnColor: On, 
                          ScreensaverEntityOffColor: HMIOff 
                      },
              
              Basti GeppB Offline
              Basti GeppB Offline
              Basti Gepp
              schrieb am zuletzt editiert von Basti Gepp
              #2660

              @armilar
              Also die Warnungen sind "fast" weg, warum auch immer ich musste das +'Relay.1' entfernen, anders wäre die Warnung nicht weggegangen. Ob das so richtig und gewollt ist weiß ich nicht ^^
              Jeden Falls zeigt er mir den richtigen State des Relais jetzt an (in meinem Fall dient er als ordinärer Lichtschalter)

              Geblieben ist das hier:
              d78218d6-1119-4550-a616-8bef83967ae3-image.png
              Ich denke das hängt mit dem Weather.Forecast zu zusammen.

              Und noch was fällt mir auf. Ich wollte die Luftfeuchtigkeit außen auf dem Screensaver anzeigen lassen. Als Wert steht hier aber "0°"
              048b0c86-a4e1-431d-ac05-ef1217fe9fd9-image.png

              Hier der Codeblock dazu:

              // bottomScreensaverEntity 4
                          {
                              ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity',
                              ScreensaverEntityFactor: 0,
                              ScreensaverEntityDecimalPlaces: 0,
                              ScreensaverEntityIconOn: 'opacity',
                              ScreensaverEntityIconOff: null,
                              ScreensaverEntityText: 'Feuchte',
                              ScreensaverEntityUnitText: '%',
                              ScreensaverEntityIconColor: White
              

              Wo sind hier die Fehler zu suchen?

              Grüße und danke
              **basti

              T 1 Antwort Letzte Antwort
              0
              • Basti GeppB Basti Gepp

                @armilar
                Also die Warnungen sind "fast" weg, warum auch immer ich musste das +'Relay.1' entfernen, anders wäre die Warnung nicht weggegangen. Ob das so richtig und gewollt ist weiß ich nicht ^^
                Jeden Falls zeigt er mir den richtigen State des Relais jetzt an (in meinem Fall dient er als ordinärer Lichtschalter)

                Geblieben ist das hier:
                d78218d6-1119-4550-a616-8bef83967ae3-image.png
                Ich denke das hängt mit dem Weather.Forecast zu zusammen.

                Und noch was fällt mir auf. Ich wollte die Luftfeuchtigkeit außen auf dem Screensaver anzeigen lassen. Als Wert steht hier aber "0°"
                048b0c86-a4e1-431d-ac05-ef1217fe9fd9-image.png

                Hier der Codeblock dazu:

                // bottomScreensaverEntity 4
                            {
                                ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity',
                                ScreensaverEntityFactor: 0,
                                ScreensaverEntityDecimalPlaces: 0,
                                ScreensaverEntityIconOn: 'opacity',
                                ScreensaverEntityIconOff: null,
                                ScreensaverEntityText: 'Feuchte',
                                ScreensaverEntityUnitText: '%',
                                ScreensaverEntityIconColor: White
                

                Wo sind hier die Fehler zu suchen?

                Grüße und danke
                **basti

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

                @basti-gepp
                Mensch basti Faktor 0. das kleine 1x1 :wink: :grimacing:

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

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

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

                Basti GeppB 1 Antwort Letzte Antwort
                1
                • T Offline
                  T Offline
                  tklein
                  schrieb am zuletzt editiert von
                  #2662

                  Hallo,

                  wie kann ich am besten einen Temperaturslider ähnlich der Lautstärke auf einen View neben zusatzlichen Werten bekommen? Der Tempbereich geht von 10-40 Grad. Ein Thermostatview ist dafür zu "viel".

                  Gruß
                  Thomas

                  T 1 Antwort Letzte Antwort
                  0
                  • T tklein

                    Hallo,

                    wie kann ich am besten einen Temperaturslider ähnlich der Lautstärke auf einen View neben zusatzlichen Werten bekommen? Der Tempbereich geht von 10-40 Grad. Ein Thermostatview ist dafür zu "viel".

                    Gruß
                    Thomas

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

                    @tklein

                    Ein Alias vom Typ Slider würde ich spontan sagen. Benötigt Actual und Set. Schau mal ins Wiki

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

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

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

                    T 1 Antwort Letzte Antwort
                    0
                    • T TT-Tom

                      @tklein

                      Ein Alias vom Typ Slider würde ich spontan sagen. Benötigt Actual und Set. Schau mal ins Wiki

                      T Offline
                      T Offline
                      tklein
                      schrieb am zuletzt editiert von
                      #2664

                      @tt-tom thx. oh man, dazu gab es sogar schon beispiele.....

                      1 Antwort Letzte Antwort
                      1
                      • ArmilarA Armilar

                        @bean

                        Ich würde auch gerne einen String in der untersten Zeile anzeigen lassen, die 10 Zeichen reichen mir auch leicht, aber ich verstehe die Änderungen (markiert mit //gargano) nicht ganz, bzw. hat sich das Originalscript inzwischen verändert, sodass ich die Änderungen nicht ganz nachvollziehen kann.
                        Ob mann diese Möglichkeit vielleicht im Originalscript einbauen könnte?

                        Das Script hat sich an dieser Stelle nicht wirklich verändert. Es ist aber ein "Quick and Dirty" hack mit zwei Fehlern und 2 unschärfen:

                        • Zunächst ist in der Definition oben ein Komma in der 2. Zeile zuviel.
                        • Dann wird nach != null abgefragt. Hier werden Nachkommazahlen berechnet. Das wird dann ohne numerischen Wert auf auf einen toFixed-Fehler laufen, daher wurde die Zeile unkommentiert entfernt. Korrekter wäre, damit andere User auch weiter Freude an ihren Funktionen haben, eine weitere Abfrage einzufügen, ob der Stringwert eine Nummer repräsentiert oder nicht.
                        • In boolschen oder numerischen Datenpunkten braucht keine Value-Auswertung ausgeführt werden

                        Da das Prinzip aber funktioniert, könnte ich eine Änderung einbauen. Könntest du hierzu einen Issue aufmachen?

                        B Offline
                        B Offline
                        bean
                        schrieb am zuletzt editiert von
                        #2665

                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                        @bean

                        Ich würde auch gerne einen String in der untersten Zeile anzeigen lassen, die 10 Zeichen reichen mir auch leicht, aber ich verstehe die Änderungen (markiert mit //gargano) nicht ganz, bzw. hat sich das Originalscript inzwischen verändert, sodass ich die Änderungen nicht ganz nachvollziehen kann.
                        Ob mann diese Möglichkeit vielleicht im Originalscript einbauen könnte?

                        Das Script hat sich an dieser Stelle nicht wirklich verändert. Es ist aber ein "Quick and Dirty" hack mit zwei Fehlern und 2 unschärfen:

                        • Zunächst ist in der Definition oben ein Komma in der 2. Zeile zuviel.
                        • Dann wird nach != null abgefragt. Hier werden Nachkommazahlen berechnet. Das wird dann ohne numerischen Wert auf auf einen toFixed-Fehler laufen, daher wurde die Zeile unkommentiert entfernt. Korrekter wäre, damit andere User auch weiter Freude an ihren Funktionen haben, eine weitere Abfrage einzufügen, ob der Stringwert eine Nummer repräsentiert oder nicht.
                        • In boolschen oder numerischen Datenpunkten braucht keine Value-Auswertung ausgeführt werden

                        Da das Prinzip aber funktioniert, könnte ich eine Änderung einbauen. Könntest du hierzu einen Issue aufmachen?

                        Hab jetzt die neue 4.0.5 Version installiert:
                        Wenn die ScreensaverEntityValue für in meinem Fall mrIcon2ScreensaverEntity auf einen String verweist (der mit dem Quick&Dirty-Hack funktioniert hatte), kommt ein Fehler:

                        error at function HandleScreensaverStatusIcons: getState(...).val.toFixed is not a function
                        
                        ArmilarA 1 Antwort Letzte Antwort
                        0
                        • B bean

                          @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                          @bean

                          Ich würde auch gerne einen String in der untersten Zeile anzeigen lassen, die 10 Zeichen reichen mir auch leicht, aber ich verstehe die Änderungen (markiert mit //gargano) nicht ganz, bzw. hat sich das Originalscript inzwischen verändert, sodass ich die Änderungen nicht ganz nachvollziehen kann.
                          Ob mann diese Möglichkeit vielleicht im Originalscript einbauen könnte?

                          Das Script hat sich an dieser Stelle nicht wirklich verändert. Es ist aber ein "Quick and Dirty" hack mit zwei Fehlern und 2 unschärfen:

                          • Zunächst ist in der Definition oben ein Komma in der 2. Zeile zuviel.
                          • Dann wird nach != null abgefragt. Hier werden Nachkommazahlen berechnet. Das wird dann ohne numerischen Wert auf auf einen toFixed-Fehler laufen, daher wurde die Zeile unkommentiert entfernt. Korrekter wäre, damit andere User auch weiter Freude an ihren Funktionen haben, eine weitere Abfrage einzufügen, ob der Stringwert eine Nummer repräsentiert oder nicht.
                          • In boolschen oder numerischen Datenpunkten braucht keine Value-Auswertung ausgeführt werden

                          Da das Prinzip aber funktioniert, könnte ich eine Änderung einbauen. Könntest du hierzu einen Issue aufmachen?

                          Hab jetzt die neue 4.0.5 Version installiert:
                          Wenn die ScreensaverEntityValue für in meinem Fall mrIcon2ScreensaverEntity auf einen String verweist (der mit dem Quick&Dirty-Hack funktioniert hatte), kommt ein Fehler:

                          error at function HandleScreensaverStatusIcons: getState(...).val.toFixed is not a function
                          
                          ArmilarA Offline
                          ArmilarA Offline
                          Armilar
                          Most Active Forum Testing
                          schrieb am zuletzt editiert von Armilar
                          #2666

                          @bean

                          Hast du den unteren Teil des Scriptes 4.0.5 ausgetauscht? Ich habe die Funktion umgeschrieben.

                          Wenn du die 16 Zeichen haben möchtest, dann ist das aktuell nur in der DEV so:

                          FlashNextion http://nspanel.pky.eu/lui.tft
                          

                          function HandleScreensaverStatusIcons() austauschen müsste reichen.

                          Ansonsten kurz die Definition senden...

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

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

                          B 1 Antwort Letzte Antwort
                          0
                          • T TT-Tom

                            @basti-gepp
                            Mensch basti Faktor 0. das kleine 1x1 :wink: :grimacing:

                            Basti GeppB Offline
                            Basti GeppB Offline
                            Basti Gepp
                            schrieb am zuletzt editiert von
                            #2667

                            @tt-tom
                            ja...klar...jetzt geht es :)
                            Ich sehe schon ich muss noch viel lernen :)

                            Aber macht schon auch Spaß das ganze und raubt mir meine Abende :D
                            Aber hey, es wird schon, zumindest habe ich selber raus gefunden wie ich in einem Alias die Werte runden kann ;-)

                            Danke für eure unermüdliche Hilfe, ich habe wirklich tiefsten Respekt davor wie gut Ihr euch auskennt!!

                            basti

                            1 Antwort Letzte Antwort
                            0
                            • ArmilarA Armilar

                              @bean

                              Hast du den unteren Teil des Scriptes 4.0.5 ausgetauscht? Ich habe die Funktion umgeschrieben.

                              Wenn du die 16 Zeichen haben möchtest, dann ist das aktuell nur in der DEV so:

                              FlashNextion http://nspanel.pky.eu/lui.tft
                              

                              function HandleScreensaverStatusIcons() austauschen müsste reichen.

                              Ansonsten kurz die Definition senden...

                              B Offline
                              B Offline
                              bean
                              schrieb am zuletzt editiert von
                              #2668

                              @armilar Habe den kompletten unteren Teil ausgetauscht...

                              die Definition:

                                  mrIcon2ScreensaverEntity: 
                                      { 
                                          ScreensaverEntity: '0_userdata.0.Global.NextSunEvent', 
                                          ScreensaverEntityIconOn: 'weather-sunset-up',
                                          ScreensaverEntityIconOff: 'weather-sunset-down', 
                                          ScreensaverEntityValue: '0_userdata.0.Global.NextSunEventTime',
                                          ScreensaverEntityValueDecimalPlace : 0,
                                          ScreensaverEntityValueUnit: '',
                                          ScreensaverEntityOnColor: Yellow, 
                                          ScreensaverEntityOffColor: Yellow 
                                      },
                              
                              
                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • B bean

                                @armilar Habe den kompletten unteren Teil ausgetauscht...

                                die Definition:

                                    mrIcon2ScreensaverEntity: 
                                        { 
                                            ScreensaverEntity: '0_userdata.0.Global.NextSunEvent', 
                                            ScreensaverEntityIconOn: 'weather-sunset-up',
                                            ScreensaverEntityIconOff: 'weather-sunset-down', 
                                            ScreensaverEntityValue: '0_userdata.0.Global.NextSunEventTime',
                                            ScreensaverEntityValueDecimalPlace : 0,
                                            ScreensaverEntityValueUnit: '',
                                            ScreensaverEntityOnColor: Yellow, 
                                            ScreensaverEntityOffColor: Yellow 
                                        },
                                
                                
                                ArmilarA Offline
                                ArmilarA Offline
                                Armilar
                                Most Active Forum Testing
                                schrieb am zuletzt editiert von
                                #2669

                                @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                NextSunEvent

                                Ist das boolean --> true/false?

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

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

                                B 1 Antwort Letzte Antwort
                                0
                                • ArmilarA Armilar

                                  @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                  NextSunEvent

                                  Ist das boolean --> true/false?

                                  B Offline
                                  B Offline
                                  bean
                                  schrieb am zuletzt editiert von bean
                                  #2670

                                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                  @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                  NextSunEvent

                                  Ist das boolean --> true/false?

                                  Ja genau, das sorgt für das richtige Icon.
                                  NextSunEventTime ist dann ein String, in etwas "18:12"

                                  ArmilarA 1 Antwort Letzte Antwort
                                  0
                                  • B bean

                                    @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                    @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                    NextSunEvent

                                    Ist das boolean --> true/false?

                                    Ja genau, das sorgt für das richtige Icon.
                                    NextSunEventTime ist dann ein String, in etwas "18:12"

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

                                    @bean

                                    Tausch die mal aus:

                                    function HandleScreensaverStatusIcons() : void {
                                        try {
                                            let payloadString = '';
                                            let hwBtn1Col: any = config.mrIcon1ScreensaverEntity.ScreensaverEntityOffColor;
                                            if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                                                if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'string') {
                                                    let hwBtn1: string = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
                                                    if (hwBtn1 == 'ON') {
                                                        hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
                                                    }
                                                    if (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) {
                                                        payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                    } else {
                                                        if (config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                            payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff);
                                                        } else {
                                                            payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                        }
                                                    } 
                                                    if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
                                                        if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                            payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                            payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
                                                        } else {
                                                            payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
                                                        }                        
                                                    }
                                                    payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
                                                } else if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
                                                    let hwBtn1: boolean = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
                                                    if (hwBtn1) {
                                                        hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
                                                    }
                                                    if (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) {
                                                        payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                    } else {
                                                        if (config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                            payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff);
                                                        } else {
                                                            payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                        }
                                                    } 
                                                    if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
                                                        if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                            payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                            payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
                                                        } else {
                                                            payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
                                                        }                      
                                                    }
                                                    payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
                                                }
                                            } else if (config.mrIcon1ScreensaverEntity.ScreensaverEntity == null && config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null){
                                                
                                                if(config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor != null){
                                                    hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
                                                }
                                                if(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn != null){
                                                    payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                }
                                                
                                                if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
                                                    if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                        payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                        payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
                                                    } else {
                                                        payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
                                                    }                        
                                                }
                                                payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
                                            }
                                            else {
                                                hwBtn1Col = Black;
                                                payloadString += '~~';
                                            }
                                    
                                            let hwBtn2Col: any = config.mrIcon2ScreensaverEntity.ScreensaverEntityOffColor;
                                            if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                                                if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'string') {
                                                    let hwBtn2: string = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
                                                    if (hwBtn2 == 'ON') {
                                                        hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
                                                    }
                                                    if (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) {
                                                        payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                    } else {
                                                        if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                            payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff);
                                                        } else {
                                                            payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                        }
                                                    } 
                                                    if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
                                                        console.log()
                                                        if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                            payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                            payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
                                                        } else {
                                                            payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
                                                        }                        
                                                    }
                                                    payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
                                                } else if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
                                                    let hwBtn2: boolean = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
                                                    if (hwBtn2) {
                                                        hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
                                                    }
                                                    if (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) {
                                                        payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                    } else {
                                                        if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                            payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff);
                                                        } else {
                                                            payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                        }
                                                    } 
                                                    if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
                                                        if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                            payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                            payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
                                                        } else {
                                                            payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
                                                        }                        
                                                    }
                                                    payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
                                                }
                                            } else if (config.mrIcon2ScreensaverEntity.ScreensaverEntity == null && config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null){
                                                
                                                if(config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor != null){
                                                    hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
                                                }
                                    
                                                if(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn != null){
                                                    payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                }
                                                
                                                if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
                                                    if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                        payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                        payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
                                                    } else {
                                                        payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
                                                    }                                            
                                                }
                                                payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
                                            } else {
                                                hwBtn2Col = Black;
                                                payloadString += '~~';
                                            }
                                    
                                            let alternateScreensaverMFRIcon1Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.1').val
                                            let alternateScreensaverMFRIcon2Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.2').val
                                            //Alternate MRIcon Size
                                            if (alternateScreensaverMFRIcon1Size) {
                                                payloadString += '1~';
                                            } else {
                                                payloadString += '~';
                                            }
                                            if (alternateScreensaverMFRIcon2Size) {
                                                payloadString += '1~';
                                            } else {
                                                payloadString += '~';
                                            }
                                    
                                            SendToPanel(<Payload>{ payload: 'statusUpdate~' + payloadString });
                                    
                                        } catch (err) {
                                            console.warn('error at function HandleScreensaverStatusIcons: ' + err.message);
                                        }
                                    }
                                    

                                    Ist jetzt auch auf Bool erweitert

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

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

                                    B 1 Antwort Letzte Antwort
                                    2
                                    • ArmilarA Armilar

                                      @bean

                                      Tausch die mal aus:

                                      function HandleScreensaverStatusIcons() : void {
                                          try {
                                              let payloadString = '';
                                              let hwBtn1Col: any = config.mrIcon1ScreensaverEntity.ScreensaverEntityOffColor;
                                              if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                                                  if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'string') {
                                                      let hwBtn1: string = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
                                                      if (hwBtn1 == 'ON') {
                                                          hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
                                                      }
                                                      if (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) {
                                                          payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                      } else {
                                                          if (config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                              payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff);
                                                          } else {
                                                              payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                          }
                                                      } 
                                                      if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
                                                          if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                              payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
                                                          } else {
                                                              payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
                                                          }                        
                                                      }
                                                      payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
                                                  } else if (typeof (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
                                                      let hwBtn1: boolean = getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val;
                                                      if (hwBtn1) {
                                                          hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
                                                      }
                                                      if (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntity).val) {
                                                          payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                      } else {
                                                          if (config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                              payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOff);
                                                          } else {
                                                              payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                          }
                                                      } 
                                                      if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
                                                          if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                              payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
                                                          } else {
                                                              payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
                                                          }                      
                                                      }
                                                      payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
                                                  }
                                              } else if (config.mrIcon1ScreensaverEntity.ScreensaverEntity == null && config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null){
                                                  
                                                  if(config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor != null){
                                                      hwBtn1Col = config.mrIcon1ScreensaverEntity.ScreensaverEntityOnColor;
                                                  }
                                                  if(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn != null){
                                                      payloadString += Icons.GetIcon(config.mrIcon1ScreensaverEntity.ScreensaverEntityIconOn);
                                                  }
                                                  
                                                  if (config.mrIcon1ScreensaverEntity.ScreensaverEntityValue != null) {
                                                      if (isNaN(getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                          payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                          payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;
                                                      } else {
                                                          payloadString += getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val
                                                      }                        
                                                  }
                                                  payloadString += '~' + rgb_dec565(hwBtn1Col) + '~';
                                              }
                                              else {
                                                  hwBtn1Col = Black;
                                                  payloadString += '~~';
                                              }
                                      
                                              let hwBtn2Col: any = config.mrIcon2ScreensaverEntity.ScreensaverEntityOffColor;
                                              if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                                                  if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'string') {
                                                      let hwBtn2: string = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
                                                      if (hwBtn2 == 'ON') {
                                                          hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
                                                      }
                                                      if (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) {
                                                          payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                      } else {
                                                          if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                              payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff);
                                                          } else {
                                                              payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                          }
                                                      } 
                                                      if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
                                                          console.log()
                                                          if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                              payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
                                                          } else {
                                                              payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
                                                          }                        
                                                      }
                                                      payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
                                                  } else if (typeof (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) == 'boolean') {
                                                      let hwBtn2: boolean = getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val;
                                                      if (hwBtn2) {
                                                          hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
                                                      }
                                                      if (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntity).val) {
                                                          payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                      } else {
                                                          if (config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff != null) {
                                                              payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOff);
                                                          } else {
                                                              payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                          }
                                                      } 
                                                      if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
                                                          if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                              payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
                                                          } else {
                                                              payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
                                                          }                        
                                                      }
                                                      payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
                                                  }
                                              } else if (config.mrIcon2ScreensaverEntity.ScreensaverEntity == null && config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null){
                                                  
                                                  if(config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor != null){
                                                      hwBtn2Col = config.mrIcon2ScreensaverEntity.ScreensaverEntityOnColor;
                                                  }
                                      
                                                  if(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn != null){
                                                      payloadString += Icons.GetIcon(config.mrIcon2ScreensaverEntity.ScreensaverEntityIconOn);
                                                  }
                                                  
                                                  if (config.mrIcon2ScreensaverEntity.ScreensaverEntityValue != null) {
                                                      if (isNaN(getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val) == false) {
                                                          payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                          payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;
                                                      } else {
                                                          payloadString += getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val
                                                      }                                            
                                                  }
                                                  payloadString += '~' + rgb_dec565(hwBtn2Col) + '~';
                                              } else {
                                                  hwBtn2Col = Black;
                                                  payloadString += '~~';
                                              }
                                      
                                              let alternateScreensaverMFRIcon1Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.1').val
                                              let alternateScreensaverMFRIcon2Size = getState(NSPanel_Path + 'Config.MRIcons.alternateMRIconSize.2').val
                                              //Alternate MRIcon Size
                                              if (alternateScreensaverMFRIcon1Size) {
                                                  payloadString += '1~';
                                              } else {
                                                  payloadString += '~';
                                              }
                                              if (alternateScreensaverMFRIcon2Size) {
                                                  payloadString += '1~';
                                              } else {
                                                  payloadString += '~';
                                              }
                                      
                                              SendToPanel(<Payload>{ payload: 'statusUpdate~' + payloadString });
                                      
                                          } catch (err) {
                                              console.warn('error at function HandleScreensaverStatusIcons: ' + err.message);
                                          }
                                      }
                                      

                                      Ist jetzt auch auf Bool erweitert

                                      B Offline
                                      B Offline
                                      bean
                                      schrieb am zuletzt editiert von
                                      #2672

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      Tausch die mal aus:

                                      :+1: Scheint zu funktionieren (Sehe das Panel gerade nicht, aber keine Fehler im Log) - Danke!

                                      ArmilarA 1 Antwort Letzte Antwort
                                      1
                                      • B bean

                                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                        Tausch die mal aus:

                                        :+1: Scheint zu funktionieren (Sehe das Panel gerade nicht, aber keine Fehler im Log) - Danke!

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

                                        @bean

                                        Danke fürs testen. Übernehme ich mit ins Script :+1:

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

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

                                        1 Antwort Letzte Antwort
                                        1
                                        • B Offline
                                          B Offline
                                          Bhenyamin
                                          schrieb am zuletzt editiert von
                                          #2674

                                          Hello Hello...

                                          Frage zur Page Power:
                                          Ich habe mich da recht erfolgreich durch das Skript für das JSON gearbeitet und es entsprechend angepasst.
                                          Musste einige Werte nochmal als Datenpunkte anlegen und vorher errechnen, da mein Adapter für die LG Anlage manche Werte einfach nicht darstellt (z.B. die aktuelle Gesamtleistung der Panels)

                                          Mein einziges Problem:
                                          Das erste Symbol oben links auf der Seite wird immer durch die Werte der Id: 0 konfiguriert und die Id: 6 fällt quasi weg.
                                          Wie ich las, ist die Id:0 ja der mittlere Balken. Hat sich da an der Config irgendwas geandert? Arbeite mit der V 4.0.4.5

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          599

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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