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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bhenyamin last edited by

      Moin mal wieder.

      Ich habe eben versucht meine Hardwarebuttons am Panel besser zu nutzen.
      Wo das eine Panel aktuell verbaut ist, steuert der rechte Button über Relais die angeschlossene Deckenlampe.
      Der linke Button hatte bisher keine Funktion.
      Nun 2 Probleme:
      Ich möchte über Skript das erwähnte "rechte Relais" schalten. Über setzen von "true" des DP 0_userdata.0.NSPanel.1.Relay.2 kann ich zwar das Relais einschalten, schalte ich es über die Hardwaretaste wieder aus, bleibt der DP aber auf true stehen.
      Das mache ich wohl irgendwie falsch.
      Habe in der FAQ auch gelesen, dass ich mqtt.0.SmartHome.cmnd.NSPanel_1.POWER auf 1 schalten kann, dieser schaltet bei mir allerdings nur das linke Relais (also Nr. 1), welches ich ja entkoppelt habe um die linke Taste zu nutzen. Ich habe unter mqtt auch nur "POWER" und nicht wie erwartbar POWER 1 und 2.... (Ich dachte diese Methode sei vielleicht nach Update überholt)

      e946edf2-dd08-4f34-a33e-0d7729569bed-image.png

      Das 2. Problem:
      Ich habe Rule2 über die Tasmota Konsole definiert mit:
      Rule2 on Button1#state do Publish SmartHome/%topic%/tele/RESULT {"CustomRecv":"event,button1"} endon
      Anschließend aktiviert --> klappt. Rechter Button Schaltet meine Lampe, Linker Button macht nix.

      Unter mqtt.0.SmartHome.NSPanel_1.tele.RESULT lese ich nach Drücken des linken Buttons:
      "CustomRecv": "event,button1"

      Jetzte im Skript folgendes konfiguriert:

       button1: {
              mode: 'page',     // Mögliche Werte wenn Rule2 definiert: 'page', 'toggle', 'set' - Wenn nicht definiert --> mode: null
              page: LichtWzEzK,     // Zielpage - Verwendet wenn mode = page (bisher button1Page)
              entity: null,   // Zielentity - Verwendet wenn mode = set oder toggle
              setValue: null  // Zielwert - Verwendet wenn mode = set
          },
          button2: {
              mode: null,     // Mögliche Werte wenn Rule2 definiert: 'page', 'toggle', 'set' - Wenn nicht definiert --> mode: null
              page: null,     // Zielpage - Verwendet wenn mode = page (bisher button2Page)
              entity: null,   // Zielentity - Verwendet wenn mode = set oder toggle
              setValue: null  // Zielwert - Verwendet wenn mode = set
          }
      

      Funktioniert nicht. Die Seite LichtWzEzK ist definiert und über einen anderen Link auch erreichbar.
      Wo ist der Fehler?

      Besten Dank im Voraus! Gute Nacht!

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

        @bhenyamin Rule und Script ist richtig. Was mich wundert ist deine MQTT Struktur. Die weichen von einander ab. %topic% und %prefix% sind irgendwo vertauscht.

        Kannst du mal deine Einstellungen von Tasmota / MQTT zeigen.
        Welche Version vom Script nutzt du?
        Wie sehen deine MQTT Einstellungen im Script aus?

        B 2 Replies Last reply Reply Quote 0
        • B
          Bhenyamin @TT-Tom last edited by Bhenyamin

          @tt-tom

          adfefe7e-5972-4979-b6d1-14dae7f8a1a2-image.png

          Ich nutze die 4.0.4.5 Version.

             panelRecvTopic: 'mqtt.0.SmartHome.tele.NSPanel_1.RESULT',       // Bitte anpassen
              panelSendTopic: 'mqtt.0.SmartHome.cmnd.NSPanel_1.CustomSend',   // Bitte anpassen
          

          Du hast recht. Irgendwie gibt es TELE einmal unter SMARTHOME und einmal unter dem NSPanel_1 (???)

          624aa419-ef02-46db-a2bc-a3446fc7d238-image.png

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

            @tt-tom

            Ich habs gelöst.
            Die Rule2 muss lauten:
            Rule2 on Button1#state do Publish SmartHome/tele/%topic%/RESULT {"CustomRecv":"event,button1"} endon
            Die in der FAQ angegebene hat das Topic vor "tele" stehen, dadurch entsteht ein anderes FullTopic.

            So geändert läuft es jetzt gut!

            Bleibt noch das erste Problem:


            Ich möchte über Skript das erwähnte "rechte Relais" schalten. Über setzen von "true" des DP 0_userdata.0.NSPanel.1.Relay.2 kann ich zwar das Relais einschalten, schalte ich es über die Hardwaretaste wieder aus, bleibt der DP aber auf true stehen.
            Das mache ich wohl irgendwie falsch.
            Habe in der FAQ auch gelesen, dass ich mqtt.0.SmartHome.cmnd.NSPanel_1.POWER auf 1 schalten kann, dieser schaltet bei mir allerdings nur das linke Relais (also Nr. 1), welches ich ja entkoppelt habe um die linke Taste zu nutzen. Ich habe unter mqtt auch nur "POWER" und nicht wie erwartbar POWER 1 und 2.... (Ich dachte diese Methode sei vielleicht nach Update überholt)

            Hast Du dazu einen Tip?

            Vielen Dank für den Hinweis!

            1 Reply Last reply Reply Quote 0
            • T
              tomsport2022 last edited by

              Ich würde gerne einen der beiden Taster zum aktivieren des Bildschirmschoners verwenden.
              Auf welche Seite muss ich hierbei in der Config beim Button1 verweisen?

              Danke im Voraus!

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

                @tomsport2022

                Der Screensaver ist nicht in der Config enthalten, sondern wird per HMI (Nextion Firmware) automatisch nach dem eingestellten Timeout eingeschaltet. Das Script hat da keinen Einfluss drauf und ruft auch den Screensaver nicht auf.

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

                  @bhenyamin

                  Deine verdrehte Schreibweise kann dir immer wieder auf den Fuß fallen. Du kannst es so lassen oder es jetzt richtig machen, dann bist du auch mit dem Wiki konform.

                  Dein power1 und 2 müsste eigentlich unter stat sein. Schalten würde ich aber über den Alias, dort hast du Set und Actual.

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

                    @armilar
                    ok, also quasi keine Möglichkeit, das selbst auszulösen?

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

                      @tomsport2022

                      Höchstens über das Timeout

                      • wenn button gedrückt = Timeout auf 1 (Latenz von 1 Sekunde)

                      • wenn Screensaver verlassen wird Timeout auf 0 = aus oder > 1

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

                        @tt-tom Kleines Update, heute kam die Lieferung von zwei neuen Panels an. Da hatte ich das gleiche Problem, Tasmota geflasht, Wlan eingerichtet. Panel war nicht mehr auffindbar. Danach hab ich mit dem Handy einen Hotspot aufgemacht und die Panel dort angemeldet. Da lief alles normal. Also musste es am Router liegen.

                        Irgendwann habe ich herausgefunden das im Router im 2,4gHz Netz die Kanalwahl auf manuell stand irgendwie haben die Panel damit ein Problem, Shellys und alles andere waren in der letzten Zeit kein Problem. Achso der Router ist eine Fritzbox 7490.

                        Vielleicht hilft die Info ja irgend jemanden.

                        Jetzt hab ich natürlich zwei weitere Panels aber die finden auch ihren Platz 🙂

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

                          @danny_v1
                          Danke für die Rückinfo. Schön das es wieder funktioniert. Werde bei Gelegenheit das bei mir mal nachstellen.

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

                            @tt-tom
                            Gerne, vielleicht kann ich durch meine Dummheit ja auch mal was beitragen! 🙂

                            Hab jetzt gerade versucht an dem einen Panel was jetzt ja übrig ist die Alarmseite einzurichten und bekomm immer folgende Fehlermeldung:

                            javascript.0 (23662) script.js.common.NSPanel_4.NSPanel_4_40510: TypeScript compilation failed: var AlarmSeite: PageAlarm = { ^ ERROR: Type '{ type: "cardAlarm"; heading: string; useColor: true; subPage: false; parent: undefined; items: PageItem[]; }' is missing the following properties from type 'PageAlarm': parentIcon, parentIconColor, prev, prevIcon, and 7 more.

                            So sieht meine Seite im Skript aus:

                            var AlarmSeite: PageAlarm =
                            {
                            "type": "cardAlarm",
                            "heading": "Alarm",
                            "useColor": true,
                            "subPage": false,
                            "parent": undefined,
                            "items": [<PageItem>{ id: "alias.0.NSPanel.Alarm" }]
                            };
                            

                            Datenpunkte im userdata sind angelegt und Alias ist auch definiert.

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

                              @danny_v1

                              let Buero_Alarm = <PageAlarm>
                              {
                                  'type': 'cardAlarm',
                                  'heading': 'Alarmanlage',
                                  'useColor': true,
                                  'items': [<PageItem>{ id: 'alias.0.Alarm' }]
                              };
                              
                              
                              D 1 Reply Last reply Reply Quote 0
                              • D
                                danny_v1 @TT-Tom last edited by

                                @tt-tom Ja hatte ich vorhin gesehen da hat sich was zwischen wiki und aktuellem skript geändert. Bin gerade schon am testen. bisher klappt auch alles ganz gut. Das einzige wo es noch bissl hängt, ich hätte gern eine feste Pin, auch zum aktivieren, bisher ist es bei mir hier so die Pin die ich zum aktivieren eingebe wird übernommen. Also wenn irgendjemand am Panel rumspielt und den Alarm scharf schaltet weiß ich nicht wie ich das Ding wieder aus bekomme.

                                T 2 Replies Last reply Reply Quote 0
                                • T
                                  TT-Tom @danny_v1 last edited by

                                  @danny_v1

                                  hallo, schön wenn es jetzt läuft. Aktuell gibt es keinen festen Pin im Script. Aber es gibt im Wiki ein Blockly was dies unterstützt. Lese dir mal hier den letzten Teil durch.

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    Bhenyamin @TT-Tom last edited by

                                    @tt-tom

                                    Du hast völlig recht, ich habe gar nicht geschaltet, dass ich das bei der Einrichtung irgendwie vertauscht haben muss.
                                    Habs jetzt wieder richtig herum.

                                    Also egal worüber ich das mit dem Relais mache. Auch der actual Wert unter den Alias bleibt bei mir auf dem letzten über Set gesetzten Wert stehen, auch wenn ich am Hardwarebutton das Relais schalte.
                                    So kann ich jetzt zwar schonmal die Lampe über Skript schalten, aber den Schaltzustand nicht auslesen. Hmmm.

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

                                      @tt-tom said in SONOFF NSPanel mit Lovelace UI:

                                      mrIconXscreensaverEntity

                                      Danke gefunden

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

                                        @bhenyamin

                                        Passt den deine alias Verknüpfung noch. Zeige mal dein MQTT, die alias vom Relais und die 0_userdata Punkte vom Relais. Irgendwo muss da der Wurm drin sein.
                                        Nur nochmal zur Klarstellung Button 1 soll Software sein und 2 direkt steuern?

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          Bhenyamin @TT-Tom last edited by Bhenyamin

                                          @tt-tom

                                          Ja die Aliase scheinen zu passen, glaube ich. Zumindest kann ich über den Alias ja das Relay schalten.
                                          Der Alias ändert sich aber nicht, wenn ich das Relais über den Hardwarebutton am Panel schalte.
                                          Genau: Button 1 steuert eine page und der Button 2 schaltet das Relais ( was auch beides funktioniert).


                                          dac045f8-a2b7-4285-91c8-4bd5c4874e7b-image.png

                                          98a138ed-87c8-4e27-a1ca-792bef38708f-image.png

                                          38411629-6cc5-4883-bd34-127991375c23-image.png

                                          Was mich allerdings wundert ist, dass der Alias 2 Actual Zustände hat, kein Set:


                                          121f99e9-e2c7-4050-adb5-1da2d945ed9c-image.png

                                          [edit:]
                                          Ne, wird nur in der Geräteinstanz so angezeigt, unter den Aliasobjekten gibt es ja Set und Actual als DP.

                                          Und das Problem besteht jetzt darin: Eine Lichtszene am Panel schaltet das Relais 2 aus, danach schalte ich es über den Hardwarebutton wieder ein. Wenn ich nun wieder über das Panel (bzw. Skript) aus schalten möchte, steht der Set Wert noch auf "false", sodass ein erneutes Setzen des Wertes nicht zum erneuten Ausschalten des Relais führt.

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

                                            @bhenyamin

                                            wenn das Relais über die Rule direkt mit dem Button verbindet ist, besteht keine Auswertung mit dem Script.
                                            Lösung ist folgende : beide Button über die Rule entkoppeln. Dann im Script den Button 2 wie folgt einstellen.

                                             button2: {
                                                    mode: 'toggle',     // Mögliche Werte wenn Rule2 definiert: 'page', 'toggle', 'set' - Wenn nicht definiert --> mode: null
                                                    page: null,     // Zielpage - Verwendet wenn mode = page (bisher button2Page)
                                                    entity: 'alias.0.NSPanel.1.Relay.2.SET',   // Zielentity - Verwendet wenn mode = set oder toggle
                                                    setValue: null  // Zielwert - Verwendet wenn mode = set
                                                }
                                            

                                            jetzt wird durch drücken der Taste der aktuelle Zustand von SET gewechselt und damit kannst du wieder ein und ausschalten. Gleichzeitig besteht jetzt auch die Möglichkeit mit deinem Script/Szene das Relais über SET zu schalten.

                                            Wenn du zusätzlich den Zustand vom Relais auf dem Panel sehen möchtest, muss du das Statusicon 2 wie folgt einstellen

                                            mrIcon2ScreensaverEntity:
                                                {
                                                    ScreensaverEntity: NSPanel_Path + 'Relay.2',
                                                    ScreensaverEntityIconOn: 'lightbulb',
                                                    ScreensaverEntityIconOff: null,
                                                    ScreensaverEntityValue: null,
                                                    ScreensaverEntityValueDecimalPlace: 0,
                                                    ScreensaverEntityValueUnit: null,
                                                    ScreensaverEntityOnColor: On,
                                                    ScreensaverEntityOffColor: HMIOff
                                                },
                                            

                                            PS: mir ist bei deiner MQTT - Struktur aufgefallen, das die letzten 6 Datenpunkt irgendwie nicht passen. Sind das noch Leichen? ggf löschen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            960
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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