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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorstellung] Meine dritte VIS

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

      @kuddel dort habe ich diese jeweils auch angepasst gehabt.

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

        @chriss2007 dann bleibt nur noch

        f97e6cf7-0c24-4933-b1d3-1d151cd2baea-grafik.png

        C 2 Replies Last reply Reply Quote 0
        • C
          chriss2007 @Kuddel last edited by

          @kuddel habe mal die Anwesenheit komplett neu gemacht. Jetzt gehen die logos einwandfrei.

          1 Reply Last reply Reply Quote 1
          • C
            chriss2007 @Kuddel last edited by

            @kuddel Ich muss dich noch mal stören, einzie wo es jetzt noch hängt an der uptime von motioneye und der ccu. der schreibt mir keine werde in denn Datenpunkt. anscheinend klappt die abfrage nicht. wenn ich in Putty abfrage geht es einwandfrei!

            uptime.jpg

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

              @chriss2007 die Abfrage ich mittlweile aus BLockly herausgelöst und verwendet dafür den Adapter Linux-Control.

              Da kann man dann eigene Befehle hinterlegen

              C 1 Reply Last reply Reply Quote 1
              • C
                chriss2007 @Kuddel last edited by

                @kuddel den Adapter habe ich mir auch schon angeschaut, aber will dort auch nicht. anscheinend hat es mit der ssh zu tun. ich finde aber nicht die ursache dafür

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

                  @chriss2007 was meldet der Adapter denn, wenn du was anfragen willst?

                  C 1 Reply Last reply Reply Quote 1
                  • C
                    chriss2007 @Kuddel last edited by

                    @kuddel der Adapter sagt laut Protokoll das er fertig ist, aber Datenpunkt ist leer
                    Protokol.jpg objekt.jpg adapter.jpg

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

                      @chriss2007 so sieht es bei mir aus für z.B. meine CCU

                      3f14e53c-6293-4bea-83b8-1966a18b744d-grafik.png

                      CPU

                      grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} {printf("%.2f\n",usage)}'
                      

                      RAM

                      free | grep Mem | awk '{usage=($3/$2 * 100.0)} END {printf("%.2f\n",usage)}'
                      

                      Uptime

                      awk '{printf("%u Tage, %02u Std, %02u Min\n",int($1/60/60/24),int($1%(60*60*24)/60/60),int(($1%(60*60))/60))}' /proc/uptime
                      
                      C 2 Replies Last reply Reply Quote 1
                      • C
                        chriss2007 @Kuddel last edited by

                        @kuddel fehler gefunden und läuft auch jetzt.

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

                          @kuddel Du hast die Adapter abfrage drin. kann man es ändern das unter 0_Userdata diese erstellt? aktuell sind die im javascript.

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

                            @chriss2007

                            // 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('0_userdata.0.adapter_infos.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                               createState('0_userdata.0.adapter_infos.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.synology.1.alive');
                                   var check11 = id.indexOf('system.adapter.yamaha.0.alive');
                               	var check12 = id.indexOf('system.adapter.vis.0.alive');
                            
                                   var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11 + check12;
                            
                                   //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                   if(check == -12){
                                       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="0_userdata.0.adapter_infos.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}
                                       // Synology
                                       if (instanzname == 'synology.0 alive') {devicenameName='XPEnology'; 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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".Uptime";          
                               		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                               		setStateDelayed(devicename, uptime, 800);
                               		//MemUsed setzen
                               		//devicename="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.vis-status.alle_adapter_gestartet";
                               if(on == counter){setState(visstatus, true);}
                               //if(on == counter -1){setState(visstatus, true);}
                               else{setState(visstatus, false);}
                               
                               
                               setStateDelayed('0_userdata.0.adapter_infos.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:"0_userdata.0.adapter_infos.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);        
                               }
                            });   
                            

                            1 Reply Last reply Reply Quote 1
                            • C
                              chriss2007 last edited by chriss2007

                              Habe die Ursache gefunden, ein Adapter hat es nicht richtig Runtergeschmiesen.

                              Kann mir wer helfen von euch? Ich habe das Problem seit dem ich denn IOT Adapter installiert habe. Wenn dieser Installiert ist erstellt er bei der Adapter Abfrage nur bis "Adapter4". Habe Ihne Test halber deinstalliert. Da erstellt er alle bis ca 32....cloud.jpg

                              K 1 Reply Last reply Reply Quote 0
                              • A
                                Aachen1305 @djsirius last edited by Aachen1305

                                @djsirius ich habe genau das selbe Problem, wie Du. Die Rollos fahren runter, aber nicht hoch. Hast Du Du da schon ne Lösung gefunden?

                                C 2 Replies Last reply Reply Quote 0
                                • C
                                  chriss2007 @Aachen1305 last edited by

                                  @aachen1305 mit denn Rollos hat das bei mir nix zu tun! ich kann dir auch leider nicht helfen da ich bei mir direkt über die HM-IP Aktoren dort Arbeite.

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    chriss2007 @Aachen1305 last edited by

                                    @aachen1305 Kannst ja aber mal erzählen was genau das Problem ist und welche Geräte du nutzt? und was du an Fehler bekommst.

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Aachen1305 @chriss2007 last edited by

                                      @chriss2007
                                      ich arbeite mit den Xiaomi Fenstersensoren sowie Shelly 2.5 für die Rollos. Das Lustige ist ja dass ich keine Fehler angezeigt bekomme. Die Rollos fahren abends runter wie es sein soll, aber am nächsten Morgen nicht mehr hoch.
                                      Ich werde heute abend das Skript einfach mal neu installieren und schauen ob es dann klappt.

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

                                        @chriss2007 anbei einmal meine aktuell verwendete Version zur Abfrage der Adapter

                                        // 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('0_userdata.0.adapter_infos.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                           createState('0_userdata.0.adapter_infos.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.synology.1.alive');
                                               var check11 = id.indexOf('system.adapter.yamaha.0.alive');
                                           	var check12 = id.indexOf('system.adapter.vis.0.alive');
                                        
                                               var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11 + check12;
                                        
                                               //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                               if(check == -12){
                                                   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="0_userdata.0.adapter_infos.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 = "/vis.0/VIS_v3/Meine_Icons/Adapter_Icons/homematic.png";}
                                           		//HomeMatic
                                           		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS_v3/Meine_Icons/Adapter_Icons/homematic.png";}
                                           		//HomeMatic-IP
                                           		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS_v3/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                                   //Homepilot
                                                   if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS_v3/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}
                                                   // Synology
                                                   if (instanzname == 'synology.0 alive') {devicenameName='XPEnology'; 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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".Uptime";          
                                           		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                           		setStateDelayed(devicename, uptime, 800);
                                           		//MemUsed setzen
                                           		//devicename="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.adapter_infos.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="0_userdata.0.vis-status.alle_adapter_gestartet";
                                           if(on == counter){setState(visstatus, true);}
                                           //if(on == counter -1){setState(visstatus, true);}
                                           else{setState(visstatus, false);}
                                           
                                           
                                           setStateDelayed('0_userdata.0.adapter_infos.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:"0_userdata.0.adapter_infos.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);        
                                           }
                                        });   
                                        

                                        Du müsstest den Adapter wohl von der Abfrage ausklammer, da er keinen Alive Objekt hat.

                                        Bitte unter Zeile 29 ergänzen:

                                        var check13 = id.indexOf('system.adapter.cloud.0.alive');
                                        

                                        und in Zeile 30

                                        var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11 + check12 + check13;
                                        

                                        Dann wird der Adapter nicht mehr abgefragt

                                        A 1 Reply Last reply Reply Quote 1
                                        • C
                                          chriss2007 @Aachen1305 last edited by

                                          @aachen1305 Und wenn du diese manuel Ansteuerst fahren diese Ordentlich?

                                          A 1 Reply Last reply Reply Quote 0
                                          • A
                                            Aachen1305 @chriss2007 last edited by

                                            @chriss2007
                                            Ja das klaapt einwandfrei.

                                            Habe das Skript mal neu installiert, Rollos sind runtergefahren. Warten wir mal ab, wie es morgen früh aus sieht 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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