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 @muuulle last edited by

      @muuulle

      Ich warteee immer noch auf die Config aus dem Script 😊

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

        @armilar

        Sorry, hier nachgereicht. Vollkommen Standard 😀

        Kann das Skript Auswirkungen auf die Kommunikation haben?

        
        /***********************************************************************
         **                                                                   **
         **                           Configuration                           **
         **                                                                   **
         ***********************************************************************/
        
        export const config: Config = {
            panelRecvTopic: 'mqtt.0.SmartHome.NSPanel_1.tele.RESULT',       // Bitte anpassen
            panelSendTopic: 'mqtt.0.SmartHome.NSPanel_1.cmnd.CustomSend',   // Bitte anpassen
        
            // 4 kleine Icons im Screensaver
            // Mit 3.9.0 neue Parameter - Bitte anpassen - siehe auch Wiki
            firstScreensaverEntity:   { ScreensaverEntity: 'accuweather.0.Hourly.h0.PrecipitationProbability',
                                        ScreensaverEntityFactor: 1,                                 //New
                                        ScreensaverEntityDecimalPlaces: 0,                          //New 
                                        ScreensaverEntityIcon: 'weather-pouring', 
                                        ScreensaverEntityText: 'Regen', 
                                        ScreensaverEntityUnitText: '%', 
                                        ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100} 
                                      },
            secondScreensaverEntity:  { ScreensaverEntity: 'accuweather.0.Current.WindSpeed', 
                                        ScreensaverEntityFactor: (1000/3600),                       //New
                                        ScreensaverEntityDecimalPlaces: 1,                          //New 
                                        ScreensaverEntityIcon: 'weather-windy', 
                                        ScreensaverEntityText: "Wind", 
                                        ScreensaverEntityUnitText: 'm/s', 
                                        ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 35} 
                                      },
            thirdScreensaverEntity:   { ScreensaverEntity: 'accuweather.0.Current.UVIndex',
                                        ScreensaverEntityFactor: 1,                                 //New
                                        ScreensaverEntityDecimalPlaces: 0,                          //New  
                                        ScreensaverEntityIcon: 'solar-power', 
                                        ScreensaverEntityText: 'UV', 
                                        ScreensaverEntityUnitText: '', 
                                        ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 9} 
                                      },
            fourthScreensaverEntity:  { ScreensaverEntity: 'accuweather.0.Current.RelativeHumidity', 
                                        ScreensaverEntityFactor: 1,                                 //New
                                        ScreensaverEntityDecimalPlaces: 0,                          //New 
                                        ScreensaverEntityIcon: 'water-percent', 
                                        ScreensaverEntityText: 'Luft', 
                                        ScreensaverEntityUnitText: '%', 
                                        ScreensaverEntityIconColor: {'val_min': 0, 'val_max': 100, 'val_best': 65} 
                                      },
        
            // Indikator Icons im oberen Teil des Screensavers
            // Mit 3.9.0 neue Parameter - Bitte anpassen - siehe auch Wiki
            mrIcon1ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER1', 
                                        ScreensaverEntityIconOn: 'lightbulb',                           //Rename
                                        ScreensaverEntityIconOff: null, 
                                        ScreensaverEntityValue: null,                                   //New
                                        ScreensaverEntityValueDecimalPlace : 0,                         //New
                                        ScreensaverEntityValueUnit: null,                               //New
                                        ScreensaverEntityOnColor: On, 
                                        ScreensaverEntityOffColor: HMIOff },
            mrIcon2ScreensaverEntity: { ScreensaverEntity: 'mqtt.0.SmartHome.NSPanel_1.stat.POWER2', 
                                        ScreensaverEntityIconOn: 'heat-wave',
                                        ScreensaverEntityIconOff: null, 
                                        ScreensaverEntityValue: NSPanel_Path + 'Sensor.ANALOG.Temperature',
                                        ScreensaverEntityValueDecimalPlace : 1,
                                        ScreensaverEntityValueUnit: '°', 
                                        ScreensaverEntityOnColor: MSRed, 
                                        ScreensaverEntityOffColor: Yellow },
        
            weatherEntity: 'alias.0.Wetter',    // Dieser Alias wird automatisch für den gewählten Wetter erstellt und kann entsprechend angepasst werden
            defaultOffColor: Off,               // Default-Farbe für Off-Zustände
            defaultOnColor: On,                 // Default-Farbe für On-Zustände
            defaultColor: Off,
            defaultBackgroundColor: HMIDark,    // Default-Hintergrundfarbe HMIDark oder Black
        
            // Mit 3.9.0 in Datenpunkte verschoben. Auch über Service Pages konfigurierbar
                //alternativeScreensaverLayout: false,
                //autoWeatherColorScreensaverLayout: true,
                //timeoutScreensaver: 10,
                //screenSaverDoubleClick: true,
                //temperatureUnit: '°C',
                //locale: 'de-DE',                    
        
            pages: [
        	    Buero_Seite_1,          //Beispiel-Seite
                    WLED,                   //Beispiel-Seite
                    Radiosender,            //Beispiel-Seite
                    SensorGrid,             //Beispiel-Seite
                    //CardLChartExample,      //Beispiel-Seite
                    //CardChartExample,       //Beispiel-Seite
                    //CardPowerExample,       //Beispiel-Seite
                    //SqueezeboxRPC,          //Beispiel-Seite
                    //Sonos,                  //Beispiel-Seite
                    //SpotifyPremium,         //Beispiel-Seite
                    //Alexa,                  //Beispiel-Seite
                    Buero_Seite_2,          //Beispiel-Seite
                    Buero_Klimaanlage,      //Beispiel-Seite 
                    Button_1,               //Beispiel-Seite
                    Test_Licht1,            //Beispiel-Seite
                    Test_Licht2,            //Beispiel-Seite
                    Test_Funktionen,        //Beispiel-Seite    
                    Fenster_1,              //Beispiel-Seite
                    Subpages_1,             //Beispiel-Seite
                    Buero_Themostat,        //Beispiel-Seite
                    Buero_Alarm,            //Beispiel-Seite
        	    
                    NSPanel_Service         //Auto-Alias Service Page
            ],
            subPages: [
        	        Abfall,                                 //Beispiel-Unterseite
                        WLAN,                                   //Beispiel-Unterseite
        	    
                        NSPanel_Infos,                          //Auto-Alias Service Page
                            NSPanel_Wifi_Info_1,                //Auto-Alias Service Page
                            NSPanel_Wifi_Info_2,                //Auto-Alias Service Page
                            NSPanel_Sensoren,                   //Auto-Alias Service Page
                            NSPanel_Hardware,                   //Auto-Alias Service Page
                        NSPanel_Einstellungen,                  //Auto-Alias Service Page
                            NSPanel_Screensaver,                //Auto-Alias Service Page
                                NSPanel_ScreensaverDimmode,     //Auto-Alias Service Page
                                NSPanel_ScreensaverOther,       //Auto-Alias Service Page
                                NSPanel_Weather,                //Auto-Alias Service Page
                                NSPanel_Dateformat,             //Auto-Alias Service Page
                                NSPanel_Indicators,             //Auto-Alias Service Page
                                NSPanel_Relays,                 //Auto-Alias Service Page
                        NSPanel_Firmware,                       //Auto-Alias Service Page
                            NSPanel_FirmwareTasmota,            //Auto-Alias Service Page
                            NSPanel_FirmwareBerry,              //Auto-Alias Service Page
                            NSPanel_FirmwareNextion,            //Auto-Alias Service Page
            ],
            button1Page: button1Page,   //Beispiel-Seite auf Button 1, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null, 
            button2Page: button2Page    //Beispiel-Seite auf Button 2, wenn Rule2 definiert - Wenn nicht definiert --> button1Page: null,
        };
        
        // _________________________________ Ab hier keine Konfiguration mehr _____________________________________
        
        
        Armilar 1 Reply Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @muuulle last edited by

          @muuulle

          Eigentlich hat die Config einen ebenso großen Anteil daran 😉

          Sieht aber soweit ganz okay aus...

          Da das Script bereits in den Custom Send schreibt, gehe ich davon aus, dass der Rest beim abbonieren der Topics von Tasmota dann ebenfalls funktionieren wird.

          Also aktuelles Problem besteht noch in der Kommunikation zwischen Tasmota und dem MQTT-Adapter.

          Wie aktuell ist dein System?
          Frage mal nodeJS ab...

          M 2 Replies Last reply Reply Quote 0
          • M
            muuulle @Armilar last edited by

            @armilar

            pi@pi-broker:~ $ node -v
            v16.19.0
            
            1 Reply Last reply Reply Quote 0
            • M
              muuulle @Armilar last edited by muuulle

              @armilar
              Auf der Suche nach der Ursache bin ich hier drüber gestolpert.

              Ist das richtig?
              FAEDBF3B-87D9-4E99-BCE7-D7C938396AE2.jpeg

              631892F4-A9D7-4D87-9B16-F6FFD4D798E9.jpeg

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

                @niiccooo1
                0b49a0d2-03e1-4ac0-9f37-8df3bd325628-image.png

                Der Funktioniert. Mache mir immer noch Gedanken darüber, warum du nicht alle Datenpunkte im Alias hast. Das alte Script zum Anlegen benutzt du hoffentlich nicht mehr?

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

                  @muuulle

                  f8853af1-d904-4a3d-8241-8f078e3fa23b-image.png

                  Ist bei mir so, wobei Syslog-Host die IP vom ioBroker ist

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

                    @armilar

                    Dein DNS ist wirklich abweichend vom Gateway?

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

                      Doppelpost

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

                        @armilar
                        Ja, hier läuft ein lokaler DNS (mit PiHole). Das dürfte MQTT nicht tangieren. Der Port wird dort nicht verwendet und geblockt wird laut Log nichts.

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

                          @armilar Ist deaktiviert

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

                            @muuulle

                            Also bis auf den DNS, User (klar) und Port (bei mir 1886) ist es bei mir identisch.

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

                              @niiccooo1

                              Das sind die Datenpunkte, die für den Media-Alias angelegt werden. Also das hat unten noch Repeat und Shuffle. Versuche die mal im Media selbst zu verdrahten. Eigentlich kann das nicht, dass die nicht mit angelegt wurden, da im gleichen Block...

                              if (adapterPlayerInstance == 'spotify-premium.0.') {
                                          if (existsObject(id) == false){
                                              console.log('Spotify Alias ' + id + ' does not exist - will be created now');
                              
                                              let dpPath: string = adapterPlayerInstance;
                                              try {
                                                  setObject(id, {_id: id + 'player', type: 'channel', common: {role: 'media', name:'media'}, native: {}});
                                                  await createAliasAsync(id + '.ACTUAL', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'value.volume', name: 'ACTUAL' });
                                                  await createAliasAsync(id + '.ALBUM', dpPath + 'player.album', true, <iobJS.StateCommon>{ type: 'string', role: 'media.album', name: 'ALBUM' });
                                                  await createAliasAsync(id + '.ARTIST', dpPath + 'player.artistName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.artist', name: 'ARTIST' });
                                                  await createAliasAsync(id + '.TITLE', dpPath + 'player.trackName', true, <iobJS.StateCommon>{ type: 'string', role: 'media.title', name: 'TITLE' });
                                                  await createAliasAsync(id + '.CONTEXT_DESCRIPTION', dpPath + 'player.contextDescription', true, <iobJS.StateCommon>{ type: 'string', role: 'media.station', name: 'CONTEXT_DESCRIPTION' });
                                                  await createAliasAsync(id + '.NEXT', dpPath + 'player.skipPlus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.next', name: 'NEXT' });
                                                  await createAliasAsync(id + '.PREV', dpPath + 'player.skipMinus', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.prev', name: 'PREV' });
                                                  await createAliasAsync(id + '.PLAY', dpPath + 'player.play', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.play', name: 'PLAY' });
                                                  await createAliasAsync(id + '.PAUSE', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.pause', name: 'PAUSE' });
                                                  await createAliasAsync(id + '.STOP', dpPath + 'player.pause', true, <iobJS.StateCommon>{ type: 'boolean', role: 'button.stop', name: 'STOP' });
                                                  await createAliasAsync(id + '.STATE', dpPath + 'player.isPlaying', true, <iobJS.StateCommon>{ type: 'boolean', role: 'media.state', name: 'STATE' });
                                                  await createAliasAsync(id + '.VOLUME', dpPath + 'player.volume', true, <iobJS.StateCommon>{ type: 'number', role: 'level.volume', name: 'VOLUME' });
                                                  await createAliasAsync(id + '.REPEAT', dpPath + 'player.repeat', true, <iobJS.StateCommon>{ type: 'string', role: 'value', name: 'REPEAT' });
                                                  await createAliasAsync(id + '.SHUFFLE', dpPath + 'player.shuffle', true, <iobJS.StateCommon>{ type: 'string', role: 'value', name: 'SHUFFLE' });
                                              
                                              } catch (err) {
                                                  console.warn('function createAutoMediaAlias: ' + err.message);
                                              }
                                          }
                                      }
                              
                              N 1 Reply Last reply Reply Quote 0
                              • M
                                muuulle @Armilar last edited by

                                @armilar
                                Danke für deine Mühen.

                                Sollte dir noch etwas einfallen, gerne mitteilen. Ich werde morgen Abend den kleinen nochmal neu mit Tasmota bespielen - vielleicht hilft das ja.

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

                                  @muuulle

                                  Ja, einmal das komplette Programm. Der Berry-Driver ist okay? Sonst den auch mal wegwerfen und erneuern. Sollte aber mit dem MQTT eigentlich nichts zu tun haben... Male eine andere Instanz vom MQTT-Adapter versucht?

                                  M 2 Replies Last reply Reply Quote 0
                                  • M
                                    muuulle @Armilar last edited by muuulle

                                    @armilar
                                    Eine zweite Instanz probierte ich noch nicht. Das werde ich zunächst noch ausprobieren.

                                    Ein Hardware Thema vom NSPanel kann aber ausgeschlossen werden. MQTT kommuniziert über WLAN. Oder?

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

                                      @muuulle

                                      Ja, ganz normal über WLAN. Da du das Panel ja erreichen kannst, sollte das passen. Gibt aber auch Parameter im Tasmota, mit denen man die Kommunikation von MQTT unterbrechen kann.

                                      c6644606-0e89-4def-b936-eef18e95d34f-image.png

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

                                        @armilar
                                        Ich lege den Alias mal selber an. Was für ein Geräte-Typ soll ich dafür verwenden?

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          BumBum last edited by

                                          Hallo zusammen, ich verwende das NSPanel mit ioBroker und hab auch die Aktuelle Version des TFT Treibers und auch die aktuelle Verson des Skripts (TypeScript v3.9.0.1).
                                          Ich habe das Problem, dass bei mir einige Datenpunkte nicht angezeigt werden. Beispielsweise ist die Seite "Dimmode (1)" (NSPanel_ScreensaverDimmode), komplett leer. Die Aliase und die Datenpunkte sind aber da. Auch fehlt die Anzeige der SSID auf der Seite NSPanel_Wifi_Info_2. Wie kann das sein? Hab ich was übersehen? Alle anderen Seiten funktionieren soweit.

                                          Schon mal danke für die Hilfe.

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

                                            @wendy2702 sagte in SONOFF NSPanel mit Lovelace UI:

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

                                            @wendy2702

                                            Das kommt von der Config. Das sind die Icon im Screensaver. Dort steht Standard accuwetter drin. Du musst diese 4 Icon anpassen an daswetter.

                                            javascript - iobroker.png.png

                                            Danke.

                                            Werde ich morgen machen.

                                            Frage an die "DasWetter" Nutzer.

                                            Welche DPs habt ihr hier angegeben?

                                            Z.B.: Eine Regenwahrscheinlichkeit in % liefert Das Wetter ja nicht oder übersehe ich den Wert in den Objekten?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            586
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            261
                                            7171
                                            4851756
                                            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