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.
    • T
      TT-Tom @ticaki last edited by

      @ticaki
      war eine schwere Geburt, aber so gehts Glücklich ins neue Jahr 😊

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

        ACHTUNG ACHTUNG

        die Version 4.3.3.27 hat ein Bug in der inSelPop Funktion. Wir ziehen die Version jetzt zurück auf V4.3.3.26. wer schon das Update durchgeführt hat greift auf sein Backup zurück oder lädt im laufe des Tages die alte Version von Github zurück.

        Wie kann ich das Update / Rücksprung durchführen?

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

        // _________________________________ DE: Ab hier keine Konfiguration mehr _____________________________________
        // _________________________________ EN:  No more configuration from here _____________________________________
        

        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
        @Armilar & TT-Tom 😊

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

          @tt-tom

          Hier ist die v4.3.3.26 - für den Fallback

          https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/aeaa995a0a6e424ddd8ede248f2596b380a96a44/ioBroker/NsPanelTs.ts

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

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

            @ticaki
            war eine schwere Geburt, aber so gehts Glücklich ins neue Jahr 😊

            Hätte ich nicht alles über Skripte gelöst, wäre ich sicherlich zu faul gewesen um im M Ordner mehr als ACTUAL anzulegen.

            Danke für die Geduld.

            Wegen der zu langen Aliase komme ich damit schon an die Grenze: alias.0.NSPanel.1.usr.Temperatur.G.Kinderzimmer_1

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

              @ticaki

              Die langen Aliase sollten eigentlich bald Geschichte sein...

              Wir nehmen jetzt eine andere eindeutige ID zur Übermittlung. Leider hatte die Auswirkungen auf das inSel-Popup

              Daher jetzt das Downgrade auf die v4.3.3.26
              232276cf-b3ac-4580-84b8-9f619481b635-image.png

              Mit der v4.3.3.28 (wir informieren, wenn die bereitsteht) werden auch "sehr lange Aliase" möglich sein...

              1 Reply Last reply Reply Quote 2
              • T
                ticaki Developer last edited by ticaki

                Einen weiteren Verbesserungsvorschlag:
                Mein MQTT-Adapter läuft als Client und der Port Check gibt da ne unnötige Warnung aus. Hab keine Lust das jedesmal selbst einzufügen 🙂

                                        let mqttInstance = adapterArray.indexOf(instanceName);
                                        
                                        const mqttConfig = getObject(`system.adapter.${adapterArray[mqttInstance]}`)
                                        if (mqttConfig && mqttConfig.native && mqttConfig.native.type == 'client') {
                                            log('- MQTT-Port-Check OK: Instance of Adapter: ' +adapterArray[mqttInstance] + ' is running as client!','info');
                                        } else {
                                            for (let j: number = 1; j < portArray.length; j++) {
                                                if (portArray[j] == portArray[mqttInstance] && adapterArray[j] == adapterArray[mqttInstance]) {
                                                    log('- MQTT-Port-Check OK: Instance of Adapter: ' + adapterArray[j] + ' is running on Port:' + portArray[j], 'info');
                                                } else if (portArray[j] == portArray[mqttInstance] && adapterArray[j] != adapterArray[mqttInstance]) {     
                                                    log('Instance of Adapter: ' + adapterArray[j] + ' is running on same Port:' + portArray[j] + ' as ' + adapterArray[mqttInstance], 'warn');
                                                    log('Please Change Port of Instance: ' + adapterArray[j], 'warn');
                                                }
                                            }
                                        }
                                        log('End MQTT-Port-Check ---------------------------------------','info');
                

                Scheinbar ist instanceName das selbe wie adapterArray[mqttInstance]

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

                  @ticaki

                  habe es mit in die DEV aufgenommen...

                  War heute mit ordentlich mit dem Fix beschäftigt - da habe ich rechts und links nichts mehr bemerkt 😀

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

                    @armilar

                    👍

                    Hab auch ein bissle hinbekommen:
                    Klimanalge ist steuerbar (mit 2 set)
                    Fenster offen über 3 Menüs anzeigbar dabei ist mir jedoch ein "Fehler" aufgefallen... ist auf jeden Fall komisch. Die Reaktion der Icons unterscheidet sich.

                    let ObergeschossWindow = <PageGrid>{
                        'type': 'cardGrid',
                        'heading': 'Menü',
                        'useColor': true,
                        'subPage': true,
                        'parent': MenuGrid,
                        'items': [
                            <PageItem>{ navigate: true, targetPage: 'WohnzimmerWindow', id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Wohnzimmer.room', onColor: MSGreen, offColor: MSRed, icon2:'window-open-variant', icon: 'window-closed-variant' },
                            <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Schlafzimmer.room', onColor: MSGreen, offColor: MSRed},
                            <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Bad.room', onColor: MSGreen, offColor: MSRed},
                        ]};
                    

                    Beim ersten PageItem muss ich die Icons vorgeben weil dort false/true für Icons umgereht wird. Betrifft auch die andern window in denen ich navigate/targetPage nutze

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

                      @ticaki

                      Bei dem Wert true wird Windowopen dargestellt.
                      Wenn der Channel von Typ window ist brauchst du keine Icon und Farbe angeben, das übernimmt das Script für dich in beiden Fällen. (Navi und Standard).

                      Siehe dir mal im Script die Function CreateEntity an.
                      Es wird der Channel Typ ausgewertet und die Datenpunkte darunter (z.B.ACTUAL)

                      PageItem>{ navigate: true, targetPage: 'WohnzimmerWindow', id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Wohnzimmer.room', useColor: true },
                              <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Schlafzimmer.room', useColor: true},
                              <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Bad.room', useColor: true },
                          ]};
                      

                      Also die „room“ müssen Channel Typ window sein und darunter ein Datenpunkt ACTUAL Typ boolean.
                      Dann sollte es mit dem PageItem funktionieren.

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

                        @tt-tom

                        Ich hab mal ein Bild gemacht mit folgenden einstellungen. Vielleicht verstehst du es dann besser:

                        Fenster sind alle zu!

                        'items': [
                                <PageItem>{ navigate: true, targetPage: 'WohnzimmerWindow', id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Wohnzimmer.room', onColor: MSGreen, offColor: MSRed, icon2:'window-open-variant', icon: 'window-closed-variant' },
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Schlafzimmer.room', onColor: MSGreen, offColor: MSRed},
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Bad.room', onColor: MSGreen, offColor: MSRed},
                            ]};
                        

                        IMG_0244.jpeg

                        'items': [
                                <PageItem>{ navigate: true, targetPage: 'WohnzimmerWindow', id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Wohnzimmer.room', onColor: MSGreen, offColor: MSRed },
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Schlafzimmer.room', onColor: MSGreen, offColor: MSRed},
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Bad.room', onColor: MSGreen, offColor: MSRed},
                            ]};
                        

                        IMG_0245.jpeg

                        Das Icon bei Wohnzimmer ist offen

                        Jetzt ohne navigate

                        'items': [
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Wohnzimmer.room', onColor: MSGreen, offColor: MSRed },
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Schlafzimmer.room', onColor: MSGreen, offColor: MSRed},
                                <PageItem>{ id: 'alias.0.NSPanel.1.usr.Fenster.Obergeschoss.Bad.room', onColor: MSGreen, offColor: MSRed},
                            ]};
                        

                        IMG_0246.jpeg

                        Odner sehe in dem Bereich so aus: (BUTTONTEXT hab ich im Code gefunden, das verhalten war aber schon vorher so)

                        Bildschirmfoto 2023-12-30 um 01.53.08.png

                        Es geht ja für mich, wundert mich nur wieso das durch navigate das icon von auf zu zu wechselt

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

                          @ticaki

                          Guten Morgen,

                          ja kann ich bestätigen, werden wir anpassen, damit die Logik stimmt.

                          folgende Codezeilen müssen in der Function CreateEntity angepasst werden

                                                  case 'window':
                                                      iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-closed') : Icons.GetIcon('window-closed-variant');
                                                      iconId2 = pageItem.icon2 !== undefined ? Icons.GetIcon(pageItem.icon2) : o.common.role == 'door' ? Icons.GetIcon('door-open') : Icons.GetIcon('window-open-variant');
                           
                                                      buttonText = pageItem.buttonText !== undefined ? pageItem.buttonText : existsState(pageItem.id + '.BUTTONTEXT') ? getState(pageItem.id + '.BUTTONTEXT').val : 'PRESS';
                                                      if (existsState(pageItem.id + '.COLORDEC')) {
                                                          iconColor = getState(pageItem.id + '.COLORDEC').val;
                                                      } else {
                                                          if (val === true || val === 'true') {
                                                              iconColor = GetIconColor(pageItem, true, useColors);
                                                          } else {
                                                              iconColor = GetIconColor(pageItem, false, useColors);
                                                          }
                                                      }
                                                      if (val === true || val === 'true') { iconId = iconId2 };                       
                                                      break;
                           
                          

                          und im zweiten Teil

                                          case 'window':
                                              type = 'text';
                                              let windowState;
                           
                                              if (existsState(pageItem.id + '.ACTUAL')) {
                                                  if (getState(pageItem.id + '.ACTUAL').val) {
                                                      iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-open') : Icons.GetIcon('window-open-variant');
                                                      iconColor = GetIconColor(pageItem, true, useColors);
                                                      windowState = findLocale('window', 'opened');
                                                  } else {
                                                      iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-closed') : Icons.GetIcon('window-closed-variant');
                                                      iconId = pageItem.icon2 !== undefined ? Icons.GetIcon(pageItem.icon2) : iconId;
                                                      iconColor = GetIconColor(pageItem, false, useColors);
                                                      windowState = findLocale('window', 'closed');
                                                  }
                                              }
                           
                                              if (Debug) log('CreateEntity Icon role door/window ~' + type + '~' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + name + '~' + windowState, 'info');
                                              return '~' + type + '~' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + name + '~' + windowState;
                          
                          

                          Danke für die Info. Ich mach jetzt mal die Augen zu, bis nachher 😴

                          T 1 Reply Last reply Reply Quote 2
                          • T
                            ticaki Developer @TT-Tom last edited by

                            @tt-tom

                            Danke, kann bestätigen das ACTUAL == true jetzt durchgehend für on* steht

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

                              Noch was, ich hab mir ein Skript geschrieben, das mir die Datenpunkte/Aliase zu Fenster offen erstellt und diese aktualisiert. Wenn das jemand gebrauchen kann https://github.com/ticaki/iobroker-skript-sammlung/blob/main/NS_Panel_Windows.ts

                              Ist nicht sehr schön oder benutzerfreundlich. Wenns aber jemand verwenden will, investiere ich da gerne noch mehr Zeit um es "schick" zu machen. Für mich reicht es so. 🙂

                              K T 2 Replies Last reply Reply Quote 3
                              • K
                                Kuckuckmann @ticaki last edited by

                                @ticaki
                                Hey @ticaki ,

                                vielen Dank für das Angebot. Wenn Du es noch bissel schick machst, dann kann ich es gerne mit einer entsprechenden Beschreibung in unsere Wiki im Bereich Skripte und Anleitungen hinzufügen.

                                LG

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

                                  @ticaki

                                  ich habe ein Blockly mal erstellt und Trigger auf ACTUAL mit einem Selektor.

                                  c5e613b2-ba1f-4b6e-bd6f-48d10cec4ee6-image.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                   <variables>
                                     <variable id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</variable>
                                     <variable id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</variable>
                                     <variable id="9/yJg%I-v6N#IQN8st6m">i</variable>
                                   </variables>
                                   <block type="on_ext" id="U::/4wmI3}Z@$SKGvvg=" x="88" y="63">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id="7Ap7C6jIj.Mb{_iqs{{c">
                                         <field name="oid">default</field>
                                       </shadow>
                                       <block type="selector" id="96E5N_xE!C=N626d0a_!">
                                         <field name="TEXT">alias.0.Fenster.*.ACTUAL</field>
                                       </block>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="variables_set" id="o,82sN(nBal}d`S@FhlR">
                                         <field name="VAR" id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="];3BCyF%j]5d6+iW7SW4">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="^tJ|0)6.8hOKTt~3bSY9">
                                             <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                             <value name="VALUE">
                                               <block type="math_number" id=")NrEP9EVPkpU]lvaOIow">
                                                 <field name="NUM">0</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_forEach" id="zvEO{_Dt/YKLr5SA*4qm">
                                                 <field name="VAR" id="9/yJg%I-v6N#IQN8st6m">i</field>
                                                 <value name="LIST">
                                                   <block type="selector" id="`nXP$958BtmgM?C9iXJ,">
                                                     <field name="TEXT">alias.0.Fenster.*.ACTUAL</field>
                                                   </block>
                                                 </value>
                                                 <statement name="DO">
                                                   <block type="controls_if" id="|Tcfi[X*+Z+I^XU`W}c!">
                                                     <value name="IF0">
                                                       <block type="get_value_var" id="B+{iQL0J8Uf/auyLg4;o">
                                                         <field name="ATTR">val</field>
                                                         <value name="OID">
                                                           <shadow type="text" id="nv_xNDwj^vZd(VS@iL;U">
                                                             <field name="TEXT">i</field>
                                                           </shadow>
                                                           <block type="variables_get" id="-R.oMz[v.gJ{a/*nGZsC">
                                                             <field name="VAR" id="9/yJg%I-v6N#IQN8st6m">i</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="math_change" id="%GBC0#O-FVUS`64Eg8Li">
                                                         <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                                         <value name="DELTA">
                                                           <shadow type="math_number" id="O`wb$_E?4FjD*66Z.#Gz">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="math_number" id="Z0%Qp}aXwh|l3tUTm:KU">
                                                             <field name="NUM">1</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="-%h(cYD!_^|7$j1?7-a;">
                                                             <field name="VAR" id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</field>
                                                             <value name="VALUE">
                                                               <block type="logic_boolean" id="JyKdvLU=OeWD@`O7AQVi">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </statement>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="update" id="VyzVl0%MBx@R,H+HEEGI">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.NSPanel.Allgemein.Fenster.Anzahl_offene</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="convert_tostring" id="p[AN%(l=kC~8Cq!%kyQy">
                                                         <value name="VALUE">
                                                           <block type="variables_get" id="d`73i^f,-$v2QCbRQy$g">
                                                             <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="update" id="v2F]Z/TZY!PunG*kfkwO">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                         <field name="OID">0_userdata.0.NSPanel.Allgemein.Fenster.Status_offene</field>
                                                         <field name="WITH_DELAY">FALSE</field>
                                                         <value name="VALUE">
                                                           <block type="variables_get" id=",$^vy#7#dLe!?DtT8N|U">
                                                             <field name="VAR" id="`3q~tn|]r(LvC{19,zEY">Status_offeneFenster</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="debug" id="M({M!_ScK2[_^j=8BB,k">
                                                             <field name="Severity">log</field>
                                                             <value name="TEXT">
                                                               <shadow type="text" id="mzN-~@]E)uw@:W_};^IK">
                                                                 <field name="TEXT">test</field>
                                                               </shadow>
                                                               <block type="text_join" id="fj*OT/+j;9m96a+a?y|Z">
                                                                 <mutation items="3"></mutation>
                                                                 <value name="ADD0">
                                                                   <block type="variables_get" id="])A_QS+y+K{m/p[dOVM$">
                                                                     <field name="VAR" id="1#Xk,SKr8Zq2_0q?X|J9">offeneFenster</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD1">
                                                                   <block type="text" id="XEdD(OQYXlXrVeP1Bw|k">
                                                                     <field name="TEXT"> Fenster offen </field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="ADD2">
                                                                   <block type="on_source" id="]/!CU#MQ~Ci#!Y]o1~BA" disabled="true">
                                                                     <field name="ATTR">id</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                  </xml>
                                  

                                  die Ordnerstruktur sieht bei mir so aus
                                  22e26016-ea88-49aa-ad62-bb0ab0feaa39-image.png

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

                                    @tt-tom

                                    Das Skript sucht per Selektor die Fenster und baut dann das hier, incl Stockwerk und Räumen.
                                    Die nimmt es aus der enum id für den raum "enum.rooms.Haus.second_floor" ist das Stockwerk. "enum.rooms.Haus.second_floor.Bad" ist der Raum.
                                    Den Namen nimmt es auf adapter.0.diesemDatenpunkt. Den Sensoren müssen Räumen und Funktionen zugewiesen sein:Bildschirmfoto 2023-12-30 um 18.24.32.png

                                    Bildschirmfoto 2023-12-30 um 18.22.17.png

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

                                      @ticaki

                                      für die User ist es immer gut, wenn das Script alle Arbeit abnimmt und die Config sich in Grenzen hält. Persönlich bin ich eher der Bastler und teste hier intensiv. Schön das du unsere Crew hier so gut unterstützt. Danke nochmal.

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

                                        Update - v4.3.3.28

                                        3af08d6c-ab02-41a4-af1b-f98d6231d5af-image.png

                                        • Durch Änderung des Payload, sollte das Problem mit zu langen Alias Verzeichnissen und daraus resultierenden langen Zeichenketten behoben sein. Es ist trotzdem sinnvoll die Verzeichnisse kurz zuhalten, statt Erdgeschoss -> EG oder Schlafzimmer -> SZ nutzen.
                                        • Fix: Die Icons des Fenster-Alias sind von der Logik gedreht
                                        • Es wird beim Port-Check berücksichtigt, wenn ein MQTT-Client installiert ist
                                        • Fix: Der Fallback, wenn ein Name nicht im Alias vorhanden ist, wurde erweitert

                                        Wie kann ich das Update durchführen?

                                        Wenn aktuelle Version ab v4.3.3.10, 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.9, dann Updateaneitung befolgen:
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki/NSPanel-Starthilfe-FAQ#hilfe-bei-update--upgrade

                                        🎆 🍾 Wir wünschen euch allen einen guten Rutsch ins neue Jahr 2024 🍾 🎆

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

                                        D 1 Reply Last reply Reply Quote 4
                                        • O
                                          OlliGut last edited by OlliGut

                                          Hallo zusammen,
                                          ich würde gerne meine Bose Soundtouch mit dem NSPanel steuern. Ich habe auf dem IOBroker den Soundtouch Adapter installiert und eine Instanz angelegt. Da es die vorkonfigurierten MediaCards nur für Sonos, Alexa etc gibt. wollte ich einfach eine Standard-MediaCard nutzen.

                                          let Bose = <PageMedia>
                                          {
                                              "type": "cardMedia",
                                              "heading": "Bose",
                                              "useColor": true,
                                              "items": [<PageItem>{   
                                                          id: AliasPath + 'Media.Bose', 
                                                          adapterPlayerInstance: "bosesoundtouch.0.",
                                                          mediaDevice: "192.168.178.32",
                                                          speakerList: ["Wohnzimmer"],
                                                          colorMediaIcon: colorSpotify,
                                                          colorMediaArtist: Yellow,
                                                          colorMediaTitle: Yellow,
                                                          autoCreateALias : true
                                                       }]
                                          };
                                          

                                          Aber schon ein erster Versuch schlägt fehl: "Cannot read properties of undefined (reading 'id')"
                                          Was eigentlich logisch ist, weil es den Pfad unter Alias auch nicht gibt; allerdings wird er auch nicht angelegt, obwohl ich das Autoanlegen aktiviert habe.
                                          Hat vielleicht jemand so einen Adapter bereits gebaut und könnte mir etwas helfen, oder wie sollte ich vorgehen, wenn ich das selber machen müsste?
                                          Für einen Tipp bedanke ich mich im Voraus und wünsche allen schonmal einen guten Rutsch.
                                          Gruß Olli

                                          T 1 Reply Last reply Reply Quote 0
                                          • D
                                            DerT Forum Testing @Armilar last edited by

                                            Hallo Zusammen,

                                            ich hab das ganze mal Testweise bei mir aufgebaut und eine Frage zu den Hardware Buttons.

                                            Irgendwie steig ich beim Beispiel nicht ganz durch..

                                            //-------EN: Start Settings for Hardware Button, if used in software (Rule2) --------------------------------------
                                                // DE: Konfiguration des linken Schalters des NSPanels
                                                // EN: Configuration of the left switch of the NSPanel
                                                button1: {
                                                    // DE: Mögliche Werte wenn Rule2 definiert: 'page', 'toggle', 'set' - Wenn nicht definiert --> mode: null
                                                    // EN: Possible values if Rule2 defined: 'page', 'toggle', 'set' - If not defined --> mode: null
                                                    mode: 'page',
                                                    // DE: Zielpage - Verwendet wenn mode = page
                                                    // EN: Target page - Used if mode = page
                                                    page: null,
                                                    // DE: Zielentity - Verwendet wenn mode = set oder toggle
                                                    // EN: Target entity - Used if mode = set or toggle
                                                    entity: null,
                                                    // DE: Zielwert - Verwendet wenn mode = set
                                                    // EN: Target value - Used if mode = set
                                                    setValue: null
                                                },
                                            
                                                // DE: Konfiguration des rechten Schalters des NSPanels
                                                // EN: Configuration of the right switch of the NSPanel
                                                button2: {
                                                    mode: null,
                                                    page: null,
                                                    entity: null,
                                                    setValue: null
                                                },
                                            //--------- DE: Ende - Einstellungen für Hardware Button, wenn Sie softwareseitig genutzt werden (Rule2) -------------
                                            
                                            

                                            Gibt es dazu noch irgendwo was im Wiki das ich nicht gefunden habe? Die Regel habe ich eingestellt.
                                            Konkret habe ich zwei Szenarien die ich gerne mal testen würde.

                                            1. Mit den Buttons durch die Menüs navigieren
                                            2. Temperatur an einem Thermostat reduzieren bzw. erhöhen.
                                            T 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            776
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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