Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Sonoff NSPanel

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Sonoff NSPanel

Scheduled Pinned Locked Moved Hardware
1.5k Posts 78 Posters 636.4k Views 80 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K kptkip

    @tklein
    Wie sehen bei Dir die Geräte-Werte/Typen aus?

    Ich versuche einen ähnlichen Effekt zu erzielen. Momentan baue ich ein Grid mit Radiosender-Schaltern für mein Sonos. Generell tun die Schalter, aber den Aktiv-Status bekomme ich nicht hin.

    Ich habe ein beispielhaftes Device mal hier abgebildet:
    Bildschirmfoto 2022-09-08 um 11.32.49.png
    Die Idee:

    • Der erste Wert setzt den Sonos-Fovouriten auf ein String (definiert unter "fx" am ende der Zeile)
    • der zweite Wert soll den Status (spielt/spielt nicht) abbilden. Dazu habe ich ein Custom-field vom typ boolean eingerichtet und unter "State" eingebunden.

    Im Javascript sieht das so aus:

    <PageItem>{ id: "alias.0.NSPanel-Küche.Radio_CT", icon: "radio", offColor: Gray, onColor: LightBlue, name: "RadioCT", interpolateColor: true},
    

    Ist da ein Denkfehler drin - evtl. im Typ des Werts im Gerät?

    K Offline
    K Offline
    Kuckuckmann
    wrote on last edited by
    #1341

    @kptkip sagte in Sonoff NSPanel:

    @tklein
    Wie sehen bei Dir die Geräte-Werte/Typen aus?

    Ich versuche einen ähnlichen Effekt zu erzielen. Momentan baue ich ein Grid mit Radiosender-Schaltern für mein Sonos. Generell tun die Schalter, aber den Aktiv-Status bekomme ich nicht hin.

    Ich habe ein beispielhaftes Device mal hier abgebildet:
    Bildschirmfoto 2022-09-08 um 11.32.49.png
    Die Idee:

    • Der erste Wert setzt den Sonos-Fovouriten auf ein String (definiert unter "fx" am ende der Zeile)
    • der zweite Wert soll den Status (spielt/spielt nicht) abbilden. Dazu habe ich ein Custom-field vom typ boolean eingerichtet und unter "State" eingebunden.

    Im Javascript sieht das so aus:

    <PageItem>{ id: "alias.0.NSPanel-Küche.Radio_CT", icon: "radio", offColor: Gray, onColor: LightBlue, name: "RadioCT", interpolateColor: true},
    

    Ist da ein Denkfehler drin - evtl. im Typ des Werts im Gerät?

    Probier es mal mit dem Alias Typ Schloss: Alias TYP Schloss / Verschluss und dort den Indikator ACTUAL auf den Datenpunkt verlinken mit dem Boolean (true/false) und SET zum starten des Favoriten.
    Das müsste Dir helfen 😉

    NSPanel Dokumentation im GitHub Wiki:

    https://github.com/joBr99/nspanel-lovelace-ui/wiki

    K 1 Reply Last reply
    0
    • T Offline
      T Offline
      TT-Tom
      wrote on last edited by TT-Tom
      #1342

      @Kuckuckmann @Armilar

      Hi,

      ich habe das Abfallscript jetzt soweit erweitert, das es die notwendigen Datenpunkte überprüft und ggf. erstellt. Im Kopf müssen die Werte/Parameter eingestellt werden. man kann auch die Prüfung deaktivieren. Bitte das Script mal testen, wenn es funktioniert kommt es dann in die FAQ.

      /*
      Version 3.0 von TT-Tom
      das Script erstellt die Datenpunkte und Alias für den Abfallkalender im Sonoff NSPanel
      Es wird der iCal Adapter benötigt und eine URL mit Terminen vom Entsorger bzw. eine .ics-Datei mit den Terminen.
      gleichzeitig triggert das Script auf dem bereitgestellten JSON im iCal adapter und füllt die 0_userdata.0 Datenpunkte
      Weitere Informationen findest du in der FAQ auf Github https://github.com/joBr99/nspanel-lovelace-ui/wiki
      */
      
      const idAbfalliCal = 'ical.1'; // iCal Instanz zum Abfallkalender
      const idUserdataAbfallVerzeichnis = 'Abfallkalender'; // Name des Datenpunktverzeichnis unter 0_userdata.0 -> Strandard = Abfallkalender
      const idAliasPanelVerzeichnis = 'NSPanel1'; //Name des PanelVerzeichnis unter alias.0. Standard = NSPanel_1
      const idAliasAbfallVerzeichnis = 'Abfall'; //Name Verzeichnis unterhalb der idPanelverzeichnis  Standard = Abfall
      
      const idZeichenLoeschen = 14; // x Zeichen links vom String abziehen, wenn vor dem Eventname noch Text steht z.B. Strassenname; Standard = 0
      const idRestmuellName = 'Hausmüll'; // Schwarze Tonne
      const idWertstoffName = 'Gelber Sack'; // Gelbe Tonne / Sack
      const idPappePapierName = 'Papier';  // Blaue Tonne
      const idBioabfaelleName = 'Biomüll'; // Braune Tonne
      
      const idDPPruefung = true; // mit "false" wird die Prüfung der Datenpunkte in 0_userdata.0 und alias.0 ausgesetzt
      
      
      
      // ------------------------- Trigger zum füllen der 0_userdata Datenpunkte aus dem json vom ical Adapter -------------------------------
      var i, Muell_JSON, Event2, Color = 0;
      
      // Trigger auf iCal Instanz zur Json Tabelle
      on({ id: idAbfalliCal + '.data.table', change: "ne" }, async function () {
      
         for (i = 1; i <= 4; i++) {
             Muell_JSON = getState(idAbfalliCal + '.data.table').val;
      //        setStateDelayed((['0_userdata.0.' + idUserdataAbfallVerzeichnis + '.', parseFloat(i) + 1, '.date'].join('')), getAttr(Muell_JSON, (String(i) + '.date')), false, parseInt(((0) || "").toString(), 10), false);
             setState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.'+ parseFloat(i) + '.date', getAttr(Muell_JSON, (String(i-1) + '.date')));
             Event2 = subsequenceFromStartLast(getAttr(Muell_JSON, (String(i-1) + '.event')), idZeichenLoeschen);
      //        setStateDelayed((['0_userdata.0.' + idUserdataAbfallVerzeichnis + '.', parseFloat(i) + 1, '.event'].join('')), Event2, false, parseInt(((0) || "").toString(), 10), false);
             setState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.'+ parseFloat(i) + '.event', Event2);
             if (Event2 == idRestmuellName) {
                 Color = 33840;
             } else if (Event2 == idBioabfaelleName) {
                 Color = 2016;
             } else if (Event2 == idPappePapierName) {
                 Color = 31;
             } else if (Event2 == idWertstoffName) {
                 Color = 65504;
             }
      //        setStateDelayed((['0_userdata.0.' + idUserdataAbfallVerzeichnis + '.', parseFloat(i) + 1, '.color'].join('')), Color, false, parseInt(((0) || "").toString(), 10), false);
             setState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.'+ parseFloat(i) + '.color', Color);
         }
      });
      
      function subsequenceFromStartLast(sequence, at1) {
         var start = at1;
         var end = sequence.length;
         return sequence.slice(start, end);
      };
      // ------------------------------------- Ende Trigger ------------------------------------
      
      // ------------------------------------- Funktionen zur Prüfung und Erstellung der Datenpunkte in 0_userdata.0 und alias.0 -----------------------
      if (idDPPruefung) {
         checkUserdataState();
         checkAliasFolder();
         checkAliasChannel();
         checkAliasState();
      };
      // Prüfung und ggf. Erstellung der Datenpunkte unter 0_userdata.0
      function checkUserdataState() {
         for (i = 1; i <= 4; i++) {
             if (!existsState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.date')) {
                 log(i + '.date nicht vorhanden, wurde erstellt');
                 createState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.date', '',
                     {
                         name: parseFloat(i) + '.date',
                         role: 'state',
                         type: 'string',
                         read: true,
                         write: true,
                         def: ''
                     });
             };
             if (!existsState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.event')) {
                 log(i + '.event nicht vorhanden, wurde erstellt');
                 createState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.event', '',
                     {
                         name: parseFloat(i) + '.event',
                         role: 'state',
                         type: 'string',
                         read: true,
                         write: true,
                         def: ''
                     });
             };
             if (!existsState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.color')) {
                 log(i + '.color nicht vorhanden, wurde erstellt');
                 createState('0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.color', '',
                     {
                         name: parseFloat(i) + '.color',
                         role: 'state',
                         type: 'number',
                         read: true,
                         write: true,
                         def: 0
                     });
             };
         };
      };
      // Prüfung das Alias states vorhanden sind ggf. anlegen
      function checkAliasState() {
         for (i = 1; i <= 4; i++) {
             if (!existsState('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i + '.INFO')) {
                 log('Alias State event' + i + '.INFO nicht vorhanden');
                 createAliasState('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i + '.INFO', '0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.date', 'string', 'INFO', 'weather.title');
             }else{log('irgendwasgefunden')};
             if (!existsState('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i + '.LEVEL')) {
                 log('Alias State event' + i + '.LEVEL nicht vorhanden')
                 createAliasState('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i + '.LEVEL', '0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.color', 'number', 'LEVEL', 'value.warning');
             };
             if (!existsState('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i + '.TITLE')) {
                 log('Alias State event' + i + '.TITLE nicht vorhanden')
                 createAliasState('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i + '.TITLE', '0_userdata.0.' + idUserdataAbfallVerzeichnis + '.' + parseFloat(i) + '.event', 'string', 'TITLE', 'weather.title.short');
             };
         };
      
      };
      // Erstellt ein State unter Alias.0
      function createAliasState(idDst, idSrc, typeAlias, nameAlias, role) {
         var obj = {};
         obj.type = 'state';
         obj.common = getObject(idSrc).common;
         obj.common.alias = {};
         obj.common.alias.id = idSrc;
         obj.common.type = typeAlias;
         obj.common.name = nameAlias;
         obj.common.role = role;
         obj.native = {};
         setObject(idDst, obj, function () {
             setState(idSrc, getState(idSrc).val, true);
         });
      };
      // Prüfung das Alias Channel vorhanden sind ggf. anlegen
      function checkAliasChannel() {
         for (i = 1; i <= 4; i++) {
             if (!existsObject('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i)) {
                 log('Alias Channel ' + idAliasAbfallVerzeichnis + '.event' + i + ' nicht vorhanden');
                 createAliasChannel('alias.0.' + idAliasPanelVerzeichnis + '.' + idAliasAbfallVerzeichnis + '.event' + i, idAliasAbfallVerzeichnis + '.event' + i, 'warning');
             }
         }
      };
      // Erstellt ein Channel unter Alias.0
      function createAliasChannel(idDst, nameAlias, role) {
         var obj = {};
         obj.type = 'channel';
         obj.common = {};
         obj.common.name = {};
         obj.common.name.de = nameAlias;
         obj.common.role = role;
         obj.native = {};
         setObject(idDst, obj);
      };
      // Prüfung das Alias Folder vorhanden sind ggf. anlegen
      function checkAliasFolder() {
         if (!existsObject('alias.0.' + idAliasPanelVerzeichnis)) {
             log('Alias Folder ' + idAliasPanelVerzeichnis + ' nicht vorhanden');
             createAliasFolder('alias.0.' + idAliasPanelVerzeichnis, idAliasPanelVerzeichnis);
         };
      }
      // erstellt ein Folder unter Alias.0
      function createAliasFolder(idDst, nameAlias) {
         var obj = {};
         obj.type = 'folder';
         obj.common = {};
         obj.common.name = nameAlias;
         obj.native = {};
         setObject(idDst, obj);
      };
      // --------------------------- Ende Funktionen Datenpunkte ------------------------------------------------
      
      
      
      

      Gruß Tom
      https://github.com/tt-tom17
      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

      NSPanel Script Wiki
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      NSPanel Adapter Wiki
      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

      J 1 Reply Last reply
      0
      • K Kuckuckmann

        @tklein sagte in Sonoff NSPanel:

        @tklein ich habe es mittlerweile so umgesetzt:

        var Pir_innen: PageGrid =
        {
            "type": "cardGrid",
            "heading": "Pir Innen",
            "useColor": true,
            "subPage": true,
            "parent": Overview_Sensors,
            "items": [
                <PageItem>{ id: "alias.0.Sensoren.PIR_Küche", name: "Küche", interpolateColor: true, icon: "motion-sensor", offColor: MSGreen, onColor: MSRed},
                <PageItem>{ id: "alias.0.Sensoren.PIR_Bad", name: "Bad", interpolateColor: true, icon: "motion-sensor", offColor: MSGreen, onColor: MSRed},
                <PageItem>{ id: "alias.0.Sensoren.PIR_Flur_oben", name: "Flur oben", interpolateColor: true, icon: "motion-sensor", offColor: MSGreen, onColor: MSRed},
                <PageItem>{ id: "alias.0.Sensoren.PIR_Schlafzimmer", name: "Schlafzimmer", interpolateColor: true, icon: "motion-sensor", offColor: MSGreen, onColor: MSRed},
                <PageItem>{ id: "alias.0.Sensoren.PIR_Ankleide", name: "Ankleide", interpolateColor: true, icon: "motion-sensor", offColor: MSGreen, onColor: MSRed},
                <PageItem>{ id: "alias.0.Sensoren.PIR_Gäste_WC", name: "Gäste WC", interpolateColor: true, icon: "motion-sensor", offColor: MSGreen, onColor: MSRed}
                
            ]
        };
        
        

        Die entsprechenden Aliase habe ich als Steckdose angelegt.

        So sieht es auf dem Display aus. Bei Küche war der Wert "true"

        6aca80da-20cc-4a0c-9069-d86a675c0cda-grafik.png

        Kann ich die Icon je nach Zustand (false/true) im display wechseln lassen? Z.B. von motion-sensor nach motion-sensor-off.
        Bei Verwendung von icon2 gibt es bei mir immer eine Fehlermeldung

        Probier es mal mit Alias Typ Schloss und den passenden Feldern. Das könnte gehen.

        UPDATE: Alias TYP Schloss / Verschluss und dort nur den Indikator ACTUAL auf den Datenpunkt verlinken. Dann bekommst Du genau das was Du willst.

        T Offline
        T Offline
        tklein
        wrote on last edited by
        #1343

        @kuckuckmann besten dank. mit dem icon2 habe ich es jetzt auch hinbekommen. Sieht für mich schon gut aus.

        <PageItem>{ id: "alias.0.Sensoren.PIR_Küche", name: "Küche", interpolateColor: true, icon: "motion-sensor", icon2: "motion-sensor-off", offColor: MSGreen, onColor: MSRed},
        
        K 1 Reply Last reply
        0
        • T tklein

          @kuckuckmann besten dank. mit dem icon2 habe ich es jetzt auch hinbekommen. Sieht für mich schon gut aus.

          <PageItem>{ id: "alias.0.Sensoren.PIR_Küche", name: "Küche", interpolateColor: true, icon: "motion-sensor", icon2: "motion-sensor-off", offColor: MSGreen, onColor: MSRed},
          
          K Offline
          K Offline
          Kuckuckmann
          wrote on last edited by
          #1344

          @tklein sagte in Sonoff NSPanel:

          @kuckuckmann besten dank. mit dem icon2 habe ich es jetzt auch hinbekommen. Sieht für mich schon gut aus.

          <PageItem>{ id: "alias.0.Sensoren.PIR_Küche", name: "Küche", interpolateColor: true, icon: "motion-sensor", icon2: "motion-sensor-off", offColor: MSGreen, onColor: MSRed},
          

          Freut mich 🙂

          NSPanel Dokumentation im GitHub Wiki:

          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          1 Reply Last reply
          0
          • T Offline
            T Offline
            tklein
            wrote on last edited by tklein
            #1345

            Hi,

            hat sonst noch jemand das Problem, dass er bei der PageThermo die Temperatur durch Klick nicht erhöhen kann?
            Minimieren klappt bei mir. Will nicht hoffen, dass das Display an der Stelle kein Touch erkennt.

            var Badezimmer_Thermostat: PageThermo = 
            {
                "type": "cardThermo",
                "heading": "Badezimmer Thermostat",
                "useColor": true,
                "subPage": false,
                "parent": undefined,
                "items": [<PageItem>{ id: "alias.0.Thermostate.Bad_Thermostat", minValue: 0, maxValue: 40}]
            };
            

            8cb10c3a-d3bf-4d80-8276-cbca7f2d4d64-grafik.png

            T 1 Reply Last reply
            0
            • T tklein

              Hi,

              hat sonst noch jemand das Problem, dass er bei der PageThermo die Temperatur durch Klick nicht erhöhen kann?
              Minimieren klappt bei mir. Will nicht hoffen, dass das Display an der Stelle kein Touch erkennt.

              var Badezimmer_Thermostat: PageThermo = 
              {
                  "type": "cardThermo",
                  "heading": "Badezimmer Thermostat",
                  "useColor": true,
                  "subPage": false,
                  "parent": undefined,
                  "items": [<PageItem>{ id: "alias.0.Thermostate.Bad_Thermostat", minValue: 0, maxValue: 40}]
              };
              

              8cb10c3a-d3bf-4d80-8276-cbca7f2d4d64-grafik.png

              T Offline
              T Offline
              tklein
              wrote on last edited by tklein
              #1346

              @tklein said in Sonoff NSPanel:

              Hi,

              hat sonst noch jemand das Problem, dass er bei der PageThermo die Temperatur durch Klick nicht erhöhen kann?
              Minimieren klappt bei mir. Will nicht hoffen, dass das Display an der Stelle kein Touch erkennt.

              Ich sehe gerade, dass der Mode eine Pflichtangabe sein muss. Was soll da drinstehen? Mich wundert, dass das Switch/Power kein Pflichtfeld ist.

              K 1 Reply Last reply
              0
              • T tklein

                @tklein said in Sonoff NSPanel:

                Hi,

                hat sonst noch jemand das Problem, dass er bei der PageThermo die Temperatur durch Klick nicht erhöhen kann?
                Minimieren klappt bei mir. Will nicht hoffen, dass das Display an der Stelle kein Touch erkennt.

                Ich sehe gerade, dass der Mode eine Pflichtangabe sein muss. Was soll da drinstehen? Mich wundert, dass das Switch/Power kein Pflichtfeld ist.

                K Offline
                K Offline
                Kuckuckmann
                wrote on last edited by Kuckuckmann
                #1347

                @tklein
                Probier mal bei Mode das gleiche wie bei SET.
                Ansonsten poste mal einen Screen von den DP deines Thermostates.
                Aber eigentlich ist ACTUAL für die Temperatureinstellung, würde ich sagen.

                NSPanel Dokumentation im GitHub Wiki:

                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                T 1 Reply Last reply
                0
                • K Kuckuckmann

                  @tklein
                  Probier mal bei Mode das gleiche wie bei SET.
                  Ansonsten poste mal einen Screen von den DP deines Thermostates.
                  Aber eigentlich ist ACTUAL für die Temperatureinstellung, würde ich sagen.

                  T Offline
                  T Offline
                  tklein
                  wrote on last edited by
                  #1348

                  @kuckuckmann

                  3145a518-6b79-40ba-aebc-bd8cc99b9b34-grafik.png

                  und

                  1d71f54d-0d54-4cd2-ba03-493339328b83-grafik.png

                  K 1 Reply Last reply
                  0
                  • T tklein

                    @kuckuckmann

                    3145a518-6b79-40ba-aebc-bd8cc99b9b34-grafik.png

                    und

                    1d71f54d-0d54-4cd2-ba03-493339328b83-grafik.png

                    K Offline
                    K Offline
                    Kuckuckmann
                    wrote on last edited by
                    #1349

                    @tklein
                    Ich glaube fast das könnte ein Bug sein. Ich kann die Temp. auch nicht nach oben korrigieren.

                    NSPanel Dokumentation im GitHub Wiki:

                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    T 2 Replies Last reply
                    0
                    • K Kuckuckmann

                      @tklein
                      Ich glaube fast das könnte ein Bug sein. Ich kann die Temp. auch nicht nach oben korrigieren.

                      T Offline
                      T Offline
                      tklein
                      wrote on last edited by
                      #1350

                      @kuckuckmann said in Sonoff NSPanel:

                      @tklein
                      Ich glaube fast das könnte ein Bug sein. Ich kann die Temp. auch nicht nach oben korrigieren.

                      müssen eh enegiekosten sparen, also dann lieber nur nach unten 🙂

                      1 Reply Last reply
                      0
                      • K Kuckuckmann

                        @tklein
                        Ich glaube fast das könnte ein Bug sein. Ich kann die Temp. auch nicht nach oben korrigieren.

                        T Offline
                        T Offline
                        tklein
                        wrote on last edited by
                        #1351

                        @kuckuckmann said in Sonoff NSPanel:

                        @tklein
                        Ich glaube fast das könnte ein Bug sein. Ich kann die Temp. auch nicht nach oben korrigieren.

                        Nee, das ist kein Bug. Das Min/Max Value muss mit dem Faktor 10 angegeben werden. Sprich Max Temp soll 23 möglich sein, muss der Wert 230 sein

                        1 Reply Last reply
                        0
                        • K Kuckuckmann

                          @kptkip sagte in Sonoff NSPanel:

                          @tklein
                          Wie sehen bei Dir die Geräte-Werte/Typen aus?

                          Ich versuche einen ähnlichen Effekt zu erzielen. Momentan baue ich ein Grid mit Radiosender-Schaltern für mein Sonos. Generell tun die Schalter, aber den Aktiv-Status bekomme ich nicht hin.

                          Ich habe ein beispielhaftes Device mal hier abgebildet:
                          Bildschirmfoto 2022-09-08 um 11.32.49.png
                          Die Idee:

                          • Der erste Wert setzt den Sonos-Fovouriten auf ein String (definiert unter "fx" am ende der Zeile)
                          • der zweite Wert soll den Status (spielt/spielt nicht) abbilden. Dazu habe ich ein Custom-field vom typ boolean eingerichtet und unter "State" eingebunden.

                          Im Javascript sieht das so aus:

                          <PageItem>{ id: "alias.0.NSPanel-Küche.Radio_CT", icon: "radio", offColor: Gray, onColor: LightBlue, name: "RadioCT", interpolateColor: true},
                          

                          Ist da ein Denkfehler drin - evtl. im Typ des Werts im Gerät?

                          Probier es mal mit dem Alias Typ Schloss: Alias TYP Schloss / Verschluss und dort den Indikator ACTUAL auf den Datenpunkt verlinken mit dem Boolean (true/false) und SET zum starten des Favoriten.
                          Das müsste Dir helfen 😉

                          K Offline
                          K Offline
                          kptkip
                          wrote on last edited by
                          #1352

                          @kuckuckmann said in Sonoff NSPanel:

                          Probier es mal mit dem Alias Typ Schloss: Alias TYP Schloss / Verschluss und dort den Indikator ACTUAL auf den Datenpunkt verlinken mit dem Boolean (true/false) und SET zum starten des Favoriten.
                          Das müsste Dir helfen 😉

                          Das hat geklappt. Vielen Dank!

                          Jetzt muss ich nur noch ein Blockly zusammen bauen, dass mir pro Button noch anhand des Inhalts von favourites_set von SONOS den Status toggelt. Im Groben klappt das auch schon, ist nur noch nicht schön 😉

                          N 1 Reply Last reply
                          0
                          • K kptkip

                            @kuckuckmann said in Sonoff NSPanel:

                            Probier es mal mit dem Alias Typ Schloss: Alias TYP Schloss / Verschluss und dort den Indikator ACTUAL auf den Datenpunkt verlinken mit dem Boolean (true/false) und SET zum starten des Favoriten.
                            Das müsste Dir helfen 😉

                            Das hat geklappt. Vielen Dank!

                            Jetzt muss ich nur noch ein Blockly zusammen bauen, dass mir pro Button noch anhand des Inhalts von favourites_set von SONOS den Status toggelt. Im Groben klappt das auch schon, ist nur noch nicht schön 😉

                            N Offline
                            N Offline
                            niiccooo1
                            wrote on last edited by
                            #1353

                            @kptkip
                            Kurze Frage: Nutzt du Spotify samt Adapter?

                            K 1 Reply Last reply
                            0
                            • N niiccooo1

                              @kuckuckmann
                              Kein Problem. 😉

                              Um die Media Card zu erstellen habe ich folgende Schritte durchgeführt.

                              1. Alias-Manager installiert
                              2. Im Alias-Manager auf Alias Automatisch erstellen klicken
                              3. Hier nun den jeweiligen kompletten Ordner auswählen (Alexa: alexa2.0.Echo-Devices.GXXXXXXXX.Player; Spotify: spotify-premium.0.player)
                              4. Der Alias-Adapter erstellt nun die Aliase, jedoch nicht mit den richtigen Bezeichnungen für die jeweiligen Datenpunkte.
                                Anbei ein Screenshot mit den korrekten Bezeichnungen.

                              Alexa:
                              3bea878d-908d-46ec-b192-af4cc4bf54ae-image.png

                              Spotify:
                              f77def15-9e75-4853-958a-09619e8023b1-image.png

                              Für die MediaCard anschließend Pfad vom Alias-Ordner angeben.

                              Fertig!

                              K Offline
                              K Offline
                              kptkip
                              wrote on last edited by
                              #1354

                              @niiccooo1 said in Sonoff NSPanel:
                              Hab noch ne Ergänzung dazu - die Anpassung an SONOS.

                              Alexa:
                              3bea878d-908d-46ec-b192-af4cc4bf54ae-image.png

                              Spotify:
                              f77def15-9e75-4853-958a-09619e8023b1-image.png

                              SONOS:
                              Bildschirmfoto 2022-09-08 um 18.38.40.png

                              Was man allerdings noch anpassen muss ist der Wert für VOLUME. Der muss in einen String konvertiert werden - geht aber auch in der Gerätekonfig:
                              Bildschirmfoto 2022-09-08 um 18.35.46.png

                              Dann kann man sowohl SONOS Radiostationen als auch Spotify-Songs/Alben über SONOS steuern.

                              1 Reply Last reply
                              1
                              • N niiccooo1

                                @kptkip
                                Kurze Frage: Nutzt du Spotify samt Adapter?

                                K Offline
                                K Offline
                                kptkip
                                wrote on last edited by kptkip
                                #1355

                                @niiccooo1 said in Sonoff NSPanel:

                                @kptkip
                                Kurze Frage: Nutzt du Spotify samt Adapter?

                                Hab ich probiert, hat mich aber nur genervt. Ich mach das über SONOS (s.o. 😉 )

                                M 1 Reply Last reply
                                1
                                • K Kuckuckmann

                                  @ts sagte in Sonoff NSPanel:

                                  @jobr99 sagte in Sonoff NSPanel:

                                  Bzgl. Kalender du kannst statt dem Wetter Benachrichtigungen anzeigen, da könnte man also den nächsten Termin anzeigen.

                                  Super, danke dir.
                                  Das habe ich jetzt hinbekommen und so passt mir das. erstmal😬

                                  Würdest Du mir einen Screenshot und ggf. die Konfiguration zur Verfügung stellen?

                                  T Offline
                                  T Offline
                                  TS
                                  wrote on last edited by
                                  #1356

                                  @kuckuckmann sagte in Sonoff NSPanel:

                                  @ts sagte in Sonoff NSPanel:

                                  @jobr99 sagte in Sonoff NSPanel:

                                  Bzgl. Kalender du kannst statt dem Wetter Benachrichtigungen anzeigen, da könnte man also den nächsten Termin anzeigen.

                                  Super, danke dir.
                                  Das habe ich jetzt hinbekommen und so passt mir das. erstmal😬

                                  Würdest Du mir einen Screenshot und ggf. die Konfiguration zur Verfügung stellen?

                                  Hi, ja das würde ich.
                                  Momentan komm ich nur grad nicht dazu, weil ich querbeet probiere was mit Script und Tasmota alles so möglich ist... (das ist ja eben ne Menge)
                                  ...heute hab ich den verbauten Buzzer erfolgreich in Betrieb genommen für jeden Bildschirm-click 😊

                                  1 Reply Last reply
                                  0
                                  • K kptkip

                                    @niiccooo1 said in Sonoff NSPanel:

                                    @kptkip
                                    Kurze Frage: Nutzt du Spotify samt Adapter?

                                    Hab ich probiert, hat mich aber nur genervt. Ich mach das über SONOS (s.o. 😉 )

                                    M Offline
                                    M Offline
                                    manrum1
                                    wrote on last edited by manrum1
                                    #1357

                                    Hallo zusammen,
                                    habe heute alle Adapter upgedated (aus latest) installiert. Nun stürtzt meine Javascript Instanz ab. Grund dafür sind die beiden Type-Scripts für das ns-panel. Sobald ich nur eines (icon_mappings in global) enable stützt Javascript Adapter mit der Fehlermeldung: instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION) ab.
                                    Vor dem Update lief noch alles, gibt´s bei euch ähnliche Probleme?

                                    N T 2 Replies Last reply
                                    0
                                    • M manrum1

                                      Hallo zusammen,
                                      habe heute alle Adapter upgedated (aus latest) installiert. Nun stürtzt meine Javascript Instanz ab. Grund dafür sind die beiden Type-Scripts für das ns-panel. Sobald ich nur eines (icon_mappings in global) enable stützt Javascript Adapter mit der Fehlermeldung: instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION) ab.
                                      Vor dem Update lief noch alles, gibt´s bei euch ähnliche Probleme?

                                      N Offline
                                      N Offline
                                      niiccooo1
                                      wrote on last edited by
                                      #1358

                                      @manrum1
                                      Durch das icon_mapping TypeScript ist bei mir der Adapter auch abgestürzt.
                                      Armilar hat das icon_mapping für JavaScript erstellt welches in den globalen Ordner eingefügt werden muss.

                                      Seit dem funktioniert es.

                                      M 1 Reply Last reply
                                      0
                                      • M manrum1

                                        Hallo zusammen,
                                        habe heute alle Adapter upgedated (aus latest) installiert. Nun stürtzt meine Javascript Instanz ab. Grund dafür sind die beiden Type-Scripts für das ns-panel. Sobald ich nur eines (icon_mappings in global) enable stützt Javascript Adapter mit der Fehlermeldung: instance system.adapter.javascript.0 terminated with code 6 (UNCAUGHT_EXCEPTION) ab.
                                        Vor dem Update lief noch alles, gibt´s bei euch ähnliche Probleme?

                                        T Offline
                                        T Offline
                                        tklein
                                        wrote on last edited by
                                        #1359

                                        @manrum1 kannst den Adapter manuell auf v6.0.1 updaten. Dann klappt es wieder

                                        M 1 Reply Last reply
                                        0
                                        • N niiccooo1

                                          @manrum1
                                          Durch das icon_mapping TypeScript ist bei mir der Adapter auch abgestürzt.
                                          Armilar hat das icon_mapping für JavaScript erstellt welches in den globalen Ordner eingefügt werden muss.

                                          Seit dem funktioniert es.

                                          M Offline
                                          M Offline
                                          manrum1
                                          wrote on last edited by
                                          #1360

                                          @niiccooo1 Danke für die Info, wo finde ich das modifizierte file?

                                          ArmilarA 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          608

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe