Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Vorstellung] Meine dritte VIS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorstellung] Meine dritte VIS

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
visvis projekte
640 Beiträge 83 Kommentatoren 184.6k Aufrufe 117 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Kuddel

    @marhal das ist meine aktuelle Version:

    // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
    
    //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
    on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
       createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
       createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
       //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
       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('vis.0');
           instanz6 = devicename.indexOf('yamaha.0');
       	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}
               //Spotify
               if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
               //TR-064.0
       		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
       		//TR-064.1
       		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
               //XPEnology
               if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
       		
       		
       		
       		//Instanz-Namen setzen
       		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
               //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
       		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
       		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
       		setStateDelayed(devicename, devicenameName, 800);
       		//Bild Pfad setzen
       		devicename="Adapter.Adapter"+counter.toString()+".Bild";
       		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
       		setStateDelayed(devicename, bild, 800);
       		//Uptime setzen
       		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
       		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
       		setStateDelayed(devicename, uptime, 800);
       		//MemUsed setzen
       		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
       		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
       		//setStateDelayed(devicename, used, 800);
       		//MemToal setzen
       		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
       		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
       		//setStateDelayed(devicename, total, 800);
       		//MemRSS setzen
       		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
       		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
       		//setStateDelayed(devicename, rss, 800);
       		//Connected setzen
       		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
       		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
       		setStateDelayed(devicename, con, 800);
       		
               //Wert zurücksetzen
               var manuell=0
       	}
       });
       
       //Adaptet Icon Übersicht
       visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
       if(on == counter){setState(visstatus, true);}
       if(on == counter -1){setState(visstatus, true);}
       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);        
       }
    });   
    

    M Offline
    M Offline
    marhal
    schrieb am zuletzt editiert von
    #402

    @Kuddel said in [Vorstellung] Meine dritte VIS:

    Danke für dein neues Script. jedoch bekomme ich immern och die Fehlermeldung
    08:49:50.527 error javascript.0 (1285) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:27:18)
    08:50:05.551 error javascript.0 (1285) at script.js.java.abfragen.adapter_infos:29:38

    Habe ich da evtl . ein Widget vergessen ? oder ein Adapter den ich benötige ? ich komme noch nicht ganz durch mit deinem script 🙂

    gruß
    Marhal

    K 1 Antwort Letzte Antwort
    0
    • M marhal

      @Kuddel said in [Vorstellung] Meine dritte VIS:

      Danke für dein neues Script. jedoch bekomme ich immern och die Fehlermeldung
      08:49:50.527 error javascript.0 (1285) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:27:18)
      08:50:05.551 error javascript.0 (1285) at script.js.java.abfragen.adapter_infos:29:38

      Habe ich da evtl . ein Widget vergessen ? oder ein Adapter den ich benötige ? ich komme noch nicht ganz durch mit deinem script 🙂

      gruß
      Marhal

      K Offline
      K Offline
      Kuddel
      schrieb am zuletzt editiert von
      #403

      @marhal kannst du mal kurz die beiden genannten zeilen aus dem Skript posten

      Bitte Zeile 27 und 29.

      Mal schauen was da drin steht bei dir

      1 Antwort Letzte Antwort
      0
      • K Kuddel

        @marhal das ist meine aktuelle Version:

        // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
        
        //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
        on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
           createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
           createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
           //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
           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('vis.0');
               instanz6 = devicename.indexOf('yamaha.0');
           	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}
                   //Spotify
                   if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                   //TR-064.0
           		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
           		//TR-064.1
           		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                   //XPEnology
                   if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
           		
           		
           		
           		//Instanz-Namen setzen
           		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                   //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
           		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
           		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
           		setStateDelayed(devicename, devicenameName, 800);
           		//Bild Pfad setzen
           		devicename="Adapter.Adapter"+counter.toString()+".Bild";
           		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
           		setStateDelayed(devicename, bild, 800);
           		//Uptime setzen
           		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
           		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
           		setStateDelayed(devicename, uptime, 800);
           		//MemUsed setzen
           		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
           		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
           		//setStateDelayed(devicename, used, 800);
           		//MemToal setzen
           		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
           		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
           		//setStateDelayed(devicename, total, 800);
           		//MemRSS setzen
           		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
           		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
           		//setStateDelayed(devicename, rss, 800);
           		//Connected setzen
           		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
           		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
           		setStateDelayed(devicename, con, 800);
           		
                   //Wert zurücksetzen
                   var manuell=0
           	}
           });
           
           //Adaptet Icon Übersicht
           visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
           if(on == counter){setState(visstatus, true);}
           if(on == counter -1){setState(visstatus, true);}
           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);        
           }
        });   
        

        M Offline
        M Offline
        marhal
        schrieb am zuletzt editiert von
        #404

        @Kuddel
        Das ist ja mal eine schnelle Antwort 🙂 und guten Morgen dir Kuddel.
        In den Zeilen steht folgendes

        25 var cacheSelector = $('[id=system.adapter.*.alive]');
        26
        27 cacheSelector.each(function(id, i) {
        28
        29 var devicename = getObject(id).common.name;

        K 1 Antwort Letzte Antwort
        0
        • M marhal

          @Kuddel
          Das ist ja mal eine schnelle Antwort 🙂 und guten Morgen dir Kuddel.
          In den Zeilen steht folgendes

          25 var cacheSelector = $('[id=system.adapter.*.alive]');
          26
          27 cacheSelector.each(function(id, i) {
          28
          29 var devicename = getObject(id).common.name;

          K Offline
          K Offline
          Kuddel
          schrieb am zuletzt editiert von
          #405

          @marhal das ist aktuell mein Skript

          // 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('kodi.0');
             	instanz5 = devicename.indexOf('snmp.1');
                 instanz6 = devicename.indexOf('vis.0');
                 instanz7 = devicename.indexOf('yamaha.0');
          
             	if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 !=0 && instanz7 !=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}
                     //Spotify
                     if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                     //TR-064.0
             		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
             		//TR-064.1
             		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                     //XPEnology
                     if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
             		
             		
             		
             		//Instanz-Namen setzen
             		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                     //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
             		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
             		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
             		setStateDelayed(devicename, devicenameName, 800);
             		//Bild Pfad setzen
             		devicename="Adapter.Adapter"+counter.toString()+".Bild";
             		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
             		setStateDelayed(devicename, bild, 800);
             		//Uptime setzen
             		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
             		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
             		setStateDelayed(devicename, uptime, 800);
             		//MemUsed setzen
             		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
             		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
             		//setStateDelayed(devicename, used, 800);
             		//MemToal setzen
             		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
             		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
             		//setStateDelayed(devicename, total, 800);
             		//MemRSS setzen
             		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
             		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
             		//setStateDelayed(devicename, rss, 800);
             		//Connected setzen
             		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
             		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
             		setStateDelayed(devicename, con, 800);
             		
                     //Wert zurücksetzen
                     var manuell=0
             	}
             });
             
             //Adaptet Icon Übersicht
             visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
             if(on == counter){setState(visstatus, true);}
             if(on == counter -1){setState(visstatus, true);}
             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);        
             }
          });   
          

          Bevor wir jetzt groß rumprobieren, nimm einfach mal diese Version

          S K 2 Antworten Letzte Antwort
          0
          • K KHK

            @Kuddel ok, dann werde ich mal den Weg gehen - danke

            V Offline
            V Offline
            volx3eet
            schrieb am zuletzt editiert von
            #406

            Hat mir auch geholfen 😊

            1 Antwort Letzte Antwort
            0
            • K Kuddel

              @marhal das ist aktuell mein Skript

              // 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('kodi.0');
                 	instanz5 = devicename.indexOf('snmp.1');
                     instanz6 = devicename.indexOf('vis.0');
                     instanz7 = devicename.indexOf('yamaha.0');
              
                 	if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 !=0 && instanz7 !=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}
                         //Spotify
                         if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                         //TR-064.0
                 		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                 		//TR-064.1
                 		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                         //XPEnology
                         if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                 		
                 		
                 		
                 		//Instanz-Namen setzen
                 		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                         //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                 		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                 		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                 		setStateDelayed(devicename, devicenameName, 800);
                 		//Bild Pfad setzen
                 		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                 		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                 		setStateDelayed(devicename, bild, 800);
                 		//Uptime setzen
                 		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                 		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                 		setStateDelayed(devicename, uptime, 800);
                 		//MemUsed setzen
                 		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                 		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                 		//setStateDelayed(devicename, used, 800);
                 		//MemToal setzen
                 		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                 		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                 		//setStateDelayed(devicename, total, 800);
                 		//MemRSS setzen
                 		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                 		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                 		//setStateDelayed(devicename, rss, 800);
                 		//Connected setzen
                 		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                 		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                 		setStateDelayed(devicename, con, 800);
                 		
                         //Wert zurücksetzen
                         var manuell=0
                 	}
                 });
                 
                 //Adaptet Icon Übersicht
                 visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                 if(on == counter){setState(visstatus, true);}
                 if(on == counter -1){setState(visstatus, true);}
                 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);        
                 }
              });   
              

              Bevor wir jetzt groß rumprobieren, nimm einfach mal diese Version

              S Offline
              S Offline
              Sequal
              schrieb am zuletzt editiert von
              #407

              @Kuddel

              Hut ab vor Deiner Arbeit! Deine Visualisierung ist echt gut gelungen!
              Ich hab allerdings ein kleines Verständnisproblem mit den Wetter-Views. Es wird alles bestens angezeigt, Objekte sind alle da, auch die Scripte laufen....eigentlich. Es wird jedoch nichts aktualisiert außer Datum und Uhrzeit. Temperaturen, Icons etc. bleiben immer bei den eingestellten Datenpunkten zb. von Day1. Auch die 5-Tagesübersicht bleibt wie eingerichtet, aber ändert sich nicht mit dem Fortschreiten der Woche. Was für ein Script hab ich da übersehen oder hab ich den Wetter.com-Adapter nicht richtig eingerichtet? Welcher Pfad im Adapter soll benutzt werden? Ich suche gerad den Wald zwischen all den Bäumen.....

              Gruß
              Sequal

              K 1 Antwort Letzte Antwort
              0
              • S Sequal

                @Kuddel

                Hut ab vor Deiner Arbeit! Deine Visualisierung ist echt gut gelungen!
                Ich hab allerdings ein kleines Verständnisproblem mit den Wetter-Views. Es wird alles bestens angezeigt, Objekte sind alle da, auch die Scripte laufen....eigentlich. Es wird jedoch nichts aktualisiert außer Datum und Uhrzeit. Temperaturen, Icons etc. bleiben immer bei den eingestellten Datenpunkten zb. von Day1. Auch die 5-Tagesübersicht bleibt wie eingerichtet, aber ändert sich nicht mit dem Fortschreiten der Woche. Was für ein Script hab ich da übersehen oder hab ich den Wetter.com-Adapter nicht richtig eingerichtet? Welcher Pfad im Adapter soll benutzt werden? Ich suche gerad den Wald zwischen all den Bäumen.....

                Gruß
                Sequal

                K Offline
                K Offline
                Kuddel
                schrieb am zuletzt editiert von
                #408

                @Sequal die VIS stellt ja nur die Wetterdaten vom Adapter "DasWetter" dar.

                Ändern sich deine DPs unter "daswetter.0" denn korrekt ?

                Wenn der Adapter die Daten nicht korrekt aktualisiert, gibt es in der VIS natürlich auch keine Veränderungen.

                S 1 Antwort Letzte Antwort
                0
                • K Kuddel

                  @Sequal die VIS stellt ja nur die Wetterdaten vom Adapter "DasWetter" dar.

                  Ändern sich deine DPs unter "daswetter.0" denn korrekt ?

                  Wenn der Adapter die Daten nicht korrekt aktualisiert, gibt es in der VIS natürlich auch keine Veränderungen.

                  S Offline
                  S Offline
                  Sequal
                  schrieb am zuletzt editiert von Sequal
                  #409

                  @Kuddel

                  Ich war eigentlich der Meinung, die Datenpunkte sind alle korrekt, bis mir auffiel, dass sich die Temperaturen nicht verändern auf der Startseite. Kann es daran liegen, dass ich den falschen API Pfad im Adapter ausgewählt habe? Welcher passt hier?
                  Gruß

                  K 1 Antwort Letzte Antwort
                  0
                  • S Sequal

                    @Kuddel

                    Ich war eigentlich der Meinung, die Datenpunkte sind alle korrekt, bis mir auffiel, dass sich die Temperaturen nicht verändern auf der Startseite. Kann es daran liegen, dass ich den falschen API Pfad im Adapter ausgewählt habe? Welcher passt hier?
                    Gruß

                    K Offline
                    K Offline
                    Kuddel
                    schrieb am zuletzt editiert von
                    #410

                    @Sequal poste mal bitte einen Screenshot von deinen Adapter Einstellungen, dann kann ich morgen früh mal vergleichen

                    S 1 Antwort Letzte Antwort
                    0
                    • K Kuddel

                      @Sequal poste mal bitte einen Screenshot von deinen Adapter Einstellungen, dann kann ich morgen früh mal vergleichen

                      S Offline
                      S Offline
                      Sequal
                      schrieb am zuletzt editiert von
                      #411

                      @Kuddel said in [Vorstellung] Meine dritte VIS:

                      @Sequal poste mal bitte einen Screenshot von deinen Adapter Einstellungen, dann kann ich morgen früh mal vergleichen

                      Ich hab die Instanz vorhin testweise gelöscht, neu hinzugefügt aber noch nicht wieder konfiguriert.
                      daswetter.png

                      Erster Schritt wäre zu wissen, welchen Pfad Du gewählt hast, damit ich das schonmal ausschließen kann.
                      Gruß und Danke!

                      K V 2 Antworten Letzte Antwort
                      0
                      • S Sequal

                        @Kuddel said in [Vorstellung] Meine dritte VIS:

                        @Sequal poste mal bitte einen Screenshot von deinen Adapter Einstellungen, dann kann ich morgen früh mal vergleichen

                        Ich hab die Instanz vorhin testweise gelöscht, neu hinzugefügt aber noch nicht wieder konfiguriert.
                        daswetter.png

                        Erster Schritt wäre zu wissen, welchen Pfad Du gewählt hast, damit ich das schonmal ausschließen kann.
                        Gruß und Danke!

                        K Offline
                        K Offline
                        Kuddel
                        schrieb am zuletzt editiert von
                        #412

                        @Sequal 6980eaab-ce9f-45d9-87e2-b36ca91d51c5-grafik.png

                        S 1 Antwort Letzte Antwort
                        0
                        • S Sequal

                          @Kuddel said in [Vorstellung] Meine dritte VIS:

                          @Sequal poste mal bitte einen Screenshot von deinen Adapter Einstellungen, dann kann ich morgen früh mal vergleichen

                          Ich hab die Instanz vorhin testweise gelöscht, neu hinzugefügt aber noch nicht wieder konfiguriert.
                          daswetter.png

                          Erster Schritt wäre zu wissen, welchen Pfad Du gewählt hast, damit ich das schonmal ausschließen kann.
                          Gruß und Danke!

                          V Offline
                          V Offline
                          volx3eet
                          schrieb am zuletzt editiert von
                          #413

                          @Sequal Ich hab dir hier auch nochmal eine Anleitung angehängt. Ich gehe davon aus, daß du dir bereits einen Account erstellt hast bei daswetter. Wenn du dich dort einloggst findest du eigentlich alle Links die du im Adapter eintragen musst.

                          Anleitung

                          VG
                          Volx

                          S 1 Antwort Letzte Antwort
                          0
                          • K Kuddel

                            @Sequal 6980eaab-ce9f-45d9-87e2-b36ca91d51c5-grafik.png

                            S Offline
                            S Offline
                            Sequal
                            schrieb am zuletzt editiert von
                            #414

                            @Kuddel
                            Ok, Du hast 3 Pfade eingetragen......ich hatte mir einen ausgesucht. Vielleicht war das der Haken 🙂 Ich beobachte.....Danke!

                            Euch schöne Feiertage!

                            1 Antwort Letzte Antwort
                            0
                            • V volx3eet

                              @Sequal Ich hab dir hier auch nochmal eine Anleitung angehängt. Ich gehe davon aus, daß du dir bereits einen Account erstellt hast bei daswetter. Wenn du dich dort einloggst findest du eigentlich alle Links die du im Adapter eintragen musst.

                              Anleitung

                              VG
                              Volx

                              S Offline
                              S Offline
                              Sequal
                              schrieb am zuletzt editiert von
                              #415

                              @volx3eet

                              Jo, danke. War bereits alles eingerichtet, aber eben nur ein Pfad. Ich hatte die Erläuterung so verstanden.....

                              Gruß

                              S 1 Antwort Letzte Antwort
                              0
                              • S Sequal

                                @volx3eet

                                Jo, danke. War bereits alles eingerichtet, aber eben nur ein Pfad. Ich hatte die Erläuterung so verstanden.....

                                Gruß

                                S Offline
                                S Offline
                                Sequal
                                schrieb am zuletzt editiert von
                                #416

                                Nabend zusammen,

                                ich hab noch eine Kleinigkeit:
                                wetterwarnung1.png
                                wetterwarnung2.png

                                Kann mir jemand auf die Sprünge helfen wieso im Warnungsfeld anstatt dem Wert "warning begin" in korrekter Datums/Uhrzeitform lediglich eine 13stellige Zahl angezeigt wird? Ich finde den Fehler nicht.....
                                Gruß
                                Sequal

                                K 1 Antwort Letzte Antwort
                                0
                                • S Sequal

                                  Nabend zusammen,

                                  ich hab noch eine Kleinigkeit:
                                  wetterwarnung1.png
                                  wetterwarnung2.png

                                  Kann mir jemand auf die Sprünge helfen wieso im Warnungsfeld anstatt dem Wert "warning begin" in korrekter Datums/Uhrzeitform lediglich eine 13stellige Zahl angezeigt wird? Ich finde den Fehler nicht.....
                                  Gruß
                                  Sequal

                                  K Offline
                                  K Offline
                                  Kuddel
                                  schrieb am zuletzt editiert von
                                  #417

                                  @Sequal das kam glaube ich mit dem letzten Update vom DWD Adapter.

                                  Habe mich bei in meiner aktuelle VIS gefixt.

                                  Widgets:

                                  [{"tpl":"tplFrame","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":true,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","title":"","title_color":"#FFFFFF","title_top":"-10","title_left":"30","header_height":"0","header_color":"","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"title_back":"","title_font":"","name":"!_Hintergrund"},"style":{"left":"0px","top":"0px","width":"410px","height":"280px","color":"","z-index":"1","box-shadow":"2px 2px 3px rgba(20, 20, 20, 50)","background":"#202020"},"widgetSet":"basic"},{"tpl":"tplHtml","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"Wetterwarnungen","name":"!_Überschrift"},"style":{"left":"0px","top":"0px","height":"30px","width":"410px","z-index":"10","color":"white","text-align":"center","text-shadow":"","font-family":"Arial, Helvetica, sans-serif","font-style":"","font-variant":"","font-weight":"bolder","font-size":"20px","line-height":"30px","background":"grey"},"widgetSet":"basic"},{"tpl":"tplTimeValue","data":{"oid":"dwd.0.warning.begin","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"!=","visibility-val":"0","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"format_date":"DD.MM.YYYY - hh:mm","name":"Beginn","visibility-oid":"dwd.0.warning.severity","html_prepend":"Beginn: ","html_append":" Uhr"},"style":{"left":"20px","top":"90px","width":"250px","height":"20px","z-index":"20","font-weight":"bolder","line-height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"dwd.0.warning.severity","g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"!=","visibility-val":"0","visibility-groups-action":"hide","count":"4","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Beschreibung","value2":"{dwd.0.warning.description}","value3":"{dwd.0.warning.description}","value5":"Hauptbrüste blockiert","value6":"Seitenbrüste blockiert","value7":"Festgefahren","value8":"Blockiert","visibility-oid":"dwd.0.warning.severity","html_prepend":"","style5":"color: red","style6":"color: red","test_list":"1","style2":"color: orange","value0":"dwd.0.warning.description}","value1":"{dwd.0.warning.description}","value4":"{dwd.0.warning.description}","value9":"Staubbehälter fehlt","value10":"Filter reinigen","value11":"Steckt in magn. Barriere","style0":"","style7":"color: red","style8":"color: red","style3":"color: red","style1":"color: yellow","style4":"color: red","style9":"color: red","style10":"color: red","style11":"color: red","value12":"Batterie leer","value13":"Ladefehler","value14":"Batterie  Fehler","value15":"Wand-Sensoren dreckig","value16":"Ebene Fläche benötigt","value17":"Seitenbürsten Problem","value18":"Sauggebläse Problem","value19":"Ladestation nicht angeschlossen","style12":"color: red","style13":"color: red","style14":"color: red","style15":"color: red","style16":"color: red","style18":"color: red","style17":"color: red","style19":"color: red"},"style":{"left":"20px","top":"145px","width":"370px","height":"120px","z-index":"10","text-align":"left","font-family":"Arial, Helvetica, sans-serif","font-weight":"bolder","font-size":"medium","line-height":"","background-color":"","border-radius":"","border-width":"","border-style":"","border-color":""},"widgetSet":"basic"},{"tpl":"tplTimeValue","data":{"oid":"dwd.0.warning.end","g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"!=","visibility-val":"0","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"format_date":"DD.MM.YYYY - hh:mm","name":"Ende","visibility-oid":"dwd.0.warning.severity","html_prepend":"Ende: ","html_append":" Uhr"},"style":{"left":"20px","top":"110px","width":"250px","height":"20px","z-index":"20","font-weight":"bolder","line-height":"20px"},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"dwd.0.warning.severity","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"count":"4","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Rahmen","value2":"","value3":"","value5":"Hauptbrüste blockiert","value6":"Seitenbrüste blockiert","value7":"Festgefahren","value8":"Blockiert","html_prepend":"","style5":"color: red","style6":"color: red","test_list":"1","style2":"color: red","value0":"Keine Meldung vorhanden","value1":"","value4":"","value9":"Staubbehälter fehlt","value10":"Filter reinigen","value11":"Steckt in magn. Barriere","style0":"boder-color: #41f316","style7":"color: red","style8":"color: red","style3":"color: red","style1":"color: orange","style4":"color: red","style9":"color: red","style10":"color: red","style11":"color: red","value12":"Batterie leer","value13":"Ladefehler","value14":"Batterie  Fehler","value15":"Wand-Sensoren dreckig","value16":"Ebene Fläche benötigt","value17":"Seitenbürsten Problem","value18":"Sauggebläse Problem","value19":"Ladestation nicht angeschlossen","style12":"color: red","style13":"color: red","style14":"color: red","style15":"color: red","style16":"color: red","style18":"color: red","style17":"color: red","style19":"color: red","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide"},"style":{"left":"5px","top":"40px","width":"400px","height":"235px","z-index":"10","text-align":"center","font-family":"Arial, Helvetica, sans-serif","font-weight":"bolder","font-size":"20px","line-height":"235px","background-color":"","border-radius":"10px","border-width":"1px","border-style":"solid","border-color":"{wert:dwd.0.warning.severity; wert==0? \"#41f316\": wert==1? \"yellow\": wert==2? \"orange\": wert==3? \"red\": wert==4? \"red\": \"#303030\"} "},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"dwd.0.warning.severity","g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"count":"4","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Severity","value2":"{dwd.0.warning.severity}","value3":"{dwd.0.warning.severity}","value5":"Hauptbrüste blockiert","value6":"Seitenbrüste blockiert","value7":"Festgefahren","value8":"Blockiert","html_prepend":"Crit: ","style5":"color: red","style6":"color: red","test_list":"1","style2":"color: orange","value0":"","value1":"{dwd.0.warning.severity}","value4":"{dwd.0.warning.severity}","value9":"Staubbehälter fehlt","value10":"Filter reinigen","value11":"Steckt in magn. Barriere","style0":"","style7":"color: red","style8":"color: red","style3":"color: red","style1":"color: yellow","style4":"color: red","style9":"color: red","style10":"color: red","style11":"color: red","value12":"Batterie leer","value13":"Ladefehler","value14":"Batterie  Fehler","value15":"Wand-Sensoren dreckig","value16":"Ebene Fläche benötigt","value17":"Seitenbürsten Problem","value18":"Sauggebläse Problem","value19":"Ladestation nicht angeschlossen","style12":"color: red","style13":"color: red","style14":"color: red","style15":"color: red","style16":"color: red","style18":"color: red","style17":"color: red","style19":"color: red","visibility-cond":"!=","visibility-val":"0","visibility-groups-action":"hide","visibility-oid":"dwd.0.warning.severity"},"style":{"left":"345px","top":"0px","width":"60px","height":"30px","z-index":"10","text-align":"right","font-family":"Arial, Helvetica, sans-serif","font-weight":"normal","font-size":"medium","line-height":"30px","background-color":"","border-radius":"","border-width":"","border-style":"","border-color":""},"widgetSet":"basic"},{"tpl":"tplValueListHtml8","data":{"oid":"dwd.0.warning.severity","g_fixed":true,"g_visibility":true,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"!=","visibility-val":"0","visibility-groups-action":"hide","count":"4","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"name":"Überschrift","value2":"{dwd.0.warning.text}","value3":"{dwd.0.warning.text}","value5":"Hauptbrüste blockiert","value6":"Seitenbrüste blockiert","value7":"Festgefahren","value8":"Blockiert","visibility-oid":"dwd.0.warning.severity","html_prepend":"","style5":"color: red","style6":"color: red","test_list":"1","style2":"color: orange","value0":"{dwd.0.warning.text}","value1":"{dwd.0.warning.text}","value4":"{dwd.0.warning.text}","value9":"Staubbehälter fehlt","value10":"Filter reinigen","value11":"Steckt in magn. Barriere","style0":"","style7":"color: red","style8":"color: red","style3":"color: red","style1":"color: yellow","style4":"color: red","style9":"color: red","style10":"color: red","style11":"color: red","value12":"Batterie leer","value13":"Ladefehler","value14":"Batterie  Fehler","value15":"Wand-Sensoren dreckig","value16":"Ebene Fläche benötigt","value17":"Seitenbürsten Problem","value18":"Sauggebläse Problem","value19":"Ladestation nicht angeschlossen","style12":"color: red","style13":"color: red","style14":"color: red","style15":"color: red","style16":"color: red","style18":"color: red","style17":"color: red","style19":"color: red"},"style":{"left":"20px","top":"45px","width":"370px","height":"35px","z-index":"10","text-align":"center","font-family":"Arial, Helvetica, sans-serif","font-weight":"normal","font-size":"25px","line-height":"30px","background-color":"","border-radius":"","border-width":"","border-style":"","border-color":""},"widgetSet":"basic"}]
                                  

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Kuddel

                                    @marhal das ist aktuell mein Skript

                                    // 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('kodi.0');
                                       	instanz5 = devicename.indexOf('snmp.1');
                                           instanz6 = devicename.indexOf('vis.0');
                                           instanz7 = devicename.indexOf('yamaha.0');
                                    
                                       	if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 !=0 && instanz7 !=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}
                                               //Spotify
                                               if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                               //TR-064.0
                                       		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                       		//TR-064.1
                                       		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                               //XPEnology
                                               if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                                       		
                                       		
                                       		
                                       		//Instanz-Namen setzen
                                       		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                               //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                       		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                       		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                       		setStateDelayed(devicename, devicenameName, 800);
                                       		//Bild Pfad setzen
                                       		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                       		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                       		setStateDelayed(devicename, bild, 800);
                                       		//Uptime setzen
                                       		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                       		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                       		setStateDelayed(devicename, uptime, 800);
                                       		//MemUsed setzen
                                       		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                       		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                       		//setStateDelayed(devicename, used, 800);
                                       		//MemToal setzen
                                       		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                       		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                       		//setStateDelayed(devicename, total, 800);
                                       		//MemRSS setzen
                                       		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                       		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                       		//setStateDelayed(devicename, rss, 800);
                                       		//Connected setzen
                                       		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                       		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                       		setStateDelayed(devicename, con, 800);
                                       		
                                               //Wert zurücksetzen
                                               var manuell=0
                                       	}
                                       });
                                       
                                       //Adaptet Icon Übersicht
                                       visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                       if(on == counter){setState(visstatus, true);}
                                       if(on == counter -1){setState(visstatus, true);}
                                       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);        
                                       }
                                    });   
                                    

                                    Bevor wir jetzt groß rumprobieren, nimm einfach mal diese Version

                                    K Offline
                                    K Offline
                                    KHK
                                    schrieb am zuletzt editiert von
                                    #418

                                    @Kuddel
                                    Habe dein eingestellte Script mal probiert, aber irgenwie werden nicht alle Daten gelesen...oder ist der Eintrag "object.object" richtig?

                                    e74b5f54-fb98-4f86-9cc0-490fce616d36-grafik.png

                                    K 1 Antwort Letzte Antwort
                                    0
                                    • K KHK

                                      @Kuddel
                                      Habe dein eingestellte Script mal probiert, aber irgenwie werden nicht alle Daten gelesen...oder ist der Eintrag "object.object" richtig?

                                      e74b5f54-fb98-4f86-9cc0-490fce616d36-grafik.png

                                      K Offline
                                      K Offline
                                      Kuddel
                                      schrieb am zuletzt editiert von
                                      #419

                                      @KHK ne da läuft was nicht richtig. Uptime und Connected werde nicht korrekt ausgelesen.

                                      Sieht das bei allen Adaptenr so aus?

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • K Kuddel

                                        @KHK ne da läuft was nicht richtig. Uptime und Connected werde nicht korrekt ausgelesen.

                                        Sieht das bei allen Adaptenr so aus?

                                        K Offline
                                        K Offline
                                        KHK
                                        schrieb am zuletzt editiert von
                                        #420

                                        @Kuddel
                                        ja, deswegen war ich mir nicht ganz sicher...

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • K KHK

                                          @Kuddel
                                          ja, deswegen war ich mir nicht ganz sicher...

                                          K Offline
                                          K Offline
                                          Kuddel
                                          schrieb am zuletzt editiert von
                                          #421

                                          @KHK wie sehen deine Einstellungen von der Javascript Instanz aus ?

                                          870bbab5-fd31-4b1a-a422-3154e1f7c47a-grafik.png

                                          K 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          729

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe