Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Vorstellung] Meine dritte VIS

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorstellung] Meine dritte VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • Glasfaser
      Glasfaser @mysash last edited by

      @mysash

      Bitte ließ dir den Thread durch , dort hat Kuddel alles mehrfach erklärt was zu ändern/beachten ist .
      Und ich habe auch zum Menü etwas geschrieben .

      1 Reply Last reply Reply Quote 0
      • W
        WeiserWolf @maximal1981 last edited by

        @maximal1981 said in [Vorstellung] Meine dritte VIS:

        @WeiserWolf es gibt auch einen "neuen" DP im unifi, nämlich isOnline die Zeit kann im Adapter eingestellt werden, welche vermutlich nach ersten Tests in Sekunden sein müssten.

        Danke für den Datenpunkt, den hatte ich im Adapter nicht aktiviert, aber damit läuft es eigentlich stabil, auch ohne Auswertung der "last_seen_by_UAP" Zeiten.

        @Kuddel Also so langsam habe ich begriffen was du hier gezaubert hast. Wetter läuft fast vollständig (von ein paar Werten wie Nachtlänge etc abgesehen, aber das Prinzip dahinter habe ich schon verstanden 🙂 )
        Hinter eine Sache komme ich aber partout nicht. Bei der Anwesenheit hast du ja die beiden Icons. Das sind ja widgets die man klicken kann. Wo legst du fest was bei dem Klick passieren soll? Ich möchte zwar die Visualisierung genau so sehen, aber das Klick-Event eben deaktivieren. Könntest du mir hier vielleicht helfen? Muss ich zur reinen Anzeige ein anderes Widget nehmen? Wenn ja was wäre da zu empfehlen?
        Danke schonmal für deine Geduld mit einem DAU 😁

        K 1 Reply Last reply Reply Quote 0
        • K
          Kuddel @WeiserWolf last edited by

          @weiserwolf probiere einfach mal den DP im Widget zu entfernen, sodass der Klick nichts bewirkt

          1 Reply Last reply Reply Quote 0
          • W
            WeiserWolf last edited by

            @kuddel okay, manchmal kann es so einfach sein und man ist dennoch zu blöd dafür. Vielen Dank. 👍

            1 Reply Last reply Reply Quote 0
            • maximal1981
              maximal1981 last edited by

              @Kuddel mir haben sich noch 3 Fragen aufgetan:

              • Akku Details: was müsste man ändern, um screenOn zB. auf 25% zu erhöhen, komme mit der kilometerlangen URL nicht klar
              • bei mir sieht im Menü unter anderem das OG nicht korrekt aus, vermute es sollte ein Untermenü geben:
                Unbenannt.PNG
                Beschriftung: {"itemText": "Obergeschoss", "subItems": ["Schlafzimmer", "Ankleide"]}
              • wie kann ich zB. im Schlafzimmer MainView noch ein Widget hinzufügen? Wenn ich versuche eines zu kopieren, habe ich ein transparentes Widget.

              ich mache eine 4. dazu:
              Wie lange bist du an dem Teil gesessen? Ich brauche ja schon ewig zum Umbauen. 😲

              K 1 Reply Last reply Reply Quote 0
              • K
                Kuddel @maximal1981 last edited by

                @maximal1981

                Zur 1. Frage: Was genau willst du machen ? 25% Akkukapazität und OnScreen ?

                Zur 2. Frage: Welche version vom "Material Design Widgets" nutzt du ? Meine VIS läuft mit v 0.2.54

                Zur 3. Frage: Wenn du ein bestendes Widget kopierst, ist es normal, dass es nichts anzeigt, da es ein View in Widget ist, dass eine andere Seite darstellen soll. Eine andere Seite kann immer nur ein Mal angezeigt werden.
                Ändere einfach im kopierten Widget den Eintrag "Viewname" und hinterege dort eine andere Seite

                Zur 4. Frage. Mit dem Thema VIS beschäftige ich mich jetzt seit ca. 4 Jahre. Die meiste Arbeit habe ich in meine VIS V2 gesteckt. Da war ich bestimmt ein halbes Jahr mit beschäftigt. Die VIS V3 ist eine Weiterentwicklung und verwendet nur ein anderes Menü.

                Fertig ist man ja aber nie ^^

                maximal1981 1 Reply Last reply Reply Quote 1
                • maximal1981
                  maximal1981 @Kuddel last edited by

                  @kuddel das ging aber fix

                    1. da mein Akku schon "leicht" defekt ist, geht sreenOn unter, und würde gerne die Höhe im Diagramm auf 20-25% von den 100 in der Darstellung erhöhen. Die müssen in China für meinen Tauschakku erst die Elemente schürfen scheint mir.
                      Unbenannt2a.PNG
                    1. Material Design Widgets 0.5.5
                    1. muss ich mir nochmal ansehen
                    1. dacht ich mir, dass hier viel Zeit reingeflossen ist. Ich komme immer nur am Abend ein wenig dazu, und wenn ich mir ansehe wie viele Scripts noch nicht laufen und angepasst wurden, hab ich noch etliche Abende vor mir.
                  Glasfaser K 2 Replies Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @maximal1981 last edited by

                    @maximal1981 sagte in [Vorstellung] Meine dritte VIS:

                    Material Design Widgets 0.5.5

                    Änderungen siehe hier :

                    @glasfaser sagte in [Vorstellung] Meine dritte VIS:
                    @samot13 sagte in [Vorstellung] Meine dritte VIS:

                    Probleme mit dem Submenues.

                    hier ist es erklärt was man ändern muß :

                    https://forum.iobroker.net/topic/29660/material-design-widgets-top-app-bar-widget/207?_=1617005272342

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kuddel @maximal1981 last edited by

                      @maximal1981

                      zu 1: kopiere mal diesen Code in dein Widget

                      http://192.168.4.161:8082/flot/index.html?l%5B0%5D%5Bid%5D=javascript.0.android_akkus.tablet&l%5B0%5D%5Boffset%5D=0&l%5B0%5D%5Baggregate%5D=average&l%5B0%5D%5Bcolor%5D=%2341f316&l%5B0%5D%5Bmin%5D=0&l%5B0%5D%5Bmax%5D=100&l%5B0%5D%5Bthickness%5D=3&l%5B0%5D%5Bshadowsize%5D=3&l%5B0%5D%5Bunit%5D=%25&l%5B0%5D%5Byaxe%5D=right&l%5B0%5D%5Bxaxe%5D=bottom&l%5B0%5D%5Bfill%5D=0&l%5B0%5D%5Bpoints%5D=false&l%5B0%5D%5BchartType%5D=line&l%5B0%5D%5BafterComma%5D=0&l%5B0%5D%5Bdashes%5D=false&l%5B0%5D%5BdashLength%5D=10&l%5B0%5D%5BspaceLength%5D=10&l%5B0%5D%5Bname%5D=Akkustand&l%5B0%5D%5BignoreNull%5D=true&l%5B1%5D%5Bid%5D=fullybrowser.0.192_168_4_17.Info.isScreenOn&l%5B1%5D%5Boffset%5D=0&l%5B1%5D%5Baggregate%5D=max&l%5B1%5D%5Bcolor%5D=yellow&l%5B1%5D%5Bmin%5D=0.1&l%5B1%5D%5Bmax%5D=5&l%5B1%5D%5Bthickness%5D=3&l%5B1%5D%5Bshadowsize%5D=3&l%5B1%5D%5Bname%5D=Display+An&l%5B1%5D%5BchartType%5D=steps&l%5B1%5D%5Bfill%5D=1&l%5B1%5D%5Byaxe%5D=off&l%5B1%5D%5Bxaxe%5D=off&l%5B1%5D%5BignoreNull%5D=true&l%5B1%5D%5BafterComma%5D=0&l%5B1%5D%5Bdashes%5D=false&l%5B1%5D%5BdashLength%5D=10&l%5B1%5D%5BspaceLength%5D=10&l%5B2%5D%5Bid%5D=alias.0.Wohnzimmer.SD_WZ_Tablet.SET&l%5B2%5D%5Boffset%5D=0&l%5B2%5D%5Baggregate%5D=max&l%5B2%5D%5Bcolor%5D=red&l%5B2%5D%5Bmin%5D=0.1&l%5B2%5D%5Bmax%5D=50&l%5B2%5D%5Bthickness%5D=3&l%5B2%5D%5Bshadowsize%5D=3&l%5B2%5D%5Bname%5D=Ladevorgang&l%5B2%5D%5BchartType%5D=steps&l%5B2%5D%5Bfill%5D=1&l%5B2%5D%5Byaxe%5D=off&l%5B2%5D%5Bxaxe%5D=off&timeType=relative&relativeEnd=now&range=4320&live=300&aggregateType=count&aggregateSpan=300&width=900&height=150&noBorder=noborder&window_bg=%23303030&bg=black&x_labels_color=%23ffffff&y_labels_color=%23ffffff&border_width=1&titlePos=top%3A35%3Bleft%3A50&titleColor=%23ffffff&hoverDetail=true&timeFormat=%25H%3A%25M+%25a&useComma=false&zoom=false&noedit=true&animation=300&start=2019-02-09&start_time=15%3A48&end=2019-02-09&end_time=16%3A00&barLabels=topover&barFontColor=white&titleSize=40px&legColumns=3&legBgOpacity=0&legBg=%23303030
                      

                      Zu 2 hat dir @Glasfaser bereits geantwortet. Ich bin noch nicht dazu gekommen, den Adapter zu aktualisieren, da ich dann mein komplettes Menü neu machen muss

                      maximal1981 1 Reply Last reply Reply Quote 0
                      • maximal1981
                        maximal1981 @Kuddel last edited by

                        @kuddel & @Glasfaser

                        super 1 und 2 gelöst

                        für 2 hat sich jetzt eine Bonusfrage ergeben: kann man das Untermenü wieder reduzieren wenn man in einer Unterseite war/ist?

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kuddel @maximal1981 last edited by

                          @maximal1981 mein Stand ist nein.

                          Das Untermenü geht nicht wieder automatisch zu... leider

                          maximal1981 1 Reply Last reply Reply Quote 0
                          • maximal1981
                            maximal1981 @Kuddel last edited by

                            @kuddel das ist zwar schade, aber ich geh eh zum Großteil über die Icons vom MainView rein 😊

                            trotzdem besten Dank.

                            1 Reply Last reply Reply Quote 0
                            • maximal1981
                              maximal1981 last edited by

                              @Kuddel ich bin es mal wieder 👶
                              ich bin gerade dabei den ioBroker-Tab in Betrieb zunehmen.

                              Jedoch stehe ich wie so oft an.
                              Ich finde vermutlich nicht mal das zugehörige Script. Möglicherweise ist es java\abfragen\adapter_widget
                              Wenn ja, hab ich schon mal das Problem, dass ich die Fehlermeldungen nicht auswerten kann.

                              Bevor ich hier unnötige Fehlermeldungen post, würde ich gerne wissen ob ich richtig bin.

                              lg

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Kuddel @maximal1981 last edited by

                                @maximal1981 meinst du die Anzeige der laufenden Adapter ?

                                Hier mein aktuelles Skript (java):

                                // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                
                                schedule('*/10 * * * * *', function (obj) {
                                //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                   createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                   createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                   //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                   
                                   //Variablen zurücksetzen
                                   var counter =0;
                                   var on = 0
                                   var manuell=0	
                                
                                   var cacheSelector = $('[id=system.adapter.*.alive]');    
                                   cacheSelector.each(function(id, i) { 
                                
                                       //Instanzen ausklammer
                                       var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                                   	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                                   	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                                   	var check4 = id.indexOf('system.adapter.ical.0.alive');
                                   	var check5 = id.indexOf('system.adapter.ical.1.alive');
                                   	var check6 = id.indexOf('system.adapter.ical.2.alive');
                                   	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                                   	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                                   	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                                       var check10 = id.indexOf('system.adapter.yamaha.0.alive');
                                   	var check11 = id.indexOf('system.adapter.vis.0.alive');
                                
                                       var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11;
                                
                                       //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                       if(check == -11){
                                           var devicename = getObject(id).common.name; 
                                
                                           //console.log(devicename);
                                                      
                                   		var devicenameName=devicename;
                                   		var instanzname=getObject(id).common.name;
                                   		var test = devicenameName;
                                   		var devicename_array = devicenameName.split(' ');        
                                   		devicenameName = devicename_array[0];
                                   		counter = counter+1; 
                                   			
                                   		var strStatePath = "system.adapter." + devicenameName + ".alive";
                                   		
                                   		//Uptime
                                   		var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                   		var tage = Math.floor(uptime / (24*3600));
                                   		var stunden = Math.floor((uptime % (24*3600))/3600);
                                   		var minuten = Math.floor((uptime % (3600))/60);
                                   		if (stunden < 10) {stunden = "0"+stunden};
                                   		if (minuten < 10) {minuten = "0"+minuten};				
                                   		if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                   		if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                   		
                                   		//Arbeitsspeicher etc.
                                   		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                   		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                   		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                   		
                                   		//Connection Status
                                   		var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                   		if(connect == false){var con = 0;}
                                   		
                                   		else {                
                                   			var con = 1;
                                   			var strStatePath = devicenameName + ".info.connection";
                                   			if (isState(strStatePath, true)) {
                                   				var connectS = getState(devicenameName + ".info.connection").val;
                                   				if (connectS == false) {
                                   					con = 2;
                                   				}                                                                        
                                   			} 
                                   		}
                                   		if(con==1) {on = on + 1}
                                   		
                                   								
                                   		      
                                   		
                                   		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                   		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                   		setStateDelayed(devicename, devicenameName, 800);
                                   		
                                   		var contentstring = devicenameName;
                                   		var suchstring = /(ical)/g; 
                                   		var suchergebnis = suchstring.test( contentstring );
                                   		
                                   		if (suchergebnis != true) {
                                   			var devicename_array = devicenameName.split('.');        
                                   			devicenameName = devicename_array[0];
                                   		}    
                                
                                   		if (devicenameName == "daswetter") {
                                   			var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                   		} else if (suchergebnis != false) {
                                   			var devicename_array = devicenameName.split('.');        
                                   			var icalName = devicename_array[0];        
                                   			var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                   		} else {
                                   			var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                   		}
                                   		
                                   		//////////////////////////
                                   		// Icon-Pfad definieren //
                                   		//////////////////////////
                                
                                   		//Alexa2
                                   		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                   		//FritzDECT
                                   		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                   		//FullyBrowser
                                   		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                   		//HM-Rega
                                   		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                   		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                   		//HomeMatic
                                   		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                   		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                   		//HomeMatic-IP
                                   		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                   		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                           //Homepilot
                                           if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                                   		//UPNP
                                   		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                   		//Pushover.1
                                   		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                   		//Pushover.2
                                   		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                   		
                                
                                   		///////////////////////
                                   		//AdapterName anpassen
                                   		////////////////////////
                                
                                   		//Corona-Statistics
                                   		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                                   		//DasWetter
                                   		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                   		//DWD
                                   		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                   		//Fullybrowser
                                   		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                                   		//HM-REGA
                                   		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                   		//HM-RPC.0
                                   		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                   		//HM-RPC.1
                                   		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                           //Homepilot
                                           if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                                   		//Linux-Control
                                   		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                                   		//MiHome-Vacuum -> NoNo
                                   		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                           //MiHome-Vacuum -> Dusty
                                   		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                                   		//Pushover
                                   		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                   		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                   		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                   		//Simple-API
                                   		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                   		//SNMP.0
                                   		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                                   		//SNMP.1
                                   		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                           //SNMP.2
                                   		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                                   		//Spotify
                                   		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                   		//Tankerkoenig
                                   		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                                   		//Tashscheduler
                                   		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                                   		//TR-064.0
                                   		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                   		//TR-064.1
                                   		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                   		//XPEnology
                                   		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                                   		
                                   		
                                   		
                                   		//Instanz-Namen setzen
                                   		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                   		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                   		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                   		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                   		setStateDelayed(devicename, devicenameName, 800);
                                   		//Bild Pfad setzen
                                   		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                   		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                   		setStateDelayed(devicename, bild, 800);
                                   		//Uptime setzen
                                   		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                   		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                   		setStateDelayed(devicename, uptime, 800);
                                   		//MemUsed setzen
                                   		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                   		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                   		//setStateDelayed(devicename, used, 800);
                                   		//MemToal setzen
                                   		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                   		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                   		//setStateDelayed(devicename, total, 800);
                                   		//MemRSS setzen
                                   		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                   		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                   		//setStateDelayed(devicename, rss, 800);
                                   		//Connected setzen
                                   		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                   		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                   		setStateDelayed(devicename, con, 800);
                                   		
                                   		//Wert zurücksetzen
                                   		var manuell=0
                                
                                       };
                                   });
                                   
                                   //Adaptet Icon Übersicht
                                   visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                   if(on == counter){setState(visstatus, true);}
                                   //if(on == counter -1){setState(visstatus, true);}
                                   else{setState(visstatus, false);}
                                   
                                   
                                   setStateDelayed('Adapter.Anzahl', counter, 800);
                                
                                   function isState(strStatePath, strict) {
                                       let mSelector;
                                       if (strict) {
                                           mSelector = $('state[id=' + strStatePath + '$]');
                                       } else {
                                           mSelector = $('state[id=' + strStatePath + ']');
                                       }
                                       if (mSelector.length > 0) {
                                           return true;
                                       } else {
                                           return false;
                                       }
                                   }  
                                }); 
                                
                                on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                                   if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                       const instanz = "javascript." + instance;
                                       var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                       var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                       var idAdapter = "system.adapter." + adapter;
                                       
                                       var obj = getObject(idAdapter);
                                       if (dpobj.state.val == false) {
                                           obj.common.enabled = true;  // Adapter einschalten
                                       } else if (dpobj.state.val == true) {
                                           obj.common.enabled = false;  // Adapter ausschalten
                                       }
                                       setObject(idAdapter, obj);
                                       setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                   }
                                });   
                                

                                maximal1981 D 2 Replies Last reply Reply Quote 0
                                • maximal1981
                                  maximal1981 @Kuddel last edited by

                                  @kuddel danke schön

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    djsirius @Kuddel last edited by djsirius

                                    Ich habe den Fehler gefunden!

                                    1 Reply Last reply Reply Quote 0
                                    • Rouwdy
                                      Rouwdy @Kuddel last edited by

                                      @kuddel hallo kuddel ich bin absoluter frischling was das programmieren hier angeht und versuche nun so pö a pö schlau zu werden, mein problem ist schon denke fehlendes grundwissen 😞 , wie genau importiere ich wo genau deine objekte / skripte ? einen mail-adapter hab ich so wie auch die von dir vorgeschlagenen adapter

                                      W 1 Reply Last reply Reply Quote 0
                                      • W
                                        WeiserWolf @Rouwdy last edited by

                                        @rouwdy Als erstes installierst du mal den Adapter "Script Engine" und startest danach den ioBroker neu. Anschließend erscheint links in der Übersicht der Bereich Skripte.
                                        Dort gehst du oben auf die drei Punkte --> Skripts importieren und ziehst die heruntergeladene ZIP-Datei per Drag&Drop in den Uploadbereich. Danach sind schon einmal alle Skripts importiert. Dort liegt dann ein Skript "Objekte_anlegen"
                                        Das startest du einmal kurz und kannst es danach wieder beenden. Dieses Skript legt sämtliche Datenpunkte im Bereich "Objekte" an (javascript.0 in den einzelnen Unterordner sortiert)
                                        Evtl ist auch hier ein Neustart des ioBroker bzw. der Script-Engine erforderlich.
                                        Ist zumindest bei mir öfter mal der Fall wenn ich neue Adapter installiere o.ä.

                                        Rouwdy 1 Reply Last reply Reply Quote 0
                                        • Rouwdy
                                          Rouwdy @WeiserWolf last edited by

                                          @weiserwolf said in [Vorstellung] Meine dritte VIS:

                                          Script Engine

                                          Dank Dir @weiserwolf , werd es ausprobieren.

                                          1 Reply Last reply Reply Quote 0
                                          • maximal1981
                                            maximal1981 last edited by maximal1981

                                            Hallo,

                                            ich habe gerade ein komisches Phänomen.
                                            Am Abend wird der Rolladen nicht zur korrekten Zeit herunter gefahren. Jedoch sieht laut mir theoretisch alles richtig aus.

                                            2021-06-19 20:18:00.443  - info: javascript.0 (1506) script.js.smarthome.rolladen.rolladen_tag_nacht: +++ Sonnenuntergang -30: Wonhzimmer Seite auf 0% +++
                                            

                                            Unbenannt.PNG

                                            Selbst die Ausgabe/debug des Cron sieht richtig aus.

                                            2021-06-19 20:32:02.320  - warn: javascript.0 (1506) script.js.smarthome.rolladen.rolladen_tag_nacht: 31 20 * * *
                                            

                                            Zeit am Tablet bzw. ioBroker stimmt auch, was man ja auch im Log sehen kann, dass sie nicht mit der Schließzeit übereinstimmt.

                                            Jemand eine Idee?

                                            lg

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            424
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            vis vis projekte
                                            83
                                            640
                                            142461
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo