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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorstellung] Meine dritte VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuddel @Sarhidyon last edited by

      @Sarhidyon das mit Read-Only habe ich noch nie gesehen.

      wenn man Skripte importiert, kann man sie eigentlich auch direkt bearbeiten.

      Poste sonst mal ein paar Screenshots, damit wir dein Problem nachvollziehen können.

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

        @Kuddel Blockly.png

        Also das mit Blockly "aufklappen" hat geklappt kann es jetzt bearbeiten.

        Nur wenn ich das Script mir angucke "siehe Scrennshot" dann könnte ich es nicht bearbeiten.
        Kann ja sein das das normal ist, wäre nur halt schneller in manchen Situationen als in Blockly die Sachen raus zu suchen.

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

          @Sarhidyon da es ein Blockly Skript ist, kann man es auch nur im Blockly-Editor beareiten.

          Ich denke die Java Ansicht dient nur als Hilfe.

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

            @Kuddel Ah okay, das ist ja mal ne Info die ich sonst nicht finden konnte. Das mit dem Aufklappen hat ja jetzt funktioniert, bin schon fleissig alles am Anpassen. 🙂 Find deine VIS Mega! Dank euch. 🙂

            1 Reply Last reply Reply Quote 0
            • S
              Sarhidyon last edited by

              Falls noch jemand neuere Echo Dot Gen 3 PNGs sucht wie ich und nicht fündig wurde, hab hier mal welche erstellt.

              Amazon_Echo_Dot_3_Sandstone.png Amazon_Echo_Dot_3_Plum.png Amazon_Echo_Dot_3_Gray.png Amazon_Echo_Dot_3_Charcoal.png

              Noch nicht Fertig die Seite aber wird langsam und die Scripte klappen jetzt auch.

              Danke Sky66766 und Kuddel!

              ECHO.PNG

              H 1 Reply Last reply Reply Quote 1
              • T
                ToniMahoni last edited by

                Hallo zusammen,
                Hallo Kuddel, ich kann nur sagen, Super VIS und Super Arbeit von dir.
                Ich bin ganz neu hier und Anfänger bei ioBrocker und habe schon einiges von dir gelernt und übernehmen konnte.
                Nun habe ich ein Problem mit dem Script "adapter_infos". Wenn ich den Script starte, bekomme ich eine Fehlermeldung:
                "Object "system.adapter.vis.0.alive" does not exist".
                Unter Objekten existiert das wirklich nicht. Kannst du mir sagen, was ich an dieser Stelle machen soll?
                Vielen Besten Dank!!!

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

                  @ToniMahoni das Problem ist mit dem letzten Update des VIS Adapter entstanden.

                  Ich habe den Adapter von der Überwachung ausgeklammt:

                  // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                  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;
                      var counter =0;
                  	var on = 0
                  	var manuell=0	
                  
                      var cacheSelector = $('[id=system.adapter.*.alive]');    
                      cacheSelector.each(function(id, i) {        
                          var devicename = getObject(id).common.name; 
                  		
                  		//Instanzen ausklammern
                  		instanz0 = devicename.indexOf('daswetter');
                  		instanz1 = devicename.indexOf('dwd');
                          instanz2 = devicename.indexOf('ical');
                  		instanz3 = devicename.indexOf('feiertage');
                  		instanz4 = devicename.indexOf('snmp.1');
                          instanz5 = devicename.indexOf('synology');
                          instanz6 = devicename.indexOf('vis');
                  		if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 != 0){
                  		
                  			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";
                  			if (isState(strStatePath, true)) {
                  				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);
                  				//var sekunden = Math.floor(uptime % 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 ";}
                  				//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                  				//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                  				//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                  				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";
                  			}
                  			
                  			//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";}
                  			//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
                  			
                  			//DasWetter
                  			if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                  			//DWD
                  			if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; 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}
                  			//MiHome-Vacuum
                  			if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; 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='SNMP.0'; manuell=1}
                  			//SNMP.1
                  			if (instanzname == 'snmp.1 alive') {devicenameName='SNMP.1'; 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}
                  			
                  			
                  			
                  			//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);}
                      if(on < counter -1){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);        
                      }
                  });   
                  

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

                    @Kuddel genau so habe ich auch bei mir, trotzdem kommt die Fehlermeldung

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

                      @ToniMahoni das Skript was ich eben gepostet habe, funzt bei mir ohne Probleme

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

                        @Kuddel Ich habe nun javascript Instanz ein Mal gestopt und wieder gestartet. Danach kam auf ein Mal keine Fehlermeldung mehr. 🤷‍♂️
                        Ich danke dir trotzem für deine schnelle Hilfe.

                        1 Reply Last reply Reply Quote 0
                        • M
                          markus-now last edited by

                          Hallo Kuddel,
                          sorry für die blöde frage aber was meinst du mit:(1111111111.JPG Bild Link)

                          Glasfaser 1 Reply Last reply Reply Quote 0
                          • G
                            gerog-feldmann.de last edited by

                            Hallo Kuddel,
                            das ist ganz toll geworden. Ich wollte mit den Teil mit dem Radio Player für die Echos übernehmen. Leider funktioniert das bei mir nicht. Ich habe dein Player widget importiert und auf meinen echo angepasst. leider kann fängt der Player nicht an zu spielen und ich kann die Lautstärke etc nicht anpassen. Da ich Anfänger bin, habe ich noch nicht ganz durchblickt, ob das nur mit einem JS geht. Ich meinte nein. Liegt hier der Fehler? Hast Du evtl. eine Anleitung zur Installation? Ich wäre Dir mehr als sehr verbunden. Danke 🙂

                            K 1 Reply Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @markus-now last edited by

                              @markus-now

                              Hier die Antwort schon im Thread !

                              Link Text

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                markus-now @Glasfaser last edited by

                                @Glasfaser super Danke 🙂

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kuddel @gerog-feldmann.de last edited by

                                  @gerog-feldmann-de am einfachsten ist es, wenn du die Widget aus meiner VIS exportierst und dann den Code in einer Editor deiner Wahl einfügst.

                                  Dann ersetzt du einfach die ID von meinen gerät durch die ID vpn deinem Gerät.

                                  Einfach mal STRG + H drücken und dann die beiden IDs eingeben

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    gerog-feldmann.de @Kuddel last edited by

                                    @Kuddel jupp, so hatte ich es gemacht. Es sind also keine zusätzlichen Scripts fnötig? Dann muss ich mal sehen, wo es bei mir hängt. Danke 🙂

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Kuddel @gerog-feldmann.de last edited by

                                      @gerog-feldmann-de das einzige Skript, was für die Echo Ansicht verwendet wird, ist das Auslesen der Echo Stati.

                                      Bei den Buttons selber ist immer ein DP vom Alexa2 Adapter hinterlegt

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        toki1973 last edited by

                                        Wahscheinlich eine ganz einfache Frage. Woher bekomme ich denn die Datum und Zeit Information?

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

                                          @toki1973 was genau meinst du ?

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            toki1973 last edited by

                                            Ah ich habe Widgets für die VIS gefunden die Datum und Uhrzeit anzeigen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            900
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            vis vis projekte
                                            83
                                            640
                                            138665
                                            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