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 goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Sonoff NSPanel

    This topic has been deleted. Only users with topic management privileges can see it.
    • Armilar
      Armilar Most Active Forum Testing @niiccooo1 last edited by

      @niiccooo1 sagte in Sonoff NSPanel:

      @armilar
      Besten Dank!

      Schön wäre noch eine Ansicht / Rückmeldung, dass das Aktivieren der Alarmanlage nicht funktioniert hat.
      Sowas wie "disarmed failed"

      VG

      suche mal die Function:

      on({ id: NSPanel_Path + 'Alarm.AlarmState', change: 'ne' }, async (obj) => {
          if ((obj.state ? obj.state.val : '') == 'armed' || (obj.state ? obj.state.val : '') == 'disarmed' || (obj.state ? obj.state.val : '') == 'triggered') {
              GeneratePage(config.pages[8]);   //----------- muss noch dynamisch gefunden werden -------------------------
          }
      });
      

      und tausche die aus gegen

      on({ id: NSPanel_Path + 'Alarm.AlarmState', change: 'ne' }, async (obj) => {
          if ((obj.state ? obj.state.val : '') == 'armed' || (obj.state ? obj.state.val : '') == 'disarmed' || (obj.state ? obj.state.val : '') == 'triggered') {
              GeneratePage(activePage);
          }
      });
      

      Dann verschwindet zumindest die Seite nicht mehr

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

        @armilar
        Bei mir taucht folgende Fehlermeldung und das Panel hängt sich auf

        3.9.2022, 21:24:01.484	[error]: javascript.0 (4917)     at GeneratePage (script.js.NSPanels.NSPanel_1:1439:18)
        3.9.2022, 21:24:01.484	[error]: javascript.0 (4917)     at Object.<anonymous> (script.js.NSPanels.NSPanel_1:2693:21)
        3.9.2022, 21:24:02.311	[error]: javascript.0 (4917) script.js.NSPanels.NSPanel_1: TypeError: Cannot read properties of undefined (reading 'type')
        3.9.2022, 21:24:02.312	[error]: javascript.0 (4917)     at GeneratePage (script.js.NSPanels.NSPanel_1:1439:18)
        3.9.2022, 21:24:02.312	[error]: javascript.0 (4917)     at script.js.NSPanels.NSPanel_1:1381:13
        3.9.2022, 21:24:02.312	[error]: javascript.0 (4917)     at step (script.js.NSPanels.NSPanel_1:33:23)
        3.9.2022, 21:24:02.313	[error]: javascript.0 (4917)     at Object.next (script.js.NSPanels.NSPanel_1:14:53)
        3.9.2022, 21:24:02.313	[error]: javascript.0 (4917)     at script.js.NSPanels.NSPanel_1:8:71
        3.9.2022, 21:24:02.314	[error]: javascript.0 (4917)     at __awaiter (script.js.NSPanels.NSPanel_1:4:12)
        3.9.2022, 21:24:02.314	[error]: javascript.0 (4917)     at Object.<anonymous> (script.js.NSPanels.NSPanel_1:1378:85)
        
        Armilar 1 Reply Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @niiccooo1 last edited by

          @niiccooo1 sagte in Sonoff NSPanel:

          3.9.2022, 21:24:02.311 [error]: javascript.0 (4917) script.js.NSPanels.NSPanel_1: TypeError: Canno

          Ich dachte es funktioniert mittlerweile. Ist doch der gleiche Fehler, oder?

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

            @armilar Richtig!

            Das wundert mich auch.
            Ich habe nur die von dir empfohlenen Teil geändert.

            Ändere ich auf das ursprüngliche zurück, funktioniert es wieder, jedoch verschwindet die Anzeige wieder.

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

              @niiccooo1 sagte in Sonoff NSPanel:

              @armilar Richtig!

              Das wundert mich auch.
              Ich habe nur die von dir empfohlenen Teil geändert.

              Ändere ich auf das ursprüngliche zurück, funktioniert es wieder, jedoch verschwindet die Anzeige wieder.

              Zähl in der Config mal die Seiten von 0 beginnend bis zur Alarm und trag statt der 8 mal die Position der Alarm ein.

              In diesem Beispiel also die 10

              414986e4-53a5-497d-a5b1-7040152872e2-image.png

              Buero_Seite_2 (0)
              Buero_Seite_1 (1)
              Buero_Klimaanlage (2)
              ....
              Buero_Alarm (10)

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

                @armilar

                Ich bin auch ein wenig am testen.
                Wenn ich eine PIN eingebe und Alarm aktiviere, dann bekomme ich diese Warnings:

                523493d4-b49f-4d19-a644-8ab58aeaf998-image.png

                Hilft Dir das?

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

                  @armilar sagte in Sonoff NSPanel:

                  So eine Meldung bekomme ich nicht auf die cardAlarm. Nachdem die PIN korrekt eingegeben wird, würde das icon gelb (blinkend). Wenn das nicht passiert, war die PIN falsch. Man könnte das icon trotzdem rot blinken lassen beim Fehlversuch. Aber für Text ist die cardAlarm ansonsten nicht vorgesehen.
                  Variante 2 wäre, ein zusätzlicher Datenpunkt mit Fehlversuchen (müsste ebenfalls noch implementiert werden). Dann kannst du dir die Meldung über einen popupNotify einblenden. Sieht auf jeden Fall runder aus, wenn das Fenster demnächst nicht verschwindet...

                  Ich habe mal Dein Blockly genommen und es ein wenig aufgebohrt.
                  Man muss nun einen Datenpunkt definieren, in dem die valide PIN gespeichert wird. Bei der Eingabe der PIN wird dann die eingegebene gegen die gespeicherte validiert.
                  Jenachdem wird dann eine popupNotify Page eingeblendet mit einem entsprechenden Hinweistext. Es gibt drei verschiedenen Status:

                  1. PIN nicht OK und Aktivierung wird abgelehnt
                  2. PIN OK und Alarm wird aktiviert
                  3. PIN OK und Alarm wird deaktiviert

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="z21BCrAcSmJl;/ADq)~[">NotifyText</variable>
                   </variables>
                   <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU" x="-1261" y="-62">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="]~f@4kO$zmxdg=}/810C">
                         <field name="oid">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="variables_set" id="!bn8_fHJcG_-fzc_Ka)2">
                         <field name="VAR" id="z21BCrAcSmJl;/ADq)~[">NotifyText</field>
                         <value name="VALUE">
                           <block type="text" id="EM3|V^QO@NfUB8s6?5G9">
                             <field name="TEXT">.</field>
                           </block>
                         </value>
                         <next>
                           <block type="debug" id="PK!LWn;hH~-~0Voq?[E[">
                             <field name="Severity">log</field>
                             <value name="TEXT">
                               <shadow type="text" id="$AGq9V4ieV+V{sJ:xme?">
                                 <field name="TEXT">Logpunkt: EOS</field>
                               </shadow>
                               <block type="get_value" id="shNE,X8dZ#|#JuUo0]XY">
                                 <field name="ATTR">val</field>
                                 <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                               </block>
                             </value>
                             <next>
                               <block type="timeouts_wait" id=")UmGSw@Q(`%k^S+:-a_0">
                                 <field name="DELAY">300</field>
                                 <field name="UNIT">ms</field>
                                 <next>
                                   <block type="controls_if" id="9q977cS+cyMEB$/*D*ul">
                                     <mutation elseif="2"></mutation>
                                     <value name="IF0">
                                       <block type="logic_operation" id="Qi_-nMKc~w;D=t4;6Mtb" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="logic_compare" id="aepYG60!2x|-)FcICpF8">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="get_value" id="IBI6^,tt6bxnkvh2Mo@H">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="W9Z5@]@$8wlW}J`R3ni~">
                                                 <field name="TEXT">arming</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_compare" id="z9hpZKtoM^70A7Sr;8WU" inline="false">
                                             <field name="OP">NEQ</field>
                                             <value name="A">
                                               <block type="get_value" id="XW/dC_x+g}-MzNT9TISq">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmPin</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="get_value" id="8AR)w}^B+x{yq1Ip.:,e">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.NSPanelOwn.Alarm_PIN</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="variables_set" id=")gJKgRZ*j$=rS?u)NBo0">
                                         <field name="VAR" id="z21BCrAcSmJl;/ADq)~[">NotifyText</field>
                                         <value name="VALUE">
                                           <block type="text_join" id="1]U2/5i@v%[sDn,EF_@A">
                                             <mutation items="7"></mutation>
                                             <value name="ADD0">
                                               <block type="text_multiline" id="VXJAm_V+(9+L5M6Ya!LX">
                                                 <field name="TEXT">PIN-Prüfung für die Alarm Aktivierung ist fehl-geschlagen. </field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text_newline" id="wt/QLG4y`?2L6d1w-$gW">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text_newline" id="j$DlHivy}5A#z%lQNZ1p">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text" id="p3(R.$]@}P,2`RI$^S]7">
                                                 <field name="TEXT">Bitte geben Sie die richtige PIN ein. </field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="text_newline" id="byjnvx;%?[O,^6l:PH;I">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD5">
                                               <block type="text_newline" id="Tq`46BlXWH/k_xjWp%+u">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD6">
                                               <block type="text" id="gf_|G?Y]T)my1-+U-_cg">
                                                 <field name="TEXT">Die Alarm-Funktion wird nicht aktiviert!!!</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id=";K,gLAfyec`Hk!yt=3oI">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text" id=",Y8hu}9qWKZ$]^B7A^.Y">
                                                 <field name="TEXT">Logpunkt: EOS</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="control" id="rY{t}:)PL;jRe2{BFjqN">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                 <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                 <field name="WITH_DELAY">TRUE</field>
                                                 <field name="DELAY_MS">1000</field>
                                                 <field name="UNIT">ms</field>
                                                 <field name="CLEAR_RUNNING">TRUE</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="@w%s+j7C27NHj)7)PTi{">
                                                     <field name="TEXT">disarmed</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="timeouts_wait" id="cqF_/Gv6}_Ja:kn$,TgI">
                                                     <field name="DELAY">500</field>
                                                     <field name="UNIT">ms</field>
                                                     <next>
                                                       <block type="procedures_callnoreturn" id="8Wz)b{s9GWBk8phr_v?+">
                                                         <mutation name="PopupNotifyPage"></mutation>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                     <value name="IF1">
                                       <block type="logic_operation" id="rac/`EKn}ES5217UOdNj" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="logic_compare" id=":FH~8jpIy^[Wq5m7I2#i">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="get_value" id="R3_D.M$myMPZXOQKc*93">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="grZhueq]1YSoGF}Q#4|B">
                                                 <field name="TEXT">arming</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_compare" id="08(3wUt:|2D6[BkR!nDO" inline="false">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="get_value" id="]t28}qbL1);v`*zw2|Tg">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmPin</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="get_value" id="-sd/N]+9iB4c)zF6{/cF">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.NSPanelOwn.Alarm_PIN</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO1">
                                       <block type="variables_set" id="^C=Fv%^sId|JDUb?m_|%">
                                         <field name="VAR" id="z21BCrAcSmJl;/ADq)~[">NotifyText</field>
                                         <value name="VALUE">
                                           <block type="text_join" id="v?{;Awxx;^IMifLi35fy">
                                             <mutation items="4"></mutation>
                                             <value name="ADD0">
                                               <block type="text_multiline" id="k.E$_-{Bi_c9(bA)^/Y;">
                                                 <field name="TEXT">PIN-Prüfung für die Alarm Aktivierung war erfolgreich.</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text_newline" id="2,BRyz!Jl.zt^7vzlK3L">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text_newline" id="N^Z_EAaBtkiwyaSJmLfG">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text" id="e%:caDOXegY.yG0Hw(xm">
                                                 <field name="TEXT">Die Alarm-Funktion wird aktiviert!!!</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id="c@wu^=Q4}`{8k1{DJaGH">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="B}H;fXknaEp0U`,R@%$T">
                                                 <field name="TEXT">Logpunkt: PIN OK</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="=_e7bf!`Q]$tg*0U1_2F">
                                                 <mutation elseif="1"></mutation>
                                                 <value name="IF0">
                                                   <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)">
                                                         <field name="TEXT">arming</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="control" id="eO}0c$0s~08Di)?sMM0(">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">1000</field>
                                                     <field name="UNIT">ms</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="VALUE">
                                                       <block type="text" id="J(va8~n[/dogNBn!W].I">
                                                         <field name="TEXT">armed</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <value name="IF1">
                                                   <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:(">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="text" id="([Ep{MPBu5s.C-lOdHgr">
                                                         <field name="TEXT">pending</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO1">
                                                   <block type="control" id="s77gpG^9o0A)T{f}{#,c">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">1000</field>
                                                     <field name="UNIT">ms</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="VALUE">
                                                       <block type="text" id="4DC5l(?mcdlhZ/jIumty">
                                                         <field name="TEXT">disarmed</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="timeouts_wait" id="bQ.:4P}@:,=bW3yP)wmF">
                                                     <field name="DELAY">500</field>
                                                     <field name="UNIT">ms</field>
                                                     <next>
                                                       <block type="procedures_callnoreturn" id="q|j}Y|dPB1vuaMb1:Qeq">
                                                         <mutation name="PopupNotifyPage"></mutation>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                     <value name="IF2">
                                       <block type="logic_compare" id="83@!o]ZfR%d/+HrM:?Px">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="get_value" id="Z3#uE]AwqWO+@u!)RIjk">
                                             <field name="ATTR">val</field>
                                             <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="text" id="2~~va?/IDi^Ypc,}KiuX">
                                             <field name="TEXT">pending</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO2">
                                       <block type="variables_set" id=")P;l6HQGS6E,,{DcCmDH">
                                         <field name="VAR" id="z21BCrAcSmJl;/ADq)~[">NotifyText</field>
                                         <value name="VALUE">
                                           <block type="text_join" id="C`~=:fBHFHPTK$5!Do?Y">
                                             <mutation items="4"></mutation>
                                             <value name="ADD0">
                                               <block type="text_multiline" id="`8(`S*ZU#er6xK.uSyQy">
                                                 <field name="TEXT">PIN-Prüfung für die Alarm Deaktivierung war erfolgreich.</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text_newline" id="N$9=1_Y_d`jG}z_ezHDw">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text_newline" id="aa+.*ucZi~n./QFb[Q6E">
                                                 <field name="Type">\r\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text" id="HG6r-m8hCZn+m{Q#roy/">
                                                 <field name="TEXT">Die Alarm-Funktion wird deaktiviert!!!</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id="LD5HfUw{K0zCgSC$5~Ar">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="h|bFzIP|UcnWd`9c*5K!">
                                                 <field name="TEXT">Logpunkt: Alarm AUS</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="dFwBp8[eCMd(@G1,T4.y">
                                                 <mutation elseif="1"></mutation>
                                                 <value name="IF0">
                                                   <block type="logic_compare" id="=8kjS[uW}NL);z}QvB^g">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="on_source" id="2SA1/;Y5^hEGyqGJP_d(">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="text" id="T:dwGd$$/2a0dyOohVx%">
                                                         <field name="TEXT">arming</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="control" id="Ja${;k%.vJPh2q+:kynt">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">1000</field>
                                                     <field name="UNIT">ms</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="VALUE">
                                                       <block type="text" id="rkhkv?PiK-=:z?VZ1lmo">
                                                         <field name="TEXT">armed</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <value name="IF1">
                                                   <block type="logic_compare" id="7qD(L!UIQAXA/Ob)gaC.">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="on_source" id="18v(}qF.UI}t]J[*]1dD">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="text" id="lj/OD_Bw;l3n?}OTYkA.">
                                                         <field name="TEXT">pending</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO1">
                                                   <block type="control" id="|:m({E)piC98ogW[zzv(">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">0_userdata.0.NSPanel.1.Alarm.AlarmState</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">1000</field>
                                                     <field name="UNIT">ms</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="VALUE">
                                                       <block type="text" id="dv6kxsV6jco(_c1UhG,Z">
                                                         <field name="TEXT">disarmed</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <next>
                                                   <block type="timeouts_wait" id="{mk+%a]D|4}``9ka#(Mf">
                                                     <field name="DELAY">500</field>
                                                     <field name="UNIT">ms</field>
                                                     <next>
                                                       <block type="procedures_callnoreturn" id="0V:m,*]:gbCAxBt:^={C">
                                                         <mutation name="PopupNotifyPage"></mutation>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                   <block type="procedures_defnoreturn" id="d@]*oWnF~Qy+?%ICZT60" x="-1262" y="1612">
                     <field name="NAME">PopupNotifyPage</field>
                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                     <statement name="STACK">
                       <block type="update" id="9rZUdykHHKT+Kjrgx6|Z">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyHeading</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="text" id="PWqQYl^EYacUuX5fM^Z#">
                             <field name="TEXT">PIN Prüfung</field>
                           </block>
                         </value>
                         <next>
                           <block type="update" id="XY(G}B=jCg(x8x:SgqEu">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyText</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="variables_get" id="C7$#ZI-Mb2uSKQX:r$JB">
                                 <field name="VAR" id="z21BCrAcSmJl;/ADq)~[">NotifyText</field>
                               </block>
                             </value>
                             <next>
                               <block type="update" id="w0#aLxgbgkZ~^+3_2lff">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                 <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyInternalName</field>
                                 <field name="WITH_DELAY">TRUE</field>
                                 <field name="DELAY_MS">800</field>
                                 <field name="UNIT">ms</field>
                                 <field name="CLEAR_RUNNING">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_random_float" id="C5/h)jq=yPM?,9J=(w65"></block>
                                 </value>
                                 <next>
                                   <block type="update" id="saFfY+5y6Y..#G5^CA$S">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyButton1Text</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="text" id="kkpU;l:U$Q!c1.sZGGn0">
                                         <field name="TEXT"></field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="umS%DW#p1jkkRLn5N+RL">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyButton2Text</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="text" id="azRNP@I}sP9P$[xv!(V=">
                                             <field name="TEXT">OK</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="c#SQa6+.3NhqMvsRJVO+">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifySleepTimeout</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="VH-ysksu6V8,2E#pI~~#">
                                                 <field name="NUM">0</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="update" id="$-(0na.*J|I[od?gb7r1">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyAction</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="Yuyf*1`7Ca]Sk3;|X1*G">
                                                     <field name="BOOL">TRUE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                   <block type="procedures_defnoreturn" id="4f^CkoNRlWgl`Y@.)Lz." x="-1263" y="1937">
                     <field name="NAME">PopupNotifyPageErase</field>
                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                     <statement name="STACK">
                       <block type="update" id="Z^zTdm6yUE4t2^wSz5}x">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyAction</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="Q#M,=uCcCFRQp;/Mf`_C">
                             <field name="BOOL">TRUE</field>
                           </block>
                         </value>
                         <next>
                           <block type="update" id="KXE%E#jPf$bV~_chjghB">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                             <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyHeading</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="text" id="OH~RIIi,%hleZ%0}lmdH">
                                 <field name="TEXT"></field>
                               </block>
                             </value>
                             <next>
                               <block type="update" id="4,IH@|:r5W3_5#h_.@@/">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyText</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="text" id="s}g~!.sK-}4H|%cJm|[S">
                                     <field name="TEXT"></field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="update" id="_@`~mvZ!tKXuy$Cg[C?%">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyText</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="text" id="Rs8wr?`x@5Mbo:gSE=WM">
                                         <field name="TEXT"></field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="$6QuM_9.+`4whwGAOC@?">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyInternalName</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="text" id=":vSzTYaAM{VX]7dsbnU%">
                                             <field name="TEXT"></field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="R+;JjYSFF8QL2e}9]:MH">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyButton1Text</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="text" id="vIkb.}`BQ~i}/d.b.0|a">
                                                 <field name="TEXT"></field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="update" id="xCcdvWuD#=;6)Jn.#(.l">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifyButton2Text</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="text" id="HB=xnP9xEbxHUg-B0h.}">
                                                     <field name="TEXT"></field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="update" id="(jn:VY?~x~paL9J^mx!i">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.NSPanel.1.popupNotify.popupNotifySleepTimeout</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="JQJ_Rj2Rd,U-?Q@;Ge^$">
                                                         <field name="NUM">0</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                  </xml>
                  

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

                    @kuckuckmann
                    Du beschreibst das Feedback wenn die PIN falsch eingegeben wird, was auch sinnvoll ist.

                    Mir geht es darum, ein Feedback zu bekommen wo zwar die PIN korrekt eingeben wurde, jedoch die Alarmanalge nicht aktiviert werden kann weil z. B. noch ein Fenster auf ist.

                    Aktuell gebe ich den Status "armed" erst weiter wenn die Alaramanalge keinen Fehler aus gibt, ansonsten gebe ich "disarmed" zurück.

                    Für den Benutzer sieht es so aus als ob er die PIN falsch eingeben hat.

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

                      @niiccooo1 sagte in Sonoff NSPanel:

                      @kuckuckmann
                      Du beschreibst das Feedback wenn die PIN falsch eingegeben wird, was auch sinnvoll ist.

                      Mir geht es darum, ein Feedback zu bekommen wo zwar die PIN korrekt eingeben wurde, jedoch die Alarmanalge nicht aktiviert werden kann weil z. B. noch ein Fenster auf ist.

                      Aktuell gebe ich den Status "armed" erst weiter wenn die Alaramanalge keinen Fehler aus gibt, ansonsten gebe ich "disarmed" zurück.

                      Für den Benutzer sieht es so aus als ob er die PIN falsch eingeben hat.

                      Kannst das popUp ebenfalls verwenden um anzeigen, welche Fenster offen sind.
                      Habe noch ein paar Änderungen gemacht. Fehler gefunden und teste noch etwas das Skript in Verbindung mit mehreren Panels.

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

                        @armilar @Kuckuckmann

                        Ich habe eure Vorschläge soweit umgesetzt und es scheint so zu funktionieren wie es soll.

                        Vielen Dank erstmal!

                        Falls mir zu AlarmCard noch was auffällt teile ich es euch gerne mit.

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

                          @niiccooo1 sagte in Sonoff NSPanel:

                          @armilar @Kuckuckmann

                          Ich habe eure Vorschläge soweit umgesetzt und es scheint so zu funktionieren wie es soll.

                          Vielen Dank erstmal!

                          Falls mir zu AlarmCard noch was auffällt teile ich es euch gerne mit.

                          Kommt heute noch ein Update.

                          Ich mach noch ein paar Screenshots und Anleitung zu den Änderungen.

                          • Insbesondere zum neuen Status triggered (Alarm wurde ausgelöst/PIN falsch)
                          • zum Alias Feueralarm (etwas Buggy unter Geräte-Manager - auch Ursache für Fehlermeldungen)
                          • Neuer Datenpunkt "PIN_Failed"
                          • Gemeinsamer Pfad für mehrere Panels
                          • usw.

                          Gebt mir noch etwas Zeit zum testen

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

                            Mal eine andere Sache:

                            Ich habe die Alexa Card soweit konfiguriert und sie funktioniert auch soweit.
                            Lasse ich mir die Card nun anzeigen, verschwinden meine Navigationsbutton oben links und rechts.

                            Ich habe die Konfiguration von diesen Post angewendet.

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

                              So und jetzt die Anleitung zur cardAlarm:

                              Update unter: https://raw.githubusercontent.com/joBr99/nspanel-lovelace-ui/main/ioBroker/NsPanelTs.ts

                              e39a4f08-d194-4586-badd-673f79e27e37-image.png

                              1) Zusätzlicher Pfad für Alarm-Datenpunkte
                              Im oberen Teil habe ich eine neue Konstante eingeführt

                              const NSPanel_Alarm_Path = '0_userdata.0.NSPanel.'; 
                              //Neuer Pfad für gemeinsame Nutzung durch mehrere Panels
                              

                              Ansonsten würde jedes Panel auf seine eigenen Alarm-Daten zugreifen. Macht ja in einem Haus eigentlich wenig Sinn 😉 . Daher global für alle Panels.

                              2) Zusätzliche Datenpunkte
                              Ich habe zwei neue Datenpunkte (PANEL und PIN_Failed) hinzugefügt. Diese werden gemeinsam mit den vorherigen Datenpunkten im definierten Alarm_Pfad (genauso wie zuvor unter 0_userdata.0.) angelegt, wenn man erstmals die cardAlarm aufruft.
                              Da dieser Pfad wahrscheinlich von der dem "bereits vorhandenen" Pfad abweicht. Sollte der Alias entsprechend auf die neuen Datenpunkte im neuen Pfad zeigen. Die alten Verzeichnisse "Alarm" unter den einzelnen NSPAnels können danach gelöscht werden.

                              228a851c-9cd0-41d5-b51e-bf11ad1caa9e-image.png

                              3) ALIAS Feueralarm (Einen ALIAS Alarmanlage gibt es nicht)
                              Ich habe für die Tests (auch bedingt durch die gemeldeten Fehlermeldungen) meinen Alias gelöscht und im Geräte-Manager neu angelegt. Es gab die gleichen Fehlermeldungen.
                              Dann habe ich den Alias im Alias-Manager angelegt und alles funktionierte ohne Fehlermeldungen.

                              Neu ist in diesem Zusammenhang der Alias "PIN_Failed" (state/number)
                              Das TS-Skript zählt die missglückten Anmeldeversuche und trägt sie hier ein. Könnte man also auch für einen Trigger mit Meldung an Telegram nutzen. Außerdem wird bei Fehlerhaften PIN-Eingaben der Datenpunkt AlarmState auf "triggered" gesetzt. Im Panel sieht das dann so aus (das Icon blinkt):
                              21659741-2b34-48ff-a0bc-7e8c906d9902-image.png

                              Betrifft auch den nächsten Punkt 4)
                              Des Weiteren gibt es nun einen Datenpunkt "PANEL". Hier wird der Wert 0_userdata.0.NSPanel.X. reingeschrieben. Das hat erstens den Vorteil, dass nur das Panel an dem die Aktivierung/Deaktivierung stattfindet, aktualisiert werden muss und zweitens, dass nur an das Panel, an dem die Pin-Eingaben stattfinden auch popupNotify-Meldungen gesendet werden können. Warum sollte z.B. in der Küche ein popUp aufgehen, wenn ich doch den falsche PIN im Flur eingegeben habe 😉 ?

                              4) Status "triggered"
                              Durch das externe Skript (alternativ der Alarm-Emulator) kann ein Status "triggered" gesetzt werden.
                              Zum Beispiel wenn der Alarm ausgelöst wurde, Die Deaktivierung der cardAlarm funktioniert somit auch bei dem Status "triggered".

                              5) Externes Alarm-Skript/Emulator:
                              Für den Emulator oder das externe Alarm-Skript sollten die Datenpunkte ebenfalls aktualisiert werden:
                              eab23295-7095-42a7-9764-2593ea5318d8-image.png


                              <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                              <variable id="LwJJoNeQC4K?A;BW5:o">nspanelAlarmPath</variable>
                              <variable id=".d{cc!R.4y2U9N+gLY1K">dpAlarmState</variable>
                              </variables>
                              <block type="comment" id="I^BpP.H=p^7Vj|-sy!%" x="-937" y="-162"> <field name="COMMENT">Bitte nspanelAlarmPath anpassen</field> <next> <block type="comment" id="JL[C{;Q}PF[TQ_BfpN$c"> <field name="COMMENT">Der Rest wird dynamisch für das jeweilige Panel ermittelt</field> <next> <block type="variables_set" id="2}X9[s}b1IDUV{6QPzh?"> <field name="VAR" id="LwJJoNeQC4K?A;BW5:_o">nspanelAlarmPath</field> <value name="VALUE"> <block type="text" id="in2z;TR0jhq1QI85qO8">
                              <field name="TEXT">0_userdata.0.NSPanel.Alarm.</field>
                              </block>
                              </value>
                              <next>
                              <block type="variables_set" id="+tlGEcYI17~KL5S
                              %%1O">
                              <field name="VAR" id=".d{cc!R.4y2U9N+gLY1K">dpAlarmState</field>
                              <value name="VALUE">
                              <block type="text_join" id="PWihVQn3v+ef7aPA%zyx">
                              <mutation items="2"></mutation>
                              <value name="ADD0">
                              <block type="variables_get" id="v2AT~!{!0Qc0BI2!SgN"> <field name="VAR" id="LwJJoNeQC4K?A;BW5:_o">nspanelAlarmPath</field> </block> </value> <value name="ADD1"> <block type="text" id="78{g[~wI2yQXnYZvL4}t"> <field name="TEXT">AlarmState</field> </block> </value> </block> </value> <next> <block type="on_ext" id="q!?(x}z/f~TClQnNmbyU"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="]~f@4kO$zmxdg=}/810C"> <field name="oid">0_userdata.0.NSPanel.Alarm.AlarmState</field> </shadow> <block type="variables_get" id="vCPAx:V[ZG~6IkkFu/r">
                              <field name="VAR" id=".d{cc!R.4y2U9N+gLY1K">dpAlarmState</field>
                              </block>
                              </value>
                              <statement name="STATEMENT">
                              <block type="controls_if" id="=e7bf!Q]$tg*0U1_2F"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="0_9gv(MmSSJ{2a$j{}(P"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="H$WWrxxX|NaWkT%W]g!Z"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="_TnyjJ5x!)JY~rQ:Opj)"> <field name="TEXT">arming</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="=w_/N]5Tu)B)NwyTbxSp"> <field name="COMMENT">weitere ioBroker-Überprüfung - z.B. Fenster offen</field> <next> <block type="control_ex" id="FGZ}]#=@X?IJ3ddc[9rP" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="OID"> <shadow type="field_oid" id="=EKIKVg=5v+fyd:5J3]B"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="Y,]v4(aeLZ~(@alJ-8;D"> <field name="VAR" id=".d{cc!R.4y2U9N+gLY1K">dpAlarmState</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="2A;g]]ox]cFCoGeBOge">
                              <field name="BOOL">TRUE</field>
                              </shadow>
                              <block type="text" id="WOt(NkkB-R9/-Xho,6}-">
                              <field name="TEXT">armed</field>
                              </block>
                              </value>
                              <value name="DELAY_MS">
                              <shadow type="math_number" id="M@|2SGg8%@2nZdqU51f
                              ">
                              <field name="NUM">0</field>
                              </shadow>
                              <block type="math_number" id=".e9qh.?F@m)/t(HM7|M"> <field name="NUM">1000</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="]p3s+ouB~BJkfd:e)G:("> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id=":n]Z,t6+q#-l_hP+MEI@"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="([Ep{MPBu5s.C-lOdHgr"> <field name="TEXT">pending</field> </block> </value> </block> </value> <statement name="DO1"> <block type="control_ex" id="FI3q9?nQ|FDT]dY;djZz" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id=":8ls:Akgxi%bWPgrIJT}"> <field name="VAR" id=".d{cc!R.4y2U9N+gLY1K">dpAlarmState</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text" id="MH!9j:G.S:mOaq31i!aM"> <field name="TEXT">disarmed</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number"> <field name="NUM">0</field> </shadow> <block type="math_number" id="zO=:KFH/FH-zc4ob5b7^"> <field name="NUM">1000</field> </block> </value> </block> </statement> <value name="IF2"> <block type="logic_compare" id="pHUmm^o8GqFji*VULm*Z"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="ques8D:5Hge-)^s,XBR!"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="3Hd)Fn4g#;XPXSWwe-$">
                              <field name="TEXT">triggered</field>
                              </block>
                              </value>
                              </block>
                              </value>
                              <statement name="DO2">
                              <block type="comment" id="c%VR#jE+K$AoZ2m%HuY_">
                              <field name="COMMENT">Wenn der PIN bei der Deaktivierung falsch war</field>
                              <next>
                              <block type="comment" id="I-Iasuh.K$wmTE`(e!;K">
                              <field name="COMMENT">Zum Beispiel MEldung an Telegram oder popupNotify </field>
                              <next>
                              <block type="comment" id="j_U/cfS;e3c]-j}Bie,7">
                              <field name="COMMENT">an Panel senden</field>
                              </block>
                              </next>
                              </block>
                              </next>
                              </block>
                              </statement>
                              </block>
                              </statement>
                              </block>
                              </next>
                              </block>
                              </next>
                              </block>
                              </next>
                              </block>
                              </next>
                              </block>
                              </xml>

                              6) Ablauf Alarm Aktivierung
                              PIN eingeben und dann Alarm-Modus (Vollschutz, Zuhause, Nacht oder Besuch) auswählen. Im Datenpunkt AlarmType wird das als A1, A2, A3 oder A4 interpretiert und kann extern weiterverarbeitet werden.
                              8dd2cb6f-c62b-4ea2-be60-cc6ce32e3056-image.png
                              Das Panel wechselt in den Status (AlarmState) "arming" (Icon = gelbes blinkendes Schild/Keine Tastatur)
                              7046c132-9a58-4a6f-a106-66fd016f6469-image.png
                              Wenn durch das externe Skript (oder Emulator) der Status "armed" in den Datenpunkt AlarmState eingetragen wird (vorausgesetzt das externe Skript findet z.B, keine offenen Fenster) wird das Icon rot:
                              2bfb731a-5c1d-4aca-9730-71944cef22e1-image.png
                              Der AlarmType ist jetzt D1, die Tastatur ist wieder eingeblendet und die card Alarm bereit für die Deaktivierung.

                              7) Ablauf Alarm Deaktivierung
                              PIN-Eingabe zur Deaktivierung und Bestätigung durch den Button "Deaktivieren".
                              3a51f6f5-70f9-4a1b-9162-26a816ed2c05-image.png
                              Das Panel vergleicht jetzt den Aktivierungs-PIN mit dem Deaktivierungs-PIN. Stimmen die PIN's überein, dann wird der AlarmState auf "pending" gesetzt.
                              bc3bcd03-1831-406c-b839-402b458e655a-image.png
                              Das externe Alarm-Skript macht seine restlichen Aufgaben und setzt dann den Status auf "disarmed"
                              5ee72b44-4588-4c0a-b514-a9335e9e9035-image.png
                              Sollte der Pin nicht übereinstimmen, so setzt das Panel den AlarmState "triggered" (Icon blinkt)
                              f2d8cc5c-c817-42fa-8d81-80e850266556-image.png

                              8 ) Screenshots vom Alias im Alias-Manager
                              ac4378dc-f2e1-4cbb-95ff-0f375f584e08-image.png

                              8d3592e0-0d11-4527-8807-309f3afb4efc-image.png

                              78d60959-25b8-4743-b074-ab21b11f132f-image.png
                              8de12b74-fc28-4e14-89ac-3f98a852c8d7-image.png
                              41eb46ac-4033-4c9a-9b68-6e1c71761e65-image.png

                              24baec0a-ac25-48ce-aa06-98e866250eb8-image.png

                              9) pageItem
                              Wie bereits erwähnt, habe ich den Alias neu erstellt. Dieses mal auch hier global für alle Panels!

                              var Seite_Alarm: PageAlarm = 
                              {
                                  "type": "cardAlarm",
                                  "heading": "Alarm",
                                  "useColor": true,
                                  "subPage": false,
                                  "parent": undefined,
                                  "items": [<PageItem>{ id: "alias.0.Alarm" }]
                              };
                              

                              So erstmal fertig ;-). Bei Fragen einfach fragen!

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

                                @niiccooo1 sagte in Sonoff NSPanel:

                                Mal eine andere Sache:

                                Ich habe die Alexa Card soweit konfiguriert und sie funktioniert auch soweit.
                                Lasse ich mir die Card nun anzeigen, verschwinden meine Navigationsbutton oben links und rechts.

                                Ich habe die Konfiguration von diesen Post angewendet.

                                Das ist uralter Code - Die Navigation hat sich seitdem mächtig verändert - wundert mich nicht
                                Das ist aber auch alle im neuen Code mit korrekter Menüstruktur enthalten. Wenn es im aktuellen github-Skript nicht funktioniert, dann liegt es in der Regel am ALIAS

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

                                  @armilar
                                  Stimmt. Es lag am Alias. Der Alias-Manager hat zwar den Player selbst angelegt, jedoch musste ich manuell alle Bezeichnungen ändern.

                                  Durch stöbern im Forum habe ich den Ansatz mit spotify-premium gefunden.
                                  Da ich einen Android TV mit Spotify Connect habe, würde ich gerne versuchen den spotify Adapter einzubinden.

                                  Aktuell scheitere ich noch an der speaker-auswahl Funktion. Ich weiß im Spotify Adapter lässt sich über "spotify-premium.0.devices.deviceList" das abzuspielende Gerät auswählen.

                                  Wie sähe die Funktion dann um zwischen den Geräten zu wechseln?

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

                                    @niiccooo1 sagte in Sonoff NSPanel:

                                    @armilar
                                    Stimmt. Es lag am Alias. Der Alias-Manager hat zwar den Player selbst angelegt, jedoch musste ich manuell alle Bezeichnungen ändern.

                                    Durch stöbern im Forum habe ich den Ansatz mit spotify-premium gefunden.
                                    Da ich einen Android TV mit Spotify Connect habe, würde ich gerne versuchen den spotify Adapter einzubinden.

                                    Aktuell scheitere ich noch an der speaker-auswahl Funktion. Ich weiß im Spotify Adapter lässt sich über "spotify-premium.0.devices.deviceList" das abzuspielende Gerät auswählen.

                                    Wie sähe die Funktion dann um zwischen den Geräten zu wechseln?

                                    Aktuell keine Ahnung wie die Funktion dann aussehen würde.

                                    Durch die Speaker-Auswahl im Panel wird folgender Zeile gesendet. Darin steht die Aktion "speaker-sel" und das Gewählte Gerät (in diesem Fall "Echo Spot Buero")
                                    30585b21-09d5-441a-afb7-3bbb40fd2e73-image.png

                                    speaker-sel ruft diesen Fall im TS-Skript auf
                                    192d7210-933e-47fa-8490-2044e3ca6a3b-image.png

                                    Im Prinzip wird hier aktuell ein Command an Alexa gesendet "Schiebe meine Musik auf Echo Spot Buero". Funktioniert für Echo-Devices und Playlists. Der Befehl funktioniert zumindest "nicht" mit FireTV-Sticks (nur mit Echo's)

                                    im case 'speaker-sel' müsste deine Spotify-Logik implementiert werden.

                                    Da ich nicht weiß, zwischen welchen Geräten du wann, was und wohin umschalten willst (teile mal alle Gedanken und Überlegungen sehr detailliert mit), kann ich auch nicht mehr dazu sagen. Mit anderen Worten - Was machst du den heute damit das so funktioniert, wie du es möchtest.

                                    Hinweis: Der Alexa-Adapter kann mit Spotify teilweise besser umgehen als der Spotify-Adapter ...

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

                                      @armilar

                                      Danke für deinen ausführlichen Kommentar.
                                      Mein Ziel wäre wie folgt:

                                      Über die MediaCard können, wie du bereits beschrieben hast, über 'speaker-sel' die Alexa Lautsprecher ausgewählt werden. (Ich denke sobald ein anderer Speaker über die Pfeiltaste ausgewählt wird, springt die Musik auf das Gerät über).

                                      Aktuell habe ich im Alias Media nicht den Alexa Player implementiert, sondern den Spotify Player.
                                      Das scheint soweit auch zu funktionieren (theoretisch könnte ich den Player auch über Alexa laufen lassen).

                                      Jetzt würde ich das gerne so realisieren, dass über speaker-sel nicht die Alexa-Geräte aufgelistet werden sondern die Geräte die im spotifyadapter über "spotify-premium.0.devices.deviceList" aufgelistet werden.

                                      {
                                       "_id": "spotify-premium.0.devices.deviceList",
                                       "type": "state",
                                       "common": {
                                         "name": "All devices saved in common part. Change this value to a device id to start playing on this.",
                                         "type": "string",
                                         "role": "value",
                                         "states": {
                                           "c0d4dfea666270411a233ed452adb01a47efc381": "TV Wohnzimmer",
                                           "d09e64cd-7ba6-4410-a7e2-78d5f7b7d1e4_amzn_1": "Echo Dot 4 weiß",
                                           "033ab8c7abb61a952a899ac25aadccf315761f3b": "HP30P"
                                         },
                                         "read": true,
                                         "write": true
                                       },
                                       "native": {},
                                       "from": "system.adapter.spotify-premium.0",
                                       "ts": 1662358872878,
                                       "acl": {
                                         "object": 1636,
                                         "state": 1636,
                                         "owner": "system.user.admin",
                                         "ownerGroup": "system.group.administrator"
                                       },
                                       "user": "system.user.admin"
                                      }
                                      

                                      Sobald ein Gerät ausgewählt ist (z.B. über ein Popup?), sollte die Musik direkt über diesen Lautsprecher ausgegeben werden.
                                      Meine Javascript Skills sind leider sehr begrenzt weshalb bei mir an der Umsetzung scheitert.

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

                                        @niiccooo1 sagte in Sonoff NSPanel:

                                        @armilar

                                        Danke für deinen ausführlichen Kommentar.
                                        Mein Ziel wäre wie folgt:

                                        Über die MediaCard können, wie du bereits beschrieben hast, über 'speaker-sel' die Alexa Lautsprecher ausgewählt werden. (Ich denke sobald ein anderer Speaker über die Pfeiltaste ausgewählt wird, springt die Musik auf das Gerät über).

                                        Aktuell habe ich im Alias Media nicht den Alexa Player implementiert, sondern den Spotify Player.
                                        Das scheint soweit auch zu funktionieren (theoretisch könnte ich den Player auch über Alexa laufen lassen).

                                        Jetzt würde ich das gerne so realisieren, dass über speaker-sel nicht die Alexa-Geräte aufgelistet werden sondern die Geräte die im spotifyadapter über "spotify-premium.0.devices.deviceList" aufgelistet werden.

                                        {
                                         "_id": "spotify-premium.0.devices.deviceList",
                                         "type": "state",
                                         "common": {
                                           "name": "All devices saved in common part. Change this value to a device id to start playing on this.",
                                           "type": "string",
                                           "role": "value",
                                           "states": {
                                             "c0d4dfea666270411a233ed452adb01a47efc381": "TV Wohnzimmer",
                                             "d09e64cd-7ba6-4410-a7e2-78d5f7b7d1e4_amzn_1": "Echo Dot 4 weiß",
                                             "033ab8c7abb61a952a899ac25aadccf315761f3b": "HP30P"
                                           },
                                           "read": true,
                                           "write": true
                                         },
                                         "native": {},
                                         "from": "system.adapter.spotify-premium.0",
                                         "ts": 1662358872878,
                                         "acl": {
                                           "object": 1636,
                                           "state": 1636,
                                           "owner": "system.user.admin",
                                           "ownerGroup": "system.group.administrator"
                                         },
                                         "user": "system.user.admin"
                                        }
                                        

                                        Sobald ein Gerät ausgewählt ist (z.B. über ein Popup?), sollte die Musik direkt über diesen Lautsprecher ausgegeben werden.
                                        Meine Javascript Skills sind leider sehr begrenzt weshalb bei mir an der Umsetzung scheitert.

                                        Genau diesen Datenpunkt würde ich nicht nehmen - wenn der Spotify-Adapter eine Zeit lang nichts mehr zu tun hatte ist der nämlich leer.

                                        Aber mit den nachfolgenden beiden dürfte es funktionieren:
                                        97206cd5-e89b-4abb-975a-aab20a5ed33b-image.png

                                        beide in Arrays (DeviceString und DeviceID) einlesen, d.h. beide mit split (;) trennen

                                        Dann mit dem vom Panel übergebenen Device mit DeviceString.indexof() suchen und die zugehörige ID ermitteln.

                                        Danach Unter Devices die ermittelte ID auf useForPlayback = true setzen

                                        Klingt eigentlich simpel 😉

                                        Ich sehe mir das mal bei Zeiten genauer an

                                        N 1 Reply Last reply Reply Quote 1
                                        • K
                                          Kuckuckmann last edited by Kuckuckmann

                                          temp thread

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

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            988
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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