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

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

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

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

    @ronny130286

    Bekommt den false nicht mit. Muss ich immer manuell zurücksetzen. Obwohl das Relay true/false macht

    Kann die aber auch nicht sagen, ob ich dafür den switchmode benötige, was ich vermute...

    R Offline
    R Offline
    ronny130286
    schrieb am zuletzt editiert von
    #2199

    @armilar

    Ich werde mal die Funktion ausschalten, so das er die DP aus dem Script nicht mehr überwacht und triggert.

    Wenn es damit weg ist weiß ich zumindest wieso es passiert. Hatte jetzt das Script mal gestoppt und die Technoleucht hört direkt auf :D

    Das wird bestimmt wieder ne Sonderlock sein.

    ArmilarA 1 Antwort Letzte Antwort
    0
    • M mschmidt

      @armilar

      Immer wieder verblüffend!

      Danke für den Hinweis, habe jetzt einfach das Leerzeichen vor dem Eventnamen gesetzt und die Farben werden korrekt in die DP geschrieben und auf dem NSPanel angezeigt!

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

      @mschmidt

      67919b9f-8498-47e8-9b81-817ab6f98a19-image.png

      So geht es natürlich auch, da der Vergleich dann auch wieder stimmt...

      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
      • R ronny130286

        @armilar

        Ich werde mal die Funktion ausschalten, so das er die DP aus dem Script nicht mehr überwacht und triggert.

        Wenn es damit weg ist weiß ich zumindest wieso es passiert. Hatte jetzt das Script mal gestoppt und die Technoleucht hört direkt auf :D

        Das wird bestimmt wieder ne Sonderlock sein.

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

        @ronny130286

        Du bist auch echt der Spezialfall :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.

        R 1 Antwort Letzte Antwort
        0
        • ArmilarA Armilar

          @ronny130286

          Du bist auch echt der Spezialfall :blush:

          R Offline
          R Offline
          ronny130286
          schrieb am zuletzt editiert von ronny130286
          #2202

          @armilar

          Sorry:)
          Ich habe halt durch den Neubau keine Wechsel/Kreuzschaltung etc im Haus verbaut sondern reinweg Taster.

          Bei mir geht jeder Taster in den Schaltschrank und von dort aus zum Licht. Ich kann auch jeden Schalter umprogrammieren, wenn er ein andere Licht schalten soll;)

          Alle Schaltwippen habe immer die gleiche Stellung (optikhalber).

          Bin gelernter Automatisierungselektroniker:)

          1 Antwort Letzte Antwort
          0
          • ArmilarA Offline
            ArmilarA Offline
            Armilar
            Most Active Forum Testing
            schrieb am zuletzt editiert von
            #2203

            @ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:

            Bin gelernter Automatisierungselektroniker:)

            Das habe ich mir längst gedacht ;-) Wer sonst hätte eine S7 zuhause :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.

            R 1 Antwort Letzte Antwort
            0
            • ArmilarA Armilar

              @ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:

              Bin gelernter Automatisierungselektroniker:)

              Das habe ich mir längst gedacht ;-) Wer sonst hätte eine S7 zuhause :blush:

              R Offline
              R Offline
              ronny130286
              schrieb am zuletzt editiert von ronny130286
              #2204

              @armilar

              Ich nutze eine Siemens Logo8 230v ist ähnlich und funktioniert über den S7 Adapter im Iobroker, eine S7 fand ich damals wie auch heute völlig drüber und auch teuer.

              Edit:
              Ich habe jetzt die Funktion ausgeschaltet, jetzt ist Ruhe mit dem triggern.
              Ich werden mir morgen mal das Thema mit der Fritzbox angucken, ich könnte mir vorstellen das es dort irgendwie ein unschönes zusammenspiel gibt.

              Aber so gefragt wenn ich die Buttons vom den Relays im Tasmot entkoppele, dann aber die Relay wieder im Script hart zusammenführen, ist das nicht eigentlich kontraproduktiv?
              Mir würde es jetzt nicht einfallen wann man das braucht?

              ArmilarA 1 Antwort Letzte Antwort
              0
              • R ronny130286

                @armilar

                Ich nutze eine Siemens Logo8 230v ist ähnlich und funktioniert über den S7 Adapter im Iobroker, eine S7 fand ich damals wie auch heute völlig drüber und auch teuer.

                Edit:
                Ich habe jetzt die Funktion ausgeschaltet, jetzt ist Ruhe mit dem triggern.
                Ich werden mir morgen mal das Thema mit der Fritzbox angucken, ich könnte mir vorstellen das es dort irgendwie ein unschönes zusammenspiel gibt.

                Aber so gefragt wenn ich die Buttons vom den Relays im Tasmot entkoppele, dann aber die Relay wieder im Script hart zusammenführen, ist das nicht eigentlich kontraproduktiv?
                Mir würde es jetzt nicht einfallen wann man das braucht?

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

                @ronny130286

                Aber so gefragt wenn ich die Buttons vom den Relays im Tasmot entkoppele, dann aber die Relay wieder im Script hart zusammenführen, ist das nicht eigentlich kontraproduktiv?

                Nein, denn du kannst deine Buttons losgelöst von den Relays nutzen. Die Relays aber dennoch mit Funktionen belegen.

                Beispiel. Du hast an einem Relay eine Heizung. Möchtest du an und ausschalten, jedoch über z.B. eine Blockly-Logik - nicht manuell über die Buttons.

                Auf dem anderen Relay hast du ebenfalls einen Verbraucher, den du schalten könntest, ohne dass du den Button benötigst.

                Die Button-Pages kannst du dann separat belegen...

                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.

                R 1 Antwort Letzte Antwort
                0
                • ArmilarA Armilar

                  @ronny130286

                  Aber so gefragt wenn ich die Buttons vom den Relays im Tasmot entkoppele, dann aber die Relay wieder im Script hart zusammenführen, ist das nicht eigentlich kontraproduktiv?

                  Nein, denn du kannst deine Buttons losgelöst von den Relays nutzen. Die Relays aber dennoch mit Funktionen belegen.

                  Beispiel. Du hast an einem Relay eine Heizung. Möchtest du an und ausschalten, jedoch über z.B. eine Blockly-Logik - nicht manuell über die Buttons.

                  Auf dem anderen Relay hast du ebenfalls einen Verbraucher, den du schalten könntest, ohne dass du den Button benötigst.

                  Die Button-Pages kannst du dann separat belegen...

                  R Offline
                  R Offline
                  ronny130286
                  schrieb am zuletzt editiert von ronny130286
                  #2206

                  @armilar

                  Und was passiert mit dem dp unter 0_userdata. wenn ich das nicht entkoppelt? Wird der getriggert wenn das Relay schaltet?

                  ArmilarA 1 Antwort Letzte Antwort
                  0
                  • R ronny130286

                    @armilar

                    Und was passiert mit dem dp unter 0_userdata. wenn ich das nicht entkoppelt? Wird der getriggert wenn das Relay schaltet?

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

                    @ronny130286

                    Die Datenpunkte visualisieren nur den Status des Relays, der sowieso über MQTT übertragen wird (somit ja, der wird getriggert, wenn das Relay schaltet!). Dennoch kannst du, wenn der Datenpunkt verändert wird via MQTT den Zustand des Relays schalten.

                    Habe ein Panel in dem beide Varianten aktiv sind...

                    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.

                    R 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @ronny130286

                      Die Datenpunkte visualisieren nur den Status des Relays, der sowieso über MQTT übertragen wird (somit ja, der wird getriggert, wenn das Relay schaltet!). Dennoch kannst du, wenn der Datenpunkt verändert wird via MQTT den Zustand des Relays schalten.

                      Habe ein Panel in dem beide Varianten aktiv sind...

                      R Offline
                      R Offline
                      ronny130286
                      schrieb am zuletzt editiert von
                      #2208

                      @armilar

                      Ich überlege gerade, durch das schlecht wlan aktuellen wird wahrscheinlich beim mir das Signal verzögert im Kreis geschickt...

                      tasmota schickt per mqtt true an den iobroker, das kommt verzögert an, dann schreibt er es in den dp und tasmota schaltet wären dessen wieder auf false.

                      Da im dp jetzt ein true steht schickt das Script wieder über den http Befehl ein true an tasmota, damit schaltet tasmota wieder true false und so fängt es an sich aufzuschauckeln.

                      Manchmal ist das trigger auch fix vorbei und manchmal braucht es länger, was für ein Timing Problem sprechen würde.

                      ArmilarA 1 Antwort Letzte Antwort
                      0
                      • R ronny130286

                        @armilar

                        Ich überlege gerade, durch das schlecht wlan aktuellen wird wahrscheinlich beim mir das Signal verzögert im Kreis geschickt...

                        tasmota schickt per mqtt true an den iobroker, das kommt verzögert an, dann schreibt er es in den dp und tasmota schaltet wären dessen wieder auf false.

                        Da im dp jetzt ein true steht schickt das Script wieder über den http Befehl ein true an tasmota, damit schaltet tasmota wieder true false und so fängt es an sich aufzuschauckeln.

                        Manchmal ist das trigger auch fix vorbei und manchmal braucht es länger, was für ein Timing Problem sprechen würde.

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

                        @ronny130286

                        Das kann natürlich sein. Dadurch dass durch deine Taster ja auch immer ein true/false initiiert wird, schaltet das noch häufiger.

                        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.

                        R 1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @ronny130286

                          Das kann natürlich sein. Dadurch dass durch deine Taster ja auch immer ein true/false initiiert wird, schaltet das noch häufiger.

                          R Offline
                          R Offline
                          ronny130286
                          schrieb am zuletzt editiert von ronny130286
                          #2210

                          @armilar
                          Puh, mal sehen vielleicht gibt es beim Tasmota ein deboucing für den MQTT Befehl den er in Richtung Iobroker schickt => mein normal ist mir der Zustand des Relay eh egal weil er nach 300ms eh immer false ist.

                          EDIT: da ich im Tasmota nicht schnell fündig geworden bin habe ich es versucht über das Script zu lösen, dabei bin ich über diese Funktion gestolpert:

                          async function SubscribeMRIcons () { 
                              try {
                                  if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                                      on({id: config.mrIcon1ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
                                          if (obj.id.substring(0,4) == 'mqtt') {
                                              let Button = obj.id.split('.'); 
                                              if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                  await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                              }
                                          } else {
                                              HandleScreensaverStatusIcons();
                                          }
                                      });
                                  }
                                  if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                                      on({id: config.mrIcon2ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
                                          if (obj.id.substring(0,4) == 'mqtt') {
                                              let Button = obj.id.split('.'); 
                                              if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                  await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                              }
                                          } else {
                                              HandleScreensaverStatusIcons();
                                          }
                                      });
                                  }
                              } catch (err) { 
                                  console.warn('function SubscribeMRIcons: ' + err.message); 
                              }
                          }
                          

                          kommentiere ich SubscribeMRIcons(); aus, ist das Verhalten mit dem Falker auch weg und man kann die DP für Relay auch noch schreiben.

                          ArmilarA 1 Antwort Letzte Antwort
                          0
                          • R ronny130286

                            @armilar
                            Puh, mal sehen vielleicht gibt es beim Tasmota ein deboucing für den MQTT Befehl den er in Richtung Iobroker schickt => mein normal ist mir der Zustand des Relay eh egal weil er nach 300ms eh immer false ist.

                            EDIT: da ich im Tasmota nicht schnell fündig geworden bin habe ich es versucht über das Script zu lösen, dabei bin ich über diese Funktion gestolpert:

                            async function SubscribeMRIcons () { 
                                try {
                                    if (config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                                        on({id: config.mrIcon1ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
                                            if (obj.id.substring(0,4) == 'mqtt') {
                                                let Button = obj.id.split('.'); 
                                                if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                    await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                                }
                                            } else {
                                                HandleScreensaverStatusIcons();
                                            }
                                        });
                                    }
                                    if (config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                                        on({id: config.mrIcon2ScreensaverEntity.ScreensaverEntity, change: "ne"}, async function (obj) {
                                            if (obj.id.substring(0,4) == 'mqtt') {
                                                let Button = obj.id.split('.'); 
                                                if (getState(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6)).val != obj.state.val) {
                                                    await setStateAsync(NSPanel_Path + 'Relay.' + Button[Button.length - 1].substring(5,6), obj.state.val == 'ON' ? true : false);
                                                }
                                            } else {
                                                HandleScreensaverStatusIcons();
                                            }
                                        });
                                    }
                                } catch (err) { 
                                    console.warn('function SubscribeMRIcons: ' + err.message); 
                                }
                            }
                            

                            kommentiere ich SubscribeMRIcons(); aus, ist das Verhalten mit dem Falker auch weg und man kann die DP für Relay auch noch schreiben.

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

                            @ronny130286

                            Ja, kannst du machen. Dadurch verlierst du allerdings die Möglichkeit die Relay's direkt über die Datenpunkte zu schalten (benötigst du aber ja eh nicht).

                            Mein Gedanke war, warum erzeugst du dir kein dezentrales Emulations-Steuerungsskript auf externe Datenpunkte für die Umwandlung Switches <--> Buttons?

                            Damit könntest du dir doch viele Anpassungen in diesem und anderen Skripten ersparen, oder?

                            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.

                            R 1 Antwort Letzte Antwort
                            0
                            • ArmilarA Armilar

                              @ronny130286

                              Ja, kannst du machen. Dadurch verlierst du allerdings die Möglichkeit die Relay's direkt über die Datenpunkte zu schalten (benötigst du aber ja eh nicht).

                              Mein Gedanke war, warum erzeugst du dir kein dezentrales Emulations-Steuerungsskript auf externe Datenpunkte für die Umwandlung Switches <--> Buttons?

                              Damit könntest du dir doch viele Anpassungen in diesem und anderen Skripten ersparen, oder?

                              R Offline
                              R Offline
                              ronny130286
                              schrieb am zuletzt editiert von ronny130286
                              #2212

                              @armilar

                              eigentlich ist es bei mir ja so, ich schaltet etwas mit dem MonoButton und gucke nach einem anderen Ausgang.
                              Bsp. Küche, ich triggere den Eingang an der SPS und gucke dann auf den Ausgang der mir den aktuellen Zustand gibt.

                              Ich sollte vielleicht einfach in der config den DP vom mqtt rausnehmen und dafür dein Ausgang der S7 eintragen, dann sollte es schon weg sein.

                              EDIT:

                              vielleicht wäre es auch denkbar die ScreensaverEntityValue anzuzeigen auch ohne einen ScreensaverEntity der einen Status anzeigt

                              ArmilarA 1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                Tom_W
                                schrieb am zuletzt editiert von
                                #2213

                                Hallo zusammen,

                                nur eine kurze Frage: Ich habe im Screensaver ja 4 kleine Icons und davor ein großes.
                                Woher kommen die Werte von dem großen?
                                Dachte immer von alias Wetter.
                                Nur passt bei mit der Wert aus alias.0.Wetter.TEMP nicht mit der angezeigten Temperatur am Panel zusammen und nun frage ich mich, woher das Panel einen anderen Wert nimmt.
                                Es unterscheidet sich aktuell um 0,3 Grad.

                                Weiß das zufällig jemand?

                                Gruß

                                Tom

                                ArmilarA 1 Antwort Letzte Antwort
                                0
                                • R ronny130286

                                  @armilar

                                  eigentlich ist es bei mir ja so, ich schaltet etwas mit dem MonoButton und gucke nach einem anderen Ausgang.
                                  Bsp. Küche, ich triggere den Eingang an der SPS und gucke dann auf den Ausgang der mir den aktuellen Zustand gibt.

                                  Ich sollte vielleicht einfach in der config den DP vom mqtt rausnehmen und dafür dein Ausgang der S7 eintragen, dann sollte es schon weg sein.

                                  EDIT:

                                  vielleicht wäre es auch denkbar die ScreensaverEntityValue anzuzeigen auch ohne einen ScreensaverEntity der einen Status anzeigt

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

                                  @ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:

                                  vielleicht wäre es auch denkbar die ScreensaverEntityValue anzuzeigen auch ohne einen ScreensaverEntity der einen Status anzeigt

                                  Da kann auch eine Waschmaschine oder ein Toaster rein ;-)

                                  EDIT:
                                  Beispiel mit Fenstersensor und Temperatursensor:

                                  mrIcon2ScreensaverEntity: { ScreensaverEntity: 'deconz.0.Sensors.5.open', 
                                                              ScreensaverEntityIconOn: 'heat-wave', 
                                                              ScreensaverEntityIconOff: null, 
                                                              ScreensaverEntityValue: 'deconz.0.Sensors.65.temperature',
                                                              ScreensaverEntityValueDecimalPlace : 1,
                                                              ScreensaverEntityValueUnit: '°', 
                                                              ScreensaverEntityOnColor: MSRed, 
                                                              ScreensaverEntityOffColor: MSGreen },
                                  

                                  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.

                                  R 1 Antwort Letzte Antwort
                                  0
                                  • T Tom_W

                                    Hallo zusammen,

                                    nur eine kurze Frage: Ich habe im Screensaver ja 4 kleine Icons und davor ein großes.
                                    Woher kommen die Werte von dem großen?
                                    Dachte immer von alias Wetter.
                                    Nur passt bei mit der Wert aus alias.0.Wetter.TEMP nicht mit der angezeigten Temperatur am Panel zusammen und nun frage ich mich, woher das Panel einen anderen Wert nimmt.
                                    Es unterscheidet sich aktuell um 0,3 Grad.

                                    Weiß das zufällig jemand?

                                    Gruß

                                    Tom

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

                                    @tom_w sagte in SONOFF NSPanel mit Lovelace UI:

                                    alias.0.Wetter.TEMP

                                    ist auch so. ICON und TEMP!

                                    Welcher Datenpunkt ist denn unter TEMP eingetragen? ALIAS und Datenpunkt haben eigentlich immer den gleichen Wert.

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

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

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • ArmilarA Armilar

                                      @tom_w sagte in SONOFF NSPanel mit Lovelace UI:

                                      alias.0.Wetter.TEMP

                                      ist auch so. ICON und TEMP!

                                      Welcher Datenpunkt ist denn unter TEMP eingetragen? ALIAS und Datenpunkt haben eigentlich immer den gleichen Wert.

                                      T Offline
                                      T Offline
                                      Tom_W
                                      schrieb am zuletzt editiert von
                                      #2216

                                      @armilar Als Datenpunkt habe ich meinen Temperaturfühler eingetragen. Als Icon den Datenpunkt von accuweather.

                                      Datenpunkt und alias sind identisch, nur Anzeige am Panel zeigt nicht diesen Wert an der im Alias steht.

                                      Wollte nur wissen ob ich gedanklich schon richtig bin.
                                      Logge jetzt mal den Wert mit, eventuell springt mein Fühler auch einfach nur rum.

                                      Danke

                                      ArmilarA 1 Antwort Letzte Antwort
                                      0
                                      • T Tom_W

                                        @armilar Als Datenpunkt habe ich meinen Temperaturfühler eingetragen. Als Icon den Datenpunkt von accuweather.

                                        Datenpunkt und alias sind identisch, nur Anzeige am Panel zeigt nicht diesen Wert an der im Alias steht.

                                        Wollte nur wissen ob ich gedanklich schon richtig bin.
                                        Logge jetzt mal den Wert mit, eventuell springt mein Fühler auch einfach nur rum.

                                        Danke

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

                                        @tom_w

                                        Kommt auf die Version an. Es gab Situationen, in denen das Updaten der 4 Icons und der Außentemperatur angehalten wurde, wenn nur einmal auf den Screensaver geklickt wurde.

                                        Sollte aber mit dem bExit-Hotfix ab der v3.9.0.2 behoben sein

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

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

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • ArmilarA Armilar

                                          @ronny130286 sagte in SONOFF NSPanel mit Lovelace UI:

                                          vielleicht wäre es auch denkbar die ScreensaverEntityValue anzuzeigen auch ohne einen ScreensaverEntity der einen Status anzeigt

                                          Da kann auch eine Waschmaschine oder ein Toaster rein ;-)

                                          EDIT:
                                          Beispiel mit Fenstersensor und Temperatursensor:

                                          mrIcon2ScreensaverEntity: { ScreensaverEntity: 'deconz.0.Sensors.5.open', 
                                                                      ScreensaverEntityIconOn: 'heat-wave', 
                                                                      ScreensaverEntityIconOff: null, 
                                                                      ScreensaverEntityValue: 'deconz.0.Sensors.65.temperature',
                                                                      ScreensaverEntityValueDecimalPlace : 1,
                                                                      ScreensaverEntityValueUnit: '°', 
                                                                      ScreensaverEntityOnColor: MSRed, 
                                                                      ScreensaverEntityOffColor: MSGreen },
                                          
                                          R Offline
                                          R Offline
                                          ronny130286
                                          schrieb am zuletzt editiert von ronny130286
                                          #2218

                                          @armilar

                                          ich habs mir zurecht gebaut: die Funktion CheckConfigParameters() muss man anpassen, da ansonsten eine Meldung in der Console erscheint => passiert auch sonst imnmer wenn man den wert auf null setzt

                                          if (existsObject(config.mrIcon1ScreensaverEntity.ScreensaverEntity) == false && config.mrIcon1ScreensaverEntity.ScreensaverEntity != null) {
                                                      console.warn('mrIcon1ScreensaverEntity data point in the config not available - please adjust');
                                                  } 
                                                  if (existsObject(config.mrIcon2ScreensaverEntity.ScreensaverEntity) == false && config.mrIcon2ScreensaverEntity.ScreensaverEntity != null) {
                                                      console.warn('mrIcon2ScreensaverEntity data point in the config not available - please adjust');
                                                  } 
                                          

                                          und hier die HandleScreensaverStatusIcons() Funktion, damit kann man dann ScreensaverEntityValue anzeigen lassen ohne ScreensaverEntity einzutragen

                                          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) {
                                                              payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;                        
                                                          }
                                                          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) {
                                                              payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;                        
                                                          }
                                                          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) {
                                                          payloadString += (getState(config.mrIcon1ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon1ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                          payloadString += config.mrIcon1ScreensaverEntity.ScreensaverEntityValueUnit;                        
                                                      }
                                                      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) {
                                                              payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;                        
                                                          }
                                                          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) {
                                                              payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                              payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;                        
                                                          }
                                                          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) {
                                                          payloadString += (getState(config.mrIcon2ScreensaverEntity.ScreensaverEntityValue).val).toFixed(config.mrIcon2ScreensaverEntity.ScreensaverEntityValueDecimalPlace);
                                                          payloadString += config.mrIcon2ScreensaverEntity.ScreensaverEntityValueUnit;                        
                                                      }
                                                      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.log('HandleScreensaverStatusIcons: ' + err.message);
                                              }
                                          }
                                          
                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          762

                                          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