Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • Armilar
      Armilar Most Active Forum Testing @Woffi1967 last edited by Armilar

      @woffi1967

      Hi und erstmal herzlich willkommen.

      Neues Thema ist gar nicht erforderlich und somit absolut korrekt gemacht. @joBr99 ist übrigens für die Nextion-TFT-Firmware und Home Assistant zuständig. Deshalb übernehme ich mal im Bereich TS-Script und ioBroker...

      Könntest du das Log mit den Fehlern kurz in Code-Tags posten? Oben in der Menüleiste f163ce7f-a28b-419e-b388-5c144fff3ec8-image.png

      Nur mit der Info des timeoutSlider kann ich erstmal alleine nichts anfangen.

      EDIT: Die Fehlersuche ist oft nicht einfach, da die Zeilennummern (in deinem Fall 166) nicht auf den Fehler hinweisen. Ist eher eine Näherung 😉

      1 Reply Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @Woffi1967 last edited by Armilar

        @woffi1967

        Ich tippe übrigens auf die IconSelector, also das 2. TypeScript, dass die Icons enthält und im global angelegt sein muss (und natürlich angeschaltet)

        Bist du nach dieser Anleitung vorgegangen?
        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---Basisinstallation

        1 Reply Last reply Reply Quote 0
        • B
          bean last edited by bean

          Seit neuesten bekomme ich beim Start des Scripts zwei Zeilen mit den roten Fehlern

          Error by subscription (trigger): empty ID defined. All states matched.
          

          Ich vermute, irgendein Datenpunkt in den Aliasen passt nicht, aber kann ich das irgendwie debuggen bzw selber draufkommen, welche Subscription den Fehler auslöst?
          Das Skript startet trotzdem und läuft scheinbar auch fehlerfrei, aber rot ist doch störend 😰

          Armilar 1 Reply Last reply Reply Quote 0
          • Armilar
            Armilar Most Active Forum Testing @bean last edited by

            @bean

            rot ist nicht so schön 😉 Ich habe auch nicht die geringste Ahnung, warum sich das nicht in Pink umstellen lässt.

            Nee, mal kurz Spaß beiseite. Stell mal im Script-Editor oben in der Ecke:
            79d85721-50fa-49fb-947c-d8101e60768e-image.png
            im Schraubenschlüssel den Haken bei "Ausführliche Protokollausgaben" rein und starte mal durch. Danach sende mal das Log mit den Fehlern in rot und so ein klein wenig an Log-Infos drumherum hier in Code-Tags.

            Evtl. siehst du selbst die Fehlerquelle schon...

            B 1 Reply Last reply Reply Quote 1
            • B
              bean @Armilar last edited by bean

              @armilar said in SONOFF NSPanel mit Lovelace UI:

              im Schraubenschlüssel den Haken bei "Ausführliche Protokollausgaben" rein und starte mal durch. Danach sende mal das Log mit den Fehlern in rot und so ein klein wenig an Log-Infos drumherum hier in Code-Tags.
              Evtl. siehst du selbst die Fehlerquelle schon...

              Ah! Aber die Fehlerquelle ist noch unklar

              19:30:47.180	info	javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.Relay.1","change":"ne","q":0},"name":"script.js.common.NSPanel.1"}
              19:30:47.181	info	javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.Relay.2","change":"ne","q":0},"name":"script.js.common.NSPanel.1"}
              19:30:47.181	error	javascript.0 (557640) script.js.common.NSPanel.1 Error by subscription (trigger): empty ID defined. All states matched.
              19:30:47.181	error	javascript.0 (557640) script.js.common.NSPanel.1 Error by subscription (trigger): empty ID defined. All states matched.
              19:30:47.182	info	javascript.0 (557640) script.js.common.NSPanel.1: Wetter-Alias existiert bereits
              19:30:47.183	info	javascript.0 (557640) script.js.common.NSPanel.1: subscribe: {"pattern":{"id":"0_userdata.0.NSPanel_1.PageNavi","change":"any","q":0},"name":"script.js.common.NSPanel.1"}
              
              

              Scheinbar werden die beiden Relais-Datenpunkte abonniert, dann zwei Fehler, und dann geht es mit dem Wetter etc. weiter. Oder lese ich das falsch? Danke!

              EDIT: Hat sicher erledigt - ich hatte bei mrIcon1ScreensaverEntity und mrIcon2ScreensaverEntity unter entity "null" eingetragen weil ich keine Icons oben haben wollte, in der letzten Scriptversion warf das noch keinen Fehler.

              Armilar 1 Reply Last reply Reply Quote 1
              • Armilar
                Armilar Most Active Forum Testing @bean last edited by

                @bean

                Super, danke für die Info.

                "null" sollte auch künftig wieder möglich sein. Ich prüfe das für die nächste Version und werde vorher abfragen, ob einer von den Icons "null" ist. Dann sollte null auch ohne Fehler funktionieren, da die Init für die Subscriptions der jeweiligen Icons nicht mehr durchlaufen werden.

                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @Armilar last edited by

                  @bean

                  Wenn du es direkt wieder ohne Buttons haben möchtest kannst du den Teil suchen (relativ weit oben):

                  on({id: [].concat(config.mrIcon1ScreensaverEntity.ScreensaverEntity).concat(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);
                          }
                      }
                  });
                  

                  und gegen den Teil ersetzen:

                  async function SubscribeMRIcons () { 
                      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);
                                  }
                              }
                          });
                      }
                      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);
                                  }
                              }
                          });
                      }
                  }
                  SubscribeMRIcons();
                  

                  dann sollte auch "null" wieder möglich sein.

                  LG

                  B 1 Reply Last reply Reply Quote 2
                  • M
                    michael_4358 last edited by

                    hallo

                    habe den Biobroker heute neu aufgesetzt.
                    nun zeigt das Panel nicht mehr die richtige Uhrzeit...
                    Uhrzeit im pi und im Broker sind aber richtig...
                    muss ich noch was beachten?

                    Armilar 1 Reply Last reply Reply Quote 0
                    • Armilar
                      Armilar Most Active Forum Testing last edited by Armilar

                      @michael_4358

                      Abweichungen der Uhrzeit waren bislang Bestandteil von:

                      • Einstellungen der loacales im pi

                        sudo raspi-config
                        

                        dann zu Set Locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)

                        Ebenfalls bitte noch nachsehen, ob Timezone auf Europa/Berlin steht

                      • Node.js
                        Welche Version ist aktuell auf dem pi installiert? Die node.js Version bekommst du im Systemterminal mit

                        node -v
                        

                        heraus und dann wäre noch interessant, welches Betriebssystem auf dem pi läuft (buster oder bullseye)

                      M 1 Reply Last reply Reply Quote 0
                      • B
                        bean @Armilar last edited by

                        @armilar said in SONOFF NSPanel mit Lovelace UI:

                        dann sollte auch "null" wieder möglich sein.

                        Super, funktioniert!

                        Armilar 1 Reply Last reply Reply Quote 0
                        • Armilar
                          Armilar Most Active Forum Testing @bean last edited by

                          @bean sagte in SONOFF NSPanel mit Lovelace UI:

                          dann sollte auch "null" wieder möglich sein.

                          Super, funktioniert!

                          Perfekt, dann kommt es so auch in die folgenden Versionen...

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            bean @Armilar last edited by

                            @armilar
                            Kommando zurück, funktioniert doch nicht (Hattte übergangsweise eine andere Entity eingetragen und das vergessen)
                            Der Unterschied: Ich darf nun gar kein 'none' eintragen (wird gleich rot unterstrichen), das ging vorher noch, dann kam der Fehler aber erst beim kompilieren.
                            Wenn ich zwei Anführungszeichen ohne Inhalt einfüge, kommt der Fehler "empty id defined" wie davor

                            Armilar 1 Reply Last reply Reply Quote 0
                            • Armilar
                              Armilar Most Active Forum Testing @bean last edited by Armilar

                              @bean sagte in SONOFF NSPanel mit Lovelace UI:

                              none

                              null wird abgefragt - kein "none"

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                bean @Armilar last edited by

                                @armilar said in SONOFF NSPanel mit Lovelace UI:

                                @bean sagte in SONOFF NSPanel mit Lovelace UI:

                                none

                                null wird abgefragt - kein "none"

                                Autsch 🤦 Sorry, es ist noch früh - so gehts natürlich

                                1 Reply Last reply Reply Quote 0
                                • V
                                  valbuz last edited by

                                  Hallo zusammen.
                                  Habe einige Erfahrungen mit diesem tollen Tool machen dürfen. Danke hierfür 👍

                                  Nun wollte ich wiederum zurück auf Tasmota. Flashen via OTA und seriell funktionierte, jedoch ist das Display immer noch
                                  auf "waiting for content...".
                                  Ebenso wurden die Dateien nspanel.be und autoexec.be angelegt.
                                  Wer hat mir eine Hilfe wie ich das Nextion wieder weg bekomme?

                                  Danke

                                  Armilar 1 Reply Last reply Reply Quote 0
                                  • Armilar
                                    Armilar Most Active Forum Testing @valbuz last edited by Armilar

                                    @valbuz

                                    Du meinst Tasmota mit der Original TFT-Firmware. Dazu benötigst du die Original Sonoff- Firmware. Soweit ich das verfolgt habe, gab es ein oder 2 User im Forum, die den Weg ebenfalls gegangen sind. Evtl. hilft dir das weiter?:

                                    Going back to Stock Screen firmware

                                    You can easily revert back to stock HMI firmware at any time, if you want. Simply use the same process as above. You just need to use the original TFT file. A link to that is here;
                                    https://community.home-assistant.io/t/sonoff-nspanel-smart-scene-wall-switch-by-itead-coming-soon-on-kickstarter/332962/145?u=m-home

                                    This will revert the Nextion HMI to stock, not the Tasmota side. This process would involve re-flashing the backup taking during the flash of Tasmota. This is not in scope here.

                                    Weitere Infos dazu habe ich aber auch nicht...

                                    V 2 Replies Last reply Reply Quote 1
                                    • M
                                      michael_4358 @Armilar last edited by

                                      @armilar said in SONOFF NSPanel mit Lovelace UI:

                                      @michael_4358

                                      Abweichungen der Uhrzeit waren bislang Bestandteil von:

                                      • Einstellungen der loacales im pi

                                        sudo raspi-config
                                        

                                        dann zu Set Locale navigieren und de_DE.UTF-8 auswählen (falls noch nicht aktiv)

                                        Ebenfalls bitte noch nachsehen, ob Timezone auf Europa/Berlin steht

                                      • Node.js
                                        Welche Version ist aktuell auf dem pi installiert? Die node.js Version bekommst du im Systemterminal mit

                                        node -v
                                        

                                        heraus und dann wäre noch interessant, welches Betriebssystem auf dem pi läuft (buster oder bullseye)

                                      hi

                                      zeit ist auf richtige Einstellung.
                                      node.js ist Version 16.18.1

                                      os ist bullseye

                                      1 Reply Last reply Reply Quote 0
                                      • Armilar
                                        Armilar Most Active Forum Testing @michael_4358 last edited by

                                        @michael_4358 sagte in SONOFF NSPanel mit Lovelace UI:

                                        nun zeigt das Panel nicht mehr die richtige Uhrzeit...
                                        Uhrzeit im pi und im Broker sind aber richtig...
                                        muss ich noch was beachten?

                                        zeit ist auf richtige Einstellung.
                                        node.js ist Version 16.18.1

                                        1cdd8e2b-b22f-4c58-9f78-52c0b01e6407-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                          <block type="schedule" id="6Yu`)QwfE4qpNfmr268P" x="87" y="37">
                                            <field name="SCHEDULE">* * * * * *</field>
                                            <statement name="STATEMENT">
                                              <block type="debug" id="l?5O/}11]yr#/m#;`2FP">
                                                <field name="Severity">log</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id=";K3bqfLSLWG6r5B(k/C{">
                                                    <field name="TEXT">test</field>
                                                  </shadow>
                                                  <block type="time_get" id="(NH7-ko5K-Lstw6QrhtK">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                    <field name="OPTION">hh:mm:ss.sss</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                          </block>
                                        </xml>
                                        

                                        Im Spoiler ist das o.a. Blockly. Führe das mal aus und teile das Ergebnis mit

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          michael_4358 @Armilar last edited by

                                          @armilar said in SONOFF NSPanel mit Lovelace UI:

                                          <xml xmlns="https://developers.google.com/blockly/xml"> <block type="schedule" id="6Yu)QwfE4qpNfmr268P" x="87" y="37"> <field name="SCHEDULE">* * * * * *</field> <statement name="STATEMENT"> <block type="debug" id="l?5O/}11]yr#/m#;2FP"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=";K3bqfLSLWG6r5B(k/C{"> <field name="TEXT">test</field> </shadow> <block type="time_get" id="(NH7-ko5K-Lstw6QrhtK"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss.sss</field> </block> </value> </block> </statement> </block> </xml>

                                          Bildschirm­foto 2022-12-08 um 16.37.47.png

                                          1 Reply Last reply Reply Quote 0
                                          • Armilar
                                            Armilar Most Active Forum Testing last edited by

                                            @michael_4358

                                            Sieht für mich aber immer noch nach einer falschen Zeitzone aus. Alternativ Sommer und Winterzeit.

                                            Was zeigt das Script, wenn du vorher:

                                            sudo ntpd -qg
                                            

                                            ausführst?

                                            M 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            529
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4294128
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo