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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] VIS: View durch Pin schützen

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • NinjaTurtle85
                                            NinjaTurtle85 last edited by NinjaTurtle85

                                            Hallo zusammen,
                                            Vielen Dank für das tolle Skript klappt alles Prima!

                                            Nur bekomme ich das blöde Delete Icon nicht in die Mitte 🙇 kann mir bitte jemand helfen? Wenn ich Bildhöhe in % verändere gehts aus dem Kästchen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            760
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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