Navigation

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

    NEWS

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sonoff NSPanel

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

      @dapeace sagte in Sonoff NSPanel:

      @armilar Hallo,
      also so ruft er das Panel ab

          panelRecvTopic: "mqtt.0.SONOFF.NSPanelWozi.tele.RESULT",
          panelSendTopic: "mqtt.0.SONOFF.NSPanelWozi.cmnd.CustomSend",
      

      und das sind Zeile 684-702

      function get_online_berry_driver_version() { 
          exec('curl https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/tasmota/autoexec.be', function (error, result, stderr){
              if (result) {
                  let BerryDriverVersionOnline = result.substring((result.indexOf("version_of_this_script = ") + 24), result.indexOf("version_of_this_script = ") + 27).replace(/\s+/g, '');
                  createState(NSPanel_Path + "Berry_Driver.onlineVersion");
                  setIfExists(NSPanel_Path + 'Berry_Driver.onlineVersion', BerryDriverVersionOnline);
              }
          });
      }
      
      function check_version_tft_firmware() {
          exec('curl -X GET -k \'https://api.github.com/repos/joBr99/nspanel-lovelace-ui/releases/latest\'', function (error, result, stderr){	//GitAPI aufruf für JSON Inhalt von Latest Tasmota Release
              var NSPanel_JSON = JSON.parse(result) 				//JSON Resultat in Variable Schreiben
              var NSPanelTagName = NSPanel_JSON.tag_name 			//created_at; published_at; name ; draft ; prerelease
              var NSPanelVersion = NSPanelTagName.replace(/v/i, ""); 		//Aus Variable überflüssiges "v" filtern und in Release-Variable schreiben
              createState(NSPanel_Path + "TFT_Firmware.onlineVersion");
              setIfExists(NSPanel_Path + 'TFT_Firmware.onlineVersion', NSPanelVersion);
          });
      }
      

      Es gibt aber irgendwie ein Problem mit den Daten die er vom Panel kriegt. Ich habe keine Daten bei Tasmota in der Unterrubrik (Hardware, Uptime, Version). Die Version kriegt wer aber (ist bei mir alles von Freitag also 12.1.0 und auch die Versionen die auf dem Panel laufen.

      Grüsse

      Das war auch meine ursprüngliche Vermutung, also das es ein Problem in der "function get_tasmota_status0()" gibt. Entweder kann das Skript die IP nicht ermitteln oder irgendetwas hindert das Skript daran http://xxx.xxx.xxx.xxx/cm?cmnd=Status0 auszuführen. Bekommst du Daten (JSON) zurück, wenn du http://xxx.xxx.xxx.xxx/cm?cmnd=Status0 im Browser ausführst?

      Kann es sein, dass du Tasmota im http über Benutzer und Passwort gesichert, d.h. Passwort für Web Oberfläche angehakt hast?

      Mache mal einen Screenshot von deinem JavaScript-Adapter-Einstellungen

      D 1 Reply Last reply Reply Quote 0
      • W
        welli last edited by

        Hallo,
        Hätte mal ne Frage , wie bekommt man die aktuelle Zeit angezeigt, bin eine Stunde züruck?
        Mit freundlichen Gruessen
        Welli

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

          @welli sagte in Sonoff NSPanel:

          Hallo,
          Hätte mal ne Frage , wie bekommt man die aktuelle Zeit angezeigt, bin eine Stunde züruck?
          Mit freundlichen Gruessen
          Welli

          Ist die Systemzeit vom ioBroker. Evtl. die Sommerzeit nicht aktiv? Tasmota hat da nichts mit zu tun - ist der Server

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

            @armilar
            Hallo Armilar,
            Die Zeit im Iobroker und in der Tasmota console wie locale zeit , nur der NSpanel zeigt eine Stunde weniger an.
            Gruss
            Welli

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

              @welli sagte in Sonoff NSPanel:

              @armilar
              Hallo Armilar,
              Die Zeit im Iobroker und in der Tasmota console wie locale zeit , nur der NSpanel zeigt eine Stunde weniger an.
              Gruss
              Welli

              Das Zeit im NSPanel funktioniert wie folgt:

              Die Funktion SendTime() wird minütlich aufgerufen

              • Die Funktion getHours holt sich die aktuelle Stunde aus dem System
              • Die Funktion getMinutes holt sich die aktuelle Minute aus dem System
              • Dann wird nur noch mit einer 0 erweitert, wenn die Zahl kleiner 10 ist.
              • Zum Schluss wird das Ergebnis als String an das Panel gesendet.
              function SendTime(): void {
              
                  var d = new Date();
                  var hr = d.getHours().toString();
                  var min = d.getMinutes().toString();
              
                  if (d.getHours() < 10) {
                      hr = "0" + d.getHours().toString();
                  }
                  if (d.getMinutes() < 10) {
                      min = "0" + d.getMinutes().toString();
                  }
                  SendToPanel(<Payload>{ payload: "time~" + hr + ":" + min });
              }
              

              Spricht also immer noch alles dafür, das die Zeit im System irgendwo nicht korrekt ist.

              Teste mal mit Blockly:

              20da7aba-731f-4b44-914b-97d11e9f647c-image.png

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

                @welli sagte in Sonoff NSPanel:

                @armilar
                Hallo Armilar,
                Die Zeit im Iobroker und in der Tasmota console wie locale zeit , nur der NSpanel zeigt eine Stunde weniger an.
                Gruss
                Welli

                Was ist das denn für ein System bzw. worauf läuft dein ioBroker denn? Gab schon häufiger Probleme mit den Einstellungen der Systemzeit (bei z.B. Promox/VM/Docker Usern).

                1 Reply Last reply Reply Quote 0
                • W
                  welli last edited by

                  @armilar
                  Das ganze läuft auf einen Raspberry pi 4.

                  W 1 Reply Last reply Reply Quote 0
                  • W
                    welli @welli last edited by

                    @welli
                    Habe rechts und links probiert ,jetzt ist alles , danke nochmal.

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

                      @armilar Du bist mein persönlicher Held des Tages. Aus irgendeinem Grund ist nach dem flashed. die HTTP-Api ausgeschalten im Tasmota. Das hatte ich vorher schonmal gesehen aber gedacht der macht das eh alles über MQTT. Jetzt wo sie ein ist gibts keine Fehlermeldung mehr und es läuft ganz normal.
                      Tausend Dank schonmal!

                      1 Reply Last reply Reply Quote 0
                      • D
                        DaPeace last edited by DaPeace

                        Neuer Tag neue Frage/Probleme,

                        Trotz beheben der Fehler und akribischem Prüfen ob es die Datenpunkte gibt bekomme ich die Einstellungen nicht angezeigt.
                        Das sind die Einstellungen:

                        //Subpage 2 von Subpages_2
                        var NSPanel_Einstellungen: PageEntities =
                        {
                            "type": "cardEntities",
                            "heading": "Screensaver",
                            "useColor": true,
                            "subPage": true,
                            "parent": Service,
                            "items": [
                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_hourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_hourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                            ]
                        };
                        

                        Das hier die Seite mit den Firmware-Updates:

                        //Subpage 3 von Subpages_2
                        var NSPanel_Firmware_Updates: PageEntities =
                        {
                            "type": "cardEntities",
                            "heading": "Firmware-Updates",
                            "useColor": true,
                            "subPage": true,
                            "parent": Service,
                            "items": [
                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.Display_Firmware.currentVersion", name: "TFT-Firmware", useColor: true}
                            ]
                        };```
                        
                        
                        
                        

                        Und das hier die Pages:

                            pages: [
                                    Wohnzimmer_Themostat,
                                    Fenster_Wozi,
                                    Pool,
                                    WohnzimmerLicht,
                        //            button2Page,
                             	    Subpages_1,
                                    Service
                            ],
                            subPages: [
                        //                  Abfall,
                        //                  WLAN,
                                          NSPanel_Infos,
                                          NSPanel_Einstellungen,
                                          NSPanel_Firmware_Updates
                            ],
                            button1Page: button1Page,
                            button2Page: button2Page
                        };
                        

                        Die Datenpunkte sind vorhanden aber trotzdem bleiben die Seiten leer. Wie kann das sein?

                        Nächste Frage:
                        Wie läuft das mit dem Abfall? Ich hab ical eingerichtet, trashschedule auch, hab jetzt die Werte als Objekte aber was muß ich jetzt für ein Alias anlegen von welchem Typ um das einzubinden? Oder kann man die Events direkt verlinken?
                        Kann mir da jemand ein Beispiel geben?

                        Außerdem habe ich 3 Rollos eingebunden. Alle Alias sind gleich erstellt worden. Es sind Shelly2.0, sie sind über den Shelly-Adapter eingebunden und bei ACTUAL, CLOSE, OPEN, SET und STOP sind jeweils die Datenpunkte eingegeben.
                        Im Script steht das hier:

                        var Fenster_Wozi: PageEntities =
                        {
                            "type": "cardEntities",
                            "heading": "Fenster und Türen",
                            "useColor": true,
                            "subPage": false,
                            "parent": undefined,
                            "items": [
                                <PageItem>{ id: "alias.0.Wohnzimmer_Rechts", onColor: White, name: "Rechts"},
                                <PageItem>{ id: "alias.0.Wohnzimmer_Klein", onColor: White, name: "Klein"},
                                <PageItem>{ id: "alias.0.Wohnzimmer_Links", onColor: White, name: "Links"}
                        
                            ]
                        };```
                        
                        Hier die Objekte:
                        ![iob.png](/assets/uploads/files/1661234818704-iob-resized.png) 
                        
                        Trotzdem geht nur das Rechte Rollo komplett und das kleine Rollo geht zwar mit den Hoch und Runter-Tasten aber nicht zu stoppen. Das ist irgendwie sehr sehr komisch. Kann da jemand helfen?
                        
                        Grüsse, DaPeace
                        T Armilar 3 Replies Last reply Reply Quote 0
                        • T
                          TT-Tom @DaPeace last edited by

                          @dapeace sagte in Sonoff NSPanel:

                          Neuer Tag neue Frage/Probleme,

                          Trotz beheben der Fehler und akribischem Prüfen ob es die Datenpunkte gibt bekomme ich die Einstellungen nicht angezeigt.
                          Das sind die Einstellungen:

                          //Subpage 2 von Subpages_2
                          var NSPanel_Einstellungen: PageEntities =
                          {
                              "type": "cardEntities",
                              "heading": "Screensaver",
                              "useColor": true,
                              "subPage": true,
                              "parent": Service,
                              "items": [
                                  <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                                  <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                                  <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_hourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                                  <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_hourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                              ]
                          };
                          

                          Das hier die Seite mit den Firmware-Updates:

                          //Subpage 3 von Subpages_2
                          var NSPanel_Firmware_Updates: PageEntities =
                          {
                              "type": "cardEntities",
                              "heading": "Firmware-Updates",
                              "useColor": true,
                              "subPage": true,
                              "parent": Service,
                              "items": [
                                  <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
                                  <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.Display_Firmware.currentVersion", name: "TFT-Firmware", useColor: true}
                              ]
                          };```
                          
                          
                          
                          

                          Und das hier die Pages:

                              pages: [
                                      Wohnzimmer_Themostat,
                                      Fenster_Wozi,
                                      Pool,
                                      WohnzimmerLicht,
                          //            button2Page,
                               	    Subpages_1,
                                      Service
                              ],
                              subPages: [
                          //                  Abfall,
                          //                  WLAN,
                                            NSPanel_Infos,
                                            NSPanel_Einstellungen,
                                            NSPanel_Firmware_Updates
                              ],
                              button1Page: button1Page,
                              button2Page: button2Page
                          };
                          

                          Die Datenpunkte sind vorhanden aber trotzdem bleiben die Seiten leer. Wie kann das sein?

                          das sind Subpage von der Seite Service, ist die Seite vorhanden? Zwieg mal die Einstellungen.

                          1 Reply Last reply Reply Quote 0
                          • T
                            TT-Tom @DaPeace last edited by

                            @dapeace sagte in Sonoff NSPanel:

                            Neuer Tag neue Frage/Probleme,

                            Nächste Frage:
                            Wie läuft das mit dem Abfall? Ich hab ical eingerichtet, trashschedule auch, hab jetzt die Werte als Objekte aber was muß ich jetzt für ein Alias anlegen von welchem Typ um das einzubinden? Oder kann man die Events direkt verlinken?
                            Kann mir da jemand ein Beispiel geben?

                            Lies mal den Beitrag, vielleicht passt das. bei mir läuft er so perfekt.

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

                              Hallo,
                              ich habe seit Beginn der Arbeit mit dem Panel immer folgende Scriptfehler:

                              10:35:06.177	error	javascript.0 (468) script.js.common.NSPanelTS_ts: TypeError: Cannot read properties of undefined (reading 'Version')
                              10:35:06.177	error	javascript.0 (468) at script.js.common.NSPanelTS_ts:1045:55
                              10:35:06.178	error	javascript.0 (468) at step (script.js.common.NSPanelTS_ts:33:23)
                              10:35:06.178	error	javascript.0 (468) at Object.next (script.js.common.NSPanelTS_ts:14:53)
                              10:35:06.178	error	javascript.0 (468) at script.js.common.NSPanelTS_ts:8:71
                              10:35:06.178	error	javascript.0 (468) at __awaiter (script.js.common.NSPanelTS_ts:4:12)
                              10:35:06.178	error	javascript.0 (468) at script.js.common.NSPanelTS_ts:1030:16
                              

                              Weiß aber nicht was das ist.

                              Das Zweite ist das Thema "Info Pop Up" aus der Script Doku erkenne ich, dass man da wohl was machen kann. Aber ich finde keine Erklärung "Was und wie".

                              Und zuletzt bekomme ich das Thema mit den Hardware Buttons nicht hin. Ich habe die Rule in Tasmota hinterlegt und das Relais schaltet nicht mehr. Aber was muss ich wo im Skript machen, damit ich ein Event/Trigger etc auf ein Gerät ausführen kann?
                              Danke

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

                                @dapeace sagte in Sonoff NSPanel:

                                Neuer Tag neue Frage/Probleme,

                                Trotz beheben der Fehler und akribischem Prüfen ob es die Datenpunkte gibt bekomme ich die Einstellungen nicht angezeigt.
                                Das sind die Einstellungen:

                                //Subpage 2 von Subpages_2
                                var NSPanel_Einstellungen: PageEntities =
                                {
                                    "type": "cardEntities",
                                    "heading": "Screensaver",
                                    "useColor": true,
                                    "subPage": true,
                                    "parent": Service,
                                    "items": [
                                        <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                                        <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessNight", name: "Brightness Nacht", icon: "brightness-4", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 4},
                                        <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_hourDay", name: "Stunde Tag", icon: "sun-clock", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23},
                                        <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_hourNight", name: "Stunde Nacht", icon: "sun-clock-outline", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 0, maxValue: 23}
                                    ]
                                };
                                

                                Das hier die Seite mit den Firmware-Updates:

                                //Subpage 3 von Subpages_2
                                var NSPanel_Firmware_Updates: PageEntities =
                                {
                                    "type": "cardEntities",
                                    "heading": "Firmware-Updates",
                                    "useColor": true,
                                    "subPage": true,
                                    "parent": Service,
                                    "items": [
                                        <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.Tasmota_Version", name: "Tasmota Firmware", useColor: true},
                                        <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.Display_Firmware.currentVersion", name: "TFT-Firmware", useColor: true}
                                    ]
                                };```
                                
                                
                                
                                

                                Und das hier die Pages:

                                    pages: [
                                            Wohnzimmer_Themostat,
                                            Fenster_Wozi,
                                            Pool,
                                            WohnzimmerLicht,
                                //            button2Page,
                                     	    Subpages_1,
                                            Service
                                    ],
                                    subPages: [
                                //                  Abfall,
                                //                  WLAN,
                                                  NSPanel_Infos,
                                                  NSPanel_Einstellungen,
                                                  NSPanel_Firmware_Updates
                                    ],
                                    button1Page: button1Page,
                                    button2Page: button2Page
                                };
                                

                                Die Datenpunkte sind vorhanden aber trotzdem bleiben die Seiten leer. Wie kann das sein?

                                Nächste Frage:
                                Wie läuft das mit dem Abfall? Ich hab ical eingerichtet, trashschedule auch, hab jetzt die Werte als Objekte aber was muß ich jetzt für ein Alias anlegen von welchem Typ um das einzubinden? Oder kann man die Events direkt verlinken?
                                Kann mir da jemand ein Beispiel geben?

                                Außerdem habe ich 3 Rollos eingebunden. Alle Alias sind gleich erstellt worden. Es sind Shelly2.0, sie sind über den Shelly-Adapter eingebunden und bei ACTUAL, CLOSE, OPEN, SET und STOP sind jeweils die Datenpunkte eingegeben.
                                Im Script steht das hier:

                                var Fenster_Wozi: PageEntities =
                                {
                                    "type": "cardEntities",
                                    "heading": "Fenster und Türen",
                                    "useColor": true,
                                    "subPage": false,
                                    "parent": undefined,
                                    "items": [
                                        <PageItem>{ id: "alias.0.Wohnzimmer_Rechts", onColor: White, name: "Rechts"},
                                        <PageItem>{ id: "alias.0.Wohnzimmer_Klein", onColor: White, name: "Klein"},
                                        <PageItem>{ id: "alias.0.Wohnzimmer_Links", onColor: White, name: "Links"}
                                
                                    ]
                                };```
                                
                                Hier die Objekte:
                                ![iob.png](/assets/uploads/files/1661234818704-iob-resized.png) 
                                
                                Trotzdem geht nur das Rechte Rollo komplett und das kleine Rollo geht zwar mit den Hoch und Runter-Tasten aber nicht zu stoppen. Das ist irgendwie sehr sehr komisch. Kann da jemand helfen?
                                
                                Grüsse, DaPeace
                                

                                Zunächst einmal versuchst du die Items mit Datenpunkten zu füllen. Das funktioniert nicht, da hier immer ein Alias erwartet wird. Du müsstest jetzt für jeden Datentyp einen Alias mit dem Geräte-Manager erzeugen. Beispiel:

                                <PageItem>{ id: "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessDay", name: "Brightness Tag", icon: "brightness-5", offColor: MSYellow, onColor: MSYellow, useColor: true, minValue: 5, maxValue: 10},
                                

                                Du greifst auf "0_userdata.0.NSPanelWoZi.1.1.Dimmode_brightnessDay" zu. Wenn du hier einen Alias "Slider/Schieberegler" verwendest, dann funktioniert es.

                                In der Subpage2 wären es dann Aliase vom Typ "Info".

                                Für den Abfall könntest du eine Page bauen mit statischen Werten und einen Alias über die Datenpunkte setzten. In der Regel werden die nächsten Events 1, 2, 3, 4, im ical-Adapter aufgeführt. Ebenfalls vom Typ "Info".
                                Alternativ hierzu der Post von @TT-Tom.

                                Zu alledem fällt mir auf, dass du einmal 0_userdata.0.NSPanelWoZi.1.1. und einmal 0_userdata.0.NSPanelWoZi.1. verwendest. Hat aber im Grunde keine Bedeutung, weil die Angabe von Datenpunkten schon nicht korrekt ist.

                                Zu den Rollos, was sind das für Aiase (irgend wie hast du deine Screenshots im Code eingebunden. Sind das Jalousien/Shutter? Ggfs. mal mit ner Fernbedienung das Stop-Signal setzen. Manchmal sind die Aliase zickig bei der ersten Einbindung (oder alternativ mal in den Datenpunkt ein true/false setzen, um den ALIAS aufzuwecken)

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

                                  @vocaris sagte in Sonoff NSPanel:

                                  Hallo,
                                  ich habe seit Beginn der Arbeit mit dem Panel immer folgende Scriptfehler:

                                  10:35:06.177	error	javascript.0 (468) script.js.common.NSPanelTS_ts: TypeError: Cannot read properties of undefined (reading 'Version')
                                  10:35:06.177	error	javascript.0 (468) at script.js.common.NSPanelTS_ts:1045:55
                                  10:35:06.178	error	javascript.0 (468) at step (script.js.common.NSPanelTS_ts:33:23)
                                  10:35:06.178	error	javascript.0 (468) at Object.next (script.js.common.NSPanelTS_ts:14:53)
                                  10:35:06.178	error	javascript.0 (468) at script.js.common.NSPanelTS_ts:8:71
                                  10:35:06.178	error	javascript.0 (468) at __awaiter (script.js.common.NSPanelTS_ts:4:12)
                                  10:35:06.178	error	javascript.0 (468) at script.js.common.NSPanelTS_ts:1030:16
                                  

                                  Weiß aber nicht was das ist.

                                  Das Zweite ist das Thema "Info Pop Up" aus der Script Doku erkenne ich, dass man da wohl was machen kann. Aber ich finde keine Erklärung "Was und wie".

                                  Und zuletzt bekomme ich das Thema mit den Hardware Buttons nicht hin. Ich habe die Rule in Tasmota hinterlegt und das Relais schaltet nicht mehr. Aber was muss ich wo im Skript machen, damit ich ein Event/Trigger etc auf ein Gerät ausführen kann?
                                  Danke

                                  • Zu 1) Was befindet sich in den Code-Zeilen 1030 - 1045?
                                  • Zu 2) Die Rule 2 ist dafür da, eine Page (button1Page und oder button2Page) statt des Relais zu benutzen.
                                    • Wenn du etwas über die Relais-Ausgänge schalten willst, dann solltest du die Rule 2 deaktivieren.
                                    • Wenn du nicht möchtest, dass das Relay schaltet und stattdessen den Wert On/Off/Toggle verwenden möchtest, dann Rule 2 deaktivieren, SetOption 114 (Detach switches from relays and send MQTT messages instead) verwenden und über externes Skript "XYZ" die Werte Triggern und verarbeiten.
                                    • Wenn du stattdessen eine Seite öffnen willst und z.B. Lichtszenen steuern willst, dann über die buttonXPages
                                  V 1 Reply Last reply Reply Quote 0
                                  • V
                                    Vocaris @Armilar last edited by

                                    • Zu 1) Was befindet sich in den Code-Zeilen 1030 - 1045?

                                    Anbei die Zeile 1030 - 1045

                                        let mqttInfo2 =  config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 6) + "INFO2";
                                        let Tasmota_Info2 = JSON.parse(getState(mqttInfo2).val);
                                        return Tasmota_Info2.Info2.IPAddress;
                                    }
                                    
                                    function get_online_tasmota_firmware_version() {
                                        exec('curl -X GET -k \'https://api.github.com/repositories/80286288/releases/latest\'', function (error, result, stderr){	//GitAPI aufruf für JSON Inhalt von Latest Tasmota Release
                                            var Tasmota_JSON = JSON.parse(result) 				//JSON Resultat in Variable Schreiben
                                            var TasmotaTagName = Tasmota_JSON.tag_name 			//JSON nach "tag_name" filtern und in Variable schreiben
                                            var TasmotaVersionOnline = TasmotaTagName.replace(/v/i, ""); 		//Aus Variable überflüssiges "v" filtern und in Release-Variable schreiben    
                                            createState(NSPanel_Path + "Tasmota_Firmware.onlineVersion");
                                            setIfExists(NSPanel_Path + "Tasmota_Firmware.onlineVersion", TasmotaVersionOnline);
                                        });
                                    }
                                    
                                    function get_current_berry_driver_version() {
                                    
                                    • Zu 2) Die Rule 2 ist dafür da, eine Page (button1Page und oder button2Page) statt des Relais zu benutzen.
                                      • Wenn du etwas über die Relais-Ausgänge schalten willst, dann solltest du die Rule 2 deaktivieren.
                                      • Wenn du nicht möchtest, dass das Relay schaltet und stattdessen den Wert On/Off/Toggle verwenden möchtest, dann Rule 2 deaktivieren, SetOption 114 (Detach switches from relays and send MQTT messages instead) verwenden und über externes Skript "XYZ" die Werte Triggern und verarbeiten.
                                      • Wenn du stattdessen eine Seite öffnen willst und z.B. Lichtszenen steuern willst, dann über die buttonXPages

                                    OK. Die letzten 2 Dots sagen mir nix. Also ich verstehe nicht was ich machen soll. Das Relais soll nicht schalten, sondern es soll eine Toggle an den ioB gesendet werden, damit ich dort etwas schalte kann.

                                    • Was muss ich im Script ändern
                                    • Was muss ich ggf. in der Tasmota Konsole ändern
                                    • Läuft die Kommunikation via MQTT? Also kann ich nur ein MQTT Gerät schalten und z.B. keine Gerät via SonOff Adapter.
                                    • Ein Beispiel wäre prima
                                    Armilar 1 Reply Last reply Reply Quote 0
                                    • Armilar
                                      Armilar Most Active Forum Testing @Vocaris last edited by Armilar

                                      @vocaris sagte in Sonoff NSPanel:

                                      • Zu 1) Was befindet sich in den Code-Zeilen 1030 - 1045?

                                      Anbei die Zeile 1030 - 1045

                                          let mqttInfo2 =  config.panelRecvTopic.substring(0, config.panelRecvTopic.length - 6) + "INFO2";
                                          let Tasmota_Info2 = JSON.parse(getState(mqttInfo2).val);
                                          return Tasmota_Info2.Info2.IPAddress;
                                      }
                                      
                                      function get_online_tasmota_firmware_version() {
                                          exec('curl -X GET -k \'https://api.github.com/repositories/80286288/releases/latest\'', function (error, result, stderr){	//GitAPI aufruf für JSON Inhalt von Latest Tasmota Release
                                              var Tasmota_JSON = JSON.parse(result) 				//JSON Resultat in Variable Schreiben
                                              var TasmotaTagName = Tasmota_JSON.tag_name 			//JSON nach "tag_name" filtern und in Variable schreiben
                                              var TasmotaVersionOnline = TasmotaTagName.replace(/v/i, ""); 		//Aus Variable überflüssiges "v" filtern und in Release-Variable schreiben    
                                              createState(NSPanel_Path + "Tasmota_Firmware.onlineVersion");
                                              setIfExists(NSPanel_Path + "Tasmota_Firmware.onlineVersion", TasmotaVersionOnline);
                                          });
                                      }
                                      
                                      function get_current_berry_driver_version() {
                                      
                                      • Zu 2) Die Rule 2 ist dafür da, eine Page (button1Page und oder button2Page) statt des Relais zu benutzen.
                                        • Wenn du etwas über die Relais-Ausgänge schalten willst, dann solltest du die Rule 2 deaktivieren.
                                        • Wenn du nicht möchtest, dass das Relay schaltet und stattdessen den Wert On/Off/Toggle verwenden möchtest, dann Rule 2 deaktivieren, SetOption 114 (Detach switches from relays and send MQTT messages instead) verwenden und über externes Skript "XYZ" die Werte Triggern und verarbeiten.
                                        • Wenn du stattdessen eine Seite öffnen willst und z.B. Lichtszenen steuern willst, dann über die buttonXPages

                                      OK. Die letzten 2 Dots sagen mir nix. Also ich verstehe nicht was ich machen soll. Das Relais soll nicht schalten, sondern es soll eine Toggle an den ioB gesendet werden, damit ich dort etwas schalte kann.

                                      • Was muss ich im Script ändern
                                      • Was muss ich ggf. in der Tasmota Konsole ändern
                                      • Läuft die Kommunikation via MQTT? Also kann ich nur ein MQTT Gerät schalten und z.B. keine Gerät via SonOff Adapter.
                                      • Ein Beispiel wäre prima

                                      1.) Darf dein ioBroker-Server nicht ins Internet oder ist es komplett abgeschottet oder kann kein curl ausführen (z.B. Windows als Server)? Das würde erklären, warum eine Versionsnummer nicht ermittelt werden kann, bzw. mit "undefined" zurückkommt..
                                      2.) Das PopUp kannst du über folgende Datenpunkte steuern:
                                      a63c6452-3a41-46c3-84fe-72a36aaa018c-image.png
                                      Einfach etwas reinschreiben. Ist komplett entkoppelt vom sonstigen Skript.

                                      Die meisten Punkte sind selbsterklärend:

                                      • Heading = Überschrift
                                      • Text = Nachricht
                                      • Button 1 und 2 Text. Kann auch weggelassen werden (""), dann ist kein Button da
                                      • über popupNotifyAction holst du dir das Ergebnis der Dialog-Buttons ab Button1 = false/Button2 = true

                                      Oder in den Screensaver mit folgenden Datenpunkten:
                                      8dcd7885-7732-40eb-854a-582b24514078-image.png

                                      3.)

                                      • Du dekaktivierst die Rule 2
                                      • Du verwendest im Tasmota SetOption114. Dann wird der Zustand des Buttons via MQTT übertragen und das Relay ist abgeschaltet
                                      • Jetzt schreibst du dir z.B. ein Blockly und setzt einen Trigger auf den "Power"-State im mqtt.0 und schaltest damit was immer du willst

                                      Das TS-Skript kann mit diesen Einstellungen nichts mehr mit dem Button anfangen, daher auch nichts zu "was soll ich im Skript machen" - Antwort nichts... Sieh es wie einen Lichtschalter an einem Shelly --> An/Aus

                                      Weitere Infos zu Tasmota hier:
                                      https://tasmota.github.io/docs/Buttons-and-Switches/

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

                                        @armilar Ok. Versteh zwar nicht warum man die Datenpunkte die das Script selbst erstellt nochmal mit nem Alias hinterlegen muß. Das wäre für die Konfiguration viel besser wenn das gleich out of the box geht. Da würde man sich bei der Erstellung nicht wundern warum nicht mal die Infos angezeigt werden.
                                        Hab das aber mal angelegt und werd das dann gleich mal ausprobieren.

                                        Die Jalousien sind einfache Shelly 2.0. Ich werd mal die Jalousien über die Weboberfläche fahren. Im nachhinein könnte es wirklich sein das er den aktuellen State nicht kennt. Mir kam gestern schon vor das plötzlich eine funktioniert hat die vorher nicht ging.
                                        Einstellung vom Alias häng ich nochmal an.
                                        Abfallkalender hab ich jetzt mal mit dem Trashschedule angelegt und da dann Alias draufgepackt. Seh ich dann auch zuhause ob das funzt oder nicht. Das Script hat mir keine Datenpunkte angelegt obwohl die Basisdaten vorhanden sind und ich das auf meine Struktur angepasst hab.

                                        iob.png

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

                                          @dapeace sagte in Sonoff NSPanel:

                                          @armilar Ok. Versteh zwar nicht warum man die Datenpunkte die das Script selbst erstellt nochmal mit nem Alias hinterlegen muß. Das wäre für die Konfiguration viel besser wenn das gleich out of the box geht. Da würde man sich bei der Erstellung nicht wundern warum nicht mal die Infos angezeigt werden.
                                          Hab das aber mal angelegt und werd das dann gleich mal ausprobieren.

                                          Die Jalousien sind einfache Shelly 2.0. Ich werd mal die Jalousien über die Weboberfläche fahren. Im nachhinein könnte es wirklich sein das er den aktuellen State nicht kennt. Mir kam gestern schon vor das plötzlich eine funktioniert hat die vorher nicht ging.
                                          Einstellung vom Alias häng ich nochmal an.
                                          Abfallkalender hab ich jetzt mal mit dem Trashschedule angelegt und da dann Alias draufgepackt. Seh ich dann auch zuhause ob das funzt oder nicht. Das Script hat mir keine Datenpunkte angelegt obwohl die Basisdaten vorhanden sind und ich das auf meine Struktur angepasst hab.

                                          iob.png

                                          Die Aliase sehen doch im Prinzip "Top" aus 👍 (Haken bestimmt ein wenig - wenn der Alias einmal funktioniert - dann dauerhaft...)

                                          Ja das mit den Datenpunkten und den Aliasen ist so eine Sache. Sagen wir es mal so: Wenn jemand herausgefunden hat, wie man einen funktionierenden Alias per Skript erzeugt, dann bin ich der erste der das benutzt 😉 . Solange mache ich das per Hand 😊

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

                                            @dapeace
                                            Habe mir den Trashschedule mal angesehen - den kannte ich noch gar nicht. Aber das ist genau die richtige Datenaufbereitung für jede Tonnenfarbe. Die kannst du dann einfach mit entsprechenden 4 Info-Aliasen visualisieren. Sollte klappen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            588
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            78
                                            1548
                                            411395
                                            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