Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Pincode Eingabe Alarmanlage

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Pincode Eingabe Alarmanlage

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

      Hallo zusammen

      Habe eine Frage die nicht ganz, sondern nur teilweise mit der Sache hier zu tun hat.

      Ich möchte eine Pin Abfrage für den Türöffner machen.

      Dafür werde ich ein Script brauchen.

      kann man das auf einen Teil eures Scriptes aufbauen? (Pin Abfrage)

      Bin kein Programmierer und kenne mich nur bedingt mit Scripete aus.

      Daher meine bitte an euch ob mir da wer helfen kann.

      Danke

      1 Reply Last reply Reply Quote 0
      • Peoples
        Peoples last edited by

        Hi,

        wenn ich dich richtig verstanden habe möchtest du aus dem Script oben den Teil rausnehmen der die Zahlenkombi abfragt und bei richtiger Eingabe dann den Türöffner betätigt?

        Wenn dem so ist kann ich das mit ja beantworten das würde gehen ob es sicher ist sei aber mal dahin gestellt 😄

        Gruß

        Steffen

        1 Reply Last reply Reply Quote 0
        • SmarthomeMF
          SmarthomeMF last edited by

          Hallo

          Danke für die rasche Antwort.

          Ja ich möchte, wenn ich auf den Taster für die Tür drücke das dann eine Pin Abfrage gemacht wird.

          Es soll nur eine kleine Sicherheit sein das das nicht jeder machen kann.

          Aber in erster Linie soll es davor schützen das man unabsichtlich auf den Taster kommt und dann die Tür aufmacht.

          Wenn du mir dabei helfen würdest wäre ich sehr froh.

          Danke

          1 Reply Last reply Reply Quote 0
          • rantanplan
            rantanplan last edited by

            Hallo SmarthomeMF

            Schau mal hier.http://forum.iobroker.net/viewtopic.php … pin#p47264

            Vielleicht geht das als Grundlage.

            Grüße

            1 Reply Last reply Reply Quote 0
            • SmarthomeMF
              SmarthomeMF last edited by

              danke für den Tipp

              1 Reply Last reply Reply Quote 0
              • Peoples
                Peoples last edited by

                Hi,

                hab mal das was nicht benötigt wird rausgelöscht. So sollte es gehen habs aber nicht getestet:

                // -----------------------------------------------------------------------------
                // allgemeine Variablen
                // -----------------------------------------------------------------------------
                var logging = true;                                                        // Logging on/off
                var instanz = 'javascript.0';  instanz = instanz + '.';                     // 
                
                var pfad0 =     'Tueroeffner.Pin.';                        // Pfad innerhalb der Instanz 
                
                // -----------------------------------------------------------------------------
                // Variablen für Pin-Abfrage
                // -----------------------------------------------------------------------------
                var PinReturn = 0;                  // Status der Returntaste (0 - #-Taste sichtbar || 1 - Returntaste sichtbar)
                var PinTast = "";                   // Inhalt der Eingabe
                var PinTemp ="";                    // Puffer für eingegebe Ziffern
                var PinLae = 0;                     // Pin-Länge bei Eingabe
                
                var PinState = false ;              // Eingabestatus - Eingabe beginnt nach Taste '#' und wird mit Taste '#' abgeschlossen
                var PinFehl =false;                 // Statusflag für fehlerhafte Eingabe
                var PinAnz = "";                    // Angezeiger 'Displaytext' z.B. ****
                var PinAnzStat = 0;                 // Status der PinAnzeige im Display (0-Ruhe | 1-Start [grau] | 2-richtig [gruen] | 3-falsch [rot])
                
                var PinSoll = 1111;                 // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                
                // -----------------------------------------------------------------------------
                // Variablen für Alarmstatus
                // -----------------------------------------------------------------------------
                var logging = true; 
                
                // -----------------------------------------------------------------------------
                // Objekte
                // -----------------------------------------------------------------------------
                
                // Objekte für Pin-Eingabe
                createState(pfad0 + 'PinSelect', "" , {name: 'Pin-Eingabe'});
                createState(pfad0 + 'Pin', '0000' ,  {name: 'Pin'});
                createState(pfad0 + 'PinFehler', false ,  {name: 'Pin-Fehler'});
                createState(pfad0 + 'PinAnzStat', 0 ,  {name: 'PinAnzeigeStatus'});
                createState(pfad0 + 'PinAnz', '' ,  {name: 'Pin-Anzeige'});
                createState(pfad0 + 'PinReturn', '' ,  {name: 'Pin-ReturnTaste'});
                
                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                
                // #############################################################################
                // #                                                                           #
                // #  Pin-Abfrage                                                              #
                // #                                                                           #
                // #############################################################################
                
                on((instanz + pfad0 + 'PinSelect'), function (dp) {
                    if (dp.newState.val === 0 || dp.newState.val === 1 || dp.newState.val === 2 || dp.newState.val === 3 || dp.newState.val === 4 || dp.newState.val === 5 || dp.newState.val === 6 || dp.newState.val === 7 || dp.newState.val === 8 || dp.newState.val === 9) {
                        PinTast = dp.newState.val;
                        PinEingabe();
                    }  
                    if (dp.newState.val === 'E') {
                        PinPruef();
                    }      
                    if (dp.newState.val === 'R') {
                        PinReset();  
                    }      
                });
                
                function PinEingabe () {
                    PinTemp = (PinTemp + PinTast);
                    PinAnz = (PinAnz + '*');
                    setState(pfad0 + 'PinAnz',PinAnz);
                    PinLae = (PinLae +1) ;
                }
                
                function unscharf(){
                    setState(pfad0 + 'PinAnzStat', PinAnzStat);
                    setState(pfad0 + 'PinReturn', PinReturn);
                ///////////////////////////////////////////////////// Hier musst du dann deinen Türöffner auf machen reinschreiben    
                }
                
                function PinPruef() {
                    if (PinTemp == PinSoll) {
                        if(logging) log('PinEingabe erfolgreich');
                        PinAnzStat = 2;
                        PinReturn = 3;
                        unscharf();
                
                        setTimeout(function() {
                
                            PinReset();
                        }, 5 * 1000);
                
                    } else {
                        if(logging) log('PinEingabe Fehler');
                        PinReset();
                    }
                }    
                
                function PinReset() {
                        PinReturn = 0;
                        PinLae=0;
                        PinAnzStat=0;
                        PinAnz="";
                        PinTemp="";
                        setState(pfad0 + 'PinAnz', PinReturn);
                        setState(pfad0 + 'PinAnzStat', PinAnzStat);
                        setState(pfad0 + 'PinAnz', PinAnz);
                        setState(pfad0 + 'PinReturn', PinReturn);      
                }
                

                Bei unscharf musst du dann deine auszulösende Aktion reinschreiben ala' "Tür Auf!"

                Gruß

                Steffen

                1 Reply Last reply Reply Quote 0
                • M
                  maxx1976 last edited by

                  Hallo peoples

                  Ich finde deine Visualisierung sehr ansprechend und möchte sie gerne bei mir verwenden.

                  Leider lässt sich die View nicht installieren. Es kommt immer die Fehlermeldung "Cannot render view vAlarmanlage. Invalid settings"

                  Woran kann das liegen hast du eine Idee?

                  Danke

                  Maxx

                  1 Reply Last reply Reply Quote 0
                  • Homer.J.
                    Homer.J. last edited by

                    Ist kein View sondern ein Widget.

                    Grüße

                    1 Reply Last reply Reply Quote 0
                    • smartboart
                      smartboart last edited by

                      Hallo, hat das Script mal jemand getestet und für funktionsfähig befunden?

                      Z.B wird diese Variable nicht verarbeitet und der State für die Fehlerhafte Pineingabe auch nicht gestezt.

                      var PinFehl

                      function PinPruef() {
                          if (PinTemp == PinSoll) {
                              if(logging) log('PinEingabe erfolgreich');
                              PinAnzStat = 2;
                              PinReturn = 3;
                              unscharf();
                      
                              setTimeout(function() {
                      
                                  PinReset();
                              }, 5 * 1000);
                      
                          } else {
                              if(logging) log('PinEingabe Fehler');
                              PinReset();
                          }
                      }   
                      
                      1 Reply Last reply Reply Quote 0
                      • M
                        maxx1976 last edited by

                        Danke, damit hat es jetzt geklappt.

                        Allerdings hat das script bei mir einen Fehler. Bei einer Pineingabe wird die Zahl immer 2x eingelesen. Das liegt daran, dass die Funktion PinEingabe zuerst durchlaufen wird und danach erst die eigenliche Pinabfrage.

                        Wie kann ich das lösen?

                        lg

                        Maxx

                        1 Reply Last reply Reply Quote 0
                        • smartboart
                          smartboart last edited by

                          Habe es jetzt so zum laufen gebracht..

                          // -----------------------------------------------------------------------------
                          // allgemeine Variablen
                          // -----------------------------------------------------------------------------
                          var logging = true;                                                        // Logging on/off
                          var instanz = 'javascript.0';  instanz = instanz + '.Alarm';                     // 
                          
                          var pfad0 =     'alarm.Pin.';                        // Pfad innerhalb der Instanz 
                          
                          // -----------------------------------------------------------------------------
                          // Variablen für Pin-Abfrage
                          // -----------------------------------------------------------------------------
                          var PinTast = "";                   // Inhalt der Eingabe
                          var PinTemp ="";                    // Puffer für eingegebe Ziffern
                          var PinLae = 0;                     // Pin-Länge bei Eingabe
                          
                          var PinState = false ;              // Eingabestatus - Eingabe beginnt nach Taste '#' und wird mit Taste '#' abgeschlossen
                          var PinFehl =false;                 // Statusflag für fehlerhafte Eingabe
                          var PinAnz = "";                    // Angezeiger 'Displaytext' z.B. ****
                          var PinAnzStat = 0;                 // Status der PinAnzeige im Display (0-Ruhe | 1-Start [grau] | 2-richtig [gruen] | 3-falsch [rot])
                          
                          var PinSoll = 1111;                 // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                          
                          // -----------------------------------------------------------------------------
                          // Objekte
                          // -----------------------------------------------------------------------------
                          
                          // Objekte für Pin-Eingabe
                          createState(pfad0 + 'PinSelect', "" , {name: 'Pin-Eingabe'});
                          createState(pfad0 + 'Pin', '0000' ,  {name: 'Pin'});
                          createState(pfad0 + 'PinFehler', false ,  {name: 'Pin-Fehler'});
                          createState(pfad0 + 'PinAnzStat', 1 ,  {name: 'PinAnzeigeStatus'});
                          createState(pfad0 + 'PinAnz', '' ,  {name: 'Pin-Anzeige'});
                          createState(pfad0 + 'VisKeyPad', '' ,  {name: 'State für Vis Keypad Sichtbar'}); //State für Vis Keypad Sichtbar wird von Button in Vis beschrieben und bei unscharf zurück gesetzt
                          
                          // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                          // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                          // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                          // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                          
                          // #############################################################################
                          // #                                                                           #
                          // #  Pin-Abfrage                                                              #
                          // #                                                                           #
                          // #############################################################################
                          
                          on('javascript.0.alarm.Pin.PinSelect', function (dp) {
                              if (dp.newState.val === 0 || dp.newState.val === 1 || dp.newState.val === 2 || dp.newState.val === 3 || dp.newState.val === 4 || dp.newState.val === 5 || dp.newState.val === 6 || dp.newState.val === 7 || dp.newState.val === 8 || dp.newState.val === 9) {
                                  PinTast = dp.newState.val;
                                  PinEingabe();
                              }  
                              if (dp.newState.val === 'E') {
                                  PinPruef();
                              }      
                              if (dp.newState.val === 'R') {
                                  PinReset();  
                              }      
                          });
                          
                          function PinEingabe () {
                              PinTemp = (PinTemp + PinTast);
                              PinAnz = (PinAnz + '*');
                              setState('javascript.0.alarm.Pin.PinAnz', PinAnz);
                              PinLae = (PinLae +1) ;
                          }
                          
                          function unscharf(){
                              setState('javascript.0.alarm.Pin.PinAnzStat',1);
                              setState('javascript.0.alarm.in.disable', true);
                              setState('javascript.0.alarm.Pin.VisKeyPad', false);
                               if(logging) log('Deaktivierung / Pineingabe erfolgreich');
                          ///////////////////////////////////////////////////// Hier musst du dann deinen Türöffner auf machen reinschreiben    
                          }
                          
                          function PinPruef() {
                              if (PinTemp == PinSoll) {
                                  if(logging) log('PinEingabe erfolgreich');
                                  PinAnzStat = 1;
                                  unscharf();
                          
                                  setTimeout(function() {
                          
                                      PinReset();
                                  }, 10 * 1000);
                          
                              } else {
                                  if(logging) log('PinEingabe Fehler');
                                  PinAnzStat = 2;
                                  setState('javascript.0.alarm.Pin.PinAnzStat', 2);
                                  setState('javascript.0.alarm.Pin.PinFehler', true);
                                  PinReset();
                              }
                          }    
                          
                          function PinReset() {
                                  PinLae=0;
                                  PinAnzStat=2;
                                  PinAnz="";
                                  PinTemp="";
                                  setState('javascript.0.alarm.Pin.PinAnzStat', 2);
                                  setState('javascript.0.alarm.Pin.PinAnz', PinAnz);
                          }
                          
                          1 Reply Last reply Reply Quote 0
                          • sigi234
                            sigi234 Forum Testing Most Active last edited by

                            Hallo,

                            was ist hm-rega.0.1234

                            2858_screenshot__611_.png

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              Eine Systemvariable im der ccu

                              Sent from my iPhone using Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • smartboart
                                smartboart last edited by

                                So siehts bei mir aus…Hab alles raus geschmissen was ich nicht brauch..

                                funktioniert einwandfrei

                                Hab das Pin Pad 2 mal .. einmal für stop bzw. rücksetzen während Auslösung und einmal zum deaktivieren.

                                // -----------------------------------------------------------------------------
                                // allgemeine Variablen
                                // -----------------------------------------------------------------------------
                                var logging = true;                                                        // Logging on/off
                                var instanz = 'javascript.0';  instanz = instanz + '.Alarm';                     // 
                                
                                var pfad0 =     'alarm.Pin.Disable.';                        // Pfad innerhalb der Instanz 
                                
                                // -----------------------------------------------------------------------------
                                // Variablen für Pin-Abfrage
                                // -----------------------------------------------------------------------------
                                var PinTast = "";                   // Inhalt der Eingabe
                                var PinTemp ="";                    // Puffer für eingegebe Ziffern
                                var PinLae = 0;                     // Pin-Länge bei Eingabe
                                
                                var PinState = false ;              // Eingabestatus - Eingabe beginnt nach Taste '#' und wird mit Taste '#' abgeschlossen
                                var PinFehl =false;                 // Statusflag für fehlerhafte Eingabe
                                var PinAnz = "";                    // Angezeiger 'Displaytext' z.B. ****
                                
                                var PinSoll = 1111;                 // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                                
                                // -----------------------------------------------------------------------------
                                // Objekte
                                // -----------------------------------------------------------------------------
                                
                                // Objekte für Pin-Eingabe
                                createState(pfad0 + 'PinSelect', "" , {name: 'Pin-Eingabe'});
                                createState(pfad0 + 'Pin', '0000' ,  {name: 'Pin'});
                                createState(pfad0 + 'PinFehler', false ,  {name: 'Pin-Fehler'});
                                createState(pfad0 + 'PinAnz', '' ,  {name: 'Pin-Anzeige'});
                                createState(pfad0 + 'VisKeyPad', '' ,  {name: 'State für Vis Keypad Sichtbar'}); //State für Vis Keypad Sichtbar wird von Button in Vis beschrieben und bei unscharf zurück gesetzt
                                
                                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                
                                // #############################################################################
                                // #                                                                           #
                                // #  Pin-Abfrage                                                              #
                                // #                                                                           #
                                // #############################################################################
                                
                                on('javascript.0.alarm.Pin.Disable.PinSelect', function (dp) {
                                    if (dp.newState.val === 0 || dp.newState.val === 1 || dp.newState.val === 2 || dp.newState.val === 3 || dp.newState.val === 4 || dp.newState.val === 5 || dp.newState.val === 6 || dp.newState.val === 7 || dp.newState.val === 8 || dp.newState.val === 9) {
                                        PinTast = dp.newState.val;
                                        PinEingabe();
                                    }  
                                    if (dp.newState.val === 'E') {
                                        PinPruef();
                                    }      
                                    if (dp.newState.val === 'R') {
                                        PinReset();  
                                    }      
                                });
                                
                                function PinEingabe () {
                                    PinTemp = (PinTemp + PinTast);
                                    PinAnz = (PinAnz + '*');
                                    setState('javascript.0.alarm.Pin.Disable.PinAnz', PinAnz);
                                    PinLae = (PinLae +1) ;
                                }
                                
                                function unscharf(){
                                    setState('javascript.0.alarm.in.disable', true);
                                    setState('javascript.0.alarm.Pin.Disable.VisKeyPad', false);
                                     if(logging) log('Deaktivierung der Alarmanlage durch Pineingabe erfolgreich');
                                ///////////////////////////////////////////////////// Hier musst du dann deinen Türöffner auf machen reinschreiben    
                                }
                                
                                function PinPruef() {
                                    if (PinTemp == PinSoll) {
                                        if(logging) log('PinEingabe Disable erfolgreich');
                                        unscharf();
                                
                                        setTimeout(function() {
                                
                                            PinReset();
                                        }, 10 * 1000);
                                
                                    } else {
                                        if(logging) log('Pin Eingabe Disable falscher Pin');
                                        setState('javascript.0.alarm.Pin.Disable.PinFehler', true);
                                        PinReset();
                                    }
                                }    
                                
                                function PinReset() {
                                        PinLae=0;
                                        PinAnz="";
                                        PinTemp="";
                                        setState('javascript.0.alarm.Pin.Disable.PinAnz', PinAnz);
                                }
                                

                                ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 7cd9df.jpg">https://uploads.tapatalk-cdn.com/20180908/edecb9375e9d54b22520a997817cd9df.jpg</link_text>" />![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 2886a3.jpg">https://uploads.tapatalk-cdn.com/20180908/e94274682ddb4ab61a195dbe022886a3.jpg</link_text>" />~~~~ 6558_unbenannt.png
                                6558_unbenannt1.png

                                1 Reply Last reply Reply Quote 0
                                • Homer.J.
                                  Homer.J. last edited by

                                  Hallo Smartboard,

                                  wie Integriere ich jetzt die Pin Eingabe in die Alarmanlage hab das Script und das Widget am laufen.

                                  Grüße

                                  1 Reply Last reply Reply Quote 0
                                  • smartboart
                                    smartboart last edited by

                                    Wie gesagt habe es 2 mal am laufen . Ich beschreibe mit der pineingabe das state für disable und mit der 2. Pineingabe das state für stop..

                                    Die button dafür aus der alarmanlage setzen den state aus dem pinpad welches ich für vis eingefügt habe…

                                    Sobald also der button deaktiviern oder stop gedrückt wird , öffnet sich das pin pad .sobald der code richtig eingegeben wurd wird der state disable oder stop beschrieben und das pad verschwindet.

                                    function unscharf(){

                                    setState('javascript.0.alarm.in.disable', true);

                                    setState('javascript.0.alarm.Pin.Disable.VisKeyPad', false);

                                    if(logging) log('Deaktivierung der Alarmanlage durch Pineingabe erfolgreich');

                                    Gesendet von meinem SM-G800F mit Tapatalk

                                    ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201809 ... 0fd20f.jpg">https://uploads.tapatalk-cdn.com/20180908/ac0f04bfb882b922ff039b653a0fd20f.jpg</link_text>" />

                                    1 Reply Last reply Reply Quote 0
                                    • Homer.J.
                                      Homer.J. last edited by

                                      Setze ich es nur ins Logik Script mit ein, ? ich habe keinen Ansatz wie ich es jetzt umsetzen soll.

                                      1 Reply Last reply Reply Quote 0
                                      • smartboart
                                        smartboart last edited by

                                        Also ganz einmfach …

                                        Hier das Beispiel der Einstellungen des PinPad und der Deaktivieren Taste.

                                        Das Pinpad habe ich gruppiert als ein Widget.

                                        Bei Sichtbarkeit so einstellen, das es nur sichtbar ist wenn deaktivieren gedrückt wird.

                                        Der deaktivieren Button setz den State

                                        setState('javascript.0.alarm.Pin.Disable.VisKeyPad', true);

                                        Dieser macht das Pinpad Sichtbar.

                                        Das Script Pinbutton eretzt nun den den Buton für Deaktivieren, da es nun den State beschreibt welcher zuvor durch den Deaktivieren Button gestezt wurde.

                                        Siehe Fotos.

                                        Script 1 für deaktivieren / disable:

                                        // -----------------------------------------------------------------------------
                                        // allgemeine Variablen
                                        // -----------------------------------------------------------------------------
                                        var logging = true;                                                        // Logging on/off
                                        var instanz = 'javascript.0';  instanz = instanz + '.Alarm';                     // 
                                        
                                        var pfad0 =     'alarm.Pin.Disable.';                        // Pfad innerhalb der Instanz 
                                        
                                        // -----------------------------------------------------------------------------
                                        // Variablen für Pin-Abfrage
                                        // -----------------------------------------------------------------------------
                                        var PinTast = "";                   // Inhalt der Eingabe
                                        var PinTemp ="";                    // Puffer für eingegebe Ziffern
                                        var PinLae = 0;                     // Pin-Länge bei Eingabe
                                        
                                        var PinState = false ;              // Eingabestatus - Eingabe beginnt nach Taste '#' und wird mit Taste '#' abgeschlossen
                                        var PinFehl =false;                 // Statusflag für fehlerhafte Eingabe
                                        var PinAnz = "";                    // Angezeiger 'Displaytext' z.B. ****
                                        
                                        var PinSoll = 1111;                 // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                                        
                                        // -----------------------------------------------------------------------------
                                        // Objekte
                                        // -----------------------------------------------------------------------------
                                        
                                        // Objekte für Pin-Eingabe
                                        createState(pfad0 + 'PinSelect', "" , {name: 'Pin-Eingabe'});
                                        createState(pfad0 + 'Pin', '0000' ,  {name: 'Pin'});
                                        createState(pfad0 + 'PinFehler', false ,  {name: 'Pin-Fehler'});
                                        createState(pfad0 + 'PinAnz', '' ,  {name: 'Pin-Anzeige'});
                                        createState(pfad0 + 'VisKeyPad', '' ,  {name: 'State für Vis Keypad Sichtbar'}); //State für Vis Keypad Sichtbar wird von Button in Vis beschrieben und bei unscharf zurück gesetzt
                                        
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        
                                        // #############################################################################
                                        // #                                                                           #
                                        // #  Pin-Abfrage                                                              #
                                        // #                                                                           #
                                        // #############################################################################
                                        
                                        on('javascript.0.alarm.Pin.Disable.PinSelect', function (dp) {
                                            if (dp.newState.val === 0 || dp.newState.val === 1 || dp.newState.val === 2 || dp.newState.val === 3 || dp.newState.val === 4 || dp.newState.val === 5 || dp.newState.val === 6 || dp.newState.val === 7 || dp.newState.val === 8 || dp.newState.val === 9) {
                                                PinTast = dp.newState.val;
                                                PinEingabe();
                                            }  
                                            if (dp.newState.val === 'E') {
                                                PinPruef();
                                            }      
                                            if (dp.newState.val === 'R') {
                                                PinReset();  
                                            }      
                                        });
                                        
                                        function PinEingabe () {
                                            PinTemp = (PinTemp + PinTast);
                                            PinAnz = (PinAnz + '*');
                                            setState('javascript.0.alarm.Pin.Disable.PinAnz', PinAnz);
                                            PinLae = (PinLae +1) ;
                                        }
                                        
                                        function unscharf(){
                                            setState('javascript.0.alarm.in.disable', true);
                                            setState('javascript.0.alarm.Pin.Disable.VisKeyPad', false);
                                             if(logging) log('Deaktivierung der Alarmanlage durch Pineingabe erfolgreich');
                                        ///////////////////////////////////////////////////// Hier musst du dann deinen Türöffner auf machen reinschreiben    
                                        }
                                        
                                        function PinPruef() {
                                            if (PinTemp == PinSoll) {
                                                if(logging) log('PinEingabe Disable erfolgreich');
                                                unscharf();
                                        
                                                setTimeout(function() {
                                        
                                                    PinReset();
                                                }, 10 * 1000);
                                        
                                            } else {
                                                if(logging) log('Pin Eingabe Disable falscher Pin');
                                                setState('javascript.0.alarm.Pin.Disable.PinFehler', true);
                                                PinReset();
                                            }
                                        }    
                                        
                                        function PinReset() {
                                                PinLae=0;
                                                PinAnz="";
                                                PinTemp="";
                                                setState('javascript.0.alarm.Pin.Disable.PinAnz', PinAnz);
                                        }
                                        

                                        Script 2 für Alarm in stop

                                        // -----------------------------------------------------------------------------
                                        // allgemeine Variablen
                                        // -----------------------------------------------------------------------------
                                        var logging = true;                                                        // Logging on/off
                                        var instanz = 'javascript.0';  instanz = instanz + '.Alarm';                     // 
                                        
                                        var pfad0 =     'alarm.Pin.Stop.';                        // Pfad innerhalb der Instanz 
                                        
                                        // -----------------------------------------------------------------------------
                                        // Variablen für Pin-Abfrage
                                        // -----------------------------------------------------------------------------
                                        var PinTast = "";                   // Inhalt der Eingabe
                                        var PinTemp ="";                    // Puffer für eingegebe Ziffern
                                        var PinLae = 0;                     // Pin-Länge bei Eingabe
                                        
                                        var PinState = false ;              // Eingabestatus - Eingabe beginnt nach Taste '#' und wird mit Taste '#' abgeschlossen
                                        var PinFehl =false;                 // Statusflag für fehlerhafte Eingabe
                                        var PinAnz = "";                    // Angezeiger 'Displaytext' z.B. ****
                                        
                                        var PinSoll = 1111;                 // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                                        
                                        // -----------------------------------------------------------------------------
                                        // Objekte
                                        // -----------------------------------------------------------------------------
                                        
                                        // Objekte für Pin-Eingabe
                                        createState(pfad0 + 'PinSelect', "" , {name: 'Pin-Eingabe'});
                                        createState(pfad0 + 'Pin', '0000' ,  {name: 'Pin'});
                                        createState(pfad0 + 'PinFehler', false ,  {name: 'Pin-Fehler'});
                                        createState(pfad0 + 'PinAnz', '' ,  {name: 'Pin-Anzeige'});
                                        createState(pfad0 + 'VisKeyPad', '' ,  {name: 'State für Vis Keypad Sichtbar'}); //State für Vis Keypad Sichtbar wird von Button in Vis beschrieben und bei unscharf zurück gesetzt
                                        
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
                                        
                                        // #############################################################################
                                        // #                                                                           #
                                        // #  Pin-Abfrage                                                              #
                                        // #                                                                           #
                                        // #############################################################################
                                        
                                        on('javascript.0.alarm.Pin.Stop.PinSelect', function (dp) {
                                            if (dp.newState.val === 0 || dp.newState.val === 1 || dp.newState.val === 2 || dp.newState.val === 3 || dp.newState.val === 4 || dp.newState.val === 5 || dp.newState.val === 6 || dp.newState.val === 7 || dp.newState.val === 8 || dp.newState.val === 9) {
                                                PinTast = dp.newState.val;
                                                PinEingabe();
                                            }  
                                            if (dp.newState.val === 'E') {
                                                PinPruef();
                                            }      
                                            if (dp.newState.val === 'R') {
                                                PinReset();  
                                            }      
                                        });
                                        
                                        function PinEingabe () {
                                            PinTemp = (PinTemp + PinTast);
                                            PinAnz = (PinAnz + '*');
                                            setState('javascript.0.alarm.Pin.Stop.PinAnz', PinAnz);
                                            PinLae = (PinLae +1) ;
                                        }
                                        
                                        function unscharf(){
                                            setState('javascript.0.alarm.in.stop', true);
                                            setState('javascript.0.alarm.Pin.Stop.VisKeyPad', false);
                                             if(logging) log('Stoppen der Alarmanlage durch Pineingabe erfolgreich');
                                        ///////////////////////////////////////////////////// Hier musst du dann deinen Türöffner auf machen reinschreiben    
                                        }
                                        
                                        function PinPruef() {
                                            if (PinTemp == PinSoll) {
                                                if(logging) log('PinEingabe Stop erfolgreich');
                                                unscharf();
                                        
                                                setTimeout(function() {
                                        
                                                    PinReset();
                                                }, 10 * 1000);
                                        
                                            } else {
                                                if(logging) log('Pin Eingabe Stop falsche Pin');
                                                setState('javascript.0.alarm.Pin.Stop.PinFehler', true);
                                                PinReset();
                                            }
                                        }    
                                        
                                        function PinReset() {
                                                PinLae=0;
                                                PinAnz="";
                                                PinTemp="";
                                                setState('javascript.0.alarm.Pin.Stop.PinAnz', PinAnz);
                                        }
                                        

                                        6558_2.png 6558_1.png

                                        1 Reply Last reply Reply Quote 0
                                        • Homer.J.
                                          Homer.J. last edited by

                                          Cool Danke dir funktioniert.

                                          Wünsch dir noch einen schönen Abend

                                          Grüße Steffen

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Mr.Oz last edited by

                                            Hallo zusammen,

                                            ist mein erster Beitrag aber irgendwann muss man ja anfangen 😄

                                            Bin neu in der ioBroker und Java Welt und lerne noch.

                                            Habe zum Pad eine frage.

                                            Ist es möglich, dass die Angabe der Pins ohne kommunikation mit den Adapter funktioniert? Also im internen "Script"-Reiter in VIS. Also das jeder Button eine variable und das Textfeld füllt und erst bei Bestätigung der PinSelect angesprochen wird mit dem Wert der Variable.

                                            Ich betreibe den ioBroker an einem Raspberry und irgendwie sind die Antwortzeite zwischen Vis -> Js Script -> Vis bei der Eingabe langsam.

                                            Gruß

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            463
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            56
                                            12245
                                            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