Skip to content
  • Home
  • 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

Community Forum

  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.3k

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

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

[Vorstellung] Meine dritte VIS

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
visvis projekte
640 Beiträge 83 Kommentatoren 185.0k 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

    Hallo zusammen,

    nach meiner zweiten VIS folgt jetzt meine dritte VIS.

    Die größte Neuerung ist ein komplett neues Menü mit Hilfe des Top App Bar Widget. Vielen Dank an dieser Stelle an @Scrounger.

    Bestimmt sind immer noch ein paar Fehler drin, aber fertig wird man ja eh nie.

    Vieles habe ich aus meiner zweiten VIS übernommen, so dass die Screenshots aus dem Thread oben auch fast noch alle aktuell sind.

    Screenshots:


    Startseite
    90372124-cd0b-40d0-ae6e-b8286ee25672-grafik.png

    Menü
    52f11cf6-b7f3-49c8-9344-b1a0f89d0eaa-grafik.png
    e766325b-8727-48c0-b6e7-9f773f4f246b-grafik.png

    BVB Details
    423488b3-1367-4ebf-b28e-8b730970dfae-grafik.png

    Tablet Details
    ac924af2-ac1c-4069-a59e-6a68c8775a3f-grafik.png

    System -> ioBroker
    eb9f518b-c318-4a00-a66e-6879959792a4-grafik.png

    System -> Homematic
    1aaaed6f-8e59-4cdc-8bfd-c26185f1c28b-grafik.png

    System -> Netzwerk
    622fd166-ec5b-4ff3-9cbe-d5a81fd5332b-grafik.png

    System -> Geräte
    f20ab8dd-18f2-446e-94ac-55a74765e1ca-grafik.png

    Details VU
    9cdd9c50-f62a-4e3c-b01a-f911d2e8388d-grafik.png

    System -> Logs
    e190e53e-2a68-4e6d-ae7e-a48d069f809f-grafik.png

    System -> VMware
    34ffe501-5b74-4b2c-9092-2e1a8ed9f99e-grafik.png

    Erdgeschoss -> Wohnzimmer
    18c3b9dc-75e4-41c9-9338-ef3c827f4c86-grafik.png

    Garten -> Bewässerung
    160a9338-d885-42be-8ae8-2d0daa67a8f1-grafik.png

    Wetter
    840f00c2-b9bb-4f94-be9d-9bb5b0330947-grafik.png

    Staubsauger
    1343f5bc-1514-44d2-8754-9a6eff483708-grafik.png

    Echo Geräte
    aebe9414-69fe-46ef-86b9-9125b66e2f1d-grafik.png

    Mutlimedia -> TV
    d3549b5b-2178-48de-aa40-86c03343a04d-grafik.png

    Damit die Navigation und alle Widgets funktionieren, wird vor dem Import der DP

    javascript.0.VIS-Steuerung.Aktuelle_VIS_Seite
    

    benöigt.

    Ebenso sind natürlich alle von mir verwendeten Widgets wichitg:

    ad5673c8-1694-4fe5-9839-ca55c4dd920d-grafik.png
    aba96ff9-f4c4-4291-a479-95ce40906c5b-grafik.png

    Anleitung zum Import der kompletten VIS inkl. meiner Icons:


    2020-08-17-VIS_v3.zip
    Meine_Icons.zip

    1. meine_icons.zip entpacken
    2. 2020-08-17-vis_v3.zip entpacken
    3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
    4. Wie gewohnt das neue Archiv im VIS Editor importieren

    Anleitung zum Import meiner Skripte:


    Voraussetzung für den Skript Import

    • Adapter: Mail, Pushover
    • Objekte für meine Skripts

    Objekte anlegen

    Alle Objekte, mit denen ich in meinen Skripten arbeite, können mit einem Javascript erstellt werden:
    objekte.txt

    • Den Inhalt der TXT-Datei in ein neues Javascript kopieren
    • Das Skript starten
    • Alle Objekte werden angelegt
    • Das Skript wieder stoppen

    Import

    1. Download der Datei 2020-03-17-scripts.zip
    2. Eigene Skripte in Zip Datei exportieren
    3. Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
    4. Import des neu erstellten Archivs

    Bei Fragen einfach im Thread stellen ;-)

    Das nächste Projekt wird dann eine VIS fürs Smartphone

    S Offline
    S Offline
    SARCux
    schrieb am zuletzt editiert von
    #398

    @Kuddel
    Download der Datei 2020-03-17-scripts.zip
    Eigene Skripte in Zip Datei exportieren
    Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
    Import des neu erstellten Archivs

    Das verstehe ich leider nicht so ganz. Es ist doch nur die eine zip Datei.
    Wie importiere ich die unter Scripts?

    Ansonsten eine Super Arbeit.

    Als Newbie bin ich total geflasht was ihr hier so leistet. TOP

    K 1 Antwort Letzte Antwort
    0
    • V Offline
      V Offline
      volx3eet
      schrieb am zuletzt editiert von
      #399

      Hallo @Kuddel,

      erstmal vielen Dank für die unfassbar geile View! Tolle Arbeit und danke, dass du diese mit uns teilst.

      Ich hab deine VIS einmal komplett nach Anleitung importiert. Ein paar DPs hab ich bereits angepasst und komme auch gut voran. Was ich allerdings nicht verstehe ist, dass wenn ich im VIS-Editor die Runtime starte beim Start die Startseitenview sehe, wenn ich aber auf eine andere View gehe und wieder zurück zur Startseite springe, das Wetter auf einmal nicht mehr angezeigt wird.

      1. Erstes mal starten der Runtime:
        1a6a09ef-2170-4f9d-9b0f-001fe572ff17-image.png

      2. Nach kurzem Gastspiel auf einer anderen View, und wieder zurück zur Startseite
        e91dae36-12b3-4234-8a13-0fda5d7d134a-image.png

      Das Wetter fehlt plötzlich und ich kann mir nicht erklären warum.
      Sollten weitere Infos notwendig sein, stelle ich diese gerne bereit,

      Danke für eure Hilfe!

      Grüße,
      Volx

      1 Antwort Letzte Antwort
      0
      • S SARCux

        @Kuddel
        Download der Datei 2020-03-17-scripts.zip
        Eigene Skripte in Zip Datei exportieren
        Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
        Import des neu erstellten Archivs

        Das verstehe ich leider nicht so ganz. Es ist doch nur die eine zip Datei.
        Wie importiere ich die unter Scripts?

        Ansonsten eine Super Arbeit.

        Als Newbie bin ich total geflasht was ihr hier so leistet. TOP

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

        @volx3eet wie sieht es aus, wenn du die Anzeige aktualisierst ?

        Wo lässt du dir die VIS anzeigen ?

        Test mal auf einem PC

        1 Antwort Letzte Antwort
        0
        • Holger EtzelH Offline
          Holger EtzelH Offline
          Holger Etzel
          schrieb am zuletzt editiert von
          #401

          Hallo,

          ich versuche immer noch an die Koordinaten 5-Stellige Zahlen zu kommen, dami ich die Räume einzel reinigen kann.
          Habe schon die APP FloleVac installiert. da soll man ja irgendwo die Koordinaten herbekommen.
          Finde aber nichts. Kann da jemand weiter helfen.
          Ich bedanke mich schon mal im vorraus.

          Gruß
          Holger

          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
            #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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          310

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

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

                                          • Du hast noch kein Konto? Registrieren

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