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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Pincode Eingabe Alarmanlage

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    31

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Pincode Eingabe Alarmanlage

Geplant Angeheftet Gesperrt Verschoben Visualisierung
56 Beiträge 25 Kommentatoren 14.4k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    schrieb am zuletzt editiert von
    #8

    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 :D

    Gruß

    Steffen

    Ich beantworte keine Fragen zu Themen via PN

    1 Antwort Letzte Antwort
    0
    • SmarthomeMFS Offline
      SmarthomeMFS Offline
      SmarthomeMF
      schrieb am zuletzt editiert von
      #9

      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

      Max

      ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
      Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

      1 Antwort Letzte Antwort
      0
      • rantanplanR Online
        rantanplanR Online
        rantanplan
        schrieb am zuletzt editiert von
        #10

        Hallo SmarthomeMF

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

        Vielleicht geht das als Grundlage.

        Grüße

        Rantanplan

        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

        1 Antwort Letzte Antwort
        0
        • SmarthomeMFS Offline
          SmarthomeMFS Offline
          SmarthomeMF
          schrieb am zuletzt editiert von
          #11

          danke für den Tipp

          Max

          ioBroker auf einem NUC ,16GB RAM, 120GB SSD) mit Proxmox
          Cloud Pro, iot, Alexa, Sonos, sonoff, Fronius, Harmony, Doorbird, Shelly, Hue, Loxone, Mihome, …

          1 Antwort Letzte Antwort
          0
          • PeoplesP Offline
            PeoplesP Offline
            Peoples
            schrieb am zuletzt editiert von
            #12

            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

            Ich beantworte keine Fragen zu Themen via PN

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              maxx1976
              schrieb am zuletzt editiert von
              #13

              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 Antwort Letzte Antwort
              0
              • Homer.J.H Offline
                Homer.J.H Offline
                Homer.J.
                schrieb am zuletzt editiert von
                #14

                Ist kein View sondern ein Widget.

                Grüße

                1 Antwort Letzte Antwort
                0
                • smartboartS Offline
                  smartboartS Offline
                  smartboart
                  schrieb am zuletzt editiert von
                  #15

                  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 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    maxx1976
                    schrieb am zuletzt editiert von
                    #16

                    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 Antwort Letzte Antwort
                    0
                    • smartboartS Offline
                      smartboartS Offline
                      smartboart
                      schrieb am zuletzt editiert von
                      #17

                      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 Antwort Letzte Antwort
                      0
                      • sigi234S Online
                        sigi234S Online
                        sigi234
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #18

                        Hallo,

                        was ist hm-rega.0.1234

                        2858_screenshot__611_.png

                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Immer Daten sichern!

                        1 Antwort Letzte Antwort
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          schrieb am zuletzt editiert von
                          #19

                          Eine Systemvariable im der ccu

                          Sent from my iPhone using Tapatalk

                          1 Antwort Letzte Antwort
                          0
                          • smartboartS Offline
                            smartboartS Offline
                            smartboart
                            schrieb am zuletzt editiert von
                            #20

                            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 Antwort Letzte Antwort
                            0
                            • Homer.J.H Offline
                              Homer.J.H Offline
                              Homer.J.
                              schrieb am zuletzt editiert von
                              #21

                              Hallo Smartboard,

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

                              Grüße

                              1 Antwort Letzte Antwort
                              0
                              • smartboartS Offline
                                smartboartS Offline
                                smartboart
                                schrieb am zuletzt editiert von
                                #22

                                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 Antwort Letzte Antwort
                                0
                                • Homer.J.H Offline
                                  Homer.J.H Offline
                                  Homer.J.
                                  schrieb am zuletzt editiert von
                                  #23

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • smartboartS Offline
                                    smartboartS Offline
                                    smartboart
                                    schrieb am zuletzt editiert von
                                    #24

                                    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 Antwort Letzte Antwort
                                    0
                                    • Homer.J.H Offline
                                      Homer.J.H Offline
                                      Homer.J.
                                      schrieb am zuletzt editiert von
                                      #25

                                      Cool Danke dir funktioniert.

                                      Wünsch dir noch einen schönen Abend

                                      Grüße Steffen

                                      1 Antwort Letzte Antwort
                                      0
                                      • M Offline
                                        M Offline
                                        Mr.Oz
                                        schrieb am zuletzt editiert von
                                        #26

                                        Hallo zusammen,

                                        ist mein erster Beitrag aber irgendwann muss man ja anfangen :D

                                        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 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          MartinBr
                                          schrieb am zuletzt editiert von
                                          #27

                                          Hallo Smartboart,

                                          deine View sieht Klasse aus. Ich bin gerade dabei, mir eine solche Lösung aufzubauen. Irgendwie komme ich da nicht richtig weiter.

                                          Kannst du deine View von der Pin-Eingabe veröffentlichen?

                                          Ich wäre dir sehr dankbar.

                                          Gruß

                                          Martin

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          654

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe