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.
    • Armilar
      Armilar Most Active Forum Testing @DaPeace last edited by

      @dapeace

      Ich zerlege das mal:

      Ich hab seit längerem ein Müllscript am Laufen. Vor nem halben Jahr lief das auch zuverlässig aber jetzt geht das nicht mehr.

      Das Block schreibt mir den nächsten Abholtermin in den Screensaver.

      Wie denn das? Ich nehme an, ein Blockly schreibt in Datenpunkte und der Wert wird über die firstScreensaverEnitity abgeholt?

      Das funktioniert auch immer noch aber angezeigt wird das nicht.

      Falls wie oben definiert, solltest du kurz schildern, wie welcher Wert in den Screensaver gelangt. Evtl. ein wenig Code und ein paar Bilderchen...

      Ich hab mein Script so eingestellt das es nur meine eigenen Icons zeigt.

      siehe oben - bitte kurz schildern wie?

      Ich hab aber auch gerade mit dem Wechsel probiert

      Was für ein Wechsel?

      und auch hier wird die Notification im Screensaver nicht angezeigt.

      Also schreibst du eine Screensaver-Notification mit den Abfalldaten?

      Sobald ich aber draufklicke wird sie aus den DP gelöscht. Wo ist da bei mir der Fehler?

      Da ist kein Fehler. Die Screensaver Notify wurde schon immer mit einem Klick auf den Screensaver gelöscht...

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

        @bembelstemmer sagte in SONOFF NSPanel mit Lovelace UI:

        Wegen der negativen Labels habe ich nochmal mit einem komplett neuen 3.9.0.4 Script gestartet um Fehler von mir auszuschließen und dein Beispiel verwendet.
        Der Graph zeigt die Kurve absolut korrekt. Auch die Minus Werte. Nur Labels an der Y-Achse mit 0 oder kleiner fehlen weiterhin.
        Über den Debug sehe ich, dass die Werte zumindest so geschickt werden wie eingetragen.

        Bitte kurz einen Issue an @fumanchi im Github dazu anlegen. Wenn es korrekt an die HMI übertragen wird, d.h. auch im PageItem korrekt definiert ist, dann ist es ein Verarbeitungsfehler in der Nextion HMI.

        Und ich habe noch etwas zur Card Power, da sie ja jetzt nicht mehr flackert. Im Github Wiki zeigt das beispiel noch, dass man "direction" mit "in" oder "out" setzen soll, was aber gar nicht mehr ausgewertet wird im Script.
        Dein Hinweis mit den Speeds war super. Habe es dann in der HMI Doku gefunden.
        Kann/soll/darf man zum Projekt contributen? Dann könnte ich die Beispiele ggf. aktualisieren und ich würde auch gerne helfen die Squeezeboxrpc Unterstützung zu verbessen falls das nicht bei jemandem schon lokal in der Mache ist.

        Liebend gerne 😊
        Gerade die Squeezebocrpc schreibe ich immer ohne das ich sie testen kann (Habe keine Squeezebox). Wäre natürlich Klasse, wenn wir jetzt einen Squeezebox User hätten. Also tobe dich da ruhig aus. Bislang ist da keiner am rumfeilen...

        Letzte Frage 🙊
        Ich habe sowohl EU als auch US Panels im Einsatz. Wenn ich bei der CardPower den gleichen Datenpunkt verwende, ist die Animation der Punkte beim US Portrait exakt entgegengesetzt zum EU Panel (US Landscape habe ich noch nicht getestet). Beide habe ich nach deinen Hinweisen nochmal jeweils mit der expliziten 3.9.0 geflashed.
        Von meinem Verständnis wäre das eher was für's HMI, da der TS/JS Code identisch ist und somit ein Github Issue oder?

        Stimmt, den kannst du dann an @joBr99 adressieren.

        bembelstemmer 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            542
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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