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

      @kunibert sagte in SONOFF NSPanel mit Lovelace UI:

      für us-p Version so:

      let L6xFahrplan: PageType =
      {  
          'type': 'cardEntities',  
          'heading': 'Haltestelle Refrath',  
          'useColor': true,
          'subPage': true,
          'parent': L60Uebersicht,
          'next': 'L6xWLAN',
          'nextIcon': 'qrcode-scan',  
          'items': [  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt0'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt1'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt2'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt3'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt4'}  
          ]  
      };
      

      für eu und us-L - Version so:

      let L6xFahrplan: PageType =
      {  
          'type': 'cardEntities',  
          'heading': 'Haltestelle Refrath',  
          'useColor': true,
          'subPage': true,
          'parent': L60Uebersicht,
          'next': 'L6xWLAN',
          'nextIcon': 'qrcode-scan',  
          'items': [  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt0'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt1'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt2'},  
              { id: 'alias.0.Panels.FahrplanAnzeiger.Haltestelle0.Abfahrt3'}  
          ]  
      };
      
      Armilar D 2 Replies Last reply Reply Quote 2
      • theknut
        theknut last edited by

        Hi zusammen,

        ich habe bei mir ein paar Buttons zu denen ich mittels Event noch was dazu machen muss. Also bspw. wenn ich den "Alle Lichter im Wohnzimmer aus" Knopf drücke, dann will ich, dass wenn es dunkel draußen ist noch zusätzlich das Licht im Flur angeht. Dazu hatte ich immer das CustomRecv überprüft und geschaut, ob da der Name des Alias auftaucht, wenn ja, dann ggf. Licht an. Seit dem Update auf die letzte Version wird aber nur noch der Index des Items auf der Page geliefert und demnach habe ich keine zuverlässige Variante, um zu schauen, welcher Button das war. Ich könnte meine Bedingung auch noch an den Page Index koppeln, aber wenn ich mal was verschiebe, dann müsste ich es dort auch nachziehen. In der aktuellen Struktur der NSPanel States konnte ich nichts finden.

        Meine Frage daher: Wäre es möglich die Information welcher Button geklickt wurde auch noch mit rausschreiben, so dass man ggf. drauf reagieren kann? Lokal habe ich das bei mir so gelöst, dass ich bei Button Events zusätzliche States schreibe. Das habe ich in function HandleButtonEvent(words: any): void umgesetzt:

        ...
                if (Debug) {
                    log('HandleButtonEvent übergebene Werte ' + words[0] + ' - ' + words[1] + ' - ' + words[2] + ' - ' + words[3] + ' - ' + words[4] + ' - PageId: ' + pageId, 'info');
                }        
        
                setOrCreate(NSPanel_Path + "Event.Button.Action", buttonAction ?? words[2]);
                setOrCreate(NSPanel_Path + "Event.Button.Value", words[4]);
                setOrCreate(NSPanel_Path + "Event.Button.Id", id);
        
                if ((words[2]).substring(0, 8) == 'navigate') {
                    GeneratePage(eval((words[2]).substring(9, (words[2]).length)));
                    return;
                }
        ...
        

        Und dann der entsprechende Trigger dazu in einem anderen Skript

        on("0_userdata.0.NSPanel.1.Event.Button.Id", "any", (obj) => {
            if (!obj.id) {
                return;
            }
        
            switch(obj.state.val) {
                case "alias.0.Rooms.Wohnzimmer.Lichter_Aus":
                if (getState("alias.0.Rooms.Draußen.Dunkel.ACTUAL").val
                    && !getState("alias.0.EnOcean.Licht.EG.Flur.ON_ACTUAL").val) {
                    setState("alias.0.EnOcean.Licht.EG.Flur.SET", true);
                }
                break;
            }
        });
        

        Ich finde es von der Sache her nicht schlecht, man könnte da auch weitere Events für bspw. Hardware Button und Co. anlegen. Passt gut in die Struktur rein. Was haltet ihr davon?

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

          Update v4.3.3.38

          6638357d-d634-413c-a096-284f3e81233c-image.png

          Steht sonst immer weiter unten, ist dieses Mal aber abweichend! - daher zuerst:
          da die Funktionen für den Screensaver nicht im TFT v4.3.3 stable sind und die TFT v4.3.4 noch nicht verfügbar ist, bitte ein DEV TFT Upgrade machen - also nicht über das Service-Menü, sondern über die Tasmota-Konsole:

          FlashNextion http://nspanel.pky.eu/lui.tft
          

          Was hat sich im allgemeinen geändert?

          • Die Screensaver Notification erlaubt jetzt ein Leeren der Datenpunkte, d.h. es wird nur eine Nachricht erzeugt, wenn Headline und Text gefüllt sind.

          • Die cardLChart benötigt keine yAxisTicks mehr, d.h. wenn der Parameter in der Seitendefinition (Variable) nicht gesetzt ist, errechnet das Script den minimalen- und den maximalen Wert für die Y-Achse.

            Beispiel (yAxisTicks auskommentiert):

            let CardLChartExample: PageType =
            {
                'type': 'cardLChart',
                'heading': 'Büro Temperatur',
                'items': [{ 
                            id: 'alias.0.Haus.Erdgeschoss.Buero.Charts.Temperatur',
                            yAxis: 'Temperatur [°C]',
                            //yAxisTicks: [-250, -200, -150, -100,-50, 0, 50, 100, 150, 200, 250, 300],
                            onColor: Yellow
                         }]
            };
            
          • Über die 5 Indicator Entitäten (im Advanced Screensaver) hat man jetzt die Möglichkeit, direkt zu einer Seite zu gelangen. Hierfür muss wie im nachfolgenden Beispiel der Parameter ScreensaverEntityNaviToPage hinzugefügt werden und auf eine existierende Seitenvariable zeigen:

            Beispiel mit ScreensaverEntityNaviToPage

                     // indicatorScreensaverEntity 1 (only Advanced Screensaver)
                     { 
                         ScreensaverEntity: '0_userdata.0.NSPanel.Indicators.Haus',
                         ScreensaverEntityFactor: 1,
                         ScreensaverEntityDecimalPlaces: 0,
                         ScreensaverEntityIconOn: 'window-open-variant',
                         ScreensaverEntityIconOff: 'window-closed-variant',
                         ScreensaverEntityText: 'Fenster',
                         ScreensaverEntityUnitText: '%',
                         ScreensaverEntityIconColor: { 'val_min': 0, 'val_max': 1 },
                         ScreensaverEntityNaviToPage: Fenster_1
                     }, 
            

            Im folgenden Beispiel werden z.B. offene Fenster duch den Indikator signalisiert. Mit Klick auf das Icon im Screensaver wird z.B. die Seite (page oder subPage möglich) Fenster_1 geöffnet, in der eine detaillierte Übersicht der (geöffneten) Fenster und Türen zu sehen ist.
            Ist diese Funktion für das Icon nicht hinterlegt, wird für den Button ein normales verlassen des Screensavers emuliert.

            db203811-eda9-4610-981a-03863e3efdd2-Nextion_Editor_kOZlWDAvd4.gif

          Wie funktioniert das Update?

          Wenn aktuelle Version ab v4.3.3.30, dann unteren Teil des NSPanelTs.ts ab:

          // ________________ DE: Ab hier keine Konfiguration mehr _______________
          austauschen

          https://github.com/joBr99/nspanel-lovelace-ui/blob/main/ioBroker/NsPanelTs.ts

          Wenn aktuelle Version bis v4.3.3.29, dann Updateaneitung befolgen:
          https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Starthilfe-FAQ#hilfe-bei-update--upgrade

          VG
          @ticaki , @TT-Tom & @Armilar 😊

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

            @theknut

            Wäre es möglich die Information welcher Button geklickt wurde auch noch mit rausschreiben, so dass man ggf. drauf reagieren kann?

            Ist eine folge der überlangen Alias-Namen gewesen. Daher sind wir ja auf eine sehr viel kürzere id umgestiegen.

            Von meiner Seite, auch wenn ich aktuell keinen Anwendungsfall finde, spricht nichts dagegen 3 weitere Datenpunkte mit diesen Events zu erzeugen...

                    setOrCreate(NSPanel_Path + "Event.Button.Action", buttonAction ?? words[2]);
                    setOrCreate(NSPanel_Path + "Event.Button.Value", words[4]);
                    setOrCreate(NSPanel_Path + "Event.Button.Id", id);
            

            Werde es mit @ticaki und mit @TT-Tom kurz erörtern...

            1 Reply Last reply Reply Quote 0
            • theknut
              theknut last edited by

              K, dann mach ich heute Abend einen PR, dann hast du keinen Aufwand, falls ihr es übernehmen wollt.

              Armilar T 2 Replies Last reply Reply Quote 1
              • Armilar
                Armilar Most Active Forum Testing @theknut last edited by

                @theknut sagte in SONOFF NSPanel mit Lovelace UI:

                dann hast du keinen Aufwand, falls ihr es übernehmen wollt.

                perfekt, wir besprechen es im PR...

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @theknut last edited by

                  @theknut
                  Bitte poste den Link hier:)

                  Ich würde aber dringend raten 5 Datenfelder anzulegen {type: boolean, role:'button', read: true, write:false} und diese bei einem touch auf true zu setzen. Abfragen muß man die dann mit change: any, val: true. Das wäre nach den Definitionen.

                  theknut 1 Reply Last reply Reply Quote 0
                  • theknut
                    theknut @ticaki last edited by

                    @ticaki sorry, verstehe ich nicht. Wieso boolean und wieso 5?!

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      ticaki Developer @theknut last edited by

                      @theknut
                      Oh, ich hab das falsch verstanden und ich schalte das auch bei mir anders. Du willst zu jedem Page das Touch event ausgeben.

                      Ich dachte wir reden über die neuen 5 hatte nicht aufmerksam genug gelesen.

                      theknut 1 Reply Last reply Reply Quote 2
                      • theknut
                        theknut @ticaki last edited by

                        @ticaki ah, dafür verstehe ich jetzt wiederum was du meinst. Aber das Event dafür sollte dann ja somit auch angreifbar sein.

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

                          @armilar Hallo,
                          Danke für die schnelle Hilfe, aber leider muss ich nochmal nachfragen:
                          Ich kann im Gerätemanager das Gerät" Gaszähler" anlegen, dann gelange ich zum Fenster, wo ich die Datenpunkte auswählen kann. Aber ich kann nur einen (!) "Actual" auswählen. Ich möchte aber mehrere Werte darstellen. Wie bekomme ich die ausgewählt?

                          Merkwürdig ist auch folgendes: Wenn ich einmal "Gaszähler" angelegt habe und dann wieder lösche (wegen meiner Probiererei) bekomme ich bei dem nächsten Anlegen von "Gaszähler" nicht mehr das Fenster angezeigt, wo ich die Datenpunkte auswählen kann. Dann wird gleich ein Gerät Gaszähler mit Icon angezeigt. Ich muss dann "Gaszähler 2" oder "Gaszähler neu" anlegen.
                          Unter dem Tab "Geräte" bekomme ich Gaszähler nie angezeigt, nur unter "Objekte" erscheint der Verzeichnisbaum.
                          Fragen über Fragen...
                          Ich finde es ziemlich schwierig das NSPanel zum laufen zu bringen. Wenn ich das gewusst hätte, hätte ich mir das Panel nicht gekauft.

                          T Armilar T 3 Replies Last reply Reply Quote 0
                          • T
                            TT-Tom @Doggie last edited by

                            @doggie
                            das hast du leider falsch verstanden. lege dir einen Ordner an "Gaszähler". dadrin legst du dir ein Channel (Ordner) typ Info "Verbrauch heute" an, mit dem Datenpunkt "actual". Das selbe mit Verbrauch gestern usw. Jeder Wert brauch einen Alias(channel).

                            1 Reply Last reply Reply Quote 2
                            • Rene55
                              Rene55 @Armilar last edited by Rene55

                              @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                              TFT Upgrade

                              Ich versuche gerade mal das Update auf die v4.3.3.38. Ist das TFT-Update unbedingt notwendig oder nur optional?
                              Angehen wollte ich aktuell das LCharts. (Das mit dem Müll habe ich nicht hinbekommen).

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

                                @rene55

                                Für die cardLChart ist ein Update der TFT nicht erforderlich. Nur wenn das Update des Screensavers (onCklick) verwendet werden soll...

                                Woran ist es denn mit dem Müllkalender gescheitert?

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

                                  @armilar Ich hab irgendwas übersehen/überlesen: Meine Datenstruktur sieht so aus:

                                  NSP_Abfall_1.png

                                  und in 'color' ist eine '0' drin.

                                  
                                  script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                  
                                  T 1 Reply Last reply Reply Quote 0
                                  • T
                                    TT-Tom @Rene55 last edited by TT-Tom

                                    @Rene55
                                    Das Event wird nicht richtig erkannt. Nutzt du das aus Script???

                                    Stell mal Debug auf true.

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

                                      @tt-tom Ja mit dem Script und steht auf Debug. Was soll ich zeigen?

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

                                        @rene55
                                        Die config der Events und das log

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

                                          @tt-tom Die Konfiguration:

                                          const anzahlZeichenLoeschen: number = 0; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
                                          const jsonEventName1: string = 'Restmülltonne'; // Vergleichstring für Schwarze Tonne
                                          const customEventName1: string = 'Restmüll';        // benutzerdefinierter Text für schwarze Tonne
                                          const jsonEventName2: string = 'Verpackungen'; // Vergleichstring für Gelbe Tonne / Sack
                                          const customEventName2: string = 'Gelbe Tonne';       // benutzerdefinierter Text für gelbe Tonne
                                          const jsonEventName3: string = 'Papier';    // Vergleichstring für Blaue Tonne
                                          const customEventName3: string = 'Papiertonne';       // benutzerdefinierter Text für blaue Tonne
                                          const jsonEventName4: string = 'Biomüll';   // Vergleichstring für Braune Tonne
                                          const customEventName4: string = 'Bio';        // benutzerdefinierter Text für braune Tonne
                                          

                                          und das Log

                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Rohdaten von Instanz ical: [{"date":"Morgen ","event":"Restmüll (grau) // GEM","_class":"ical_Rene55 ical_tomorrow","_date":"2024-01-21T23:00:00.000Z","_end":"2024-01-22T23:00:00.000Z","_IDID":"grau-2024-01-22@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-21T23:00:00.000Z","datetype":"date","end":"2024-01-22T23:00:00.000Z","dtstamp":"2024-01-21T19:00:27.000Z","uid":"grau-2024-01-22@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Restmüll (grau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In 3 Tagen ","event":"Altpapier (blau) // GEM","_class":"ical_Rene55 ical_3days","_date":"2024-01-23T23:00:00.000Z","_end":"2024-01-24T23:00:00.000Z","_IDID":"blau-2024-01-24@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-23T23:00:00.000Z","datetype":"date","end":"2024-01-24T23:00:00.000Z","dtstamp":"2024-01-21T19:00:27.000Z","uid":"blau-2024-01-24@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Altpapier (blau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"In 5 Tagen ","event":"Bioabfall (braun) // GEM","_class":"ical_Rene55 ical_5days","_date":"2024-01-25T23:00:00.000Z","_end":"2024-01-26T23:00:00.000Z","_IDID":"braun-2024-01-26@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-25T23:00:00.000Z","datetype":"date","end":"2024-01-26T23:00:00.000Z","dtstamp":"2024-01-21T19:00:27.000Z","uid":"braun-2024-01-26@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Bioabfall (braun) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"29.01.2024 ","event":"Treppe","_class":"ical_Rene55 ","_date":"2024-01-28T23:00:00.000Z","_end":"2024-02-04T23:00:00.000Z","_section":"Treppe fegen","_IDID":"vbdvlermk3o4b7dgui0293h4d9@google.com","_allDay":true,"_private":false,"_rule":" rrule ","location":"","_calName":"Rene55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-28T23:00:00.000Z","datetype":"date","end":"2024-02-04T23:00:00.000Z","rrule":{"_cache":{"all":false,"before":[],"after":[],"between":[]},"origOptions":{"dtstart":"2023-11-06T00:00:00.000Z","freq":2,"wkst":{"weekday":6},"interval":4,"byweekday":[{"weekday":0}]},"options":{"freq":2,"dtstart":"2023-11-06T00:00:00.000Z","interval":4,"wkst":6,"count":null,"until":null,"bysetpos":null,"bymonth":null,"bymonthday":[],"bynmonthday":[],"byyearday":null,"byweekno":null,"byweekday":[0],"bynweekday":null,"byhour":[0],"byminute":[0],"bysecond":[0],"byeaster":null}},"dtstamp":"2024-01-21T19:00:27.000Z","uid":"vbdvlermk3o4b7dgui0293h4d9@google.com","created":"2022-01-01T11:41:28.000Z","description":"Treppe fegen","lastmodified":"2022-12-16T09:22:43.000Z","sequence":"2","status":"CONFIRMED","summary":"Treppe","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"31.01.2024 ","event":"Verpackungen (gelb) // GEM","_class":"ical_Rene55 ","_date":"2024-01-30T23:00:00.000Z","_end":"2024-01-31T23:00:00.000Z","_IDID":"gelb-2024-01-31@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-01-30T23:00:00.000Z","datetype":"date","end":"2024-01-31T23:00:00.000Z","dtstamp":"2024-01-21T19:00:27.000Z","uid":"gelb-2024-01-31@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Verpackungen (gelb) // GEM","transparency":"OPAQUE","method":"PUBLISH"}},{"date":"05.02.2024 ","event":"Restmüll (grau) // GEM","_class":"ical_Rene55 ","_date":"2024-02-04T23:00:00.000Z","_end":"2024-02-05T23:00:00.000Z","_IDID":"grau-2024-02-05@mags.de","_allDay":true,"_private":false,"_rule":" ","location":"","_calName":"Rene55","_calColor":"#000000","_object":{"type":"VEVENT","params":[],"start":"2024-02-04T23:00:00.000Z","datetype":"date","end":"2024-02-05T23:00:00.000Z","dtstamp":"2024-01-21T19:00:27.000Z","uid":"grau-2024-02-05@mags.de","created":"2023-12-29T13:06:11.000Z","lastmodified":"2023-12-29T13:37:04.000Z","sequence":"0","status":"CONFIRMED","summary":"Restmüll (grau) // GEM","transparency":"OPAQUE","method":"PUBLISH"}}]
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Anzahl Trash - Daten: 6
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Daten vom ical Adapter werden ausgewertet
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Startdatum UTC: 2024-01-21T23:00:00.000Z
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Datum: Morgen
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Event: Restmüll (grau) // GEM
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Restmüll (grau) // GEM%
                                          2024-01-21 20:00:27.863 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Daten vom ical Adapter werden ausgewertet
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Startdatum UTC: 2024-01-23T23:00:00.000Z
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Datum: In 3 Tagen
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Event: Altpapier (blau) // GEM
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Altpapier (blau) // GEM%
                                          2024-01-21 20:00:27.863 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                          2024-01-21 20:00:27.863 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Daten vom ical Adapter werden ausgewertet
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Startdatum UTC: 2024-01-25T23:00:00.000Z
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Datum: In 5 Tagen
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Event: Bioabfall (braun) // GEM
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Bioabfall (braun) // GEM%
                                          2024-01-21 20:00:27.864 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Daten vom ical Adapter werden ausgewertet
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Startdatum UTC: 2024-01-28T23:00:00.000Z
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Datum: 29.01.2024
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Event: Treppe
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Treppe%
                                          2024-01-21 20:00:27.864 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Daten vom ical Adapter werden ausgewertet
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Startdatum UTC: 2024-01-30T23:00:00.000Z
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Datum: 31.01.2024
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Event: Verpackungen (gelb) // GEM
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Verpackungen (gelb) // GEM%
                                          2024-01-21 20:00:27.864 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Daten vom ical Adapter werden ausgewertet
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: --------- Nächster Termin wird geprüft ---------
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Startdatum UTC: 2024-02-04T23:00:00.000Z
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Datum: 05.02.2024
                                          2024-01-21 20:00:27.864 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Event: Restmüll (grau) // GEM
                                          2024-01-21 20:00:27.865 - info: javascript.0 (364) script.js.common.NSPanel.Abfall: Kontrolle Leerzeichen %Restmüll (grau) // GEM%
                                          2024-01-21 20:00:27.865 - warn: javascript.0 (364) script.js.common.NSPanel.Abfall: Kein Abfalltermin => Event passt mit keinem Abfallnamen überein.
                                          2024-01-21 20:00:32.916 - info: ical.0 (6453) Terminated (NO_ERROR): Without reason
                                          2024-01-21 20:00:33.464 - info: host.iobroker-pmx instance system.adapter.ical.0 terminated with code 0 (NO_ERROR)

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

                                            @doggie

                                            Wenn man erstmal verstanden hat wie es geht, dann ist es einfach und geht auch verdammt schnell. Ich habe über 3000 Zeilen "nur Config" und von der Struktur her ist das meiste auch in jedem NSPanel vorhanden.

                                            Wie @TT-Tom schon korrekt erwähnt hat ist bei einem Info nur ein .ACTUAL vorhanden und das reicht auch aus. Also jedes Icon in einer cardGrid oder cardEntities ist genau ein Alias vom Gerätetyp XYZ.
                                            Manche Alias Geräte-Typen wie z.B. eine Lampe haben mehrere Eigenschaften. Eine "Info" nicht. Die liefert genau einen Wert eines Datenpunktes und ist somit auch ein eigenes pageItem.
                                            Wenn nun diverse Werte eines Gaszählers (hast ja eigentlich nie Infos zu den Datenpunkten geliefert) angezeigt werden sollen, dann ist jeder Wert des Gaszählers ein Alias vom Geräte-Typ Info.

                                            Bei den ganz komplexen Aliassen legen wir die ja automatisch an (z.B. Gerätetyp media bei der cardMedia)

                                            Wenn ich einmal "Gaszähler" angelegt habe und dann wieder lösche (wegen meiner Probiererei) bekomme ich bei dem nächsten Anlegen von "Gaszähler" nicht mehr das Fenster angezeigt, wo ich die Datenpunkte auswählen kann. Dann wird gleich ein Gerät Gaszähler mit Icon angezeigt. Ich muss dann "Gaszähler 2" oder "Gaszähler neu" anlegen.

                                            Ist manchmal so. Der Device-Manager ist leider nicht der perfekteste Adapter und eben auch an vielen Stellen fehlerbehaftet. Dummerweise auch der einzige der es "einfach" hinbekommt. Sollten irgendwo Reste eines Alias warum auch immer nach dem Löschen noch vorhanden sein, so lassen sich diese auch unter Objekte alias.0... löschen.

                                            Wenn man die Rollen, Channels und der Aliasse erst einmal verstanden hat, kann man sie auch per Hand anlegen. Aber auch da gibt es genügend Fallstricke. Würde also weiterhin den Geräte-Manager verwenden. Wenn etwas nicht geht, dann einfach hier eine Frage stellen. Habe zu fast jedem Alias mittlerweile raus, wie man die Bug's (auch wenn es langsam nervt) umgeht und dennoch zu einem positiven Ergebnis kommt 😉

                                            Da der Alias-Manager nun etwas sehr komplex und ebenfalls alles andere als intuitiv ist, würde ich dir die Erstellung dort ebenfalls nicht empfehlen...

                                            Ich denke nach der ganzen Probiererei, wird es in einem hohen Tempo vorwärts gehen... 😊

                                            D 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            768
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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