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 @chiob314 last edited by

      @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

      @armilar
      5935af2f-6e96-4ce9-a3d9-89621bac29da-grafik.png

      Eigentlich auch soweit ok....

      Dann verstehe ich das aber irgendwie auch nicht mehr... 😕

      1 Reply Last reply Reply Quote 0
      • C
        chiob314 @Armilar last edited by

        @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

        Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

        C Armilar T 3 Replies Last reply Reply Quote 0
        • C
          chiob314 @chiob314 last edited by

          @Armilar

          Das Problem müsste irgendwo hier stecken:

          function SendDate(): void {
              try {
                  const date = new Date();
                  const options: any = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
                  const _SendDate = date.toLocaleDateString(config.locale, options);
          
                  SendToPanel(<Payload>{ payload: 'date~' + _SendDate });
              } catch (err) {
                  console.warn('function SendDate: ' + err.message);
              }
          }
          

          Die Funktion date.toLocalDateString müsste hier eigentlich brav alles umwandeln. Aus irgendeinem Grund passiert das nicht.

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

            @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

            @armilar Dann sind wir ja schon zu zweit. (danke mal bis hierher!!)

            Vielleicht gibt es ja noch von anderen Kollegen hier ein paar Ideen, was das sein könnte...

            function SendDate(): void {
                try {
                    const date = new Date();
                    const options: any = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
                    const _SendDate = date.toLocaleDateString(config.locale, options);
            
                    SendToPanel(<Payload>{ payload: 'date~' + _SendDate });
                } catch (err) {
                    console.warn('function SendDate: ' + err.message);
                }
            }
            

            Das ist zumindest mal das Datum in der Mitte des Screensavers

            Die bekommt als Variable in config.locale ein de-DE und wandelt alles dann um. Eigentlich kein Hexenwerk...

            C 1 Reply Last reply Reply Quote 0
            • C
              chiob314 @Armilar last edited by

              @armilar richtig. Ich hab mal statt der Variable config.locale direkt 'de-DE' eingetragen. Aber.....
              Auch mal mit ner anderen locale getestet. Keine Änderung.

              C 1 Reply Last reply Reply Quote 0
              • C
                chiob314 @chiob314 last edited by

                @Armilar Problem gelöst! nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                Jetzt ist alles schick.

                Armilar Thomas Braun 2 Replies Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @chiob314 last edited by

                  @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                  @Armilar Problem gelöst! nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                  Jetzt ist alles schick.

                  👍

                  1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @chiob314 last edited by Thomas Braun

                    @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                    nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                    Und ich bekomme immer zuhören:
                    Du immer mit deinem nodejs-Update-Geseiere...
                    Das hat überhaupt nichts mit dem Problem zu tun!1!

                    Ein aktuelles und korrekt installiertes nodejs ist die Grundlage für alles im iobroker!

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

                      @thomas-braun sagte in SONOFF NSPanel mit Lovelace UI:

                      @chiob314 sagte in SONOFF NSPanel mit Lovelace UI:

                      nodejs Update durchgeführt (ich war noch auf ner 12er Version.......)

                      Und ich bekomme immer zuhören:
                      Du immer mit deinem nodejs-Update-Geseiere...
                      Das hat überhaupt nichts mit dem Problem zu tun!1!

                      Ein aktuelles und korrekt installiertes nodejs ist die Grundlage für alles im iobroker!

                      "vor allem korrekt installiert" - denn "date.toLocaleDateString" gab es in der 12er auch schon... 😉

                      Aber aktuell sollte es auch sein. Und Probleme, dessen Ursache man an an völlig anderer Stelle erwartet, lösen sich dann in Luft auf... So eine Laufzeitumgebung für Javascript ist halt auch nur ein Mensch... 😊 👍

                      1 Reply Last reply Reply Quote 2
                      • Matzebhv
                        Matzebhv last edited by

                        Moin, ich wieder mit meinem neu aufgesetzten System 🙂

                        Habe die Chance genutzt und sowohl die Firmware als auch die Scripte auf aktuellen Stand zu bringen.

                        Das Panel funktioniert einwandfrei, allerdings wird das Log vollgeschrieben mit:

                        script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                        Ich kann den Fehler absolut nicht finden.

                        Tasmota, Firmware, Script und iOBroker aktuell.

                        Gruß
                        Matze

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

                          @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                          Moin, ich wieder mit meinem neu aufgesetzten System 🙂

                          Habe die Chance genutzt und sowohl die Firmware als auch die Scripte auf aktuellen Stand zu bringen.

                          Das Panel funktioniert einwandfrei, allerdings wird das Log vollgeschrieben mit:

                          script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                          Ich kann den Fehler absolut nicht finden.

                          Tasmota, Firmware, Script und iOBroker aktuell.

                          Gruß
                          Matze

                          Benutzt du eine Emulation oder das echte Panel?

                          Erste Vermutung: Der interne Sensor ist nicht im Tasmota-Template...

                          Hintergrund, es werden die internen Sensordaten (der benannte ist der Temperatursensor) ausgelesen und in Datenpunkte unter 0_userdata.0. geschrieben. Bei meiner Emu (die hat ja keine externen Sensoren) ist der Fehler völlig normal. Beim Original Panel allerdings nicht.

                          Nachfolgende Funktion (fast am Ende des TS-Scripts vor den Color-Funktionen) findest du folgende Funktion:

                          //------------------Begin Read Internal Sensor Data
                          on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                              try {
                                  const Tasmota_Sensor = JSON.parse(obj.state.val);
                          
                                  await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                  await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                  await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                  await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                          
                                  await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                  await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                  //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                  await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                              } catch (err) {
                                  console.warn('error with reading senor-data: '+ err.message);
                              }
                          });
                          //------------------End Read Internal Sensor Data
                          

                          Kommentiere den vorletzten setStateAsync mal aus. Falls danach immer noch, den ESP32 Sensor eine Zeile danach.

                          Dann melden 😉

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

                            @armilar Meld 🙂

                            Nein, ich benutze ein voll echtes Panel. Die Daten sind auch gerade unter 0_userdata.0.NSPanel.1.Sensor.ANALOG.Temperature angekommen -> 23.2

                            Ich habe das trotzdem mal auskommentiert, hat leider nicht geholfen.

                            //------------------Begin Read Internal Sensor Data
                            on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                try {
                                    const Tasmota_Sensor = JSON.parse(obj.state.val);
                            
                                    await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                    await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                    await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                    await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                            
                                    await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                    await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                    //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                    await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                } catch (err) {
                                    console.warn('error with reading senor-data: '+ err.message);
                                }
                            });
                            //------------------End Read Internal Sensor Data
                            

                            -> script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

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

                              @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                              @armilar Meld 🙂

                              Nein, ich benutze ein voll echtes Panel. Die Daten sind auch gerade unter 0_userdata.0.NSPanel.1.Sensor.ANALOG.Temperature angekommen -> 23.2

                              Ich habe das trotzdem mal auskommentiert, hat leider nicht geholfen.

                              //------------------Begin Read Internal Sensor Data
                              on({ id: config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 'RESULT'.length) + 'SENSOR' }, async (obj) => {
                                  try {
                                      const Tasmota_Sensor = JSON.parse(obj.state.val);
                              
                                      await createStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.StateCommon>{ type: 'string' });
                                      await createStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.StateCommon>{ type: 'string' });
                                      await createStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                                      await createStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.StateCommon>{ type: 'number', 'unit': '°C' });
                              
                                      await setStateAsync(NSPanel_Path + 'Sensor.Time', <iobJS.State>{ val: Tasmota_Sensor.Time, ack: true });
                                      await setStateAsync(NSPanel_Path + 'Sensor.TempUnit', <iobJS.State>{ val: '°' + Tasmota_Sensor.TempUnit, ack: true });
                                      //await setStateAsync(NSPanel_Path + 'Sensor.ANALOG.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ANALOG.Temperature1), ack: true });
                                      await setStateAsync(NSPanel_Path + 'Sensor.ESP32.Temperature', <iobJS.State>{ val: parseFloat(Tasmota_Sensor.ESP32.Temperature), ack: true });
                                  } catch (err) {
                                      console.warn('error with reading senor-data: '+ err.message);
                                  }
                              });
                              //------------------End Read Internal Sensor Data
                              

                              -> script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')

                              Kommando zurück...

                              Hatte das ebenfalls eben. Tasmota-Update. Das Panel ist im Safe-Boot. Geh mal unter der IP ins Tasmota und starte kurz das Panel durch. Dann sollte es wieder gehen

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

                                im Tasmota 12.2.0 ist ein Bug

                                Matzebhv 2 Replies Last reply Reply Quote 0
                                • Matzebhv
                                  Matzebhv @Armilar last edited by

                                  @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                  im Tasmota 12.2.0 Updater ist ein Bug - Der zieht die 12.0.2 Version.

                                  Hmm, angezeigt auf dem Panel wird die aktuelle Version -> Tasmota 12.2.0 by Theo Arends

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

                                    @armilar Soll ich mal ein Downgrade versuchen? Oder ein Update von Hand?

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

                                      @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                                      @armilar Soll ich mal ein Downgrade versuchen? Oder ein Update von Hand?

                                      Okay, dann sollte es okay sein. Der Fehler ist in der tasmota32-DE.bin.

                                      tasmota32-nspanel.bin ist okay

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

                                        @armilar eigentlich noch ein wenig anders. Update auf die nspanel.bin 12.2.0 von heute ( die war vorher schon drauf ) -> Fehler vorhanden
                                        Downgrade auf die nspanel.bin 12.1.1 -> Fehler weg.

                                        Vielleicht hilft dir das.

                                        Gruß
                                        Matze

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

                                          @matzebhv sagte in SONOFF NSPanel mit Lovelace UI:

                                          @armilar eigentlich noch ein wenig anders. Update auf die nspanel.bin 12.2.0 von heute ( die war vorher schon drauf ) -> Fehler vorhanden
                                          Downgrade auf die nspanel.bin 12.1.1 -> Fehler weg.

                                          Vielleicht hilft dir das.

                                          Gruß
                                          Matze

                                          Ist so... Im 12.2.0 (Patrick) wird der ESP-Sensor nicht mehr ausgelesen.

                                          Bitte für alle die ein 0_userdata.0.NSPanel.X.NSPanel_autoUpdate = true haben, bitte auf false setzen.

                                          Dann Downgrade auf 12.1.1 (Patricia)

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

                                            @armilar

                                            Change-Log Tasmota 12.2.0

                                            • Command SetOption146 1 to enable display of ESP32 internal temperature

                                            Achtung: Änderung in Tasmota ESP32

                                            Also, falls folgende Warnung im Log auftritt:

                                            script.js.NSPanel.Panel1: error with reading senor-data: Cannot read properties of undefined (reading 'Temperature')
                                            

                                            dann in der Tasmota Console

                                            SetOption146 1
                                            

                                            eingeben.

                                            Dann wird die ESP-Temperatur wieder gelesen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4284960
                                            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