NEWS
[Vorlage] Automatischer View-Wechsel u. Slideshow
-
@Saschag
Deine Startseite stimmt oder also die Großschreibung?
Ich benutze den Js-Adapter in der Version 3.6.4 weil ich den Editor der 4er schrecklich finde. Daher kann ich nicht sagen ob das evtl. Noch ein Bug ist.Was haben denn die anderen für Versionen?
-
Ja die Startseite ist „pageStart“
-
Hallo, das Script läuft prima bei mir nur stört es mich das es ständig LOG schreibt.
Ich habe logging auf "false" aber sobald die Automatik an ist schreibt es ständig.Script:
Log:
Gruß
MyMeyer -
@MyMeyer sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
Tablet.Wechsel'; pfad0 = pfad0 + '.'; // Pfad innerhalb der Instanz
var timerTout;
var timerAutoSHi,
ersetze mal in Zeile 117 (bei mir) das:
log(i);gegen:
if(logging) log(i);und gib Bescheid ob das funktioniert hat.
-
@Peoples sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
@MyMeyer sagte in [Vorlage] Automatischer View-Wechsel u. Slideshow:
Tablet.Wechsel'; pfad0 = pfad0 + '.'; // Pfad innerhalb der Instanz
var timerTout;
var timerAutoSHi,
ersetze mal in Zeile 117 (bei mir) das:
log(i);gegen:
if(logging) log(i);und gib Bescheid ob das funktioniert hat.
@Peoples ,Ja prima jetzt läuft korrekt .
Danke. -
var pfad0 = Pfad innerhalb der Instanz
was ist damit gemeint steh grad völlig auf dem Schlauch
-
Da kannst Du den Namen des Ordners selber bestimmen .
Beispiel : Order als " Pfandname " beschriftet
-
hmmm bekomme es nicht zum laufen
-
@Andre-R
Was hast du denn als Pfadname drin?
Oder anders gesagt hast du den korrekt drin?
Beispiel:
VIS Adresse lautet: http://192.168.xx.xx:8082/vis/index.html?Neu#Info
dann lautet der Pfadname hier "Neu"
Der default View in dem Fall "Info" und die restlichen Views entsprechend der Namen die vergeben sind....// 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 = 'Info'; // Standard-View // Aus Datenpunkt vis.0.control.data entnehmen // der Teil vor dem Slash ist der Projektname: // "Wandtablet/Home" var project = "Neu"; 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 Sek. */ /* In Slideshow anzeigen? */ /* ohne Projekt */ /* 0 = kein Auto Wechsel */ /* In Slideshow anzeigen? */ {'view':'Alexa', 'SWSec':60, 'ShowIAV':'no'}, {'view':'Aquarium', 'SWSec':60, 'ShowIAV':'no'}, {'view':'Ausgang', 'SWSec':60, 'ShowIAV':'no'}, {'view':'BadHeiz', 'SWSec':60, 'ShowIAV':'no'}, ....
-
@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?