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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Automatischer View-Wechsel u. Slideshow

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

[Vorlage] Automatischer View-Wechsel u. Slideshow

Geplant Angeheftet Gesperrt Verschoben JavaScript
143 Beiträge 22 Kommentatoren 22.8k Aufrufe 48 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Andre R.
    // *******************************************************************************************************
    
    //
    
    // Seitenwechsel-Script
    
    // Autor: Peoples
    
    //
    
    //
    
    // Funktionen:  1. Bei Viewwechsel wird geprüft ob eine andere View als Home gewählt ist
    
    //                 wenn das der Fall ist wird ein Timer gesetzt nach dessen Ablauf wieder zurück
    
    //                 auf Home gewechselt wird.
    
    //              2. Wenn die Alarmanlage eingeschalten ist wird die PinEingabeView angezeigt.
    
    //              3. Bei SystemView läuft kein Timer
    
    //
    
    //
    
    // v2.0.0 - 30.09.2018  Neue Version - Grundaufbau geändert
    
    // v2.0.1 - 09.03.2019  Slideshow aller gewünschen Views integriert
    
    // v2.0.2 - 23.03.2019  Zusatzfunktion zum steuern der Sonderdatenpunkte eingebaut
    
    // v2.0.3 - 28.03.2019  Zahlenwerte durch parseInt konvertiert
    
    // *******************************************************************************************************
    
     
    
    // -----------------------------------------------------------------------------
    
    // allgemeine Variablen
    
    // -----------------------------------------------------------------------------
    
    var logging = true;                                        // Logging on/off
    
    var instanz = 'javascript.0';   instanz = instanz + '.';    // 
    
                                                                //
    
    var pfad0 =   'System.Iobroker';      pfad0 = pfad0 + '.';  // Pfad innerhalb der Instanz 
    
    var timerTout;
    
    var timerAutoSV;
    
    var DefaultView = 'Home';                                   // Standard-View
    
     
    // Aus Datenpunkt vis.0.control.data entnehmen 
    
    // der Teil vor dem Slash ist der Projektname:
    
    // "Wandtablet/Home"
    
    var project = "main";     project = project + '/';    // Name des Vis-Projekts
    
     
    
    var DisplayTime = '60';    // Darstellungszeit der Views bei Autowechsel
    
    var startView = 1;  // Startview bei Autowechsel
    
     
    
    //Alle vorhandenen Views
    
    var VisViews = [
    
        
    
            /* View Name */                  /* Anzeigezeit */   /* In Slideshow anzeigen? */
    
     
        {'view':'Spotify',                      'SWSec':60,             'ShowIAV':'yes'},
        
        {'view':'Musik',                        'SWSec':60,             'ShowIAV':'yes'},
        
        {'view':'Sonos_Bad',                      'SWSec':60,              'ShowIAV':'yes'},
    
        {'view':'Sonos_Schlaf',                   'SWSec':60,            'ShowIAV':'yes'},
        
        {'view':'Multimedia',                   'SWSec':60,             'ShowIAV':'yes'},
        
        {'view':'Netzwerk',                     'SWSec':60,             'ShowIAV':'yes'},
    
        {'view':'Kameras',                       'SWSec':90,             'ShowIAV':'yes'},
      
        {'view':'Saugi',                          'SWSec':60,            'ShowIAV':'yes'},
    
        {'view':'Pflanzen',                       'SWSec':60,            'ShowIAV':'yes'},
        
        {'view':'Energie',                        'SWSec':60,            'ShowIAV':'yes'},
        
        {'view':'Statistik',                      'SWSec':60,             'ShowIAV':'yes'},
        
        {'view':'3D_Drucker',                    'SWSec':180,            'ShowIAV':'yes'},
        
        {'view':'1_Proxmox_stats',               'SWSec':0,             'ShowIAV':'no'},
    
        {'view':'2_IObroker_stats',              'SWSec':0,             'ShowIAV':'no'},
    
        {'view':'3_NAS_stats',                   'SWSec':0,            'ShowIAV':'no'},
    
        {'view':'4_Fritzbox4040_stats',          'SWSec':0,             'ShowIAV':'no'},
    
        {'view':'5_MotionEye_stats',              'SWSec':0,             'ShowIAV':'no'},
    
        {'view':'6_Fritzbox4020_stats',           'SWSec':0,             'ShowIAV':'no'},
    
        {'view':'test',                           'SWSec':0,            'ShowIAV':'no'}
    
    ];
    
    // -----------------------------------------------------------------------------
    
    // Objekte
    
    // -----------------------------------------------------------------------------
    
    // Objekt für Alle Automatischen Abläufe
    
    createState(pfad0 + 'Timer_View_Switch',  {def: '0',type: 'number',name: 'Timer für Wechsel auf DefaultView'});
    
    createState(pfad0 + 'Auto_Switch_View',  {def: 'true',type: 'boolean',name: 'Alle Views durchlaufen lassen'});
    
     
    
     
    
    if(logging)log("Total "+Object.keys(VisViews).length+" entries");
    
     
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum automatischen Viewwechsel nach Timerablauf                  #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function switchToHomeView() {
    
            timerTout = setTimeout(function () {
    
                var timer = parseInt(getState(pfad0 + 'Timer_View_Switch').val, 10);
    
                if (timer > 1) {
    
                    setState(pfad0 + 'Timer_View_Switch',timer - 1);
    
                    switchToHomeView();
    
                }
    
                else{
    
                    setState(pfad0 + 'Timer_View_Switch', 0);
    
                    setState('vis.0.control.instance', 'FFFFFFFF'); //getState("vis.0.control.instance").val/*Control vis*/);
    
                    setState('vis.0.control.data', project + DefaultView);
    
                    setState('vis.0.control.command', 'changeView');
    
                }
    
            }, 1000);
    
    }
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum automatisch umlaufenden Viewwechsel                         #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function autoSwitchView(dspTime,i) {
    
            if(i === '') i = 0;
    
            log(i);
    
            if(i < Object.keys(VisViews).length){
    
                if(VisViews[i].ShowIAV == 'yes'){
    
                    timerAutoSV = setTimeout(function () {
    
                        var timer = parseInt(getState(pfad0 + 'Timer_View_Switch').val, 10);
    
                        if (timer > 1) {
    
                            setState(pfad0 + 'Timer_View_Switch', timer - 1);
    
                            autoSwitchView(dspTime, i);
    
                        }
    
                        else{
    
                                setState(pfad0 + 'Timer_View_Switch', 0);
    
                                if(getState(pfad0 + 'Auto_Switch_View').val === true) switchView(project+VisViews[i].view);
    
                                startAutoSwitchView(dspTime,(i+1));
    
                        }
    
                    }, 1000);
    
                }
    
                else{
    
                    startAutoSwitchView(dspTime,(i+1));
    
                }
    
            }
    
            else{
    
               startAutoSwitchView(dspTime,startView); 
    
            }
    
    }
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum Starten und Stoppen des automatischen Viewwechsel           #
    
    // #                                                                           #
    
    // #############################################################################
    
    function startAutoSwitchView(dspTime,i){
    
        if(getState(pfad0 + 'Auto_Switch_View').val === true){
    
            if(dspTime !== ''){
    
                setState(pfad0 + 'Timer_View_Switch',parseInt(dspTime, 10));
    
            }
    
            else{
    
                setState(pfad0 + 'Timer_View_Switch',15);
    
            }
    
            autoSwitchView(dspTime,i);
    
        } 
    
        else{
    
            if(timerTout) clearTimeout(timerTout);
    
            switchView(project + DefaultView);
    
            setStateDelayed(pfad0 + 'Timer_View_Switch',0,2000);
    
        }
    
    }
    
    //
    
    // Beobachten des View Datenpunktes
    
    on({id:"javascript.0.System.Iobroker.Auto_Switch_View", change: "ne"}, function (dp) {
    
        startAutoSwitchView(DisplayTime,startView);
    
    });
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum Scriptbasierten Viewwechsel                                 #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function switchView(view){
    
        setState('vis.0.control.instance', 'FFFFFFFF');
    
        setState('vis.0.control.data', view);
    
        setState('vis.0.control.command', 'changeView');
    
    }
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum Prüfen der Wunsch View und zum auslesen der Darstellzeit    #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function checkView(wishView){
    
        if(logging) log('View to check:'+wishView);
    
        if(getState(pfad0 + 'Auto_Switch_View').val === false ){
    
            for(var i = 0; i < Object.keys(VisViews).length; i++) {  
    
                if(project+VisViews[i].view == wishView) {
    
                    if(logging) log('View found in:' + i);
    
                    if(timerTout) clearTimeout(timerTout);
    
                    setState(pfad0 + 'Timer_View_Switch', 0);
    
                    if(VisViews[i].SWSec !== 0){
    
                        setState(pfad0 + 'Timer_View_Switch', VisViews[i].SWSec);
    
                        switchToHomeView();
    
                    }
    
                }
    
            }
    
        }
    
    }
    
     
    
    // Beobachten des View Datenpunktes für Auswertung
    
    on({id:"vis.0.control.data", change: "ne"}, function (dp) {
    
        checkView(dp.state.val);
    
    });
    
     
    
     
    
     
    
     
    
    //Bei Bewegung auf Kamerabild umschalten
    
    on({id:"hm-rpc.0.xxxxxxxxx.1.MOTION"/*Bewegungsmelder.xxxxxxxxxx:1.MOTION*/, change: 'any'}, function (dp) {
    
         if(getState("javascript.0.Alarmanlage.Status.Status").val != 2 || getState("javascript.0.Alarmanlage.Status.Status").val != '2'){
    
            checkView('Kamera_Garage');
    
         }
    
         else{
    
            checkView('Alarmanlage_code');
    
        }
    
    });
    
     
    
     
    
    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    schrieb am zuletzt editiert von Glasfaser
    #50

    @Andre-R

    Stop mal dein Skript und nimm mal dieses zum testen als neues Skript !
    Wurde schon von mir auf deine Angaben geändert .

    // *******************************************************************************************************
    
    //
    
    // Seitenwechsel-Script
    
    // Autor: Peoples
    
    //
    
    //
    
    // Funktionen:  1. Bei Viewwechsel wird geprüft ob eine andere View als Home gewählt ist
    
    //                 wenn das der Fall ist wird ein Timer gesetzt nach dessen Ablauf wieder zurück
    
    //                 auf Home gewechselt wird.
    
    //              2. Wenn die Alarmanlage eingeschalten ist wird die PinEingabeView angezeigt.
    
    //              3. Bei SystemView läuft kein Timer
    
    //
    
    //
    
    // v2.0.0 - 30.09.2018  Neue Version - Grundaufbau geändert
    
    // v2.0.1 - 09.03.2019  Slideshow aller gewünschen Views integriert
    
    // v2.0.2 - 23.03.2019  Zusatzfunktion zum steuern der Sonderdatenpunkte eingebaut
    
    // v2.0.3 - 28.03.2019  Zahlenwerte durch parseInt konvertiert
    
    // *******************************************************************************************************
    
     
    
    // -----------------------------------------------------------------------------
    
    // allgemeine Variablen
    
    // -----------------------------------------------------------------------------
    
    var logging = true;                                        // Logging on/off
    
    var instanz = 'javascript.0';   instanz = instanz + '.';    // 
    
                                                                //
    
    var pfad0 =   'System.Iobroker';      pfad0 = pfad0 + '.';  // Pfad innerhalb der Instanz 
    
    var timerTout;
    
    var timerAutoSV;
    
    var DefaultView = 'Home';                                   // Standard-View
    
     
    
    // Aus Datenpunkt vis.0.control.data entnehmen 
    
    // der Teil vor dem Slash ist der Projektname:
    
    // "Wandtablet/Home"
    
    var project = "main";     project = project + '/';    // Name des Vis-Projekts
    
     
    
    var DisplayTime = '25';    // Darstellungszeit der Views bei Autowechsel
    
    var startView = 1;  // Startview bei Autowechsel
    
     
    
    //Alle vorhandenen Views
    
    var VisViews = [
    
        
    
            /* View Name */                  /* Anzeigezeit */   /* In Slideshow anzeigen? */
    
     
    
        {'view':'Spotify',             'SWSec':33,            'ShowIAV':'yes'},
    
        {'view':'Musik',         'SWSec':33,            'ShowIAV':'yes'},
    
        {'view':'5_MotionEye_stats',              'SWSec':0,             'ShowIAV':'no'},
    
        {'view':'6_Fritzbox4020_stats',           'SWSec':0,             'ShowIAV':'no'}
        
    ];
    
    // -----------------------------------------------------------------------------
    
    // Objekte
    
    // -----------------------------------------------------------------------------
    
    // Objekt für Alle Automatischen Abläufe
    
    createState(pfad0 + 'Timer_View_Switch',  {def: '0',type: 'number',name: 'Timer für Wechsel auf DefaultView'});
    
    createState(pfad0 + 'Auto_Switch_View',  {def: 'false',type: 'boolean',name: 'Alle Views durchlaufen lassen'});
    
     
    
     
    
    if(logging)log("Total "+Object.keys(VisViews).length+" entries");
    
     
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum automatischen Viewwechsel nach Timerablauf                  #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function switchToHomeView() {
    
            timerTout = setTimeout(function () {
    
                var timer = parseInt(getState(pfad0 + 'Timer_View_Switch').val, 10);
    
                if (timer > 1) {
    
                    setState(pfad0 + 'Timer_View_Switch',timer - 1);
    
                    switchToHomeView();
    
                }
    
                else{
    
                    setState(pfad0 + 'Timer_View_Switch', 0);
    
                    setState('vis.0.control.instance', 'FFFFFFFF'); //getState("vis.0.control.instance").val/*Control vis*/);
    
                    setState('vis.0.control.data', project + DefaultView);
    
                    setState('vis.0.control.command', 'changeView');
    
                }
    
            }, 1000);
    
    }
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum automatisch umlaufenden Viewwechsel                         #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function autoSwitchView(dspTime,i) {
    
            if(i === '') i = 0;
    
            log(i);
    
            if(i < Object.keys(VisViews).length){
    
                if(VisViews[i].ShowIAV == 'yes'){
    
                    timerAutoSV = setTimeout(function () {
    
                        var timer = parseInt(getState(pfad0 + 'Timer_View_Switch').val, 10);
    
                        if (timer > 1) {
    
                            setState(pfad0 + 'Timer_View_Switch', timer - 1);
    
                            autoSwitchView(dspTime, i);
    
                        }
    
                        else{
    
                                setState(pfad0 + 'Timer_View_Switch', 0);
    
                                if(getState(pfad0 + 'Auto_Switch_View').val === true) switchView(project+VisViews[i].view);
    
                                startAutoSwitchView(dspTime,(i+1));
    
                        }
    
                    }, 1000);
    
                }
    
                else{
    
                    startAutoSwitchView(dspTime,(i+1));
    
                }
    
            }
    
            else{
    
               startAutoSwitchView(dspTime,startView); 
    
            }
    
    }
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum Starten und Stoppen des automatischen Viewwechsel           #
    
    // #                                                                           #
    
    // #############################################################################
    
    function startAutoSwitchView(dspTime,i){
    
        if(getState(pfad0 + 'Auto_Switch_View').val === true){
    
            if(dspTime !== ''){
    
                setState(pfad0 + 'Timer_View_Switch',parseInt(dspTime, 10));
    
            }
    
            else{
    
                setState(pfad0 + 'Timer_View_Switch',15);
    
            }
    
            autoSwitchView(dspTime,i);
    
        } 
    
        else{
    
            if(timerTout) clearTimeout(timerTout);
    
            switchView(project + DefaultView);
    
            setStateDelayed(pfad0 + 'Timer_View_Switch',0,2000);
    
        }
    
    }
    
    //
    
    // Beobachten des View Datenpunktes
    
    on({id:"javascript.0.System.Iobroker.Auto_Switch_View", change: "ne"}, function (dp) {
    
        startAutoSwitchView(DisplayTime,startView);
    
    });
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum Scriptbasierten Viewwechsel                                 #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function switchView(view){
    
        setState('vis.0.control.instance', 'FFFFFFFF');
    
        setState('vis.0.control.data', view);
    
        setState('vis.0.control.command', 'changeView');
    
    }
    
     
    
    // #############################################################################
    
    // #                                                                           #
    
    // #  Funktion zum Prüfen der Wunsch View und zum auslesen der Darstellzeit    #
    
    // #                                                                           #
    
    // #############################################################################
    
     
    
    function checkView(wishView){
    
        if(logging) log('View to check:'+wishView);
    
        if(getState(pfad0 + 'Auto_Switch_View').val === false ){
    
            for(var i = 0; i < Object.keys(VisViews).length; i++) {  
    
                if(project+VisViews[i].view == wishView) {
    
                    if(logging) log('View found in:' + i);
    
                    if(timerTout) clearTimeout(timerTout);
    
                    setState(pfad0 + 'Timer_View_Switch', 0);
    
                    if(VisViews[i].SWSec !== 0){
    
                        setState(pfad0 + 'Timer_View_Switch', VisViews[i].SWSec);
    
                        switchToHomeView();
    
                    }
    
                }
    
            }
    
        }
    
    }
    
     
    
    // Beobachten des View Datenpunktes für Auswertung
    
    on({id:"vis.0.control.data", change: "ne"}, function (dp) {
    
        checkView(dp.state.val);
    
    });
    
     
    
     
    
     
    
     
    
    //Bei Bewegung auf Kamerabild umschalten
    
    on({id:"hm-rpc.0.xxxxxxxxx.1.MOTION"/*Bewegungsmelder.xxxxxxxxxx:1.MOTION*/, change: 'any'}, function (dp) {
    
         if(getState("javascript.0.Alarmanlage.Status.Status").val != 2 || getState("javascript.0.Alarmanlage.Status.Status").val != '2'){
    
            checkView('Kamera_Garage');
    
         }
    
         else{
    
            checkView('Alarmanlage_code');
    
        }
    
    });
    

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      Andre R.
      schrieb am zuletzt editiert von
      #51

      Bei deinem stürzt die VIS ab

      GlasfaserG 1 Antwort Letzte Antwort
      0
      • A Andre R.

        Bei deinem stürzt die VIS ab

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von Glasfaser
        #52

        @Andre-R

        Sehr komisch ?!

        Nimm mal das:

        // *******************************************************************************************************
        
        
        
        //
        
        
        
        // Seitenwechsel-Script
        
        
        
        // Autor: Peoples
        
        
        
        //
        
        
        
        //
        
        
        
        // Funktionen:  1. Bei Viewwechsel wird geprüft ob eine andere View als Home gewählt ist
        
        
        
        //                 wenn das der Fall ist wird ein Timer gesetzt nach dessen Ablauf wieder zurück
        
        
        
        //                 auf Home gewechselt wird.
        
        
        
        //              2. Wenn die Alarmanlage eingeschalten ist wird die PinEingabeView angezeigt.
        
        
        
        //              3. Bei SystemView läuft kein Timer
        
        
        
        //
        
        
        
        //
        
        
        
        // v2.0.0 - 30.09.2018  Neue Version - Grundaufbau geändert
        
        
        
        // v2.0.1 - 09.03.2019  Slideshow aller gewünschen Views integriert
        
        
        
        // v2.0.2 - 23.03.2019  Zusatzfunktion zum steuern der Sonderdatenpunkte eingebaut
        
        
        
        // v2.0.3 - 28.03.2019  Zahlenwerte durch parseInt konvertiert
        
        
        
        // *******************************************************************************************************
        
        
        
        
        
        
        
        // -----------------------------------------------------------------------------
        
        
        
        // allgemeine Variablen
        
        
        
        // -----------------------------------------------------------------------------
        
        
        
        var logging = true;                                        // Logging on/off
        
        
        
        var instanz = 'javascript.0';   instanz = instanz + '.';    // 
        
        
        
                                                                   //
        
        
        
        var pfad0 =   'System.Iobroker';      pfad0 = pfad0 + '.';  // Pfad innerhalb der Instanz 
        
        
        
        var timerTout;
        
        
        
        var timerAutoSV;
        
        
        
        var DefaultView = 'Home';                                   // Standard-View
        
        
        
        
        
        // Aus Datenpunkt vis.0.control.data entnehmen 
        
        
        
        // der Teil vor dem Slash ist der Projektname:
        
        
        
        // "Wandtablet/Home"
        
        
        
        var project = "main";     project = project + '/';    // Name des Vis-Projekts
        
        
        
        
        
        
        
        var DisplayTime = '25';    // Darstellungszeit der Views bei Autowechsel
        
        
        
        var startView = 1;  // Startview bei Autowechsel
        
        
        
        
        
        
        
        //Alle vorhandenen Views
        
        
        
        var VisViews = [
        
        
        
           
        
        
        
               /* View Name */                  /* Anzeigezeit */   /* In Slideshow anzeigen? */
        
        
        
        
        
           {'view':'Spotify',                      'SWSec':60,             'ShowIAV':'yes'},
        
           
        
           {'view':'Musik',                        'SWSec':60,             'ShowIAV':'yes'},
        
           
        
           {'view':'Sonos_Bad',                      'SWSec':60,              'ShowIAV':'yes'},
        
        
        
           {'view':'Sonos_Schlaf',                   'SWSec':60,            'ShowIAV':'yes'},
        
         
        
           {'view':'3_NAS_stats',                           'SWSec':0,            'ShowIAV':'no'}
        
        
        
        ];
        
        
        
        // -----------------------------------------------------------------------------
        
        
        
        // Objekte
        
        
        
        // -----------------------------------------------------------------------------
        
        
        
        // Objekt für Alle Automatischen Abläufe
        
        
        
        createState(pfad0 + 'Timer_View_Switch',  {def: '0',type: 'number',name: 'Timer für Wechsel auf DefaultView'});
        
        
        
        createState(pfad0 + 'Auto_Switch_View',  {def: 'true',type: 'boolean',name: 'Alle Views durchlaufen lassen'});
        
        
        
        
        
        
        
        
        
        
        
        if(logging)log("Total "+Object.keys(VisViews).length+" entries");
        
        
        
        
        
        
        
        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
        
        
        
        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
        
        
        
        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
        
        
        
        // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
        
        
        
        
        
        
        
        // #############################################################################
        
        
        
        // #                                                                           #
        
        
        
        // #  Funktion zum automatischen Viewwechsel nach Timerablauf                  #
        
        
        
        // #                                                                           #
        
        
        
        // #############################################################################
        
        
        
        
        
        
        
        function switchToHomeView() {
        
        
        
               timerTout = setTimeout(function () {
        
        
        
                   var timer = parseInt(getState(pfad0 + 'Timer_View_Switch').val, 10);
        
        
        
                   if (timer > 1) {
        
        
        
                       setState(pfad0 + 'Timer_View_Switch',timer - 1);
        
        
        
                       switchToHomeView();
        
        
        
                   }
        
        
        
                   else{
        
        
        
                       setState(pfad0 + 'Timer_View_Switch', 0);
        
        
        
                       setState('vis.0.control.instance', 'FFFFFFFF'); //getState("vis.0.control.instance").val/*Control vis*/);
        
        
        
                       setState('vis.0.control.data', project + DefaultView);
        
        
        
                       setState('vis.0.control.command', 'changeView');
        
        
        
                   }
        
        
        
               }, 1000);
        
        
        
        }
        
        
        
        
        
        
        
        // #############################################################################
        
        
        
        // #                                                                           #
        
        
        
        // #  Funktion zum automatisch umlaufenden Viewwechsel                         #
        
        
        
        // #                                                                           #
        
        
        
        // #############################################################################
        
        
        
        
        
        
        
        function autoSwitchView(dspTime,i) {
        
        
        
               if(i === '') i = 0;
        
        
        
               log(i);
        
        
        
               if(i < Object.keys(VisViews).length){
        
        
        
                   if(VisViews[i].ShowIAV == 'yes'){
        
        
        
                       timerAutoSV = setTimeout(function () {
        
        
        
                           var timer = parseInt(getState(pfad0 + 'Timer_View_Switch').val, 10);
        
        
        
                           if (timer > 1) {
        
        
        
                               setState(pfad0 + 'Timer_View_Switch', timer - 1);
        
        
        
                               autoSwitchView(dspTime, i);
        
        
        
                           }
        
        
        
                           else{
        
        
        
                                   setState(pfad0 + 'Timer_View_Switch', 0);
        
        
        
                                   if(getState(pfad0 + 'Auto_Switch_View').val === true) switchView(project+VisViews[i].view);
        
        
        
                                   startAutoSwitchView(dspTime,(i+1));
        
        
        
                           }
        
        
        
                       }, 1000);
        
        
        
                   }
        
        
        
                   else{
        
        
        
                       startAutoSwitchView(dspTime,(i+1));
        
        
        
                   }
        
        
        
               }
        
        
        
               else{
        
        
        
                  startAutoSwitchView(dspTime,startView); 
        
        
        
               }
        
        
        
        }
        
        
        
        
        
        
        
        // #############################################################################
        
        
        
        // #                                                                           #
        
        
        
        // #  Funktion zum Starten und Stoppen des automatischen Viewwechsel           #
        
        
        
        // #                                                                           #
        
        
        
        // #############################################################################
        
        
        
        function startAutoSwitchView(dspTime,i){
        
        
        
           if(getState(pfad0 + 'Auto_Switch_View').val === true){
        
        
        
               if(dspTime !== ''){
        
        
        
                   setState(pfad0 + 'Timer_View_Switch',parseInt(dspTime, 10));
        
        
        
               }
        
        
        
               else{
        
        
        
                   setState(pfad0 + 'Timer_View_Switch',15);
        
        
        
               }
        
        
        
               autoSwitchView(dspTime,i);
        
        
        
           } 
        
        
        
           else{
        
        
        
               if(timerTout) clearTimeout(timerTout);
        
        
        
               switchView(project + DefaultView);
        
        
        
               setStateDelayed(pfad0 + 'Timer_View_Switch',0,2000);
        
        
        
           }
        
        
        
        }
        
        
        
        //
        
        
        
        // Beobachten des View Datenpunktes
        
        
        
        on({id:"javascript.0.System.Iobroker.Auto_Switch_View", change: "ne"}, function (dp) {
        
        
        
           startAutoSwitchView(DisplayTime,startView);
        
        
        
        });
        
        
        
        
        
        
        
        // #############################################################################
        
        
        
        // #                                                                           #
        
        
        
        // #  Funktion zum Scriptbasierten Viewwechsel                                 #
        
        
        
        // #                                                                           #
        
        
        
        // #############################################################################
        
        
        
        
        
        
        
        function switchView(view){
        
        
        
           setState('vis.0.control.instance', 'FFFFFFFF');
        
        
        
           setState('vis.0.control.data', view);
        
        
        
           setState('vis.0.control.command', 'changeView');
        
        
        
        }
        
        
        
        
        
        
        
        // #############################################################################
        
        
        
        // #                                                                           #
        
        
        
        // #  Funktion zum Prüfen der Wunsch View und zum auslesen der Darstellzeit    #
        
        
        
        // #                                                                           #
        
        
        
        // #############################################################################
        
        
        
        
        
        
        
        function checkView(wishView){
        
        
        
           if(logging) log('View to check:'+wishView);
        
        
        
           if(getState(pfad0 + 'Auto_Switch_View').val === false ){
        
        
        
               for(var i = 0; i < Object.keys(VisViews).length; i++) {  
        
        
        
                   if(project+VisViews[i].view == wishView) {
        
        
        
                       if(logging) log('View found in:' + i);
        
        
        
                       if(timerTout) clearTimeout(timerTout);
        
        
        
                       setState(pfad0 + 'Timer_View_Switch', 0);
        
        
        
                       if(VisViews[i].SWSec !== 0){
        
        
        
                           setState(pfad0 + 'Timer_View_Switch', VisViews[i].SWSec);
        
        
        
                           switchToHomeView();
        
        
        
                       }
        
        
        
                   }
        
        
        
               }
        
        
        
           }
        
        
        
        }
        
        
        
        
        
        
        
        // Beobachten des View Datenpunktes für Auswertung
        
        
        
        on({id:"vis.0.control.data", change: "ne"}, function (dp) {
        
        
        
           checkView(dp.state.val);
        
        
        
        });
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        //Bei Bewegung auf Kamerabild umschalten
        
        
        
        on({id:"hm-rpc.0.xxxxxxxxx.1.MOTION"/*Bewegungsmelder.xxxxxxxxxx:1.MOTION*/, change: 'any'}, function (dp) {
        
        
        
            if(getState("javascript.0.Alarmanlage.Status.Status").val != 2 || getState("javascript.0.Alarmanlage.Status.Status").val != '2'){
        
        
        
               checkView('Kamera_Garage');
        
        
        
            }
        
        
        
            else{
        
        
        
               checkView('Alarmanlage_code');
        
        
        
           }
        
        
        
        });
        
        
        

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          Andre R.
          schrieb am zuletzt editiert von
          #53

          stürzt nicht mehr ab. komisch ist das du die NAS_Stats im Script hast er zeigt mir aber die Proxmox_Stats

          GlasfaserG 1 Antwort Letzte Antwort
          0
          • A Andre R.

            stürzt nicht mehr ab. komisch ist das du die NAS_Stats im Script hast er zeigt mir aber die Proxmox_Stats

            GlasfaserG Offline
            GlasfaserG Offline
            Glasfaser
            schrieb am zuletzt editiert von
            #54

            @Andre-R

            Das erste war meins was auf deine Daten geändert wurde , komisch das es bei dir abschmiert.
            Ich habe nun jetzt dein Script genommen und mit den vorhandenen Views gekürzt .
            Irgendwo liegt da der Fehler bei dir, mit den Viewnamen .

            Mal was anderes, ich hoffe Du hast nur ein View als Default angegeben.

            44444444444444444444444444444.JPG

            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              Andre R.
              schrieb am zuletzt editiert von
              #55

              ne, was passiert denn wenn man mehrere hat

              GlasfaserG 1 Antwort Letzte Antwort
              0
              • A Andre R.

                ne, was passiert denn wenn man mehrere hat

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                schrieb am zuletzt editiert von
                #56

                @Andre-R

                Bitte nur ein Default Startseite !!!!

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  Andre R.
                  schrieb am zuletzt editiert von
                  #57

                  ok ändere ich

                  GlasfaserG 1 Antwort Letzte Antwort
                  0
                  • A Andre R.

                    ok ändere ich

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    schrieb am zuletzt editiert von
                    #58

                    @Andre-R

                    Nur die " Home " auf Default setzten !!!!!!!!!!!!!!

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    1 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      Andre R.
                      schrieb am zuletzt editiert von
                      #59

                      hab ich :+1: :+1: :+1:

                      GlasfaserG 1 Antwort Letzte Antwort
                      0
                      • A Andre R.

                        hab ich :+1: :+1: :+1:

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von
                        #60

                        @Andre-R

                        Und was heißen die Daumen ?
                        Läuft es jetzt !?

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        A 1 Antwort Letzte Antwort
                        0
                        • GlasfaserG Glasfaser

                          @Andre-R

                          Und was heißen die Daumen ?
                          Läuft es jetzt !?

                          A Offline
                          A Offline
                          Andre R.
                          schrieb am zuletzt editiert von
                          #61

                          @Glasfaser ja läuft bis auf das Proxmox Fenster zeigt es mir die Sachen die auf "no" sind nicht mehr an. werde Die Proxmox View mal löschen und neu machen.

                          Danke nochmal für deine Geduld

                          GlasfaserG 1 Antwort Letzte Antwort
                          0
                          • A Andre R.

                            @Glasfaser ja läuft bis auf das Proxmox Fenster zeigt es mir die Sachen die auf "no" sind nicht mehr an. werde Die Proxmox View mal löschen und neu machen.

                            Danke nochmal für deine Geduld

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            schrieb am zuletzt editiert von Glasfaser
                            #62

                            @Andre-R
                            freut mich das es läuft …. war auch eine harte Nuss :anguished:

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            1 Antwort Letzte Antwort
                            1
                            • A Offline
                              A Offline
                              Andre R.
                              schrieb am zuletzt editiert von
                              #63

                              Hab leider schlechte Nachrichten, jetzt hats bei mir auch alle Views durcheinander gewürfelt. Schade

                              PeoplesP GlasfaserG 2 Antworten Letzte Antwort
                              0
                              • A Andre R.

                                Hab leider schlechte Nachrichten, jetzt hats bei mir auch alle Views durcheinander gewürfelt. Schade

                                PeoplesP Offline
                                PeoplesP Offline
                                Peoples
                                schrieb am zuletzt editiert von Peoples
                                #64

                                @Andre-R
                                Was heißt "alle Views durcheinander gewürfelt"?
                                Die Views werden nicht in der richtigen Reihenfolge dargestellt?
                                Die Views werden übereinander gelegt?

                                Mein Script macht ja nichts anderes als die im Kopf eingetragenen "View-Namen" in den IoBroker Datenpunkt zu schreiben und dann den Befehl zum wechseln zu senden.

                                Was verwendest du denn für Hardware, Iobroker, Anzeigegerät?
                                Welche Version hat dein Vis und dein JS-Adapter.

                                Ich beantworte keine Fragen zu Themen via PN

                                1 Antwort Letzte Antwort
                                0
                                • A Andre R.

                                  Hab leider schlechte Nachrichten, jetzt hats bei mir auch alle Views durcheinander gewürfelt. Schade

                                  GlasfaserG Offline
                                  GlasfaserG Offline
                                  Glasfaser
                                  schrieb am zuletzt editiert von
                                  #65

                                  @Andre-R sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:

                                  ....................... alle Views durcheinander gewürfelt. Schade

                                  Das heißt :question:

                                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                  1 Antwort Letzte Antwort
                                  0
                                  • A Offline
                                    A Offline
                                    Andre R.
                                    schrieb am zuletzt editiert von
                                    #66

                                    die views werden übereinander gelegt und Widgets nicht angezeigt.

                                    Ich habe einen Nuc mit Proxmox und IOBroker VM ein Samsung Tab 10.1 von 2014 und das Fire Tab 7"

                                    IOBroker 3.6.4
                                    VIS 1.2.0
                                    JS 4.1.14

                                    PeoplesP 1 Antwort Letzte Antwort
                                    0
                                    • A Andre R.

                                      die views werden übereinander gelegt und Widgets nicht angezeigt.

                                      Ich habe einen Nuc mit Proxmox und IOBroker VM ein Samsung Tab 10.1 von 2014 und das Fire Tab 7"

                                      IOBroker 3.6.4
                                      VIS 1.2.0
                                      JS 4.1.14

                                      PeoplesP Offline
                                      PeoplesP Offline
                                      Peoples
                                      schrieb am zuletzt editiert von
                                      #67

                                      @Andre-R sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:

                                      die views werden übereinander gelegt und Widgets nicht angezeigt.

                                      Ich habe einen Nuc mit Proxmox und IOBroker VM ein Samsung Tab 10.1 von 2014 und das Fire Tab 7"

                                      IOBroker 3.6.4
                                      VIS 1.2.0
                                      JS 4.1.14

                                      Identisch zu mir bis auf das Tablet, An der Performace der Hardware kann es somit nicht liegen. Das Phänomen dass Iobroker die Views Übereinander legt hatten wir hier schon mal, wenn ich nicht irre war damals die Problemlösung den ganzen IoB einfach neu zu starten.
                                      Das Problem war damals schon dass ich das nicht replizieren kann, ich vermute jedoch dass es wohl am IoB selber liegt.

                                      Wenn du das noch nicht getan hast starte den IoB mal neu, ist ja dank Proxmox ein Kinderspiel.

                                      Ich beantworte keine Fragen zu Themen via PN

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        Andre R.
                                        schrieb am zuletzt editiert von
                                        #68

                                        werde ich probieren. kann ich denn die Vis sichern das ich nachher nicht wieder alles einstellen muss

                                        crunchipC 1 Antwort Letzte Antwort
                                        0
                                        • A Andre R.

                                          werde ich probieren. kann ich denn die Vis sichern das ich nachher nicht wieder alles einstellen muss

                                          crunchipC Offline
                                          crunchipC Offline
                                          crunchip
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #69

                                          @Andre-R mach doch einfach direkt vorher nen snapshot

                                          umgestiegen von Proxmox auf Unraid

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          788

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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