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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • draexler
      draexler @tobiasp last edited by

      @tobiasp Es ist ein PopUp möglich? An dem wäre ich auch intressiert, das z.B. nach zehn Sekunden wieder verschwindet.

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

        @tt-tom
        Hi,
        Trashshedule
        trashschedule.0.next.daysLeft 1Day left ...
        Genial wäre es wen eine Meldung aufploppen würde, die man dann bestätigen muss.

        Ich hab mal das DWD Blockly drauf aber bekommme hier eine Fehlermeldung in Iobroker.
        State "0.userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading" not found
        State "0.userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyText" not found

        Armilar T 2 Replies Last reply Reply Quote 0
        • P
          PROcrastinator @Armilar last edited by

          @armilar Sorry, hab ich Mißverstanden. im Datenpunkt "0_userdata.0.NSPanel.1.Tasmota_Firmware.currentVersion" steht 12.5.0, die Gleiche wie im Datenpunkt OnlineVersion

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

            @tobiasp

            Mache mal kurz einen Screenshot von deinem Panel Verzeichnis.

            Aber wenn das die States sind, dann stimmt der Pfad auch nicht:

            0_userdata.0. --> nicht 0.userdata.0.

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

              @procrastinator

              Interessant, aber dann kann ich den Fehler ebenfalls nicht wirklich nachvollziehen

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

                @draexler

                Ja klar, ist auf zwei Arten möglich.

                popupNotify:
                https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Card-Definitionen-(Seiten)#popupnotify---layout-2

                Über den Datenpunkt popupNotifySleepTimeout kann die Zeit (in Sekunden) eingestellt werden, für die das popupNotify sichbar ist.

                screensaverNotify:
                https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#3-info-screensaver-info-auf-request

                Wenn die 2 Datenpunkte wieder leer sind "", dann verschwindet die Screensaver-Nachricht

                draexler 1 Reply Last reply Reply Quote 0
                • P
                  PROcrastinator @TT-Tom last edited by PROcrastinator

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

                  1. Und noch was anderes Ich habe eine Karte vom Typ cardLChart für die Gewächshaustemperatur angelegt. Welcher Typ muss der Datenpunkt sein, in den das JS für den history Adapter die Daten rein schreibt?

                  Hast du das Script aus dem Wiki genommen, dort ist auch alles beschrieben.

                  Ich habe alles nach der Anleitung im Wiki gemacht:

                  1. Datenpunkt 0_userdata.0.NSPanel.1.Charts.temp_gewaechshaus angelegt. Dieser ist ein Datenpunkt vom Typ string (Typ ist in der Anleitung nicht spezifiziert).
                  2. In Geräte Alias vom Typ "Info" angelegt. der Alias "alias.0.NSPanel_1.Chart_temp_gewaechshaus" zeigt auf den Datenpunkt aus 1.
                  3. Gerät vom Typ Temperatur angelegt, das auf den Sensor im Gewächshaus zeigt. (Das steht auch nicht in der Anleitung, aber irgendwoher muss das Skript ja die Temperatur bekommen?). Im Influx2 Skript wird der Sensor explizit genannt, im History Skript fehlt der Verweis.
                  4. Javascript für History Adapter kopiert und als JS Skript eingefügt
                  5. Skript angepasst
                  const sourceDP = 'alias.0.NSPanel_1.Sensor_temp_gewächshaus.ACTUAL';
                  const targetDP = '0_userdata.0.NSPanel.1.Charts.temp_gewaechshaus';
                  

                  Den Datenpunkt ACTUAL zeigt auch die derzeitige Temperatur an. Der targetDP ist allerdings leer. Sollte der sofort gefüllt werden, da ja der history adapter mit im Spiel ist oder füllt der sich erst mit der Zeit?

                  1. Die Karte in meinem Panelskript sieht so aus:
                  let Temp_Gewaechshaus = <PageChart>
                  {
                      "type": "cardLChart",
                      "heading": "Gewächsthaus Temperatur",
                      "useColor": true,
                      'items': [<PageItem>{ 
                                  id: 'alias.0.NSPanel_1.Chart_temp_gewaechshaus',
                                  yAxis: 'Temperatur [°C]',
                                  yAxisTicks: [160,170,180,190,200,210,220,230],
                                  onColor: Yellow
                               }]
                  

                  Die Beschriftung, X- und Y Achse sind zu sehen, allerdings kein Diagramm.
                  Ich nehme an, ich hab wieder irgendwas mit den Geräten falsch gemacht... Da steh ich echt etwas auf dem Schlauch.

                  Edit: nun bekomme ich in dem Skript eine Warnung:

                  11:28:51.575	warn	javascript.0 (3809) TypeError: Cannot read properties of undefined (reading 'ts') at Object.cb (script.js.NSPanel.Chart_Gewächshaus:6976:54) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5809:71) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:322:37) at processImmediate (node:internal/timers:476:21)
                  
                  T 1 Reply Last reply Reply Quote 0
                  • T
                    TT-Tom @tobiasp last edited by TT-Tom

                    @tobiasp

                    Der Pfad beginnt mit einer 0_userdata.

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

                      @procrastinator

                      Welche Datenbank nutzt du eigentlich?? Du solltest nicht alles vermischen. Den Alias auf den Sensor ist okay. Auf den Alias musst du dann auch die Datenbank verknüpfen. Dann müssen auch erstmal Daten sammeln, um sie auszulesen.

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

                        @armilar
                        sorry mein fehler

                        State "0_userdata.0.NSPanel.1.0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading" not found

                        liegen tut dieser State bei
                        0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading
                        Ich hab das Script von oben genommen

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

                          @tobiasp sagte in SONOFF NSPanel mit Lovelace UI:

                          @armilar
                          sorry mein fehler

                          State "0_userdata.0.NSPanel.1.0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading" not found

                          Diesen Pfad gibt es bestimmt nicht.

                          liegen tut dieser State bei
                          0_userdata.0.NSPanel.1.ScreensaverInfo.popupNotifyHeading
                          Ich hab das Script von oben genommen

                          Das stimmt. Du kannst ohne Script die Werte in den Datenpunkten ändern. Dann sollte auf dem Screensaver etwas zu sehen sein. So lange es da Probleme gibt, wird das Script auch nicht funktionieren.

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

                            @tt-tom
                            AAah jetzt hab ich es gefunden. Da war echt in der Vorlage ein FEhler im Script. Danke für die Hilfe.

                            T 1 Reply Last reply Reply Quote 0
                            • P
                              PROcrastinator last edited by

                              @tt-tom Ich nutze nur den history Adapter. Heißt das, ich muss 2x die Daten loggen? Der normale zigbee Datenpunkt wird schon mit history aufgezeichnet.

                              Also history einschalten bei alias.0.NSPanel_1.Sensor_temp_gewächshaus.ACTUAL?
                              Oh man, das sah bei Youtube alles viel einfacher aus. Aber jetzt hab ich das Panel, dann geb ich auch nicht auf.

                              Danke für die Geduld, Roland

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

                                @procrastinator

                                Man nutzt einen Alias, damit man im Notfall einen neuen Sensor verknüpfen kann. Dann bleiben die Daten im Alias erhalten, trotz neuer Verknüpfung. Diesen Alias loggst du dann per History.

                                Ich würde dir vorschlagen, es so zu machen.

                                EDIT: Du benötigst nur das Script für den History.

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

                                  @tobiasp

                                  Kannst du mir das nochmal zeigen mit dem Fehler und welche Vorlage du meinst.

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

                                    @tt-tom
                                    schau mal da
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker---FAQ-&-Anleitungen#10-dwd-daten-an-verschiedene-nspanels-schicken
                                    da ist im Blockly ein Punkt wie du mir vorhin geschrieben hast

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

                                      @tobiasp

                                      Okay, danke. Muss ich nachher mal ändern. Ist natürlich falsch.

                                      Aber sonst läuft es jetzt?

                                      EDIT: ist bearbeitet

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

                                        @tt-tom
                                        Ja super läuft Top Danke

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          PROcrastinator @TT-Tom last edited by

                                          @tt-tom So, jetzt habe ich das Problem gefunden! Der Datenpunkt in userdata muss string und value sein, ich hatte string und state! Das steht weiter unten im Skript wo der Datenpunkt gefüllt werden soll. Jetzt wird mir auch ein Graf angezeigt. Die Skalierung der Y Achse habe ich auch hinbekommen, wobei mir programmiertechnisch nicht klar ist warum ich für 10 °C eine 100 eintragen muss, für eine Erklärung zum Verständnis wäre ich Dankbar.

                                          Wie kann ich aber die X Achsen Skalierung festlegen? Ich hätte gerne fest den aktuellen Tag angezeigt (0 bis 0 Uhr) damit sich der Graf im Laufe des Tages dann füllt. wie bekomme ich das hin? Achsenbeschriftung würde 0, 6, 12, 18 24 Uhr oder ausreichen.
                                          In dem Skript wird immer die aktuelle Zeit als Ende - die angegebenen Stunden als Anfang verwendet

                                          options: {
                                                      start:     Date.now() - (numberOfHoursAgo * 60 * 60 * 1000 ), //Time in ms: hours * 60m * 60s * 1000ms
                                                      end:      Date.now(),
                                          

                                          Kann man das ändern, dass er immer am aktuellen Tag um 0 Uhr anfängt und um 24 Uhr endet?
                                          Ich habe versucht zu googlen, aber mit Javascript hab ich überhaupt nichts am Hut und bin leider gescheitert.

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

                                            @procrastinator sagte in SONOFF NSPanel mit Lovelace UI:

                                            Die Skalierung der Y Achse habe ich auch hinbekommen, wobei mir programmiertechnisch nicht klar ist warum ich für 10 °C eine 100 eintragen muss, für eine Erklärung zum Verständnis wäre ich Dankbar.

                                            Nextion kennt keine Fließkommazahl, daher werden dir Werte mit einer (gedachten) Kommastelle an das Panel übergeben. Könnte ja auch sein, dass du statt 10° evtl. 10,5° skalieren möchtest. Dann wäre der Wert eben ohne das Komma 105...

                                            Wie kann ich aber die X Achsen Skalierung festlegen? Ich hätte gerne fest den aktuellen Tag angezeigt (0 bis 0 Uhr) damit sich der Graf im Laufe des Tages dann füllt. wie bekomme ich das hin? Achsenbeschriftung würde 0, 6, 12, 18 24 Uhr oder ausreichen.
                                            In dem Skript wird immer die aktuelle Zeit als Ende - die angegebenen Stunden als Anfang verwendet
                                            9efe2a59-e7e9-4111-bc14-15e4a480cc4a-image.png
                                            Kann man das ändern, dass er immer am aktuellen Tag um 0 Uhr anfängt und um 24 Uhr endet?

                                            Führe das mal in einem separaten Script aus:

                                            const date = new Date();
                                            const start_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
                                            console.log(start_date);
                                            const end_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
                                            console.log(end_date);
                                            

                                            Der heutige Tag muss mit den entsprechenden Uhrzeiten übergeben werden:

                                            const date = new Date();
                                            const start_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0);
                                            const end_date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59);
                                            
                                            options: {
                                                        start:    start_date, 
                                                        end:      end_date,
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            996
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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