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.
    • eierfeile
      eierfeile last edited by eierfeile

      Hi, ich nutze die cardThermo. Leider springt die Heizung aber nicht an, wenn die Soll Temperatur unterschritten wird. Die 2 Hardwaretasten sind bei mir deaktiviert. Können also nur digital geschaltet werden...falls das etwas zur Sache tut.
      Was mache ich falsch?

      let Kueche_Themostat = <PageThermo>
      {
          'type': 'cardThermo',
          'heading': 'Thermostat Kueche',
          'useColor': true,
          'subPage': false,
          'parent': undefined,
          'items': [<PageItem>{ 
                      id: 'alias.0.NSPanels.Thermostat_Kueche', 
                      minValue: 50, 
                      maxValue: 300,
                      stepValue: 5,
                    //  setThermoDestTemp2: 'ACTUAL1'
                   }]
      };
      
      
      T 1 Reply Last reply Reply Quote 0
      • T
        TT-Tom @eierfeile last edited by

        @eierfeile die cradThermo steuert keine Heizung direkt sie kann nur Parameter setzen und die Solltemp. vorgeben. Die Steuerung erfolgt rein extern.

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

          Ich versuche gerade vergeblich meine eigene Navigation aufzubauen. Leider kann ich nicht nachvollziehen wie die zustande kommt.
          Wie komme ich denn auf die Id für die Page, zu der navigiert werden soll?

          let NSPanel_Service_SubPage = <PageEntities>
          {
              ...
              'items': [
                  <PageItem>{ navigate: true, id: 'NSPanel_Infos', icon: 'information-outline', offColor: Menu, onColor: Menu, name: findLocaleServMenu('infos'), buttonText: findLocaleServMenu('more')},
                  ...
              ]
          };
          

          Die hier vergebene Id NSPanel_Infos kommt sonst nirgendwo mehr im ganzen Skript vor, außer als Variablenname, aber das kann es ja eigentlich auch nicht sein.

          Mit dem Variablennamen hatte ich es auch probiert, aber hatte auch keinen Erfolg. Am Ende wird nur der Reboot Button angezeigt.

          let wohnzimmerLicht = <PageGrid> 
          {
              'type': 'cardGrid',
              'heading': 'Licht',
              'useColor': true,
              'subPage': true,
              'parent': menuPage,
              'items': [
                  ...
              ]
          };
          ...
          menuPage.items = [
                  <PageItem>{ navigate: true, id: 'wohnzimmerLicht', icon: 'information-outline'},
                  <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: findLocaleServMenu('reboot') ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: findLocaleServMenu('start')}
              ];
          ...
          export const config = <Config> {
          
              // Seiteneinteilung / Page division
              // Hauptseiten / Mainpages
              pages: [
                  menuPage,
                  NSPanel_Service         	//Auto-Alias Service Page
          	    //Unlock_Service            //Auto-Alias Service Page (Service Pages used with cardUnlock)
              ],
          
              // Unterseiten / Subpages
              subPages: [
          	wohnzimmerLicht,
                  wohnzimmerRollo,
                  solarPage,
                  spotifyPremium,
                  wlanPage,
                  technikraum,
                          NSPanel_Service_SubPage, 
          

          Dann erhalte ich dieses Warning

          script.js.NSPanel.Dev.Dev: Found Alias without channel: wohnzimmerLicht! Please correct the Alias
          
          T 1 Reply Last reply Reply Quote 0
          • T
            TT-Tom @theknut last edited by TT-Tom

            @theknut der Eintrag kommt zusätzlich in die servicepage nspanel_info

            Jetzt habe ich es erst erkannt. Dein Menu Aufbau ist komplett falsch. Siehe dir die Servicestellen an. Hast du eine Mainpage. Der Rest sind SubPage.

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

              @tt-tom also ich muss blind sein. Ich finde im ganzen Skript (bis auf die parent-Verweise) keine weitere Id NSPanel_Infos

              b5185ef8-255f-4bfd-b18f-b14eff647382-image.png

              Die Service Page sagt sie will zu NSPanel_Infos navigieren, aber keine weitere Page oder PageItem hat diese Id vergeben bekommen. Und wenn es über den Variablennamen geht, warum geht das dann bei mir nicht? (siehe Code oben)

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

                @tt-tom ok dann hab ich das falsch verstanden. Aber gut, alle Daten sind ja ohnehin in iobroker vorhanden. Dann muss ich dafür noch ein mini Blockly schreiben. Wenn IstTemp < SollTemp dann relais=true und andersrum. Dann sollte es das gewesen sein.
                7936d6ed-f2ca-43c8-9174-2c8c6f2315b4-image.png

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

                  @theknut bei navigate :true gibt targetPage: die Page an, also NSPanel_Infos.

                  ‹PageItem>‹ navigate: true, id: null, targetPage: 'Erdgeschoss', name: 'Haus'}
                  

                  Es geht auch über id:

                  menuPage.items = [
                          <PageItem>{ navigate: true, id: 'wohnzimmerLicht', icon: 'information-outline'},
                          <PageItem>{ id: AliasPath + 'Config.rebootNSPanel', name: findLocaleServMenu('reboot') ,icon: 'refresh', offColor: MSRed, onColor: MSGreen, buttonText: findLocaleServMenu('start')}
                      ];
                  

                  der Teil der Page config ist falsch.
                  Seitenpage fängt immer mit

                  let name = <PageType>
                  {
                      'type': 'cardType',
                      'heading': 'Seiten Überschrift',
                      'useColor': true,
                      'items': []
                  };  
                  

                  hier kannst du noch mehr lesen

                  hier ein Link zur Navigation

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

                    @eierfeile

                    es gibt da den PID Adapter, der einen Regler darstellt. Kann dir dazu aber kein Support geben.
                    Oder wie du schon angemerkt hast, mit einem kleinen Script die Relais selber steuern.

                    D 1 Reply Last reply Reply Quote 1
                    • D
                      docf last edited by

                      @tt-tom
                      Hi ich versuche gerade den Countdown Timer auf die Reihe zu bekommen.
                      Leider habe ich da ein Problem.

                      Ich habe gesehen, dass in den Aliasen zwei Ordner erstellt wurden.
                      Countdown und Coutown?

                      Im Skript wird auf diesen Ordner verwiesen.

                        setObject(dp_alias + '.Coundown', { type: 'channel', common: { role: 'level.timer', name: 'Countdown' }, native: {} });
                      
                      

                      Ich habe den PageItem dann dahingehend angepasst und kann nun meinen Countdown Test sehen.

                             <PageItem>{ id: "alias.0.NSPanel.Countown" , name: "ContdownTimer" , interpolateColor:true },
                      

                      Ich kann die Zeit einstellen jedoch funktioniert der Countdown nicht.

                      Mache ich da etwas falsch oder muss ich da noch etwas ändern?
                      Danke dir

                      vg

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

                        @tt-tom
                        Ich habs jetzt hinbekommen ; )
                        Nicht elegant aber es funktioniert.

                        Beim erstellten Alias Countown habe ich die Objekte State und Actual angelegt und gepasst
                        lediglich im Journal bekomme ich noch eine Warnung.

                        16.12.2023, 10:44:58.978	[warn ]: javascript.0 (3804)     at script.js.common.Countdown4NsPanel:65:29
                        16.12.2023, 10:44:58.978	[warn ]: javascript.0 (3804)     at step (script.js.common.Countdown4NsPanel:33:23)
                        16.12.2023, 10:44:58.978	[warn ]: javascript.0 (3804)     at Object.next (script.js.common.Countdown4NsPanel:14:53)
                        16.12.2023, 10:44:58.979	[warn ]: javascript.0 (3804)     at script.js.common.Countdown4NsPanel:8:71
                        16.12.2023, 10:44:58.979	[warn ]: javascript.0 (3804)     at __awaiter (script.js.common.Countdown4NsPanel:4:12)
                        16.12.2023, 10:44:58.979	[warn ]: javascript.0 (3804)     at Object.<anonymous> (script.js.common.Countdown4NsPanel:55:69)
                        
                        1 Reply Last reply Reply Quote 0
                        • Armilar
                          Armilar Most Active Forum Testing @docf last edited by Armilar

                          @docf

                          Sorry - mein Fehler - das externe Countdown-Script war durchgängig mit "Countown" (copy/paste) angelegt. Habe daraus dann "Countdown" gemacht (on the fly) und tatsächlich eine Stelle vergessen...

                          aus

                          setObject(dp_alias + '.Countown', { type: 'channel', common: { role: 'level.timer', name: 'Countdown' }, native: {} });
                          

                          muss

                          setObject(dp_alias + '.Countdown', { type: 'channel', common: { role: 'level.timer', name: 'Countdown' }, native: {} });
                          

                          werden.

                          Lösche mal den Alias und lasse es so erneut anlegen.

                          Habe das Countdown-Script auf github ebenfalls angepasst

                          1 Reply Last reply Reply Quote 1
                          • X
                            xelarep last edited by

                            Hallo zusammen,

                            ich hoffe ich hab das nicht irgendwo übersehen/überlesen: wie unterdrücke ich denn die Update Anzeige von Tasmota?
                            Eigentlich(tm) sind AutoUpdates deaktiviert. Seit ein paar Tagen poppt aber gefühlt täglich die Aufforderung Tasmota FW Update 13.2.0 auf 13.3.0 hoch, was ich bisher auf meinen beiden Geräten dann immer für einen Tag mit "NEIN" unterdrückt bekomme...

                            Alexander

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

                              @xelarep

                              nur mit dem Fix aus der 4.3.3.22

                              siehe Post von gestern:
                              https://forum.iobroker.net/post/1095383

                              Das hat mit Auto-Updates nichts zu tun. Die werden, wenn eingeschaltet ohne Popup durchgeführt.

                              Wenn das Popup ausgeschaltet werden soll, dann nur mit der 4.3.3.22

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

                                @armilar ups, nicht weit genug geblättert. Lese nicht so regelmässig mit... Danke!

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

                                  Übrigens schaut gerne mal im Nachbar-Thread unter:
                                  https://forum.iobroker.net/post/1075497
                                  von @Kuckuckmann vorbei

                                  Soll eigentlich eine Sammlung von Beispielen werden, was sich alles mit dem NSPanel machen lässt und kann für den einen oder anderen auch Mal als Anregung dienen...

                                  Würde mich freuen, wenn mal jemand ein Bildchen (geht ja auch ein Foto und muss nicht mit dem Emulator sein) von einer interessant gestalteten Card hinterlässt.

                                  VG
                                  Armilar 😊

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

                                    Update v4.3.3.23

                                    bb1e417a-5ad9-490a-aa45-2f89a80fabd0-image.png

                                    7a9a2b19-7fb2-4d82-a831-957426345884-Nextion_Editor_uzGTP8LMhY.gif

                                    Mit diesem Update wird die Steuerung der Jalousien-Icons optimiert

                                    PageItem-Beispiel an einem Fyrtur-Rollo über den Deconz-Adapter:

                                    <PageItem>{ 
                                                id: 'alias.0.Haus.Erdgeschoss.Buero.Aktoren.Fyrtur', 
                                                minValueLevel: 1,       /* Minimale Position beim hochfahren */
                                                maxValueLevel: 79,      /* Maximale Position beim runterfahren */
                                                icon: "blinds-horizontal", 
                                                offColor: HMIOff, 
                                                onColor: HMIOn, 
                                                name: 'IKEA Fyrtur' , 
                                                secondRow: 'Büro Fenster'  /* Zusätzliche Zeile im Popup */ 
                                              },
                                    

                                    Für die Steuerung werden in diesem Beispiel übrigens lediglich zwei Original-Datenpunkte benutzt (keine Steuerung über externe Skripte und ganz ohne Datenpunkte in 0_userdata). Desweiteren wird in diesem Beispiel die minimale Position des Rollos mit 1% und die maximale Position des Rollos auf 79% definiert:

                                    • deconz.0.Lights.27.lift
                                    • deconz.0.Lights.27.stop (sollte vorher mindestens einmal auf "true" oder "false" gesetzt werden, da der Datenpunkt default mit null durch den Adapter initialisiert wird)

                                    dfeab31c-89de-4829-8ec2-e5b8dd1c9166-image.png

                                    Der Alias .OPEN bekommt zusätzlich noch eine Konvertierung für die minimale Position:
                                    500751ec-5d63-4da3-9752-d41b57440979-image.png

                                    Der Alias .CLOSE bekommt zusätzlich noch eine Konvertierung für die maximale Position:
                                    3b8ed7f1-8e9f-4f32-bf84-4054e424c40a-image.png

                                    Wie kann ich das Update durchführen?

                                    Wenn aktuelle Version ab v4.3.3.10, dann unteren Teil des NSPanelTs.ts ab:
                                    f2ca4f3b-1f5c-4312-b3c3-47d90c6a6410-image.png austauschen

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

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

                                    VG
                                    @TT-Tom & Armilar 😊

                                    M 1 Reply Last reply Reply Quote 1
                                    • M
                                      murki @Armilar last edited by

                                      Ich habe mein NSPAnbel mit iobroker/Lovelace soweit am Laufen und vieles sieht auch schon so aus, wie ich mir das vorstelle.
                                      Allerdings stehe ich etwas auf dem Schlauch, wie ich über den Aliasmanager und einem CardGrid einen "Szenenwähler" implementiere.
                                      Ich habe einen netshenden Datenpunkt mit den Werten 1 bis 6 die für jeweils eine Szene (z.B. aus, Kino, nur Licht, Party, etc.) stehen. Ich will das jetzt als einfaches Grid zum Auswählen auf dem NSPanel haben, wobei das Icon der aktiven Szene natürlich eine andere Farbe haben soll.

                                      ich habe jetzt versucht, sechs Aliase als Sockets anzulegen und bei "ACTUAL" den entsprechenden Datenpunkt und als Funktion (val==2) und entsprechend bei "SET" val=2 - allerdings setzt / liest er da nichts?!

                                      Vielleicht kann mich jemand mal in die richtige Richtung schubsen, wie man sowas umsetzen könnte, oder hat sogar ein Beispiel.

                                      BTW. @admin Dieser Thread sollte eigentlich ein eigenes Unterforum sein; so ist das Ganze recht unübersichtlich.

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

                                        @murki

                                        mit welcher Version arbeitest du?

                                        zeig doch mal was du schon gemacht hast. Von den Datenpunkten die Objektdaten, aus dem Script, die Pageconfig der Seite.

                                        M 1 Reply Last reply Reply Quote 1
                                        • M
                                          murki @TT-Tom last edited by murki

                                          Aktuell verwende ich noch V4.3.1.5 bei der letzten V4.3.3.9 bekomme ich beim Kompilieren diverse "Error: Cannot find module 'dayjs/locale/xx-xx'" Fehler.

                                          Die Seite ist so definiert:

                                          let NSPanel_Main = <PageGrid2>
                                          {
                                              'type': 'cardGrid2',
                                              'heading': 'Szene',
                                              'useColor': true,
                                              'items': [
                                                  <PageItem>{ id: 'alias.0.KG-Kino.Mode.Off', name: 'Aus' ,icon: 'lightbulb-off-outline', onColor: MSRed, offColor:MSYellow },
                                                  <PageItem>{ id: 'alias.0.KG-Kino.Mode.Light', name: 'Licht' ,icon: 'lightbulb-on-outline', onColor: MSRed, offColor:MSYellow },
                                                  <PageItem>{ id: 'alias.0.KG-Kino.Mode.PC', name: 'PC' ,icon: 'microsoft-windows', onColor: MSRed, offColor:MSYellow },
                                                  <PageItem>{ id: 'alias.0.KG-Kino.Mode.Cinema', name: 'Kino' ,icon: 'blinds', onColor: MSRed, offColor:MSYellow },
                                                  <PageItem>{ id: 'alias.0.KG-Kino.Mode.Wii', name: 'Wii' ,icon: 'nintendo-wii', onColor: MSRed, offColor:MSYellow },
                                                  <PageItem>{ id: 'alias.0.KG-Kino.Mode.Party', name: 'Party' ,icon: 'party-popper', onColor: MSRed, offColor:MSYellow },
                                              ]
                                          };
                                          

                                          Die Aliase sind wie folgt eingerichtet:

                                          alias.png

                                          Merkwürdig ist auch, dass er meckert, wenn ON_SET nicht existiert, obwohl hier steht, das für Socket eigentlich nur SET und ACTUAL relevant sind.
                                          Jedenfalls wird 0_userdata.0.Kinomode.val niemals gesetzt.

                                          Vermutlich ist mein Hauptproblem, dass ich den Alias-Manager noch nicht richtig verstanden habe...

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

                                            @murki

                                            ja - deshalb nutze ich auch den Gerätemanager...

                                            a1cc8217-4659-4a25-9b79-6c1aabd35ed5-image.png

                                            Der hat nur SET und ACTUAL und würde anschließend auch funktionieren...

                                            Du benötigst aber dann noch ein Script, welches die restlichen Schalter ausschaltet.

                                            04630222-4e81-4866-af51-46ab89fbfccd-Nextion_Editor_uqcnU7hgNo.gif

                                            könnte so aussehen

                                            Aktuell verwende ich noch V4.3.1.5 bei der letzten V4.3.3.9 bekomme ich beim Kompilieren diverse "Error: Cannot find module 'dayjs/locale/xx-xx'" Fehler.

                                            die letzte ist die v4.3.3.23 und die Beschreibung für einen Wechsel unter v4.3.3.10 steht immer unter den Versionsankündigungen

                                            EDIT:
                                            Das eigentliche Problem ist, das eigentlich ein Trigger auf die Schalter nie enden würde. Es sei denn, die sind komplett voneinander entkoppelt.

                                            Also schreibe ich über den Alias einen separaten Datenpunkt (Triggerpunkt) an, der dann numerisch 1-6 auswertet.

                                            71b2e73b-e329-48e5-b751-d115eea14282-image.png

                                            ein kleines Blockly setzt dann die Zustände entsprechend und könnte im weiteren Verlauf auch die Szenen steuern
                                            8b020c56-0062-4337-a30b-8d1e99704f5d-image.png

                                            f9840c5c-7caa-47a8-98b6-24f5efdcd534-image.png

                                            Unter Objekte habe ich den Alias so verändert, dass er unterschiedliche Datenpunkte bedient
                                            827a4bae-9839-4fcd-ac72-559c126cbdf7-image.png

                                            Also Schreiben (number) von 1-6 in den Szenentrigger und lesend (boolean) über Szene_1 - Szene_6

                                            EDIT2: Evtl. gibt es ja auch noch andere Ansätze?

                                            EDIT3: Dürfte mit deinen Datenpunkten dann so aussehen:
                                            f549ce30-d041-49b3-9315-934c1a0ddda6-Nextion_Editor_UrMZWUpXWg.gif

                                            M 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            758
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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