Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Vorstellung] Meine dritte VIS

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    142

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[Vorstellung] Meine dritte VIS

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
visvis projekte
640 Posts 83 Posters 196.7k Views 117 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Sarhidyon

    Hallo Kuddel, erstmal Hammer VIS muss ich sagen!!

    Bin recht neu was den ioBroker angeht, aber hab jetzt in einer Woche denke ich schon gut Fortschritte gemacht.

    Bau mir gerade eine Mischung aus deiner V2 und V3 Version, komme auch recht gut voran, aber bleib dann doch immer bei den Scripten hängen.

    Daher meine Frage, da Google auch nichts ergeben hat. :(

    Wie kann ich z.B. das Script "Echo_stati" verändern? In Blockly kann man nichts offensichtlich verändern und wenn ich auf JS umstelle, sehen ich zwar das Script und wüsste auch was ich ändern müsste, quasi deine Echos durch meine ersetzen, jedoch wenn ich das machen will, kommt immer die Meldung "Cannot edit in read-only editor". Hab ich irgendwas falsch eingestellt? Oder fehlt mir irgendwo nen Hacken um das zu editieren? Oder muss ich das Script exportieren, am PC/Mac bearbeiten und dann wieder importieren?

    Vielleicht kann mir ja jemand helfen, vielen Dank im Voraus! :)

    PS: Ihr macht hier alle ne Super Arbeit, ich hab in einer Woche schon soviel durch dieses Forum gelernt, das ist der Wahnsinn!

    Sky66766S Offline
    Sky66766S Offline
    Sky66766
    wrote on last edited by
    #149

    @Sarhidyon

    hi bin auch neu
    aber ich denke du musst mit der maus rechts klick und im Menu den baustein entfalten.

    ioBroker- NUC8i5, Proxmox 6.1-8
    Node.js v10.20.1, NPM v6.14.4, JS controller 3.0.20

    S 1 Reply Last reply
    0
    • Sky66766S Sky66766

      @Sarhidyon

      hi bin auch neu
      aber ich denke du musst mit der maus rechts klick und im Menu den baustein entfalten.

      S Offline
      S Offline
      Sarhidyon
      wrote on last edited by
      #150

      @Sky66766 Nicht dein Ernst, omg ich bin so doof. :face_palm: Und ich installier JS und alles neu und versuch da alles das zu bearbeiten.... :dizzy_face: Vielen Dank!

      PS: Aber interessieren würde mich das dennoch ob das normal ist das das nur read-only bei mir ist und wie man es im Fall der Fälle bearbeiten könnte. Bisher sehe ich nur den Weg über export am PC/Mac bearbeiten und wieder import. Oder kann man den Read-Only status irgendwie entfernen?

      K 1 Reply Last reply
      0
      • S Sarhidyon

        @Sky66766 Nicht dein Ernst, omg ich bin so doof. :face_palm: Und ich installier JS und alles neu und versuch da alles das zu bearbeiten.... :dizzy_face: Vielen Dank!

        PS: Aber interessieren würde mich das dennoch ob das normal ist das das nur read-only bei mir ist und wie man es im Fall der Fälle bearbeiten könnte. Bisher sehe ich nur den Weg über export am PC/Mac bearbeiten und wieder import. Oder kann man den Read-Only status irgendwie entfernen?

        K Offline
        K Offline
        Kuddel
        wrote on last edited by
        #151

        @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
        0
        • K Kuddel

          @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 Offline
          S Offline
          Sarhidyon
          wrote on last edited by
          #152

          @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
          0
          • S Sarhidyon

            @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 Offline
            K Offline
            Kuddel
            wrote on last edited by
            #153

            @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
            0
            • K Kuddel

              @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 Offline
              S Offline
              Sarhidyon
              wrote on last edited by
              #154

              @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
              0
              • S Offline
                S Offline
                Sarhidyon
                wrote on last edited by
                #155

                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
                1
                • T Offline
                  T Offline
                  ToniMahoni
                  wrote on last edited by
                  #156

                  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
                  0
                  • T ToniMahoni

                    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 Offline
                    K Offline
                    Kuddel
                    wrote on last edited by
                    #157

                    @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
                    0
                    • K Kuddel

                      @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 Offline
                      T Offline
                      ToniMahoni
                      wrote on last edited by
                      #158

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

                      K 1 Reply Last reply
                      0
                      • T ToniMahoni

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

                        K Offline
                        K Offline
                        Kuddel
                        wrote on last edited by
                        #159

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

                        T 1 Reply Last reply
                        0
                        • K Kuddel

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

                          T Offline
                          T Offline
                          ToniMahoni
                          wrote on last edited by
                          #160

                          @Kuddel Ich habe nun javascript Instanz ein Mal gestopt und wieder gestartet. Danach kam auf ein Mal keine Fehlermeldung mehr. :man-shrugging:
                          Ich danke dir trotzem für deine schnelle Hilfe.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            markus-now
                            wrote on last edited by
                            #161

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

                            GlasfaserG 1 Reply Last reply
                            0
                            • G Offline
                              G Offline
                              gerog-feldmann.de
                              wrote on last edited by
                              #162

                              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
                              0
                              • M markus-now

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

                                GlasfaserG Offline
                                GlasfaserG Offline
                                Glasfaser
                                wrote on last edited by
                                #163

                                @markus-now

                                Hier die Antwort schon im Thread !

                                Link Text

                                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                M 1 Reply Last reply
                                0
                                • GlasfaserG Glasfaser

                                  @markus-now

                                  Hier die Antwort schon im Thread !

                                  Link Text

                                  M Offline
                                  M Offline
                                  markus-now
                                  wrote on last edited by
                                  #164

                                  @Glasfaser super Danke :slightly_smiling_face:

                                  1 Reply Last reply
                                  0
                                  • G gerog-feldmann.de

                                    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 Offline
                                    K Offline
                                    Kuddel
                                    wrote on last edited by
                                    #165

                                    @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
                                    0
                                    • K Kuddel

                                      @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 Offline
                                      G Offline
                                      gerog-feldmann.de
                                      wrote on last edited by
                                      #166

                                      @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
                                      0
                                      • G gerog-feldmann.de

                                        @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 Offline
                                        K Offline
                                        Kuddel
                                        wrote on last edited by
                                        #167

                                        @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
                                        0
                                        • T Offline
                                          T Offline
                                          toki1973
                                          wrote on last edited by
                                          #168

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

                                          NUC, PROXMOX, Grafana, Influx, Unify

                                          K 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          560

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe