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

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

    • 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.
    • D
      DaPeace @Armilar last edited by

      @armilar OK dann dröseln wir das mal auf:
      Das ist das Blocky:
      blocky.jpg

      Und so schaut es aus wenn es gelaufen ist:
      objects.jpg

      Das Panel zeigt es aber nicht an.

      Es steht jetzt im Heading "Gelber Sack, Restmüll" und im Notify Text "13.02.2023"

      WeatherforecastTimer ist false
      die 4 Icons werden mit first/second/third/fourthScreensaverEntity gefüllt und auch angezeigt.

      Mit Wechsel meinte ich WeatherforecastTimer auf true

      Sorry für die ungenaue Formuliert 😕

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

        @dapeace

        Okay, ich fasse mal für die ScreensaverNotify zusammen:

        • Wechsel zwischen ScreensaverEntities und Wetter ist aktiv und wechselt auch (ganz normal)
        • Das Blockly-Script schreibt in vorhandene Datenpunkte des Panels:
          1a3ab29a-0fba-416d-af3c-4f7779edc46a-image.png
        • Werte stehen nicht im NSPanel (Panel verhält sich, als hätte es keine Info bekommen)
        • Datenpunkte werden geleert, wenn Klick auf Screensaver.

        8e3b43bf-2d0b-4736-9909-74fb5124bbbe-image.png

        Konnte es mit der 3.9.0 bislang nicht reproduzieren. Funktioniert...

        • Kam das Verhalten mit einer Versionsänderung?
        • Welche Version des Scriptes ist aktuell installiert?

        Die ausführende Funktion zur Nachrichtenübermittlung ist die

        async function InitPopupNotify()

        Das ist eigentlich nur ein Trigger, der wenn er Werte in einen der Datenpunkte sieht, diese an das Panel übersendet.

        2bc0bd26-9ef4-4a0f-9fbd-71155307a6d4-image.png

        Jetzt wäre mal 2 Dinge interessant zu wissen:

        • Was steht in dem CustomSend Datenpunkt des MQTT, wenn die Datenpunkte geschrieben wurden (evtl. mal kurz aufzeichnen, falls due History, SQL oder InfluxDB verwendest)
        • Wenn du:
          FlashNextion http://nspanel.pky.eu/lovelace-ui/github/nspanel-v3.9.4.tft
          
          ausführst, ist das dann immer noch so?

        EDIT: Das Blockly scheint in Ordnung zu sein. Es schreibt ja Werte in den Datenpunkt und das soll es ja auch. Dem Script ist es auch völlig egal, was da reingeschrieben wird. Solange kein Klick auf den Screensaver erfolgt, bleiben diese Daten ja auch vorhanden!

        Der Transport zum Panel ist hier der entscheidende Punkt oder die TFT-Version. Kann ja durchaus sein, dass bei den Veränderungen mit dem Screensaver2 in einer bestimmten TFT etwas nicht in Ordnung war.

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

          @armilar
          Ich hab gestern Script + TFT + Tasmota + Berrydriver geupdated (unter anderem wegen der Zickerei mit dem Müllscript). Ich hatte noch 3.6 laufen wo es nicht funktioniert hat. Bin mir nicht sicher ob bei 3.4 oder 3.5 die Funktion dann versagt hat.
          Ich kann jetzt auch von Hand eintragen was ich will und bekomme keinen Output mehr. Das kann ich natürlich mal aufnehmen. Vieleicht sieht man da was.

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

            @dapeace

            Ja kurz den Austausch über CustomSend zeigen, also aktuell dann auf der 3.9.0.4?

            Das Script produziert auch keine Warnungen oder Fehler im Log?

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

              @armilar Ja Skript ist Stand gestern von Github, Berrydriver 8, TFT 49.

              Edit:

              Also es sieht stark danach aus das mein Skript zwar die Werte einträgt, das aber keinen Notify-Aufruf ausgeführt wird.
              So schaut es aus wenn ich Manuell etwas eintrage:
              notify_test.jpg
              So schaut es aus wenn mein Blocky um 11:37 gelaufen ist.
              Erst der Screensaver-Verlauf:
              notify_script_11_37.jpg
              Hier der CustomSend-Verlauf:
              notify_custom.jpg

              Da wird irgendwie nix getriggert.. was ist denn der Unterschied wenn ich per Skript da reinschreibe?

              R Armilar 2 Replies Last reply Reply Quote 0
              • R
                ronny130286 @DaPeace last edited by ronny130286

                @Armilar @DaPeace

                mir ist bei der popupNotify auch aufgefallen.

                // Notification to screensaver
                        on({ id: [screensaverNotifyHeading, screensaverNotifyText], change: 'ne', ack: false }, async (obj) => {
                            const heading = getState(screensaverNotifyHeading).val;
                            const text = getState(screensaverNotifyText).val;
                
                            setIfExists(config.panelSendTopic, `notify~${heading}~${text}`);
                
                            if (obj.id) {
                                await setStateAsync(obj.id, <iobJS.State>{ val: obj.state.val, ack: true }); // ack new value
                            }
                        });
                
                 // popupNotify - Notification an separate Seite
                        on({ id: [popupNotifyInternalName], change: 'ne' }, async () => {
                
                            let notification: string;
                
                            let v_popupNotifyHeadingColor = (getState(popupNotifyHeadingColor).val != null) ? getState(popupNotifyHeadingColor).val  : '65504'// Farbe Headline - gelb 65504
                            let v_popupNotifyButton1TextColor = (getState(popupNotifyButton1TextColor).val != null) ? getState(popupNotifyButton1TextColor).val  : '63488'// Farbe Headline - gelb 65504
                            let v_popupNotifyButton2TextColor = (getState(popupNotifyButton2TextColor).val != null) ? getState(popupNotifyButton2TextColor).val  : '2016'// Farbe Headline - gelb 65504
                            let v_popupNotifyTextColor = (getState(popupNotifyTextColor).val != null) ? getState(popupNotifyTextColor).val : '65535'// Farbe Headline - gelb 65504
                            let v_popupNotifyIconColor = (getState(popupNotifyIconColor).val != null) ? getState(popupNotifyIconColor).val  : '65535'// Farbe Headline - gelb 65504
                            let v_popupNotifyFontIdText = (getState(popupNotifyFontIdText).val != null) ? getState(popupNotifyFontIdText).val  : '1'
                            let v_popupNotifyIcon = (getState(popupNotifyIcon).val != null) ? getState(popupNotifyIcon).val : 'alert'
                
                            notification = 'entityUpdateDetail' + '~'
                                + getState(popupNotifyInternalName).val + '~'
                                + getState(popupNotifyHeading).val + '~'
                                + v_popupNotifyHeadingColor + '~'
                                + getState(popupNotifyButton1Text).val + '~'
                                + v_popupNotifyButton1TextColor + '~'
                                + getState(popupNotifyButton2Text).val + '~'
                                + v_popupNotifyButton2TextColor + '~'
                                + getState(popupNotifyText).val + '~'
                                + v_popupNotifyTextColor + '~'
                                + getState(popupNotifySleepTimeout).val;
                
                            if (getState(popupNotifyLayout).val == 2) {
                                notification = notification + '~'
                                + v_popupNotifyFontIdText + '~'
                                + Icons.GetIcon(v_popupNotifyIcon) + '~'
                                + v_popupNotifyIconColor;
                            }
                
                            setIfExists(config.panelSendTopic, 'pageType~popupNotify');
                            setIfExists(config.panelSendTopic, notification);
                
                        });
                

                Wenn du mehrfach nacheinander ein Ereignis hast was den gleichen InternalName verwendet (bspw. Abfall), dann erscheint die Seite nicht mehr.

                Abhilfe schafft nur wenn ne => durch any zu ersetzt

                on({ id: [popupNotifyInternalName], change: 'any' }, async () => {
                

                Das gleiche "Problem" hast du auch beim popupNotifyHeading und screensaverNotifyText , wenn dort immer das gleich eingetragen wird, dann erscheint es nicht mehr, auch hier muss ne durch any ersetzt werden

                on({ id: [screensaverNotifyHeading, screensaverNotifyText], change: 'any', ack: false }, async (obj) => {
                
                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @ronny130286 last edited by

                  @ronny130286

                  Kann man machen, wäre auch kein Problem...

                  Würde an der Situation aber ja nichts verändern, da das Panel bei "gleichen Daten" im Fall von "ne" ja bereits die Daten anzeigt, und somit auch keine Aktionen notwendig sind.

                  Sollte sich ein Wert ändern, so wird dieser auch mit "ne" überschrieben und aktualisiert.

                  Mögliche Änderungen sind. Ein Text verändert sich um mindestens ein Zeichen oder der Inhalt der DP verändert sich dadurch, das es mit Klick auf den Screensaver in der bExit geleert (notify~~ ) wird.

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

                    @dapeace

                    8300ebf1-49e2-40c5-be20-476abf3994a5-image.png

                    Bei der Aktion hätte etwas im Panel stehen müssen.

                    Wie sind deine MQTT-Einstellungen in der MQTT-Instanz? Direkte Kommunikation oder über Umwege (Mosquitto extern)

                    Bei denen wurde auch eine Aktualisierung durchgeführt

                    aeb8014c-98e6-4e97-9ba2-815cf4b545ff-image.png
                    oder
                    0d3e1f18-0f92-4cb4-9adc-83eac0d8e9ad-image.png

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

                      @armilar

                      Interessant ist darüber hinaus natürlich der Eintrag:

                      5d6648a5-7ee2-4fcf-855e-122bed27b487-image.png

                      Der Hätte, sofern nicht der gleiche Inhalt bereits im DP gestanden hat, auch getriggert werden müssen.

                      Für die Tests kannst du die Trigger natürlich auch auf "any" setzten. Dann werden ja alle Ereignisse mitgenommen... Auch wenn sich der Text nicht ändert.

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

                        @armilar said in SONOFF NSPanel mit Lovelace UI:

                        Mögliche Änderungen sind. Ein Text verändert sich um mindestens ein Zeichen oder der Inhalt der DP verändert sich dadurch, das es mit Klick auf den Screensaver in der bExit geleert (notify~~ ) wird

                        Ah ok , ich habs noch mal probiert beim Screensaver wirds geleert, bei Popup Nachricht bleibt alles drin.

                        c64b6b9b-426b-4092-9e6f-2cbaf8c7922f-image.png

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

                          @armilar
                          So schauen die MQTT-Einstellungen aus. Das läuft direkt über ioB. Mosquitto hab ich zwar auch am Laufen aber nur weil ich zu Faul bin alles umzustellen.

                          Die Datenpunkte habe ich vorher leer gemacht und dann das Skript erst laufen lassen per Cron das auch wirklich was passiert und ich es sehe. Das das Löschen der DP funktioniert hatte ich dir ja im Eingangspost schon bestätigt.
                          Ob beim Manuellen Eintrag was passiert kann ich erst am Nachmittag sagen.. Bin noch Brötchen verdienen..

                          mqtt.jpg

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

                            @dapeace

                            Na dann noch viel Spaß bei der Arbeit und bis später 😊

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

                              @ronny130286

                              Ja, bei der popUpNotify könnte ein "any" rein. Ich habe die jetzt mal angepasst. Schaden kann es definitiv nicht...

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

                                @armilar Soll ich bei mir das Skript auch mal mit anpassen und die ne auf any nehmen und probieren? Müsste ich ja auch in den logs schon sehen ob mein Müllscript das mag.

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

                                  @dapeace

                                  Ja, ändere das mal ab. Und verwende in deinem Müllskript mal "steuere" statt "aktualisiere".

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

                                    @armilar Interessant.. jetzt hab ich die 2 Punkte auf any geändert und das Blocky auf "steuere" und jetzt hab ich plötzlich auch ZWEI Notify-Einträge direkt hintereinander mit dem selben 2notify~GelberSack,Restmüll~13.02.2023"im CustomSend.
                                    Bin gespannt ob das auch angezeigt wird. Ich logge mal noch den Result mit und schaue mal ob das Panel auch reagiert aber ich gehe mal stark davon aus.

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

                                      @dapeace

                                      Ich gehe da mal von aus. Wenn du den "aktualisiere" verwendest, was ja im Prinzip ein Adapter in einem 2. Schritt erledigt, dann weiß der Script-Trigger oder alternativ ein Adapter ja nicht, dass da noch etwas zu tun ist. Also nur "aktualisiere" verwenden, wenn mit dem Eintrag "nichts" mehr passieren soll...

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

                                        @armilar Ich kann mal Vollzug vermelden. Jetzt funktioniert es wie es soll. Danke für die Hilfe!

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

                                          @dapeace

                                          Ja perfekt. Dachte schon es wäre was schlimmes 😉

                                          Ggfs. auch mal in anderen Skripten überprüfen, ob da der falsche Baustein verwendet wurde... 😊

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

                                            hallo zusammen

                                            kann ich mit dem Panel auch eine Seite für den repetier server einrichten❓

                                            also eine Seite dir mir Daten des drucks anzeigt❓
                                            bin leider nicht so Sattelfest im Thema repetier...

                                            ggf könnt ihr ne denk Hilfe geben❓❓❓

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            431
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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