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

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

Community Forum

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

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    271

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

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

[Vorstellung] Meine dritte VIS

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
visvis projekte
640 Posts 83 Posters 197.0k Views 117 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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

    C Offline
    C Offline
    chriss2007
    wrote on last edited by
    #561

    @kuddel Ich habe an deiner VIS sehr gefallen gefunden und bin aktuell dabei diese umzuarbeiten. Ich habe aber Probleme bei der Anwesenheit das diese bei mir richtig geht. aber bei meiner Freundin nicht. CCU und Fritzbox CheckPresence ebenfalls aber es ändert nicht auf true im Datenpunkt. Desweiteren wenn ich Abwesend bin der das Logo weg bei Ihr nicht.

    K 1 Reply Last reply
    0
    • C chriss2007

      @kuddel Ich habe an deiner VIS sehr gefallen gefunden und bin aktuell dabei diese umzuarbeiten. Ich habe aber Probleme bei der Anwesenheit das diese bei mir richtig geht. aber bei meiner Freundin nicht. CCU und Fritzbox CheckPresence ebenfalls aber es ändert nicht auf true im Datenpunkt. Desweiteren wenn ich Abwesend bin der das Logo weg bei Ihr nicht.

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

      @chriss2007 die von die beschreibenen Probleme bzgl. der Anwesenheit kenne ich.

      Versuche es mal mit dem Adapter Radar2.

      Damit funzt die Erkennung bei mir perfekt.

      Wenn du den Status hast können wir gern über die Icons reden ;-)

      C 1 Reply Last reply
      1
      • K Kuddel

        @chriss2007 die von die beschreibenen Probleme bzgl. der Anwesenheit kenne ich.

        Versuche es mal mit dem Adapter Radar2.

        Damit funzt die Erkennung bei mir perfekt.

        Wenn du den Status hast können wir gern über die Icons reden ;-)

        C Offline
        C Offline
        chriss2007
        wrote on last edited by chriss2007
        #563

        @kuddel so umgearbeitet auf radar2

        Anwesenheit läuft einwandfrei, nur das mit dem Logo ist noch das Problem

        K 1 Reply Last reply
        0
        • D Offline
          D Offline
          derdoerk
          wrote on last edited by
          #564

          Hallo Knuddel,

          ich habe mal zwei Fragen zu deinem Homematic Skript.

          1. Ich habe dieses bei mir eingebunden und testweise eine Fehler auf der Homematic erzeugt (Display Fernbedingung --> Fehlende Konfiguration). Leider wird mir dieser aber nicht im IoBroker angezeigt. Muss ich in der CCU noch was einstellen oder ein Skript anlegen?
          2. Kann man auch Fehlermeldungen aus dem IoBroker herraus bestätigen. Ich würde gern die CCU soweit es geht Fernsteuern.

          Gruß
          Dirk

          K 1 Reply Last reply
          0
          • C chriss2007

            @kuddel so umgearbeitet auf radar2

            Anwesenheit läuft einwandfrei, nur das mit dem Logo ist noch das Problem

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

            @chriss2007 dann schauen wir un das mal an. Poste mal bitte einen Screenshot vom Logo und gib mal deinen DP zu Anwesenheit an

            C 1 Reply Last reply
            0
            • D derdoerk

              Hallo Knuddel,

              ich habe mal zwei Fragen zu deinem Homematic Skript.

              1. Ich habe dieses bei mir eingebunden und testweise eine Fehler auf der Homematic erzeugt (Display Fernbedingung --> Fehlende Konfiguration). Leider wird mir dieser aber nicht im IoBroker angezeigt. Muss ich in der CCU noch was einstellen oder ein Skript anlegen?
              2. Kann man auch Fehlermeldungen aus dem IoBroker herraus bestätigen. Ich würde gern die CCU soweit es geht Fernsteuern.

              Gruß
              Dirk

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

              @derdoerk die himer im Thread hochgeladenen Version ist sicherlich scchon veraltet.

              Bitte nimm mal die neuste Version und psote deinen Fragen direkt im Thread zu dem Skript

              Servicemeldungen - All inclusive für Homematic

              1 Reply Last reply
              0
              • K Kuddel

                @chriss2007 dann schauen wir un das mal an. Poste mal bitte einen Screenshot vom Logo und gib mal deinen DP zu Anwesenheit an

                C Offline
                C Offline
                chriss2007
                wrote on last edited by chriss2007
                #567

                @kuddel 2.jpg 1.jpg

                habe Ihre anwesenheit auf meine erst mal gemacht zum rum testen, aber auch auf Ihrer ist das gleiche verhalten mit dem Logo.

                K 1 Reply Last reply
                0
                • C chriss2007

                  @kuddel 2.jpg 1.jpg

                  habe Ihre anwesenheit auf meine erst mal gemacht zum rum testen, aber auch auf Ihrer ist das gleiche verhalten mit dem Logo.

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

                  @chriss2007 check mal color bei CSS-Ränder. Da ist auch noch ein DP hinterlegt

                  ef5da4fa-67c4-4ce5-9de2-04e05031e5d2-grafik.png

                  C 1 Reply Last reply
                  0
                  • K Kuddel

                    @chriss2007 check mal color bei CSS-Ränder. Da ist auch noch ein DP hinterlegt

                    ef5da4fa-67c4-4ce5-9de2-04e05031e5d2-grafik.png

                    C Offline
                    C Offline
                    chriss2007
                    wrote on last edited by
                    #569

                    @kuddel dort habe ich diese jeweils auch angepasst gehabt.

                    K 1 Reply Last reply
                    0
                    • C chriss2007

                      @kuddel dort habe ich diese jeweils auch angepasst gehabt.

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

                      @chriss2007 dann bleibt nur noch

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

                      C 2 Replies Last reply
                      0
                      • K Kuddel

                        @chriss2007 dann bleibt nur noch

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

                        C Offline
                        C Offline
                        chriss2007
                        wrote on last edited by
                        #571

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

                        1 Reply Last reply
                        1
                        • K Kuddel

                          @chriss2007 dann bleibt nur noch

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

                          C Offline
                          C Offline
                          chriss2007
                          wrote on last edited by
                          #572

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

                          uptime.jpg

                          K 1 Reply Last reply
                          0
                          • C chriss2007

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

                            uptime.jpg

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

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

                            Da kann man dann eigene Befehle hinterlegen

                            C 1 Reply Last reply
                            1
                            • K Kuddel

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

                              Da kann man dann eigene Befehle hinterlegen

                              C Offline
                              C Offline
                              chriss2007
                              wrote on last edited by
                              #574

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

                              K 1 Reply Last reply
                              0
                              • C chriss2007

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

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

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

                                C 1 Reply Last reply
                                1
                                • K Kuddel

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

                                  C Offline
                                  C Offline
                                  chriss2007
                                  wrote on last edited by
                                  #576

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

                                  K 1 Reply Last reply
                                  0
                                  • C chriss2007

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

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

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

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

                                    CPU

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

                                    RAM

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

                                    Uptime

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

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

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

                                      CPU

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

                                      RAM

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

                                      Uptime

                                      awk '{printf("%u Tage, %02u Std, %02u Min\n",int($1/60/60/24),int($1%(60*60*24)/60/60),int(($1%(60*60))/60))}' /proc/uptime
                                      
                                      C Offline
                                      C Offline
                                      chriss2007
                                      wrote on last edited by
                                      #578

                                      @kuddel fehler gefunden und läuft auch jetzt.

                                      1 Reply Last reply
                                      0
                                      • K Kuddel

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

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

                                        CPU

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

                                        RAM

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

                                        Uptime

                                        awk '{printf("%u Tage, %02u Std, %02u Min\n",int($1/60/60/24),int($1%(60*60*24)/60/60),int(($1%(60*60))/60))}' /proc/uptime
                                        
                                        C Offline
                                        C Offline
                                        chriss2007
                                        wrote on last edited by
                                        #579

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

                                        K 1 Reply Last reply
                                        0
                                        • C chriss2007

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

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

                                          @chriss2007

                                          // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                          
                                          schedule('*/10 * * * * *', function (obj) {
                                          //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                             createState('0_userdata.0.adapter_infos.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                             createState('0_userdata.0.adapter_infos.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                             //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                             
                                             //Variablen zurücksetzen
                                             var counter =0;
                                             var on = 0
                                             var manuell=0	
                                          
                                             var cacheSelector = $('[id=system.adapter.*.alive]');    
                                             cacheSelector.each(function(id, i) { 
                                          
                                                 //Instanzen ausklammer
                                                 var check1 = id.indexOf('system.adapter.coronavirus-statistics.0.alive');
                                             	var check2 = id.indexOf('system.adapter.daswetter.0.alive');
                                             	var check3 = id.indexOf('system.adapter.dwd.0.alive');
                                             	var check4 = id.indexOf('system.adapter.ical.0.alive');
                                             	var check5 = id.indexOf('system.adapter.ical.1.alive');
                                             	var check6 = id.indexOf('system.adapter.ical.2.alive');
                                             	var check7 = id.indexOf('system.adapter.feiertage.0.alive');
                                             	var check8 = id.indexOf('system.adapter.kodi.0.alive');
                                             	var check9 = id.indexOf('system.adapter.snmp.1.alive');
                                                 var check10 = id.indexOf('system.adapter.synology.1.alive');
                                                 var check11 = id.indexOf('system.adapter.yamaha.0.alive');
                                             	var check12 = id.indexOf('system.adapter.vis.0.alive');
                                          
                                                 var check = check1 + check2 + check3 + check4 + check5 + check6 + check7 + check8 + check9 + check10 + check11 + check12;
                                          
                                                 //Abfrage nur ausführen, wenn Instanz nicht ausgeklammert ist
                                                 if(check == -12){
                                                     var devicename = getObject(id).common.name; 
                                          
                                                     //console.log(devicename);
                                                                
                                             		var devicenameName=devicename;
                                             		var instanzname=getObject(id).common.name;
                                             		var test = devicenameName;
                                             		var devicename_array = devicenameName.split(' ');        
                                             		devicenameName = devicename_array[0];
                                             		counter = counter+1; 
                                             			
                                             		var strStatePath = "system.adapter." + devicenameName + ".alive";
                                             		
                                             		//Uptime
                                             		var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                             		var tage = Math.floor(uptime / (24*3600));
                                             		var stunden = Math.floor((uptime % (24*3600))/3600);
                                             		var minuten = Math.floor((uptime % (3600))/60);
                                             		if (stunden < 10) {stunden = "0"+stunden};
                                             		if (minuten < 10) {minuten = "0"+minuten};				
                                             		if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                             		if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                             		
                                             		//Arbeitsspeicher etc.
                                             		//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                             		//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                             		//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                             		
                                             		//Connection Status
                                             		var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                             		if(connect == false){var con = 0;}
                                             		
                                             		else {                
                                             			var con = 1;
                                             			var strStatePath = devicenameName + ".info.connection";
                                             			if (isState(strStatePath, true)) {
                                             				var connectS = getState(devicenameName + ".info.connection").val;
                                             				if (connectS == false) {
                                             					con = 2;
                                             				}                                                                        
                                             			} 
                                             		}
                                             		if(con==1) {on = on + 1}
                                             		
                                             								
                                             		      
                                             		
                                             		devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".KompletterNameAdapter";
                                             		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                             		setStateDelayed(devicename, devicenameName, 800);
                                             		
                                             		var contentstring = devicenameName;
                                             		var suchstring = /(ical)/g; 
                                             		var suchergebnis = suchstring.test( contentstring );
                                             		
                                             		if (suchergebnis != true) {
                                             			var devicename_array = devicenameName.split('.');        
                                             			devicenameName = devicename_array[0];
                                             		}    
                                          
                                             		if (devicenameName == "daswetter") {
                                             			var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                             		} else if (suchergebnis != false) {
                                             			var devicename_array = devicenameName.split('.');        
                                             			var icalName = devicename_array[0];        
                                             			var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                             		} else {
                                             			var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                             		}
                                             		
                                             		//////////////////////////
                                             		// Icon-Pfad definieren //
                                             		//////////////////////////
                                          
                                             		//Alexa2
                                             		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                             		//FritzDECT
                                             		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                             		//FullyBrowser
                                             		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                             		//HM-Rega
                                             		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                             		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                             		//HomeMatic
                                             		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                             		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                             		//HomeMatic-IP
                                             		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                             		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                                     //Homepilot
                                                     if (instanzname == 'homepilot20.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homepilot.png";}
                                             		//UPNP
                                             		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                             		//Pushover.1
                                             		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                             		//Pushover.2
                                             		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                             		
                                          
                                             		///////////////////////
                                             		//AdapterName anpassen
                                             		////////////////////////
                                          
                                             		//Corona-Statistics
                                             		if (instanzname == 'coronavirus-statistics.0 alive') {devicenameName='Corona'; manuell=1}
                                             		//DasWetter
                                             		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                             		//DWD
                                             		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                             		//Fullybrowser
                                             		if (instanzname == 'fullybrowser.0 alive') {devicenameName='FullyKiosk'; manuell=1}			
                                             		//HM-REGA
                                             		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                             		//HM-RPC.0
                                             		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                             		//HM-RPC.1
                                             		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                                     //Homepilot
                                                     if (instanzname == 'homepilot20.0 alive') {devicenameName='Homepilot'; manuell=1}
                                             		//Linux-Control
                                             		if (instanzname == 'linux-control.0 alive') {devicenameName='Linux-Ctr.'; manuell=1}
                                             		//MiHome-Vacuum -> NoNo
                                             		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                                     //MiHome-Vacuum -> Dusty
                                             		if (instanzname == 'mihome-vacuum.1 alive') {devicenameName='Dusty'; manuell=1}
                                             		//Pushover
                                             		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                             		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                             		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                             		//Simple-API
                                             		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                             		//SNMP.0
                                             		if (instanzname == 'snmp.0 alive') {devicenameName='QNAP-B'; manuell=1}
                                             		//SNMP.1
                                             		if (instanzname == 'snmp.1 alive') {devicenameName='QNAP-Archiv'; manuell=1}
                                                     //SNMP.2
                                             		if (instanzname == 'snmp.2 alive') {devicenameName='Brother'; manuell=1}
                                             		//Spotify
                                             		if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                                     // Synology
                                                     if (instanzname == 'synology.0 alive') {devicenameName='XPEnology'; manuell=1}
                                             		//Tankerkoenig
                                             		if (instanzname == 'tankerkoenig.0 alive') {devicenameName='Tankerk.'; manuell=1}
                                             		//Tashscheduler
                                             		if (instanzname == 'trashschedule.0 alive') {devicenameName='Trashsched.'; manuell=1}
                                             		//TR-064.0
                                             		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                             		//TR-064.1
                                             		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                             		//XPEnology
                                             		if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                                             		
                                             		
                                             		
                                             		//Instanz-Namen setzen
                                             		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                             		//devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                             		devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".NameInstanz";
                                             		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                             		setStateDelayed(devicename, devicenameName, 800);
                                             		//Bild Pfad setzen
                                             		devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".Bild";
                                             		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                             		setStateDelayed(devicename, bild, 800);
                                             		//Uptime setzen
                                             		devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".Uptime";          
                                             		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                             		setStateDelayed(devicename, uptime, 800);
                                             		//MemUsed setzen
                                             		//devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".MemUsed";          
                                             		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                             		//setStateDelayed(devicename, used, 800);
                                             		//MemToal setzen
                                             		//devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".MemTotal";          
                                             		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                             		//setStateDelayed(devicename, total, 800);
                                             		//MemRSS setzen
                                             		//devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".MemRSS";          
                                             		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                             		//setStateDelayed(devicename, rss, 800);
                                             		//Connected setzen
                                             		devicename="0_userdata.0.adapter_infos.Adapter"+counter.toString()+".Connected";          
                                             		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                             		setStateDelayed(devicename, con, 800);
                                             		
                                             		//Wert zurücksetzen
                                             		var manuell=0
                                          
                                                 };
                                             });
                                             
                                             //Adaptet Icon Übersicht
                                             visstatus="0_userdata.0.vis-status.alle_adapter_gestartet";
                                             if(on == counter){setState(visstatus, true);}
                                             //if(on == counter -1){setState(visstatus, true);}
                                             else{setState(visstatus, false);}
                                             
                                             
                                             setStateDelayed('0_userdata.0.adapter_infos.Anzahl', counter, 800);
                                          
                                             function isState(strStatePath, strict) {
                                                 let mSelector;
                                                 if (strict) {
                                                     mSelector = $('state[id=' + strStatePath + '$]');
                                                 } else {
                                                     mSelector = $('state[id=' + strStatePath + ']');
                                                 }
                                                 if (mSelector.length > 0) {
                                                     return true;
                                                 } else {
                                                     return false;
                                                 }
                                             }  
                                          }); 
                                          
                                          on({id:"0_userdata.0.adapter_infos.AdapterNummer", change: 'any'}, function (dpobj) {
                                             if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                                 const instanz = "javascript." + instance;
                                                 var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                                 var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                                 var idAdapter = "system.adapter." + adapter;
                                                 
                                                 var obj = getObject(idAdapter);
                                                 if (dpobj.state.val == false) {
                                                     obj.common.enabled = true;  // Adapter einschalten
                                                 } else if (dpobj.state.val == true) {
                                                     obj.common.enabled = false;  // Adapter ausschalten
                                                 }
                                                 setObject(idAdapter, obj);
                                                 setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                             }
                                          });   
                                          

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          486

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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