Navigation

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

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Sonoff NSPanel

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      diwoma @holgerwolf last edited by diwoma

      @holgerwolf said in Sonoff NSPanel:

      @diwoma da findet er wohl die unter b. benötigten DP nicht:

      b) Diverse Datenpunkte
      Beim ersten Start des Scripts erzeugt das Skript unter 0_userdata diverse Datenpunkte für Screensaver Dimmode, interne Sensoren, Tasmota-Statuswerte, etc.
      Der Pfad kann im Skript unter „NSPanel_Path“ angepasst werden.

      Schau mal wo die bei dir liegen. Ggf Path anpassen.

      Sch..., der Bug sitzt vor dem Bildschirm.
      Bei der MQTT-Anpassung habe ich statt "/tele/RESULT" das "/stat/RESULT" eingesetzt. Da das Skript aber aus dem RESULT-Path den Path für die INFO2 ermittelt, ging dieser Versuch in die Hose.

      Kaum macht man es richtig, zeigt sich auch schon ein Bild im Schirm.
      Danke für Eure Hilfe.

      Was ich trotzdem noch nicht ganz verstehe:
      Wenn eine Verbesserung des TS-Templates kommen sollte, kann man es ja nicht übernehmen, ohne dass die schon eingestellten Daten verloren gehen.
      Oder ist dieses Template schon der "Weisheit letzter Schluß"?

      Wal T 2 Replies Last reply Reply Quote 0
      • Wal
        Wal Developer @diwoma last edited by

        @diwoma sagte in Sonoff NSPanel:

        Was ich trotzdem noch nicht ganz verstehe:
        Wenn eine Verbesserung des TS-Templates kommen sollte, kann man es ja nicht übernehmen, ohne dass die schon eingestellten Daten verloren gehen.
        Oder ist dieses Template schon der "Weisheit letzter Schluß"?

        Schön wäre es ja wenn das Skript in einen Adapter umgesetzt werden würde, was im Prinzip kein Problem wäre, aber für den Entwickler Zeit kostet um sich darum zu kümmern.
        Das Template kann ja i. M. alles was das nspanel-lovelanc-ui kann auch bedienen, deshalb wären bis auf ein paar Verbesserungen wie z.B. Skriptfehler abfangen wenn NSPanel nicht erreichbar keine Änderungen nötig.
        Falls an der UI wieder was dazu kommt, muss halt wieder Hand angelegt werden.

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

          @diwoma

          Wenn Änderungen am Script vorgenommen werden, brauchst du nur den Teil nach

          // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
          

          ersetzen. Wenn sich prinzipiell was ändert, steht es in der readme.

          1 Reply Last reply Reply Quote 0
          • K
            Kuckuckmann last edited by Kuckuckmann

            Hallo,

            wie ergeben sich hier diese Farbcodes? Wo kann man sich diese generieren?
            Mir sagen diese 4- & 5-stelligen Nummern nix.

            //popupNotify - Notification an separate Seite
            on({id: [popupNotifyInternalName, popupNotifyHeading, popupNotifyText, popupNotifyButton1Text, popupNotifyButton2Text, popupNotifySleepTimeout], change: "ne"}, async function (obj) {
                var notification = "entityUpdateDetail"                    + "~"
                                   + getState(popupNotifyInternalName).val + "~"
                                   + getState(popupNotifyHeading).val      + "~" 
                                   + "65504"                                + "~" //Farbe Headline - gelb
                                   + getState(popupNotifyButton1Text).val  + "~"
                                   + "63488"                               + "~"  //Farbe Button1 - rot
                                   + getState(popupNotifyButton2Text).val  + "~"
                                   + "2016"                               +  "~"   //Farbe Button2 - grün
                                   + getState(popupNotifyText).val         + "~"
                                   + "65535"                               + "~"  //Farbe Text - weiß
                                   + getState(popupNotifySleepTimeout).val;
                clearTimeout(timer);
                var timer = setTimeout(function() {
                    setState(config.panelSendTopic, "pageType~popupNotify");
                    setState(config.panelSendTopic, notification);
                }, 500);                   
            });
            

            Vorab vielen Dank.

            J 1 Reply Last reply Reply Quote 0
            • J
              joBr99 @Kuckuckmann last edited by

              @kuckuckmann

              Hey, das ist RGB565, allerdings in Dezimal nicht in HEX

              http://www.barth-dev.de/online/rgb565-color-picker/

              RGB888 #631717 / 0x631717
              RGB565 #60A2 / 0x60A2 ---> 24738

              Das ist meine Funktion zum umrechnen:

              https://github.com/joBr99/nspanel-lovelace-ui/blob/93f0f5d43198ae4dddbd3273c13390f509465de1/apps/nspanel-lovelace-ui/luibackend/helper.py#L39

              Bin mir nicht sicher ob's im ioBroker Skript auch ne Funktion gibt zum umrechnen, könnte sein.

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

                @armilar
                Sorry für die dämliche Frage, aber was bekomme ich über den QR-Code eigentlich?
                Meine QR-Code-Reader-App kann sie nicht lesen.

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

                  @diwoma

                  Deine Zugangsdaten vom WLAN. Hast du den DP richtige konfiguriert.QR Code

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    diwoma @TT-Tom last edited by

                    @tt-tom said in Sonoff NSPanel:

                    @diwoma

                    Deine Zugangsdaten vom WLAN. Hast du den DP richtige konfiguriert.QR Code

                    Die stehen ja auch daneben im Klartext, das sollte doch bedeuten, dass sie stimmen.

                    WIFI:T:<Verschlüsselung>;S:<SSID>;P:<password>;H:;
                    

                    Und selbst wenn die Daten falsch sind, sollte der QR-Code dann nicht trotzdem gelesen werden können?

                    H 1 Reply Last reply Reply Quote 0
                    • H
                      holgerwolf @diwoma last edited by

                      @diwoma bei mir gehts. Hab aber nur Apple Zeug…

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

                        @holgerwolf sagte in Sonoff NSPanel:

                        @diwoma bei mir gehts. Hab aber nur Apple Zeug…

                        Kann ich bestätigen.
                        @diwoma Hast du es mal mit der Kamera App probiert???

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          diwoma @TT-Tom last edited by

                          @tt-tom said in Sonoff NSPanel:

                          @holgerwolf sagte in Sonoff NSPanel:

                          @diwoma bei mir gehts. Hab aber nur Apple Zeug…

                          Kann ich bestätigen.
                          @diwoma Hast du es mal mit der Kamera App probiert???

                          Es geht anscheinend nicht mit meinem Gerät, das Gerät meiner Frau kann es lesen.

                          1 Reply Last reply Reply Quote 0
                          • S
                            Sascha last edited by

                            Hallo Zusammen,

                            ich hab mitlerweile 2 NSPanel ans laufen bekommen jedoch scheitere ich gerade an dem Abfallkalender, kann mir jemand sagen wie ich die Alias zusammenbauen muss?

                            Gruß

                            Sascha

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

                              @joBr99

                              Hallo ich habe eine Frage zur Einbindung eines Nuki-Türschloss. Welche State erwartet das Script als Rückmeldung und welche sendet es zu schalten.

                              Edit: hat sich erledigt. selber raus gefunden

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

                                Hi,

                                ich habe mir (weil es Spass macht und zum 'spielen') ein zweites NSPanel bestellt.
                                Mir ist klar, dass ich die NSPanelTS duplizieren muss, um die Konfiguration auf das 2. Panel zu setzen.

                                Aber eine reine Verständnis-Frage:
                                Wie sieht es mit dem Gültigkeitsbereich (Scope) der Variablen aus? Wenn sie global sind, dann sind sie ja überall sichtbar und gültig.
                                Bekommt man da nicht Konflikte?

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

                                  @diwoma sagte in Sonoff NSPanel:

                                  Hi,

                                  ich habe mir (weil es Spass macht und zum 'spielen') ein zweites NSPanel bestellt.
                                  Mir ist klar, dass ich die NSPanelTS duplizieren muss, um die Konfiguration auf das 2. Panel zu setzen.

                                  Aber eine reine Verständnis-Frage:
                                  Wie sieht es mit dem Gültigkeitsbereich (Scope) der Variablen aus? Wenn sie global sind, dann sind sie ja überall sichtbar und gültig.
                                  Bekommt man da nicht Konflikte?

                                  Nein, nur das Skript für den IconSelector ist "global" und muss deshalb nicht zweimal vorhanden sein. Einfach NSPanelTS duplizieren und für das zweite Panel konfigurieren. Dann läuft alles ohne Probleme.

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

                                    @Armilar

                                    Nein, nur das Skript für den IconSelector ist "global" und muss deshalb nicht zweimal vorhanden sein. Einfach NSPanelTS duplizieren und für das zweite Panel konfigurieren. Dann läuft alles ohne Probleme.

                                    Wie verhält sich das mit den Daten unter 0_userdata.0.NSPanel?
                                    Wir dort dann ein neuer Unterordner 2 etc. angelegt?

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

                                      @kuckuckmann ja, so wie oben im Skript definiert, wird ein neuer Ordner erstellt.

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Kuckuckmann last edited by

                                        @Armilar

                                        Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                                        //Subpage 1 von Subpages_1
                                        var Abfall: PageEntities =
                                        {
                                            "type": "cardEntities",
                                            "heading": "Abfallkalender",
                                            "useColor": true,
                                            "subPage": true,
                                            "parent": Subpages_1,
                                            "items": [
                                                <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                                                <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                                                <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                                                <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                                            ]
                                        };
                                        
                                        Armilar 1 Reply Last reply Reply Quote 0
                                        • Armilar
                                          Armilar Most Active Forum Testing @Kuckuckmann last edited by Armilar

                                          @kuckuckmann sagte in Sonoff NSPanel:

                                          @Armilar

                                          Beim Abfallkalender hast Du in Deinem Beispiel keine Farben bei der Definition mit angegeben. Dennoch sind auf dem Bsp. Screenshot die typischen Mülltonnenfarben zu sehen. Wo kommen die Farben denn her?

                                          //Subpage 1 von Subpages_1
                                          var Abfall: PageEntities =
                                          {
                                              "type": "cardEntities",
                                              "heading": "Abfallkalender",
                                              "useColor": true,
                                              "subPage": true,
                                              "parent": Subpages_1,
                                              "items": [
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event1",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event2",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event3",icon: "trash-can"},
                                                  <PageItem>{ id: "alias.0.NSPanel_1.Abfall.event4",icon: "trash-can"}
                                              ]
                                          };
                                          

                                          Unsere Stadt stellt einen ical Kalender zur Verfügung.

                                          var i, Muell_JSON, Event2, Color;
                                          
                                          function subsequenceFromStartLast(sequence, at1) {
                                            var start = at1;
                                            var end = sequence.length - 1 + 1;
                                            return sequence.slice(start, end);
                                          }
                                          
                                          
                                          on({id: 'ical.1.data.table', change: "ne"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            for (i = 0; i <= 3; i++) {
                                              Muell_JSON = getState("ical.1.data.table").val;
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
                                              Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i) + '.event')), 8);
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
                                              if (Event2 == 'Reststoff') {
                                                Color = 33840;
                                              } else if (Event2 == 'Biotonne') {
                                                Color = 2016;
                                              } else if (Event2 == 'Blaue Tonne') {
                                                Color = 31;
                                              } else if (Event2 == 'Gelbe Tonne') {
                                                Color = 65504;
                                              }
                                              setStateDelayed((['0_userdata.0.Abfallkalender.',parseFloat(i) + 1,'.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
                                            }
                                          });
                                          

                                          Das Script erstellt mir die entsprechenden Datenpunkte unter 0_userdata und dort schreibe ich auch die Farben rein, darüber liegt jeweils ein Alias vom Typ "warning"

                                          Somit ist die Sortierung der nächsten Leerung dynamisch nach Datum und nicht statisch nach Tonnenfarbe.

                                          Statisch lässt dich das als Alias "info" abbilden

                                          K S 3 Replies Last reply Reply Quote 0
                                          • V
                                            Vocaris last edited by Vocaris

                                            Hallo,

                                            ich stehe am Anfang meines NSPanel Projekts. Bei mir ist das Problem, dass ich beim Start des Panels kein Screen bekomme sondern den drehen blauen Kreis mit der Info, "Waiting for content".
                                            Was habe ich gemacht:

                                            1. tasmote32-de.bin mittels FTDI auf das Panel geflahed.
                                            2. Mit AP verbunden und WLAN eingerichtet
                                            3. Panel im eigenen WLAN aufgerufen
                                            4. Unter Sonstiges die Vorlagenparameter hinterlegt und aktiviert.
                                            5. Panel läuft jetzt als NSPAnel
                                            6. Schalte der Relais klappt.
                                            7. Im Konsolenbereich die Datei nspanel.be inkl. des Inhaltes von blakadder gefüllt und gespeichert
                                            8. Ebenfalls die autoexec.be mit dem Inhalt erstellt.
                                            9. Neustart. Webzugriff weiterhin ohne Problem möglich. Display des Panels weiter auf "Waiting for content"

                                            Wo liegt der Fehler?
                                            PS: Muss ggf. eine andere/richtige TFT Version drauf?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            629
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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