Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Vorlage] VIS: View durch Pin schützen

    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

    [Vorlage] VIS: View durch Pin schützen

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

      Hat noch jemand das Problem, dass bei jedem Druck auf eine Taste zwei Ziffern getätigt werden?

      Negalein 1 Reply Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @Hansi1234 last edited by

        @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

        dass bei jedem Druck auf eine Taste zwei Ziffern getätigt werden

        kann an einem billigen Touch liegen.

        Schon bei anderen Widget probiert (zB Button on/off)?

        1 Reply Last reply Reply Quote 0
        • H
          Hansi1234 last edited by

          😂 Ich bin auf der VIS mit meinem PC und der Maus.
          Habe eingentlich nur bei dem Code Eingabeprobleme.

          Negalein 1 Reply Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @Hansi1234 last edited by

            @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

            Ich bin auf der VIS mit meinem PC und der Maus.

            Ok, dann ist es nicht der Touch!

            Bei mir läuft es wie es soll.

            Schick mir mal einen Export, dann probier ich es bei mir. Bin auch am PC unterwegs.

            H 1 Reply Last reply Reply Quote 0
            • H
              Hansi1234 @Negalein last edited by

              @Negalein

              Danke dir.
              Hier das Script:

              /*******************************************************************************
               * ---------------------------
               * Pin-Schutz für VIS-View
               * ---------------------------
               * Autor: Mic
               * Change Log
               *  - 0.2 - Fix: 0 on keypad was not recognized
               *  - 0.1 - initial version
               * Support: https://forum.iobroker.net/viewtopic.php?f=30&t=19871
               ******************************************************************************/
              
              /*******************************************************************************
               * Konfiguration
               ******************************************************************************/
              const STATE_PATH = 'javascript.' + instance + '.' + 'visViewPinSperre.';
              
              const LOGGING = true;         // Detaillierte Ausgabe im Log. Falls keine Probleme, dann auf false setzen.
              
              
              /*******************************************************************************
               * Konfiguration: Views
               ******************************************************************************/
              // Es können beliebig mehr Views hinzugefügt oder auf eine limitiert werden, bitte aber Aufbau beibehalten!
              const PIN_VIEWS = [
                {
              name:       'Alarm',        // Name der View, zu der bei Erfolg gewechselt werden soll
              project:    'Inventwo',            // VIS-Projekt, in dem die View ist, für den Viewwechsel bei Erfolg. Wert bekommt man u.a.: Vis -> Menü: Setup > Projekte (den Namen des jeweilgen Projektes nehmen)
                  instance:   '0.7e7878',      // Funktioniert bei mir (und einigen anderen) immer mit 'FFFFFFFF', ansonsten Wert vom Vis, Menü Tools, Feld "Instanz ID" nehmen
                  pin:        '1112',          // Pin
                },
                {
                  name:       'Test',          
                  project:    'Testprojekt',   
                  instance:   'FFFFFFFF',      
                  pin:        '5678',          
                },
              ];
              
              
              /**********************************************************************************************************
               ++++++++++++++++++++++++++++ Ab hier nichts mehr ändern / Stop editing here! ++++++++++++++++++++++++++++
               *********************************************************************************************************/
              
              
              /*******************************************************************************
               * Globale Variablen
               *******************************************************************************/
              // Array, pro View ein Element
              var G_LastKeyPressed = [];      // Letzte Taste, die gedrückt wurde
              var G_PinBufferKeys = [];       // Puffer für eingegebene Ziffern
              var G_PinBufferWildcards = [];  // Für Vis-Anzeigefeld der Pineingabe, füllt sich mit "*" nach jeder Zifferneingabe
              
              /*******************************************************************************
               * Executed on every script start.
               *******************************************************************************/
              init();
              function init() {
               
                  // Create states
                  createScriptStates();
              
                  // 1. Initialize global variables
                  // 2. Reset for each view
                  setTimeout(function(){
                      for (let i = 0; i < PIN_VIEWS.length; i++) {
                          // Initialize global variables
                          G_LastKeyPressed[PIN_VIEWS[i].name] = '';
                          G_PinBufferKeys[PIN_VIEWS[i].name] = '';
                          G_PinBufferWildcards[PIN_VIEWS[i].name] = '';        
                          // Reset für jede View durchführen
                          resetPin(PIN_VIEWS[i].name)
                      }
                  }, 3000);
              
                  // Main Script starten, 5 Sekunden nach State-Generierung
                  setTimeout(main, 5000);
              
              }
              
              /*******************************************************************************
               * Haupt-Skript
               *******************************************************************************/
              function main() {
              
                  // Überwacht das Tastenfeld in VIS für jede View
                  for (var i = 0; i < PIN_VIEWS.length; i++) {
                      on({id: STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', change: "any"}, function (obj) {
                          var currView = obj.id.substr(STATE_PATH.length).split(".")[0]; // get View Name simply from obj.id
                          if(LOGGING) if(obj.state.val !== '') log('Eingabe über Tastenfeld: ' + obj.state.val + ', Viewname: ' + currView);
                          switch(obj.state.val) {
                              case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
                                  G_LastKeyPressed[currView] = obj.state.val;
                                  userEnteredNumber(currView);
                                  break;
                              case 'Enter':   // Der User hat die Pin-Eingabe bestätigt.
                                  checkEnteredPin(currView);
                                  break;
                              case 'Reset':
                                  resetPin(currView);
                                  break;
                              default:
                                  //None
                          } 
                      });
                  }
              
              }
              
              
              /********************************
               * Create States
               ********************************/
              function createScriptStates() {
                  for (let i = 0; i < PIN_VIEWS.length; i++) {
                      createState(STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', {'name':'Mit Tasten aus VIS setzen', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                      createState(STATE_PATH + PIN_VIEWS[i].name + '.WrongPinEntered', {'name':'Pin-Fehler', 'type':'boolean', 'read':true, 'write':false, 'role':'info'});
                      createState(STATE_PATH + PIN_VIEWS[i].name + '.PinWildcards', {'name':'Sterne (*) für VIS-Anzeige', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                  }
              }
              
              
              /********************************
               * Wird ausgeführt, sobald der User eine Nummer im Tastenfeld eingibt.
               * @param {string}   viewName     Name der View
               *********************************/
              function userEnteredNumber(viewName) {
                  G_PinBufferKeys[viewName] = G_PinBufferKeys[viewName] + G_LastKeyPressed[viewName];
                  G_PinBufferWildcards[viewName] = G_PinBufferWildcards[viewName] + ' *';
                  setState(STATE_PATH + viewName + '.PinWildcards', G_PinBufferWildcards[viewName]);
              }
              
              /********************************
               * Wird ausgeführt, sobald der User E für "Enter" eingibt
               * @param {string}   viewName     Name der View
               ********************************/
              function checkEnteredPin(viewName) {
                  if (G_PinBufferKeys[viewName] == getPresetElement(viewName, 'pin')) {
                      if(LOGGING) log('Pin-Eingabe erfolgreich, View [' + viewName + ']');
                      onSuccess(viewName);
                      setTimeout(function() { resetPin(viewName) }, 3000);    // Reset nach 3 Sekunden
                  } else {
                      if(LOGGING) log('Falschen Pin eingegeben, View [' + viewName + ']');
                      setState(STATE_PATH + viewName + '.WrongPinEntered', true);
                      resetPin(viewName);
                  }
              }    
              
              /********************************
               * Reset
               * @param {string}   viewName     Name der View
               ********************************/
              function resetPin(viewName) {
                  if(LOGGING) log('Reset Pin, View-Name: [' + viewName + ']');
                  G_PinBufferWildcards[viewName] = '';
                  G_PinBufferKeys[viewName] = '';
                  setState(STATE_PATH + viewName + '.CurrentKey', '');
                  setState(STATE_PATH + viewName + '.PinWildcards', '');
                  setStateDelayed(STATE_PATH + viewName + '.WrongPinEntered', false, 3000); // Erst nach 3 Sekunden, für VIS-Anzeige
              }
              
              /********************************
               * Wird bei erfolgreicher Pin-Eingabe ausgeführt
               * @param {string}   viewName     Name der View
               ********************************/
              function onSuccess(viewName){
                  // Change View
                  setState("vis.0.control.instance", getPresetElement(viewName, 'instance'));
                  setState("vis.0.control.data",     getPresetElement(viewName, 'project') + '/' + viewName);
                  setState("vis.0.control.command",  'changeView');
              }
              
              
              /********************************
               * Gibt Elemente von PIN_VIEWS zurück
               * @param {string}   viewName     Name of the view
               * @param {string}   key          'project', 'instance', 'pin'
               * @return {string}  Content of the element, e.g. the Pin "1234" for element 'pin'
               ********************************/
              function getPresetElement(viewName, key) {
                  var keyEntry = '';
                  for (let i = 0; i < PIN_VIEWS.length; i++) {
                      if (PIN_VIEWS[i].name === viewName) {
                          keyEntry = PIN_VIEWS[i][key]
                      }
                  }
                  return keyEntry;
              }
              
              1 Reply Last reply Reply Quote 0
              • H
                Hansi1234 last edited by

                Hier mein widget:

                [{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":true,"g_signals":false,"buttontext":"3","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"value":"3","gestures-swipeLeft-limit":"-2","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","class":"","filterkey":""},"style":{"left":"387px","top":"139px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"2","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"2","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"322px","top":"139px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"5","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"5","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"322px","top":"203px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"6","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"6","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"387px","top":"203px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"7","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"7","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"257px","top":"267px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"8","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"8","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"322px","top":"267px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"9","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"9","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"387px","top":"267px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"0","views":["Klima","Licht","Strom","System","Fenster"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"322px","top":"332px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"4px","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"1","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"1","views":["Klima"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"257px","top":"139px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplJquiButtonState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"buttontext":"4","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"no_style":false,"class":"","value":"4","views":["Klima"],"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","filterkey":""},"style":{"left":"257px","top":"203px","width":"55px","height":"55px","z-index":11,"opacity":"","border-radius":"","border-style":"","border-color":"","border-width":"","font-family":"RobotoCondensed-Regular"},"widgetSet":"jqui"},{"tpl":"tplValueString","data":{"oid":"javascript.0.visViewPinSperre.Alarm.PinWildcards","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html_append":"","test_html":" * * * *","lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","class":"","filterkey":""},"style":{"left":"257px","top":"92px","border-width":"","border-style":"","border-color":"","border-radius":"4px","width":"183px","height":"32px","background-color":"","opacity":"0.9","color":"#ffffff","text-align":"center","line-height":"40px","font-size":"20px","z-index":11,"text-shadow":"","font-family":"RobotoCondensed-Bold","background":"rgba(111,113,111,0.5)"},"widgetSet":"basic"},{"tpl":"tplValueString","data":{"oid":"","g_fixed":false,"g_visibility":true,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":"true","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html_prepend":"Falsche Pin","visibility-oid":"javascript.0.visViewPinSperre.Alarm.WrongPinEntered"},"style":{"left":"259px","top":"100px","width":"180px","height":"24px","z-index":"100","text-align":"center","color":"#cc1919","font-weight":"bold"},"widgetSet":"basic"},{"tpl":"tplIconState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"src":"/icons-mic/ios_backspace_white.png","imageHeight":"48","invert_icon":false,"class":"keypad","value":"Reset"},"style":{"left":"257px","top":"332px","width":"53px","height":"53px","border-width":"","border-style":"","border-color":"","border-radius":"4px","z-index":"10"},"widgetSet":"jqui"},{"tpl":"tplIconState","data":{"oid":"javascript.0.visViewPinSperre.Alarm.CurrentKey","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"src":"/icons-mic/checkmark_white.png","imageHeight":"53","invert_icon":false,"class":"keypad","value":"Enter"},"style":{"left":"387px","top":"332px","width":"53px","height":"53px","border-width":"","border-style":"","border-color":"","border-radius":"","z-index":"10"},"widgetSet":"jqui"}]
                
                Negalein 1 Reply Last reply Reply Quote 0
                • Negalein
                  Negalein Global Moderator @Hansi1234 last edited by

                  @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

                  Hier mein widget:

                  schau ich mir nachher an. Muss schnell was erledigen.

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    Hansi1234 @Negalein last edited by

                    @Negalein
                    kein Stress 🙂

                    Negalein 1 Reply Last reply Reply Quote 0
                    • Negalein
                      Negalein Global Moderator @Hansi1234 last edited by Negalein

                      @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

                      kein Stress

                      sorry für die Verspätung! 😞

                      Hab jetzt mehrere Widgets angelegt; mit verschiedenen Optionen.

                      Ich kann es nicht reproduzieren.

                      Siehst du im Log auch die doppelte Eingabe?

                      1 Reply Last reply Reply Quote 0
                      • H
                        Hansi1234 last edited by

                        Hi,

                        ja, wenn ich die Taste 1 ein mal drücke erscheint das im Log:

                        javascript.0	2020-04-23 19:58:09.451	info	(1810) script.js.visViewPinSperre: Eingabe über Tastenfeld: 1, Viewname: Alarm
                        javascript.0	2020-04-23 19:58:09.446	info	(1810) script.js.visViewPinSperre: Eingabe über Tastenfeld: 1, Viewname: Alarm
                        
                        Negalein 1 Reply Last reply Reply Quote 0
                        • Negalein
                          Negalein Global Moderator @Hansi1234 last edited by

                          @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

                          ja, wenn ich die Taste 1 ein mal drücke erscheint das im Log:

                          hast du mal versucht im Script die Instanz-ID mit FFFFFFFF zu ersetzen?

                          Eigentlich dürfte das nichts mit der doppelten Auslösung zu tun haben, aber wer weiß?

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Hansi1234 @Negalein last edited by

                            @Negalein
                            Ja, die ID habe ich geändert, weil es auch nicht mit FFFFFFFF ging. Habs wieder zurück geändert. Geht leider immer noch nicht.

                            Darf ich die Test-Sachen löschen? Kanns daran liegen?

                            Negalein 2 Replies Last reply Reply Quote 0
                            • Negalein
                              Negalein Global Moderator @Hansi1234 last edited by

                              @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

                              Darf ich die Test-Sachen löschen?

                              welche Testsachen?

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                Hansi1234 @Negalein last edited by

                                @Negalein

                                name:       'Test',          
                                    project:    'Testprojekt',   
                                    instance:   'FFFFFFFF',      
                                    pin:        '5678',          
                                  },
                                ];
                                
                                1 Reply Last reply Reply Quote 0
                                • Negalein
                                  Negalein Global Moderator @Hansi1234 last edited by

                                  @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

                                  Darf ich die Test-Sachen löschen?

                                  Ah, die meintest du.

                                  Ja, das kannst du löschen.

                                  {
                                      name:       'Test',          
                                      project:    'Testprojekt',   
                                      instance:   'FFFFFFFF',      
                                      pin:        '5678',          
                                    },
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • Mic
                                    Mic Developer last edited by

                                    @Hansi1234 sagte in [Vorlage] VIS: View durch Pin schützen:

                                    Hat noch jemand das Problem, dass bei jedem Druck auf eine Taste zwei Ziffern getätigt werden?

                                    Falls sich das bestätigt bzw. mehrere das Problem haben:
                                    Könnte man auch durch kleine Modifikation des Scripts abfedern, also z.B. falls innerhalb 100 ms zwei Tastendrücke kommen, dann den zweiten ignorieren.

                                    Hier gerne schreiben, falls Bedarf besteht, hab nur die Tage grad wenig Zeit.

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Hansi1234 last edited by

                                      Guten Morgen,

                                      schonmal danke für die Geduld.

                                      Leider funktioniert es noch nicht.

                                      Habe jetzt schon folgendes versucht:

                                      • JavaScript Adapter neustart
                                      • IoBroker neu gestartet
                                      • Den Viewnamen geändert, zu welche es bei richtiger Eingabe führen soll
                                      • den PIN auf 1111 geändert - was dann bei 2x 1 drücken funktioniert
                                      • Das Script in den global Ordner verschoben

                                      Seit dem das Scipt im global Ordner ist, zeigt die LOG die PIN Eingabe über ein anderes Script an:

                                      javascript.0	2020-04-24 09:35:48.731	info	(25837) script.js.Visualisierung.FarbeTuerenVisu: Eingabe über Tastenfeld: 1, Viewname: Alarm
                                      javascript.0	2020-04-24 09:35:48.730	info	(25837) script.js.Visualisierung.FarbeFensterVisu: Eingabe über Tastenfeld: 1, Viewname: Alarm
                                      

                                      Was ich mir noch vorstellen kann ist, dass das Script versehentlich 2x gestartet ist?
                                      Dass ein älteres Script da im Hintergrund läuft sollte ja mit der Änderung des Viewnamens ausgeschlossen sein oder?

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Hansi1234 last edited by

                                        @Mic @Negalein

                                        Hab jetzt eine ältere Sicherung eingespielt und das Problem besteht nicht mehr.
                                        Danke euch, für eure Hilfe.

                                        1 Reply Last reply Reply Quote 1
                                        • D
                                          darkiop Most Active last edited by

                                          Guten Morgen, kurze Frage:

                                          Läuft bei euch das Skript noch unter js-controller 3.x? Ich habe es seit längerem nicht mehr verwendet und gerade festgestellt das der DP PinWildcards nicht mehr aktualisiert wird und auch grundsätzlich keine richtige PIN eingegeben werden kann.

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

                                            Hallo,
                                            ich habe dieses Script unter dem js-controller 3.0.20 eingespielt und es funktioniert soweit sehr gut, aber, jetzt kommt das grosse aber - wenn ich meine Visualisierung unter iOS mit der iobroker App aufrufe, funktioniert die Umschaltung zur der gesperrten Seite nicht. Auch im Safari Browser auf dem iPhone funktioniert dies nicht. Wenn ich aber dieses am PC aufrufe, schaltet er auf die gesperrte Seite um (auch in diesem Fall, schaltet das iOS Gerät nicht um, obwohl ich die Eingabe der PIN am PC auf dem iOS Gerät mitverfolgen kann.)

                                            Hat jemand eine Idee?

                                            Dankeschön an das tolle Script - jetzt wäre es toll wenn ich es unter iOS und der ioBroker App zum Laufen bringen würde.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            420
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            template vis
                                            36
                                            96
                                            15289
                                            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