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.
  • M Offline
    M Offline
    mguenther
    schrieb am zuletzt editiert von
    #143

    Moin Kuddel, nachdem ich mir schon viel aus der V2 herausgezogen habe, bekomme ich die float-Grafik unter deiner Darstellung zum Internet-Status nicht hin. Wie hast du das gemacht, was sind die Einstellungen?

    danke
    Marcus

    K 1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      Aachen1305
      schrieb am zuletzt editiert von
      #144

      @Kuddel

      Hallo Kuddel
      bearbeite bitte dein Skript, dort stehen deine daten drin wie Email.

      Festgestellt bei Haushalt-Geschirrspüler.

      Gruß

      1 Antwort Letzte Antwort
      0
      • M mguenther

        Moin Kuddel, nachdem ich mir schon viel aus der V2 herausgezogen habe, bekomme ich die float-Grafik unter deiner Darstellung zum Internet-Status nicht hin. Wie hast du das gemacht, was sind die Einstellungen?

        danke
        Marcus

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

        @mguenther

        e30491c9-644b-4e97-a95c-9fb1bea86678-grafik.png

        16c8310c-5baa-4869-a097-7c9cc5d0641e-grafik.png

        44f45388-c9e6-4b45-816e-94ddbb5a40e2-grafik.png

        M 1 Antwort Letzte Antwort
        0
        • K Kuddel

          @mguenther

          e30491c9-644b-4e97-a95c-9fb1bea86678-grafik.png

          16c8310c-5baa-4869-a097-7c9cc5d0641e-grafik.png

          44f45388-c9e6-4b45-816e-94ddbb5a40e2-grafik.png

          M Offline
          M Offline
          mguenther
          schrieb am zuletzt editiert von mguenther
          #146

          @Kuddel
          Danke - die ID ist der Ping ins Netz oder auf deinen ioBroker?

          K 1 Antwort Letzte Antwort
          0
          • M mguenther

            @Kuddel
            Danke - die ID ist der Ping ins Netz oder auf deinen ioBroker?

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

            @mguenther die ID ist vom Ping Adapter.

            Ein einfacher Ping auf einen der Google DNS Server: 8.8.8.8

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Sarhidyon
              schrieb am zuletzt editiert von
              #148

              Hallo Kuddel, erstmal Hammer VIS muss ich sagen!!

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

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

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

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

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

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

              Sky66766S 1 Antwort Letzte Antwort
              0
              • S Sarhidyon

                Hallo Kuddel, erstmal Hammer VIS muss ich sagen!!

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

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

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

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

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

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

                Sky66766S Offline
                Sky66766S Offline
                Sky66766
                schrieb am zuletzt editiert von
                #149

                @Sarhidyon

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

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

                S 1 Antwort Letzte Antwort
                0
                • Sky66766S Sky66766

                  @Sarhidyon

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

                  S Offline
                  S Offline
                  Sarhidyon
                  schrieb am zuletzt editiert von
                  #150

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

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

                  K 1 Antwort Letzte Antwort
                  0
                  • S Sarhidyon

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

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

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

                    @Sarhidyon das mit Read-Only habe ich noch nie gesehen.

                    wenn man Skripte importiert, kann man sie eigentlich auch direkt bearbeiten.

                    Poste sonst mal ein paar Screenshots, damit wir dein Problem nachvollziehen können.

                    S 1 Antwort Letzte Antwort
                    0
                    • K Kuddel

                      @Sarhidyon das mit Read-Only habe ich noch nie gesehen.

                      wenn man Skripte importiert, kann man sie eigentlich auch direkt bearbeiten.

                      Poste sonst mal ein paar Screenshots, damit wir dein Problem nachvollziehen können.

                      S Offline
                      S Offline
                      Sarhidyon
                      schrieb am zuletzt editiert von
                      #152

                      @Kuddel Blockly.png

                      Also das mit Blockly "aufklappen" hat geklappt kann es jetzt bearbeiten.

                      Nur wenn ich das Script mir angucke "siehe Scrennshot" dann könnte ich es nicht bearbeiten.
                      Kann ja sein das das normal ist, wäre nur halt schneller in manchen Situationen als in Blockly die Sachen raus zu suchen.

                      K 1 Antwort Letzte Antwort
                      0
                      • S Sarhidyon

                        @Kuddel Blockly.png

                        Also das mit Blockly "aufklappen" hat geklappt kann es jetzt bearbeiten.

                        Nur wenn ich das Script mir angucke "siehe Scrennshot" dann könnte ich es nicht bearbeiten.
                        Kann ja sein das das normal ist, wäre nur halt schneller in manchen Situationen als in Blockly die Sachen raus zu suchen.

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

                        @Sarhidyon da es ein Blockly Skript ist, kann man es auch nur im Blockly-Editor beareiten.

                        Ich denke die Java Ansicht dient nur als Hilfe.

                        S 1 Antwort Letzte Antwort
                        0
                        • K Kuddel

                          @Sarhidyon da es ein Blockly Skript ist, kann man es auch nur im Blockly-Editor beareiten.

                          Ich denke die Java Ansicht dient nur als Hilfe.

                          S Offline
                          S Offline
                          Sarhidyon
                          schrieb am zuletzt editiert von
                          #154

                          @Kuddel Ah okay, das ist ja mal ne Info die ich sonst nicht finden konnte. Das mit dem Aufklappen hat ja jetzt funktioniert, bin schon fleissig alles am Anpassen. :) Find deine VIS Mega! Dank euch. :)

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Sarhidyon
                            schrieb am zuletzt editiert von
                            #155

                            Falls noch jemand neuere Echo Dot Gen 3 PNGs sucht wie ich und nicht fündig wurde, hab hier mal welche erstellt.

                            Amazon_Echo_Dot_3_Sandstone.png Amazon_Echo_Dot_3_Plum.png Amazon_Echo_Dot_3_Gray.png Amazon_Echo_Dot_3_Charcoal.png

                            Noch nicht Fertig die Seite aber wird langsam und die Scripte klappen jetzt auch.

                            Danke Sky66766 und Kuddel!

                            ECHO.PNG

                            H 1 Antwort Letzte Antwort
                            1
                            • T Offline
                              T Offline
                              ToniMahoni
                              schrieb am zuletzt editiert von
                              #156

                              Hallo zusammen,
                              Hallo Kuddel, ich kann nur sagen, Super VIS und Super Arbeit von dir.
                              Ich bin ganz neu hier und Anfänger bei ioBrocker und habe schon einiges von dir gelernt und übernehmen konnte.
                              Nun habe ich ein Problem mit dem Script "adapter_infos". Wenn ich den Script starte, bekomme ich eine Fehlermeldung:
                              "Object "system.adapter.vis.0.alive" does not exist".
                              Unter Objekten existiert das wirklich nicht. Kannst du mir sagen, was ich an dieser Stelle machen soll?
                              Vielen Besten Dank!!!

                              K 1 Antwort Letzte Antwort
                              0
                              • T ToniMahoni

                                Hallo zusammen,
                                Hallo Kuddel, ich kann nur sagen, Super VIS und Super Arbeit von dir.
                                Ich bin ganz neu hier und Anfänger bei ioBrocker und habe schon einiges von dir gelernt und übernehmen konnte.
                                Nun habe ich ein Problem mit dem Script "adapter_infos". Wenn ich den Script starte, bekomme ich eine Fehlermeldung:
                                "Object "system.adapter.vis.0.alive" does not exist".
                                Unter Objekten existiert das wirklich nicht. Kannst du mir sagen, was ich an dieser Stelle machen soll?
                                Vielen Besten Dank!!!

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

                                @ToniMahoni das Problem ist mit dem letzten Update des VIS Adapter entstanden.

                                Ich habe den Adapter von der Überwachung ausgeklammt:

                                // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                    createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                    createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                    //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                    var counter =0;
                                	var on = 0
                                	var manuell=0	
                                
                                    var cacheSelector = $('[id=system.adapter.*.alive]');    
                                    cacheSelector.each(function(id, i) {        
                                        var devicename = getObject(id).common.name; 
                                		
                                		//Instanzen ausklammern
                                		instanz0 = devicename.indexOf('daswetter');
                                		instanz1 = devicename.indexOf('dwd');
                                        instanz2 = devicename.indexOf('ical');
                                		instanz3 = devicename.indexOf('feiertage');
                                		instanz4 = devicename.indexOf('snmp.1');
                                        instanz5 = devicename.indexOf('synology');
                                        instanz6 = devicename.indexOf('vis');
                                		if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 != 0){
                                		
                                			var devicenameName=devicename;
                                			var instanzname=getObject(id).common.name;
                                			var test = devicenameName;
                                			var devicename_array = devicenameName.split(' ');        
                                			devicenameName = devicename_array[0];
                                			counter = counter+1; 
                                				
                                			var strStatePath = "system.adapter." + devicenameName + ".alive";
                                			if (isState(strStatePath, true)) {
                                				var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                				var tage = Math.floor(uptime / (24*3600));
                                				var stunden = Math.floor((uptime % (24*3600))/3600);
                                				var minuten = Math.floor((uptime % (3600))/60);
                                				//var sekunden = Math.floor(uptime % 60);      
                                				if (stunden < 10) {stunden = "0"+stunden};
                                                if (minuten < 10) {minuten = "0"+minuten};				
                                				if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                				if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                				//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                				//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                				//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                				var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                
                                				if(connect == false){var con = 0;}
                                				else {                
                                					var con = 1;
                                					var strStatePath = devicenameName + ".info.connection";
                                					if (isState(strStatePath, true)) {
                                						var connectS = getState(devicenameName + ".info.connection").val;
                                						if (connectS == false) {
                                							con = 2;
                                						}                                                                        
                                					} 
                                				}
                                				if(con==1) {on = on + 1}
                                									  
                                			}       
                                			
                                			devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                			createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                			setStateDelayed(devicename, devicenameName, 800);
                                			
                                			var contentstring = devicenameName;
                                			var suchstring = /(ical)/g; 
                                			var suchergebnis = suchstring.test( contentstring );
                                			
                                			if (suchergebnis != true) {
                                				var devicename_array = devicenameName.split('.');        
                                				devicenameName = devicename_array[0];
                                			}    
                                
                                			if (devicenameName == "daswetter") {
                                				var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                			} else if (suchergebnis != false) {
                                				var devicename_array = devicenameName.split('.');        
                                				var icalName = devicename_array[0];        
                                				var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                			} else {
                                				var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                			}
                                			
                                			//Alexa2
                                			if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                			//FritzDECT
                                			if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                			//FullyBrowser
                                			if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                			//HM-Rega
                                			//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                			if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                			//HomeMatic
                                			//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                			if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                			//HomeMatic-IP
                                			//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                			if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                			//UPNP
                                			if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                            //Pushover.1
                                			if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                            //Pushover.2
                                			if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                			
                                			//AdapterName anpassen
                                			
                                			//DasWetter
                                			if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                			//DWD
                                			if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                			//HM-REGA
                                			if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                			//HM-RPC.0
                                			if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                			//HM-RPC.1
                                			if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                			//MiHome-Vacuum
                                			if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                			//Pushover
                                			if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                			if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                			if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                			//Simple-API
                                			if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                			//SNMP.0
                                			if (instanzname == 'snmp.0 alive') {devicenameName='SNMP.0'; manuell=1}
                                			//SNMP.1
                                			if (instanzname == 'snmp.1 alive') {devicenameName='SNMP.1'; manuell=1}
                                			//TR-064.0
                                			if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                			//TR-064.1
                                			if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                			
                                			
                                			
                                			//Instanz-Namen setzen
                                			if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                            //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                			devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                			createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                			setStateDelayed(devicename, devicenameName, 800);
                                			//Bild Pfad setzen
                                			devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                			createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                			setStateDelayed(devicename, bild, 800);
                                			//Uptime setzen
                                			devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                			createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                			setStateDelayed(devicename, uptime, 800);
                                			//MemUsed setzen
                                			//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                			//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                			//setStateDelayed(devicename, used, 800);
                                			//MemToal setzen
                                			//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                			//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                			//setStateDelayed(devicename, total, 800);
                                			//MemRSS setzen
                                			//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                			//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                			//setStateDelayed(devicename, rss, 800);
                                			//Connected setzen
                                			devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                			createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                			setStateDelayed(devicename, con, 800);
                                			
                                            //Wert zurücksetzen
                                            var manuell=0
                                		}
                                    });
                                    
                                	//Adaptet Icon Übersicht
                                    visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                    if(on == counter){setState(visstatus, true);}
                                    if(on == counter -1){setState(visstatus, true);}
                                    if(on < counter -1){setState(visstatus, false);}
                                	
                                	
                                    setStateDelayed('Adapter.Anzahl', counter, 800);
                                
                                    function isState(strStatePath, strict) {
                                        let mSelector;
                                        if (strict) {
                                            mSelector = $('state[id=' + strStatePath + '$]');
                                        } else {
                                            mSelector = $('state[id=' + strStatePath + ']');
                                        }
                                        if (mSelector.length > 0) {
                                            return true;
                                        } else {
                                            return false;
                                        }
                                    }  
                                }); 
                                
                                on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                                    if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                        const instanz = "javascript." + instance;
                                        var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                        var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                        var idAdapter = "system.adapter." + adapter;
                                        
                                        var obj = getObject(idAdapter);
                                        if (dpobj.state.val == false) {
                                            obj.common.enabled = true;  // Adapter einschalten
                                        } else if (dpobj.state.val == true) {
                                            obj.common.enabled = false;  // Adapter ausschalten
                                        }
                                        setObject(idAdapter, obj);
                                        setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                    }
                                });   
                                

                                T 1 Antwort Letzte Antwort
                                0
                                • K Kuddel

                                  @ToniMahoni das Problem ist mit dem letzten Update des VIS Adapter entstanden.

                                  Ich habe den Adapter von der Überwachung ausgeklammt:

                                  // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                                  on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                      createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                      createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                      //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                      var counter =0;
                                  	var on = 0
                                  	var manuell=0	
                                  
                                      var cacheSelector = $('[id=system.adapter.*.alive]');    
                                      cacheSelector.each(function(id, i) {        
                                          var devicename = getObject(id).common.name; 
                                  		
                                  		//Instanzen ausklammern
                                  		instanz0 = devicename.indexOf('daswetter');
                                  		instanz1 = devicename.indexOf('dwd');
                                          instanz2 = devicename.indexOf('ical');
                                  		instanz3 = devicename.indexOf('feiertage');
                                  		instanz4 = devicename.indexOf('snmp.1');
                                          instanz5 = devicename.indexOf('synology');
                                          instanz6 = devicename.indexOf('vis');
                                  		if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 != 0){
                                  		
                                  			var devicenameName=devicename;
                                  			var instanzname=getObject(id).common.name;
                                  			var test = devicenameName;
                                  			var devicename_array = devicenameName.split(' ');        
                                  			devicenameName = devicename_array[0];
                                  			counter = counter+1; 
                                  				
                                  			var strStatePath = "system.adapter." + devicenameName + ".alive";
                                  			if (isState(strStatePath, true)) {
                                  				var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                  				var tage = Math.floor(uptime / (24*3600));
                                  				var stunden = Math.floor((uptime % (24*3600))/3600);
                                  				var minuten = Math.floor((uptime % (3600))/60);
                                  				//var sekunden = Math.floor(uptime % 60);      
                                  				if (stunden < 10) {stunden = "0"+stunden};
                                                  if (minuten < 10) {minuten = "0"+minuten};				
                                  				if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                  				if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                  				//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                  				//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                  				//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                  				var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                                  
                                  				if(connect == false){var con = 0;}
                                  				else {                
                                  					var con = 1;
                                  					var strStatePath = devicenameName + ".info.connection";
                                  					if (isState(strStatePath, true)) {
                                  						var connectS = getState(devicenameName + ".info.connection").val;
                                  						if (connectS == false) {
                                  							con = 2;
                                  						}                                                                        
                                  					} 
                                  				}
                                  				if(con==1) {on = on + 1}
                                  									  
                                  			}       
                                  			
                                  			devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                  			createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                  			setStateDelayed(devicename, devicenameName, 800);
                                  			
                                  			var contentstring = devicenameName;
                                  			var suchstring = /(ical)/g; 
                                  			var suchergebnis = suchstring.test( contentstring );
                                  			
                                  			if (suchergebnis != true) {
                                  				var devicename_array = devicenameName.split('.');        
                                  				devicenameName = devicename_array[0];
                                  			}    
                                  
                                  			if (devicenameName == "daswetter") {
                                  				var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                  			} else if (suchergebnis != false) {
                                  				var devicename_array = devicenameName.split('.');        
                                  				var icalName = devicename_array[0];        
                                  				var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                  			} else {
                                  				var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                  			}
                                  			
                                  			//Alexa2
                                  			if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                  			//FritzDECT
                                  			if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                  			//FullyBrowser
                                  			if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                  			//HM-Rega
                                  			//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                  			if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                  			//HomeMatic
                                  			//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                  			if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                  			//HomeMatic-IP
                                  			//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                  			if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                  			//UPNP
                                  			if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                              //Pushover.1
                                  			if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                              //Pushover.2
                                  			if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                  			
                                  			//AdapterName anpassen
                                  			
                                  			//DasWetter
                                  			if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                  			//DWD
                                  			if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                  			//HM-REGA
                                  			if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                  			//HM-RPC.0
                                  			if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                  			//HM-RPC.1
                                  			if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                  			//MiHome-Vacuum
                                  			if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                  			//Pushover
                                  			if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                  			if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                  			if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                  			//Simple-API
                                  			if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                  			//SNMP.0
                                  			if (instanzname == 'snmp.0 alive') {devicenameName='SNMP.0'; manuell=1}
                                  			//SNMP.1
                                  			if (instanzname == 'snmp.1 alive') {devicenameName='SNMP.1'; manuell=1}
                                  			//TR-064.0
                                  			if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                  			//TR-064.1
                                  			if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                  			
                                  			
                                  			
                                  			//Instanz-Namen setzen
                                  			if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                              //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                  			devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                  			createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                  			setStateDelayed(devicename, devicenameName, 800);
                                  			//Bild Pfad setzen
                                  			devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                  			createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                  			setStateDelayed(devicename, bild, 800);
                                  			//Uptime setzen
                                  			devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                  			createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                  			setStateDelayed(devicename, uptime, 800);
                                  			//MemUsed setzen
                                  			//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                  			//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                  			//setStateDelayed(devicename, used, 800);
                                  			//MemToal setzen
                                  			//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                  			//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                  			//setStateDelayed(devicename, total, 800);
                                  			//MemRSS setzen
                                  			//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                  			//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                  			//setStateDelayed(devicename, rss, 800);
                                  			//Connected setzen
                                  			devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                  			createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                  			setStateDelayed(devicename, con, 800);
                                  			
                                              //Wert zurücksetzen
                                              var manuell=0
                                  		}
                                      });
                                      
                                  	//Adaptet Icon Übersicht
                                      visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                      if(on == counter){setState(visstatus, true);}
                                      if(on == counter -1){setState(visstatus, true);}
                                      if(on < counter -1){setState(visstatus, false);}
                                  	
                                  	
                                      setStateDelayed('Adapter.Anzahl', counter, 800);
                                  
                                      function isState(strStatePath, strict) {
                                          let mSelector;
                                          if (strict) {
                                              mSelector = $('state[id=' + strStatePath + '$]');
                                          } else {
                                              mSelector = $('state[id=' + strStatePath + ']');
                                          }
                                          if (mSelector.length > 0) {
                                              return true;
                                          } else {
                                              return false;
                                          }
                                      }  
                                  }); 
                                  
                                  on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                                      if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                          const instanz = "javascript." + instance;
                                          var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                          var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                          var idAdapter = "system.adapter." + adapter;
                                          
                                          var obj = getObject(idAdapter);
                                          if (dpobj.state.val == false) {
                                              obj.common.enabled = true;  // Adapter einschalten
                                          } else if (dpobj.state.val == true) {
                                              obj.common.enabled = false;  // Adapter ausschalten
                                          }
                                          setObject(idAdapter, obj);
                                          setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                      }
                                  });   
                                  

                                  T Offline
                                  T Offline
                                  ToniMahoni
                                  schrieb am zuletzt editiert von
                                  #158

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

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • T ToniMahoni

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

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

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

                                    T 1 Antwort Letzte Antwort
                                    0
                                    • K Kuddel

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

                                      T Offline
                                      T Offline
                                      ToniMahoni
                                      schrieb am zuletzt editiert von
                                      #160

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • M Offline
                                        M Offline
                                        markus-now
                                        schrieb am zuletzt editiert von
                                        #161

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

                                        GlasfaserG 1 Antwort Letzte Antwort
                                        0
                                        • G Offline
                                          G Offline
                                          gerog-feldmann.de
                                          schrieb am zuletzt editiert von
                                          #162

                                          Hallo Kuddel,
                                          das ist ganz toll geworden. Ich wollte mit den Teil mit dem Radio Player für die Echos übernehmen. Leider funktioniert das bei mir nicht. Ich habe dein Player widget importiert und auf meinen echo angepasst. leider kann fängt der Player nicht an zu spielen und ich kann die Lautstärke etc nicht anpassen. Da ich Anfänger bin, habe ich noch nicht ganz durchblickt, ob das nur mit einem JS geht. Ich meinte nein. Liegt hier der Fehler? Hast Du evtl. eine Anleitung zur Installation? Ich wäre Dir mehr als sehr verbunden. Danke :-)

                                          K 1 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

                                          268

                                          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