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.
    • A
      ahfreezer last edited by

      OK, hab's selbst gelöst.

      Das Skript wird bei gleichem Wert schlicht weg nicht neu getriggert. Daher kommt die Zahl nie an.

       setState('javascript.0.Alarmobjekte.Pin.Disable.PinSelect', '11'); 
      

      Ich setze nach jeder Zahl das Feld auf eine zweistellige Zahl. Damit stell ich sicher, dass beim nächsten Drücken

      der Wert auf jeden Fall gezogen wird.

      Oder habt ihr bessere Ideen/Erklärungen.

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

        Change any Dann wird auch bei gleichen Zahlen getriggert

        Gesendet von meinem CLT-L09 mit Tapatalk

        1 Reply Last reply Reply Quote 0
        • I
          ifled88 last edited by

          @smartboart:

          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>" /> ` ~~@smartboart

          Würdest du dein View incl widget auch hergeben :-)?

          oder gar dein Projekt? :mrgreen:~~

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

            Hallo, nein das kann ich leider nicht… Bei exportieren werden sämtliche persönliche Daten Passwörter IP zugangsdaten Pins und vieles mehr mitgenommen...eben alles was in den widgets hinterlegt ist... Das zu filtern ist zu viel Aufwand... Dafür habe ich keine Zeit... Und mit den Daten gebe ich nix raus... Sorry

            Gesendet von meinem CLT-L09 mit Tapatalk

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

              @smartboart:

              Hallo, nein das kann ich leider nicht… Bei exportieren werden sämtliche persönliche Daten Passwörter IP zugangsdaten Pins und vieles mehr mitgenommen...eben alles was in den widgets hinterlegt ist... Das zu filtern ist zu viel Aufwand... Dafür habe ich keine Zeit... Und mit den Daten gebe ich nix raus... Sorry

              Gesendet von meinem CLT-L09 mit Tapatalk `

              Und der anonymisierte Export funktioniert nicht?

              1 Reply Last reply Reply Quote 0
              • C
                ChrisXY @ifled88 last edited by

                @delfser said in Pincode Eingabe Alarmanlage:

                @smartboart:

                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>" /> ` ~~@smartboart

                Würdest du dein View incl widget auch hergeben :-)?

                oder gar dein Projekt? :mrgreen:~~

                hui das schaut echt schön aus dein VIS 🙂 Also da hätte ich auch Intresse dran. Aber beim Thema VIS bin ich noch nicht ganz angekommen. Bin aktuell noch mit Blockly sachen zu gange 😉

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

                  Hi,
                  hier nochmal das Widget.

                  Grüße

                  Alarm_Pincode.txt

                  1 Reply Last reply Reply Quote 0
                  • S
                    sectorchan last edited by

                    Wie ist denn die Alarmausgabe bei euch realisiert?
                    Gibts auch was mit mit SIM Karte und sms verschicken?

                    T S CKMartens 3 Replies Last reply Reply Quote 0
                    • T
                      tempestas @sectorchan last edited by

                      @sectorchan

                      Telegram und bei Aktivierung "laut" Alarm auch auf Sonos

                      1 Reply Last reply Reply Quote 0
                      • K
                        KabaKoenig last edited by

                        Danke für alle die an diesem Projekt gearbeitet haben.
                        Ich hätte noch eine Frage zur Pin-Eingabe, ist es möglich das man mehrere Codes abfragt?
                        Und natürlich hallo an alle ich bin voll dabei mich einzuarbeiten.
                        Liebe Grüße
                        Timo

                        1 Reply Last reply Reply Quote 0
                        • S
                          smarti2015 @sectorchan last edited by

                          @sectorchan
                          Normale Benachrichtigungen und Statusmeldungen lasse ich mir per Telegram zuschicken.

                          Für die Alarmanlage und andere sehr wichtige Infos nutze ich Pushover.
                          Bei Pushover kann man sich schön den Dark Mode einstellen und wenn man die Benachrichtigung auf "Priorität hoch" stellt, erscheinen die ganze dringenden Benachrichtigungen, wie z.B eine Fenster wurde grad geöffnet bei scharfer Alarmanlage, rot hinterlegt.

                          Zusätzlich kannst du bei Pushover dir noch einen kurze oder auch langen eindringlichen Benachrichtigungston hinterlegen, was jetzt bei einem Auslösen der Alarmanlage super ist.
                          Also ich finde es mit Pushover für die Alarmanlage perfekt.

                          1 Reply Last reply Reply Quote 0
                          • CKMartens
                            CKMartens @sectorchan last edited by

                            @sectorchan ginge auch mit Asterisk eine gesprochene Nachricht an eine Rufnummer zu schicken.

                            Danny 0 1 Reply Last reply Reply Quote 0
                            • Danny 0
                              Danny 0 @CKMartens last edited by

                              Hi,

                              danke für den Quellcode. Ich habe ihn noch etwas erweitert.
                              Neue Funktion:

                              1. Auswahl Zwischen Pin aus der Variablen oder Quellcode
                              2. Vorschau in der Vis von der eingegebenen Zahl, die dann aber wieder verschwindet nach ein paar Millisekunden
                              3. Reaktion auf Taste "#" und "-" anstelle von "R" und "E"
                              4. Nachricht in der VIS wenn der Pin Richtig oder Falsch war
                              // -----------------------------------------------------------------------------
                              // 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 PinShowLastState = true ;       // Zeigt die letzte eingegeben Zahl in der Variable VisKeyPad an z.B. ***4 diese Verschwindet automatisch nach einer gewissen zeit
                              var PinShowLastStateDelay = 400 ;   // Zeit in ms (Millisekunden) die die letzte eingebene Zahl angezeigt wird
                              
                              var PinSoll = getState(pfad0 + 'Pin').val;         // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                              // var PinSoll = String("1111");         // Pin die zur Deaktivierung der Alarmanlage benötigt wird
                              
                              var PinUnlockMsg = "unlock"         // Text der in PinAnz zu sehen ist wenn der Pin i.O. eingegeben wurde
                              var PinFailureMsg = "failure"         // Text der in PinAnz zu sehen ist wenn der Pin i.O. eingegeben wurde
                               
                              // -----------------------------------------------------------------------------
                              // Objekte
                              // -----------------------------------------------------------------------------
                               
                              // Objekte für Pin-Eingabe
                              createState(pfad0 + 'disable', false ,  {name: 'Alarm abschalten'});
                              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({id: 'javascript.0.alarm.Pin.PinSelect', change: "any"}, function (dp) {
                                  if (dp.state.val === 0 || dp.state.val === 1 || dp.state.val === 2 || dp.state.val === 3 || dp.state.val === 4 || dp.state.val === 5 || dp.state.val === 6 || dp.state.val === 7 || dp.state.val === 8 || dp.state.val === 9) {
                                      PinTast = dp.state.val;
                                      PinEingabe();
                                  }  
                                  if (dp.state.val === '#') {
                                      PinPruef();
                                  }      
                                  if (dp.state.val === '-') {
                                      PinReset();  
                                  }      
                              });
                               
                              function PinEingabe () {
                                  PinTemp = (String(PinTemp) + String(PinTast));
                                  setState('javascript.0.alarm.Pin.VisKeyPad', PinAnz + PinTast);
                                  PinAnz = String(PinAnz + '*');
                                  // setState('javascript.0.alarm.Pin.PinAnz', PinAnz);
                                  timeout = setTimeout(async function () {setState('javascript.0.alarm.Pin.VisKeyPad', PinAnz); }, PinShowLastStateDelay);              
                                  PinLae = (PinLae +1) ;
                              }
                               
                              function unscharf(){
                                  setState('javascript.0.alarm.Pin.PinAnzStat',1);
                                  setState('javascript.0.alarm.Pin.disable', true);
                                  setState('javascript.0.alarm.Pin.VisKeyPad', PinUnlockMsg);
                                  timeout_unscharf = setTimeout(async function () {setState('javascript.0.alarm.Pin.VisKeyPad', ""); }, 2000);
                                  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();
                                      // Resette den Pin nach 2 Sekunden
                                      setTimeout(function() {
                                          PinReset();
                                      }, 2 * 1000);
                                  } else {
                                      if(logging) log('PinEingabe Fehler');
                                      PinAnzStat = 2;
                                      setState('javascript.0.alarm.Pin.PinAnzStat', 2);
                                      setState('javascript.0.alarm.Pin.PinFehler', true);
                                      setState('javascript.0.alarm.Pin.disable', false);
                                      setState('javascript.0.alarm.Pin.VisKeyPad', PinFailureMsg);
                                      PinReset();
                                  }
                              }    
                               
                              function PinReset() {
                                      if (PinTemp == PinSoll) {
                                          setState('javascript.0.alarm.Pin.VisKeyPad', "");
                                      } else {
                                          timeout_pinpruef = setTimeout(async function () {setState('javascript.0.alarm.Pin.VisKeyPad', ""); }, 1000);
                                      }
                                      PinLae=0;
                                      PinAnzStat=2;
                                      PinAnz="";
                                      PinTemp="";
                                      setState('javascript.0.alarm.Pin.PinAnzStat', 2);
                                      setState('javascript.0.alarm.Pin.PinAnz', PinAnz);
                              }
                              

                              was noch kommt ... Maximale Falscheingabe des PIN, melde Objekt wenn zu oft falsch eingegeben wurde

                              VG

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              546
                              Online

                              31.7k
                              Users

                              79.9k
                              Topics

                              1.3m
                              Posts

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