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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

      @niiccooo1

      Muss mir kurz den Code ansehen, wo es irgendwo Abhängigkeiten gibt.

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

        @armilar
        Hier der Alias

        let SpotifyPremium = <PageMedia> 
        {
            'type': 'cardMedia',
            'heading': 'Spotify-Premium',
            'useColor': true,
            'subPage': false,
            'parent': undefined,
            'items': [<PageItem>{ 
                        id: AliasPath + 'Media.PlayerSpotifyPremium', 
                        adapterPlayerInstance: 'spotify-premium.0.',
                        speakerList: ['HM4P'],
                        //Favoriten Playlists aus Spotify in Liste eintragen 
                        playList: ['Remixes 2023 🔥 Best Popular Songs Remixed 🔥 Best Remixes & EDM Hits 2022 / 2023','This Is VIZE','Rock Party','Dance Covers','Dein Mixtape 1'],
                        repeatList: ['off','context','track'],
                        equalizerList: ['Bassboost','Klassik','Dance', 'Deep', 'Electronic', 'Flat', 'Hip-Hop', 'Rock', 
                                        'Metal', 'Jazz', 'Latin', 'Tonstärke', 'Lounge', 'Piano'],
                        colorMediaIcon: colorSpotify,
                        colorMediaArtist: Yellow,
                        colorMediaTitle: Yellow,
                        autoCreateALias : true
                     }]
            };
        
        Armilar 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            861
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            265
                                            7324
                                            5071698
                                            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