Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Sonoff NSPanel

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Sonoff NSPanel

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      gritrasq @gritrasq last edited by

      @gritrasq Problem 1 ist gelöst. Das "ACTUAL" darf nicht mit dran und wenn man den Punkt beim Löschen ünersieht, dann geht das auch nicht. Sorry.

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

        @gritrasq sagte in Sonoff NSPanel:

        @gritrasq Problem 1 ist gelöst. Das "ACTUAL" darf nicht mit dran und wenn man den Punkt beim Löschen ünersieht, dann geht das auch nicht. Sorry.

        Zunächst einmal "herzlich Willkommen". Für genau das ist der Thread ja gedacht.

        Es gab seit dem Video eine kleine Änderung. Der icons im Screensaver werden jetzt über die Datenpunkte gesteuert.

        unter 0_usderdata.0.NSPanelX.ScreensaverInfo...
        49313e80-ba16-42c0-8b29-0bedc9dea97e-image.png

        über den weatherForecastTimer wird festgelegt, ob es einen minütlichen Wechsel des weatherForecast geben soll. Wenn also weatherForecastTimer = true ist, dann wechselt weatherForecast jede Minute von true nach false.

        Lösung: weatherForecastTimer = false

        Ich denke der Alias Punkt ist erledigt und das war noch offen, oder gibt es nach wie vor noch ein Problem?

        Und echt kein Problem - das Skript ist mega-komplex. Man müsste mittlerweile ein Buch schreiben um alles beschreiben zu können

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

          @niiccooo1 sagte in Sonoff NSPanel:

          @armilar Verstehe zwar nur Bahnhof, aber ich habe da vollstes Vertrauen in dich 😄

          Nun mal etwas zu Bahnhof:

          Das ist dein neuer case 'speaker-sel':

                  case 'speaker-sel':
          
                      var strDeviceID = spotifyGetDeviceID(words[4]);
                      setState("spotify-premium.0.devices." + strDeviceID + ".useForPlayback", true);
          /*
                      let i_list = Array.prototype.slice.apply($('[state.id="' + alexaInstanz + '.Echo-Devices.*.Info.name"]'));
                      for (let i_index in i_list) {
                          let i = i_list[i_index];
                          if ((getState(i).val) === words[4]) {
                              let deviceId = i;
                              deviceId = deviceId.split('.');
                              setIfExists(alexaInstanz + '.Echo-Devices.' + alexaDevice + '.Commands.textCommand', 'Schiebe meine Musik auf ' + words[4]);
                              alexaDevice = deviceId[3];
                          }
                      }
          */
                      break;
          

          und das ist eine Funktion die du irgendwo in den Code kopieren musst:

          function spotifyGetDeviceID(vDeviceString) {
              const availableDeviceIDs = getState("spotify-premium.0.devices.availableDeviceListIds").val;
              const availableDeviceNames = getState("spotify-premium.0.devices.availableDeviceListString").val;
              var arrayDeviceListIds = availableDeviceIDs.split(";");
              var arrayDeviceListSting = availableDeviceNames.split(";");
              var indexPos = arrayDeviceListSting.indexOf(vDeviceString);
              var strDevID = arrayDeviceListIds[indexPos];
              return strDevID;
          }
          

          Ich habe die jetzt fast am Ende unter der function rgb_to_cie(red, green, blue) platziert.

          Teste mal, ob das für dich funktioniert. Falls ja, kann ich da noch ein paar Parameter in den pageItem setzten (wahlweise Alexa oder Spotify oder dynamisch über was ist da und wird abgespielt oder wer weiß auch immer was... 😉 )

          Zumindest könnte man dem Panel die Entscheidung über Spotify und/oder Alexa überlassen

          Ach ja: Für den Test sollte in dem TS-Array etwas drinstehen

          // Wenn alexaSpeakerList definiert, dann werden Einträge verwendet, sonst alle relevanten Devices aus Alexa-Instanz
          // Speakerwechsel funktioniert nicht bei Radio/TuneIn sondern bei Playlists
          const alexaSpeakerList = [
              'TV Wohnzimmer',
              'Echo Dot 4 weiß',
              'HP30P'
          ];
          

          Und abschließend:
          Nicht die Pfeiltaste löst die Aktion aus. Die sorgt nur dafür, das du die Speaker wechseln kannst. Zur Auswahl (Also für die Wechselaktion) musst du dann auf den ausgewählten "Speaker-Namen" klicken!

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

            @armilar
            Ich bin begeistert 😄

            Die Auswahl und das Abspielen auf den einzelnen Geräten funktioniert tadellos.

            Mir fällt nur auf, dass wenn ich einen Lied weiter gehe, der Titel , Artist usw. erst aktualisiert wird, wenn ich die Anzeige wechsle oder das Panel aus dem Standby wecke.

            Auch steht beim aktuellen Gerät "null" blau hinterlegt d.h. ich sehe wenn das Panel aus dem Standby geweckt nicht auf welchen Speaker er gerade streamt.
            EDIT:
            Habe noch folgende Passage unter in die GenerateMediaPage diesen Part

             let currentSpeaker = getState(([alexaInstanz, '.Echo-Devices.', alexaDevice, '.Info.name'].join(''))).val;
            

            gegen

            let currentSpeaker = getState(([spotifyInstanz, '.player.device.name'].join(''))).val; 
            

            ausgetauscht

            Die Idee mit dem Wechsel zwischen Alexa und Spotify finde ich gut.
            Viele werden sicherlich auch Sonossysteme oder ähnliches im Haus haben. Da weiß ich nicht ob diese über den Alexa Adapter gesteuert werden können.

            Armilar K 2 Replies Last reply Reply Quote 0
            • N
              niiccooo1 @Armilar last edited by niiccooo1

              @armilar
              Da würde ich auch mal gerne meinen Senf dazu geben.

              Ich habe den "0_userdata.0.NSPanel.1.ScreensaverInfo.weatherForecastTimer" ebenfalls auf false stehen.
              Stelle ich den Datenpunkt "0_userdata.0.NSPanel.1.ScreensaverInfo.weatherForecast" auf false, springt dieser pünktlich zur halben Minute auf true und kehrt nicht wieder zurück.

              Woran kann das liegen?

              Vielen Dank schonmal.

              EDIT:

              async function InitWeatherForecast() {
                  //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
                  if (existsState(NSPanel_Path + "ScreensaverInfo.weatherForecast") == false || existsState(NSPanel_Path + "ScreensaverInfo.weatherForecastTimer") == false) {
                      await createStateAsync(NSPanel_Path + "ScreensaverInfo.weatherForecast", true, { type: 'boolean' });
                      await createStateAsync(NSPanel_Path + "ScreensaverInfo.weatherForecastTimer", true, { type: 'boolean' });
                  };
              
              Armilar 1 Reply Last reply Reply Quote 1
              • M
                monarc last edited by

                Hallo zusammen, klasse Arbeit von @Armilar und der Community hier im Thread. Danke schon mal an dieser Stelle.

                Hätte jemand Zeit und Lust das einrichten der Media Card im Detail zu beschreiben? gerne für Alexa und auch Radio. Hab absolut keine Idee was im Alias Manager zu tun und einzustellen ist.

                Sollte es eine solche Anleitung hier im Thread übersehen haben tut es mir leid und ich würde mich über einen Hinweis freuen.

                Vielen Dank im Voraus und einen schönen Abend noch....

                VG
                Marc

                Armilar 1 Reply Last reply Reply Quote 0
                • Jens Wozny
                  Jens Wozny @Armilar last edited by

                  @armilar Danke für den Tipp! Genau nach sowas hatte ich gesucht und ja, ich gebe es zu, ich habe das Script auch auf meine Sonoff Touch angewendet 😉 .
                  Ich habe mir zum Script noch den Hold Befehl dazu gepackt, um bei 1x Licht an und bei Hold Licht aus, sowie bei der Rollo Steuerung dann 1x Ab und 2x Auf sowie Hold für Stop zu realisieren. Für die anderen fällt mir bestimmt auch was ein, aber es muss ja alles Kollegenfreundlich sein und von der Frau abgesegnet werden ✌ .
                  Was mich wundert, bei einem ist der Hold Befehl bei 1 Sekunde halten, was ja auch perfekt ist, die anderen haben alle gefühlt 5 Sekunden Haltezeit.
                  Da gibt es bestimmt noch eine Stellschraube zum Justieren nehme ich an, die ich aber in der Anleitung von Tasmota irgendwo nicht finde.

                  Gruß Jens

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

                    @monarc sagte in Sonoff NSPanel:

                    Hallo zusammen, klasse Arbeit von @Armilar und der Community hier im Thread. Danke schon mal an dieser Stelle.

                    Hätte jemand Zeit und Lust das einrichten der Media Card im Detail zu beschreiben? gerne für Alexa und auch Radio. Hab absolut keine Idee was im Alias Manager zu tun und einzustellen ist.

                    Sollte es eine solche Anleitung hier im Thread übersehen haben tut es mir leid und ich würde mich über einen Hinweis freuen.

                    Vielen Dank im Voraus und einen schönen Abend noch....

                    VG
                    Marc

                    Hallo Marc,

                    Der Media-Alias ist eigentlich der komplexeste und dafür der einfachste Alias. Ich habe den im April 2022 das erste mal erstellen können. Bis heute ist das auch der einfachste Weg. Der ist im aktuellen Skript für Alexa vorhanden und funktioniert mit Radio (TuneIn), Playlists, etc. (Alles was Alexa so kann)

                    https://forum.iobroker.net/post/792794

                    War damals noch eher Jugend forscht... 😉

                    PS.: @Kuckuckmann macht aktuell eine FAQ. Die wächst und ist ziemlich cool...
                    https://forum.iobroker.net/topic/50888/sonoff-nspanel/1212

                    Da ist unter anderem der Punkt 6 Alias Definitionen drin. Ist eine Tabelle in der der Media Alias auch enthalten ist. Einfach das Ergebnis vergleichen. Ich konnte den nach der Erstellung im Geräte-Manager noch erweitern/verändern.

                    Ich denke, die kann auch irgendwann in die github Wiki - in separate Punkte geschnitten. Aber aktuell wächst die noch hier...

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

                      @jens-wozny sagte in Sonoff NSPanel:

                      @armilar Danke für den Tipp! Genau nach sowas hatte ich gesucht und ja, ich gebe es zu, ich habe das Script auch auf meine Sonoff Touch angewendet 😉 .
                      Ich habe mir zum Script noch den Hold Befehl dazu gepackt, um bei 1x Licht an und bei Hold Licht aus, sowie bei der Rollo Steuerung dann 1x Ab und 2x Auf sowie Hold für Stop zu realisieren. Für die anderen fällt mir bestimmt auch was ein, aber es muss ja alles Kollegenfreundlich sein und von der Frau abgesegnet werden ✌ .
                      Was mich wundert, bei einem ist der Hold Befehl bei 1 Sekunde halten, was ja auch perfekt ist, die anderen haben alle gefühlt 5 Sekunden Haltezeit.
                      Da gibt es bestimmt noch eine Stellschraube zum Justieren nehme ich an, die ich aber in der Anleitung von Tasmota irgendwo nicht finde.

                      Gruß Jens

                      Hallo Jens,

                      Ja, das ist doch perfekt - dann hat es mindestens einem etwas gebracht.

                      Das kann man bestimmt irgendwo im Tasmota einstellen, wüsste aktuell aber nicht wo. Wenn ich drüber stolpere, teile ich es noch mit. Tasmota ist im laufe der Jahre auch echt mächtig geworden. Ansonsten direkt mal Theo Arends oder Blakadder fragen. Die wissen das bestimmt sofort.

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

                        @niiccooo1 sagte in Sonoff NSPanel:

                        @armilar
                        Da würde ich auch mal gerne meinen Senf dazu geben.

                        Ich habe den "0_userdata.0.NSPanel.1.ScreensaverInfo.weatherForecastTimer" ebenfalls auf false stehen.
                        Stelle ich den Datenpunkt "0_userdata.0.NSPanel.1.ScreensaverInfo.weatherForecast" auf false, springt dieser pünktlich zur halben Minute auf true und kehrt nicht wieder zurück.

                        Woran kann das liegen?

                        Vielen Dank schonmal.

                        EDIT:

                        async function InitWeatherForecast() {
                            //----Möglichkeit, im Screensaver zwischen Accu-Weather Forecast oder selbstdefinierten Werten zu wählen---------------------------------
                            if (existsState(NSPanel_Path + "ScreensaverInfo.weatherForecast") == false || existsState(NSPanel_Path + "ScreensaverInfo.weatherForecastTimer") == false) {
                                await createStateAsync(NSPanel_Path + "ScreensaverInfo.weatherForecast", true, { type: 'boolean' });
                                await createStateAsync(NSPanel_Path + "ScreensaverInfo.weatherForecastTimer", true, { type: 'boolean' });
                            };
                        

                        Ja ist ja gut 😊 Ist natürlich ein Bug.

                        Der Else Zweig wird nicht eingegrenzt. Habe einen else if (... eingebaut.

                        Wer nicht abwarten kann. Die nachfolgenden Zeilen austauschen. (Ca. Zeile 600 im TS)

                        schedule('* * * * *', () => {
                            SendTime();
                            //WeatherForcast true/false Umschaltung halbe Minute verzögert
                            if (getState(NSPanel_Path + "ScreensaverInfo.popupNotifyHeading").val == '' && getState(NSPanel_Path + "ScreensaverInfo.popupNotifyText").val == '' && getState(NSPanel_Path + "ScreensaverInfo.weatherForecast").val == true && getState(NSPanel_Path + "ScreensaverInfo.weatherForecastTimer").val == true) {
                                setStateDelayed(NSPanel_Path + "ScreensaverInfo.weatherForecast", false, 30000, false); 
                            } else if (getState(NSPanel_Path + "ScreensaverInfo.popupNotifyHeading").val == '' && getState(NSPanel_Path + "ScreensaverInfo.popupNotifyText").val == '' && getState(NSPanel_Path + "ScreensaverInfo.weatherForecast").val == false && getState(NSPanel_Path + "ScreensaverInfo.weatherForecastTimer").val == true) {
                                setStateDelayed(NSPanel_Path + "ScreensaverInfo.weatherForecast", true, 30000, false);
                            }
                        });
                        

                        So wäre es korrekt und so kommt es auch mit dem nächsten Update ins github

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

                          @niiccooo1 sagte in Sonoff NSPanel:

                          @armilar
                          Ich bin begeistert 😄

                          Die Auswahl und das Abspielen auf den einzelnen Geräten funktioniert tadellos.

                          Mir fällt nur auf, dass wenn ich einen Lied weiter gehe, der Titel , Artist usw. erst aktualisiert wird, wenn ich die Anzeige wechsle oder das Panel aus dem Standby wecke.

                          Auch steht beim aktuellen Gerät "null" blau hinterlegt d.h. ich sehe wenn das Panel aus dem Standby geweckt nicht auf welchen Speaker er gerade streamt.
                          EDIT:
                          Habe noch folgende Passage unter in die GenerateMediaPage diesen Part

                           let currentSpeaker = getState(([alexaInstanz, '.Echo-Devices.', alexaDevice, '.Info.name'].join(''))).val;
                          

                          gegen

                          let currentSpeaker = getState(([spotifyInstanz, '.player.device.name'].join(''))).val; 
                          

                          ausgetauscht

                          Die Idee mit dem Wechsel zwischen Alexa und Spotify finde ich gut.
                          Viele werden sicherlich auch Sonossysteme oder ähnliches im Haus haben. Da weiß ich nicht ob diese über den Alexa Adapter gesteuert werden können.

                          Perfekt, an den neuen Song (PREV/NEXT) hab ich mich bereits gewöhnt 😉

                          Hab ich schon einige Stunden investiert, aber mit der activePage sollte ein Refresh eigentlich jetzt gehen. Danke für den Hinweis.
                          Kommt ins nächste Release.

                          P.S: Die Sonos Geschichte funktioniert eigentlich nur mit dem Alexa-Adapter, wenn eine Alexa (z.B. SonosOne) integriert ist. Dann ist das Device aber auch im Alexa-Adapter...

                          Alles andere muss über mächtig viele Umwege erstellt werden. Kann aber, sofern korrekte Datenpunkte zur Steuerung vorhanden sind mit dem Media-Alias umgesetzt werden. Google home eigentlich auch, obwohl ich das wohl nie testen werde...

                          1 Reply Last reply Reply Quote 0
                          • Jens Wozny
                            Jens Wozny @Armilar last edited by

                            @armilar So, hab's gefunden, vielleicht braucht es ja noch jemand anderes wenn nicht, weiß ich wenigstens wo es steht 🙂 SetOption32 Haltezeit in 0,1 Sekunden Schritten anpassen. also SetOption 32 10 ist Haltezeit von 1 Sekunde, Standard 4 Sekunden also 40...

                            Grüße...

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kuckuckmann @Jens Wozny last edited by

                              @jens-wozny
                              Hi ,

                              kannst Du mir das, was Du eingestellt hast nochmal kurzzusammenfassen? ich würde es dann in unsere FAQ & Anleitung übernehmen.

                              Vorab herzlichen Dank.

                              LG

                              Jens Wozny 1 Reply Last reply Reply Quote 0
                              • K
                                Kuckuckmann @niiccooo1 last edited by

                                @niiccooo1
                                Hi,

                                Kannst Du mir Deine Konfiguration für die Media Card mal zusammenfassen?
                                Ich würde das dann gerne in die FAQ & Anleitung übernehmen.

                                Danke vorab und

                                LG

                                Armilar N 2 Replies Last reply Reply Quote 0
                                • Armilar
                                  Armilar Most Active Forum Testing @Kuckuckmann last edited by

                                  @kuckuckmann sagte in Sonoff NSPanel:

                                  @niiccooo1
                                  Hi,

                                  Kannst Du mir Deine Konfiguration für die Media Card mal zusammenfassen?
                                  Ich würde das dann gerne in die FAQ & Anleitung übernehmen.

                                  Danke vorab und

                                  LG

                                  klar - kein Problem. Bin die nächsten 3 Tage unterwegs - kann also etwas länger dauern mit den Antworten

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

                                    @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 1 Reply Last reply Reply Quote 0
                                    • Jens Wozny
                                      Jens Wozny @Kuckuckmann last edited by

                                      @kuckuckmann Natürlich bekomme ich das hin!

                                      Als erstes das Speichern der Einstellungen in Tasmota aktivieren, sonst wundert man sich wie ich, das beim Wechsel vom Tisch zum Einbauort der Taster genauso dumm ist wie vorher 🙂
                                      In die Tasmota Console gehen und da folgende Befehle ausführen:

                                      savedata 1 //speichern der Einstellungen ermöglichen
                                      
                                      SetOption73 1 //umstellen der Hardwaretasten auf Multipress
                                      
                                      SetOption1 1 //WifiConfig 2 abschalten um zusätzlich wenn gewollt 6x Klick zu aktivieren
                                      
                                      SetOption32 5 //Hold Haltezeit für die Taste auf 0,5 Sekunden einstellen, Standard sind 4 Sekunden, kann im 0,1 Sekunden Raster eingestellt werden
                                      
                                      savedata 0 //Schreibschutz für den Flashspeicher aktivieren
                                      

                                      Bei Hold ist noch zu beachten das die eingestellte Zeit x10 einen Reset des Tasters auslöst, heißt bei 1 Sekunde Haltezeit nach 10 Sekunden, Standard sind 40 Sekunden!

                                      Wenn jemand dafür eine Idee hat dieses zu umgehen, gerne 🙋‍♂️

                                      Das Script um die Funktion "HOLD" erweitern für die Hardwaretaste 1 und 2

                                      Screenshot 2022-09-06 07.46.10.png


                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                      <variables>
                                      <variable id="$%h)IyPA]i!w|o;@^u~">PanelResult</variable>
                                      <variable id="iG,DhTT3ntIL)6jkdBSx">Action</variable>
                                      </variables>
                                      <block type="on_ext" id="Z
                                      WW:Hq=V/0/+D.7sBGj" x="88" y="63">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                      <field name="CONDITION">any</field>
                                      <field name="ACK_CONDITION"></field>
                                      <value name="OID0">
                                      <shadow type="field_oid" id="s?5LPlVoKvrW,Gf/,d6(">
                                      <field name="oid">default</field>
                                      </shadow>
                                      <block type="field_oid" id=";VZs-nq+#GL5jVspo^">
                                      <field name="oid">mqtt.0.SmartHome.Schalter_Technik.stat.RESULT</field>
                                      </block>
                                      </value>
                                      <statement name="STATEMENT">
                                      <block type="variables_set" id="W*-eYA4LLj$WMX1vlx9+">
                                      <field name="VAR" id="$%h)IyPA]i!w|o;@^u~">PanelResult</field>
                                      <value name="VALUE">
                                      <block type="convert_json2object" id="H}rYz
                                      |N_r:7lN6kRq)">
                                      <value name="VALUE">
                                      <block type="on_source" id="ks};I#sE9{y$Os12X3%"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="controls_if" id="|e+,CBW1}SywJvnEFroP"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="tkA^fRI!3FU^2Tiqlahc"> <field name="OP">EQ</field> <value name="A"> <block type="text_getSubstring" id="k}-K]@kua~8fg*?I[t#">
                                      <mutation at1="true" at2="true"></mutation>
                                      <field name="WHERE1">FROM_START</field>
                                      <field name="WHERE2">FROM_START</field>
                                      <value name="STRING">
                                      <block type="on_source" id="qCOa@52xDIv4(R#:]Yzp">
                                      <field name="ATTR">state.val</field>
                                      </block>
                                      </value>
                                      <value name="AT1">
                                      <block type="math_number" id="Ncm@lgRgVYVBF~^yWKRE">
                                      <field name="NUM">3</field>
                                      </block>
                                      </value>
                                      <value name="AT2">
                                      <block type="math_number" id="Gov$3|Qrd91N~RUzWea=">
                                      <field name="NUM">9</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <value name="B">
                                      <block type="text" id="2~EGhvBs4KIPXXMcNVkx">
                                      <field name="TEXT">Button1</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <statement name="DO0">
                                      <block type="variables_set" id="G!Z=C5KTj-Nl+XFa0RU
                                      ">
                                      <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field>
                                      <value name="VALUE">
                                      <block type="get_attr" id="Ed}{-}B{X+obkb^Mmk8O">
                                      <value name="PATH">
                                      <shadow type="text">
                                      <field name="TEXT">Button2.Action</field>
                                      </shadow>
                                      <block type="text" id="-XSmbNSLD2q^JU.3)[(^">
                                      <field name="TEXT">Button1.Action</field>
                                      </block>
                                      </value>
                                      <value name="OBJECT">
                                      <block type="variables_get" id="-%8e}:rqW1kj_iUDQyyf">
                                      <field name="VAR" id="$%h)IyPA]i!w|o;@^u~">PanelResult</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <next>
                                      <block type="controls_if" id="729?J2a__sAP
                                      2PmMN2%">
                                      <mutation elseif="5"></mutation>
                                      <value name="IF0">
                                      <block type="logic_compare" id="u9lV/l]c1,yVRl3(21(L">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                      <block type="variables_get" id="kG0ARQ1j%HKz(I=l}:P"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="v?m}nM1~E8zR0,Ja+if+"> <field name="TEXT">SINGLE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="iqFwhe!^P0z9-W9D[tyh"> <field name="COMMENT">Schalte etwas: Button1 1x gedrückt</field> <next> <block type="debug" id="F22M/f@lJ_xQ$t2#QW[#"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">Button</field> </shadow> <block type="text" id="?r3.Wy5c@$3DxmvbIGr}"> <field name="TEXT">Button1 SINGLE wurde gedrückt</field> </block> </value> <next> <block type="control" id="RQplKnS3Qup@ShD|p$H:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Datenpunkte.Technik_Licht_Deckenleuchte.SET</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="3)Bu5AR9Zth?=@~)Lz6i"> <field name="NUM">100</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="[Vpq7B,RWb4k)Bhwq{nh"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="|Whz!$I5#Iym52Pg8N?p"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="~f_cI8hrs;I)wJ-S.G3r"> <field name="TEXT">DOUBLE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="D;PPB54t87N)%F{.hQAx"> <field name="COMMENT">Schalte etwas: Button1 2x gedrückt</field> <next> <block type="debug" id="xoG/r3;338/j$QeZHW5">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                      <shadow type="text">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="9PgW|#6f8``brbWQM9q7">
                                      <field name="TEXT">Button1 DOUBLE wurde gedrückt</field>
                                      </block>
                                      </value>
                                      <next>
                                      <block type="control" id="V79BE);I,!|=V);^a{7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Datenpunkte.Wohnen_Rollladen_F7.SET</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="K.y/Rx9]0}r(x6;]=]r)"> <field name="NUM">100</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="t)8drGw=u/q0Pl+ul^43"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="-lf~?Q^H8o}J:cf@I5aN"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="Z!={5~.hF?V-NFw73|BL"> <field name="TEXT">TRIPLE</field> </block> </value> </block> </value> <statement name="DO2"> <block type="comment" id="xjdh~X8eM8ab/a/JuIM/"> <field name="COMMENT">Schalte etwas: Button1 3x gedrückt</field> <next> <block type="debug" id="n$kU%^k3$wHN/L**K=jA"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">Button</field> </shadow> <block type="text" id="SA^R/OJX#a7JDhE7LwL["> <field name="TEXT">Button1 TRIPLE wurde gedrückt</field> </block> </value> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_compare" id="ZCUeBK[Sc08KKQVMF)tC"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id=":Jlhv9(rM!D5H*eM|Gw-"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="6NH!g[HN7f=7_q%U10M!"> <field name="TEXT">QUAD</field> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="77*X9-*|mO]|P0$Jw=K">
                                      <field name="COMMENT">Schalte etwas: Button1 4x gedrückt</field>
                                      <next>
                                      <block type="debug" id="qE@G.#9s!UAtrlMJ/yi"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">Button</field> </shadow> <block type="text" id="G:19{lKn)mB!x(NUx5S">
                                      <field name="TEXT">Button1 QUAD wurde gedrückt</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      <value name="IF4">
                                      <block type="logic_compare" id="fz#2[~sK=iF%wd=4hB,"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="ROFyrrPZn5KJg7?Hs),Z"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="a]-o=$vOr9JDr(T!#SmL"> <field name="TEXT">PENTA</field> </block> </value> </block> </value> <statement name="DO4"> <block type="comment" id="fxPE82.Ci3LME=X3nl|">
                                      <field name="COMMENT">Schalte etwas: Button1 5x gedrückt</field>
                                      <next>
                                      <block type="debug" id="7GbZ650het?k*+CCO:nr">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                      <shadow type="text">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="[}-a1hl?2pc^@4EhI">
                                      <field name="TEXT">Button1 PENTA wurde gedrückt</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      <value name="IF5">
                                      <block type="logic_compare" id="5-Jn(s]]Ac}RKP}ssgkc">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                      <block type="variables_get" id="ZEb2nzb4fmR2agPw|[pX">
                                      <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field>
                                      </block>
                                      </value>
                                      <value name="B">
                                      <block type="text" id="$Ln@,NUH[je2TyexL
                                      1=">
                                      <field name="TEXT">HOLD</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <statement name="DO5">
                                      <block type="comment" id="}2D4HsFwr-kW|Q,,,Bic">
                                      <field name="COMMENT">Schalte etwas: Button1 wird gehalten</field>
                                      <next>
                                      <block type="debug" id="utCpCJ=)EFVEgxIvjIp">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                      <shadow type="text">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="i!=1C23XA-^phx:)9TJB">
                                      <field name="TEXT">Button1 wurde gehalten</field>
                                      </block>
                                      </value>
                                      <next>
                                      <block type="control" id="b@7ns3oa|(zxV
                                      m@7,C6">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">alias.0.Datenpunkte.Technik_Licht_Deckenleuchte.ON_SET</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                      <block type="logic_boolean" id="^V-avzYmA:A@CFeu.~-]">
                                      <field name="BOOL">FALSE</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      <value name="IF1">
                                      <block type="logic_compare" id="8Ev:iPPfN3B?L^Q]oOIc">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                      <block type="text_getSubstring" id="xx:q0nC7,q8A8~v?PC#s">
                                      <mutation at1="true" at2="true"></mutation>
                                      <field name="WHERE1">FROM_START</field>
                                      <field name="WHERE2">FROM_START</field>
                                      <value name="STRING">
                                      <block type="on_source" id="JWC4m9/7dS^!]+xQ-I0Y">
                                      <field name="ATTR">state.val</field>
                                      </block>
                                      </value>
                                      <value name="AT1">
                                      <block type="math_number" id="k7=j)18I6TmB%)upvAVJ">
                                      <field name="NUM">3</field>
                                      </block>
                                      </value>
                                      <value name="AT2">
                                      <block type="math_number" id=",EKn%h/uX3}ZjCvmW1KE">
                                      <field name="NUM">9</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <value name="B">
                                      <block type="text" id="Uuj{UrX@-3nNjw{n!H/@">
                                      <field name="TEXT">Button2</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <statement name="DO1">
                                      <block type="variables_set" id="U~1k_f;62_-QkRvGZz=)">
                                      <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field>
                                      <value name="VALUE">
                                      <block type="get_attr" id="izCz6K1Y;L.7M7MlHA$c">
                                      <value name="PATH">
                                      <shadow type="text">
                                      <field name="TEXT">Button2.Action</field>
                                      </shadow>
                                      <block type="text" id="y1)^1#)QjYVVA7)mWdvM">
                                      <field name="TEXT">Button2.Action</field>
                                      </block>
                                      </value>
                                      <value name="OBJECT">
                                      <block type="variables_get" id="TIg$Lr%^FukfxDLC:,^"> <field name="VAR" id="$%h)IyP*A]i!w|o;@^u~">PanelResult</field> </block> </value> </block> </value> <next> <block type="controls_if" id="tC_APU:6jW5063/l=sR1"> <mutation elseif="5"></mutation> <value name="IF0"> <block type="logic_compare" id="P9XXNXzc+3H{*^w1P_@q"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="sua/L8[qi8e:U#m}d^pi"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="E^e9/nh{n@)S6e:4q3_h"> <field name="TEXT">SINGLE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="qoOw*}O|E06w[5[cXWLo"> <field name="COMMENT">Schalte etwas: Button2 1x gedrückt</field> <next> <block type="debug" id=",tE:-UWz(0Zqlc8KBLqO"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="!waPZV$J9fR+dq462%h+"> <field name="TEXT">Button</field> </shadow> <block type="text" id="{3#KVO|*86E:3pR/!%WP"> <field name="TEXT">Button2 SINGLE wurde gedrückt</field> </block> </value> <next> <block type="control" id="*r!*gO]M:nu%l=SHWhiR"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Datenpunkte.Technik_Rollladen_F11.SET</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="P8C,tu;h9{XGw*8-UiII"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="_Z+eBL!Zj.|LQL+_s|Ld"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="15Tx7/a!(wJ;FO+x!4JW"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="}l%?@L+:Ma!=:d2Ky/%*"> <field name="TEXT">DOUBLE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="comment" id="~72fN$sZV!.O{%*0+awy"> <field name="COMMENT">Schalte etwas: Button2 2x gedrückt</field> <next> <block type="debug" id="-T4*$n8-_X_{@6!Ga5FQ"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="7y;6V!IxDGf^dh_-f[5">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="LFX2j}Pr:o,{$YxQVcp2">
                                      <field name="TEXT">Button2 DOUBLE wurde gedrückt</field>
                                      </block>
                                      </value>
                                      <next>
                                      <block type="control" id="s^8!t.nUu^tQ8olCu1x"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Datenpunkte.Technik_Rollladen_F11.SET</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="i}af~Z--B4k:[{B}xyk">
                                      <field name="NUM">100</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      <value name="IF2">
                                      <block type="logic_compare" id="6-2Eew1,aoyC]Th*AaJ5">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                      <block type="variables_get" id="4Nl6[tYm2pL@rL7v8vLI">
                                      <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field>
                                      </block>
                                      </value>
                                      <value name="B">
                                      <block type="text" id="zthA#*kib2r|xv+,A{Sh">
                                      <field name="TEXT">TRIPLE</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <statement name="DO2">
                                      <block type="comment" id="?OI)q#8XL#1)x.E=m~~">
                                      <field name="COMMENT">Schalte etwas: Button2 3x gedrückt</field>
                                      <next>
                                      <block type="debug" id="%6ZLfC!6?Z%jXlF:mFa"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">Button</field> </shadow> <block type="text" id="eh|tY,l}uz:WTx}4_G_E"> <field name="TEXT">Button2 TRIPLE wurde gedrückt</field> </block> </value> </block> </next> </block> </statement> <value name="IF3"> <block type="logic_compare" id="*~f.cy|6d8U0s?|^%:8R"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="tiZ6%x5iuvhh:Yi*9qB9"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="I|K0m__6/:.kuBtYQE5l"> <field name="TEXT">QUAD</field> </block> </value> </block> </value> <statement name="DO3"> <block type="comment" id="ToQ_dt~n$Ef|8-fb|__O"> <field name="COMMENT">Schalte etwas: Button2 4x gedrückt</field> <next> <block type="debug" id="qyb7DL~:^6|r@9~KOb+A"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="7aSm~PyE/aX{m#/ZE3L">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="tb4wo7_n@J)Q9$FLf|rV">
                                      <field name="TEXT">Button2 QUAD wurde gedrückt</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      <value name="IF4">
                                      <block type="logic_compare" id="M:xb;I}a8;jJU=g}u)["> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="Yh,)fk$+WmVXS=iwbzK{"> <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field> </block> </value> <value name="B"> <block type="text" id="1FMk3ImfaAfEhMd$D#e">
                                      <field name="TEXT">PENTA</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <statement name="DO4">
                                      <block type="comment" id="5+tVGCf{MdkG(OBDmuy|">
                                      <field name="COMMENT">Schalte etwas: Button2 5x gedrückt</field>
                                      <next>
                                      <block type="debug" id="}{-PVi#AL#[EGD,eb?M#">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                      <shadow type="text" id="5#Z,,?~9SK95LdiBZW=c">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="HuBkD3zi|o@.S3w.Qh7n">
                                      <field name="TEXT">Button2 PENTA wurde gedrückt</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      <value name="IF5">
                                      <block type="logic_compare" id="lA]gulrJ~3Q.82YvmG;6">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                      <block type="variables_get" id="P!43GekgHtC6(9.[u-5b">
                                      <field name="VAR" id="iG,DhTT3ntIL)6jkdBSx">Action</field>
                                      </block>
                                      </value>
                                      <value name="B">
                                      <block type="text" id="yq)tQ^VrJLSJ@X3Uc!gI">
                                      <field name="TEXT">HOLD</field>
                                      </block>
                                      </value>
                                      </block>
                                      </value>
                                      <statement name="DO5">
                                      <block type="comment" id="t_QxvPj#-6bY-sVE1Ui1">
                                      <field name="COMMENT">Schalte etwas: Button2 wird gehalten</field>
                                      <next>
                                      <block type="debug" id="mo-$_bo5$EpS)e83yAXz">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                      <shadow type="text">
                                      <field name="TEXT">Button</field>
                                      </shadow>
                                      <block type="text" id="]Kler.$fx3D71~-ExuH"> <field name="TEXT">Button2 wurde gehalten</field> </block> </value> <next> <block type="control" id="P#VTic|Uu76qG!yM@*n@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Datenpunkte.Technik_Rollladen_F11.STOP</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="-u,S#1W%bt(
                                      [^9-6%}">
                                      <field name="BOOL">TRUE</field>
                                      </block>
                                      </value>
                                      </block>
                                      </next>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      </block>
                                      </next>
                                      </block>
                                      </statement>
                                      </block>
                                      </xml>

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

                                        Ein Wunsch für zukünftige Versionen:
                                        Beim Drücken auf ein Fenster Datenpunkt, das Popup vom Rollo anzeigen 🙂

                                        K 1 Reply Last reply Reply Quote 0
                                        • N
                                          niiccooo1 @Jens Wozny last edited by

                                          @jens-wozny
                                          Kurze Frage dazu: Könnte man einen Button für Multipress verwenden und den anderen um sich Favoritenpages anzeigen zu lassen?

                                          Jens Wozny Armilar 2 Replies Last reply Reply Quote 0
                                          • Jens Wozny
                                            Jens Wozny @niiccooo1 last edited by

                                            @niiccooo1 Oha! Ich denke ja, weil die Verarbeitung der Tasten in einem eigenen Script passieren, aber da sollten wir lieber mal warten bis die Fachleute dran sind und das bestätigen können 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            552
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            78
                                            1548
                                            434407
                                            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