NEWS
[Vorlage] Automatischer View-Wechsel u. Slideshow
-
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
-
Bitte nur ein Default Startseite !!!!
-
ok ändere ich
-
Nur die " Home " auf Default setzten !!!!!!!!!!!!!!
-
hab ich
-
Und was heißen die Daumen ?
Läuft es jetzt !? -
@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
-
@Andre-R
freut mich das es läuft …. war auch eine harte Nuss