NEWS
[Vorlage] Automatischer View-Wechsel u. Slideshow
-
@Andre-R
Wie Chaot schon geschrieben hat, gib uns doch mal die genaue Adresse unter der du dein Vis-Projekt anzeigen lässt am Tablet oder PC oder so.Vielleicht bastel ich da doch mal einen Adapter mit Drop-Down Feldern. Muss ich mir mal anschauen
-
http://192.168.xxx.xx:8082/vis/index.html#Home
und so schaut das Script aus
// ******************************************************************************************************* // // 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 = 'javascript.0.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 = '10'; // Darstellungszeit der Views bei Autowechsel var startView = 1; // Startview bei Autowechsel //Alle vorhandenen Views var VisViews = [ /* View Name */ /* Anzeigezeit */ /* In Slideshow anzeigen? */ {'view':'Netzwerk', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Multimedia', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Kamera', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Musik', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Spotify', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'1_Proxmox_stats', 'SWSec':60, 'ShowIAV':'no'}, {'view':'2_IObroker_stats', 'SWSec':40, 'ShowIAV':'no'}, {'view':'3_NAS_stats', 'SWSec':180, 'ShowIAV':'no'}, {'view':'3D_Drucker', 'SWSec':180, 'ShowIAV':'yes'}, {'view':'4_Fritzbox4040_stats', 'SWSec':90, 'ShowIAV':'no'}, {'view':'Home', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Kameras', 'SWSec':90, 'ShowIAV':'yes'}, {'view':'5_MotionEye_stats', 'SWSec':60, 'ShowIAV':'no'}, {'view':'6_Fritzbox4020_stats', 'SWSec':60, 'ShowIAV':'no'}, {'view':'Energie', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Multimedia', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Netzwerk', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Pflanzen', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Saugi', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Sonos_Bad', 'SWSec':60, 'ShowIAV':'no'}, {'view':'Sonos_Schlaf', 'SWSec':60, 'ShowIAV':'no'}, {'view':'Sonos_Wohn', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Statistik', 'SWSec':60, 'ShowIAV':'yes'}, {'view':'Spotify', 'SWSec':60, 'ShowIAV':'yes'}, {'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'); } });
-
@Andre-R sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
http://192.168.xxx.xx:8082/vis/index.html#Home
und so schaut das Script aus
> var pfad0 = 'javascript.0.System.Iobroker'; pfad0 = pfad0 + '.'; // Pfad innerhalb der >
lösche den Eintrag : javascript.0.
So muss es aussehen : var pfad0 = 'System.Iobroker';
-
@Glasfaser sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
@Andre-R sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
http://192.168.xxx.xx:8082/vis/index.html#Home
und so schaut das Script aus
> var pfad0 = 'javascript.0.System.Iobroker'; pfad0 = pfad0 + '.'; // Pfad innerhalb der >
lösche den Eintrag : javascript.0.
So muss es aussehen : var pfad0 = 'System.Iobroker';
Hab ih auch schon probiert funktioniert trotzdem nicht.
Muss das Script eigentlich in den glabal Ordner? -
Nein bloß nicht in den Globale Ordner !!!!!!!!!
-
@Glasfaser sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
Nein bloß nicht in den Globale Ordner !!!!!!!!!
Ok hab ich eh nicht
-
Finde deine Adresse sehr kurz !!! nur mit dem Default View " Home "
Wie heißte den dein Projekt !? "main" wie angegeben .
Die Adresse besteht aus IP Adresse , Projekt (bei mir Wohnen ) und View ( bei mir Home1)
-
meinst du das so
var DefaultView = 'http://192.168.178.21:8082/vis/index.html?main#Home'; // Standard-View
-
Nein , bei deinem beigefügten Link, fehlte nur "main" das hat Irritiert.
Lass es auf :
var DefaultView = 'Home'; // Standard-View -
Nochwas ,nimm den Punkt " Home " raus , das ist deine Startseite :
{'view':'Home', 'SWSec':60, 'ShowIAV':'yes'},
Zeig mal deine Datenpunkt !
So muß es aussehen :
Beim Wechsel auf einen anderen View , startet der hinterlegte Timerwert zum Viewwechsel zur Startseite .
Teste mal !!
gehe auf dein View " Saugi " dann muss der Timer anfangen .
-
@Andre-R
Die vorhandenen Views hast du ebenfalls eingetragen? Mindestens der "Home" muss da stehen.
Ansonsten die Zeilevar pfad0 = 'javascript.0.System.Iobroker'; pfad0 = pfad0 + '.'; // Pfad innerhalb der Instanz
abändern auf
var pfad0 = 'System.Iobroker'; pfad0 = pfad0 + '.'; // Pfad innerhalb der Instanz
Hast du mal kontrolliert ob die Datenpunkte auch dort abgelegt wurden? Also ob der Ordner "System" und der Unterordner "Iobroker" existieren?
-
es läuft jetzt durch
hab Auto Switch View von true auf false gestellt und wieder zurück jetzt läufts. Es laufen jetzt aber leider alle Views durch auch die auf no stehen.
-
@Andre-R sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
..................................Es laufen jetzt aber leider alle Views durch auch die auf no stehen.
Zeige bitte nochmal dein aktuelles Script was jetzt läuft .
-
// ******************************************************************************************************* // // 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'); } });
-
Stop mal dein Skript und nimm mal dieses zum testen als neues Skript !
Wurde schon von mir auf deine Angaben geändert .
-
Bei deinem stürzt die VIS ab
-
-
stürzt nicht mehr ab. komisch ist das du die NAS_Stats im Script hast er zeigt mir aber die Proxmox_Stats
-
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.
-
ne, was passiert denn wenn man mehrere hat