Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Vorstellung] Meine dritte VIS

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Vorstellung] Meine dritte VIS

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

      @Sky66766
      Hallo ihr zwei

      Danke jetzt kann ich alle Blockly scripte öffnen
      es lag nur an den fehlenden (Adapter: Mail, Pushover)

      eine andere frage habe ich von Wetter Heute
      da ist unter Temperatur fritzdect.0.DECT200_116570099246.temp
      angegen damit kann ich nix anganen ??

      und
      Temp_Min_gemessen javascript.0.temperaturen.heute_min
      Temp_Max_gemessen javascript.0.temperaturen.heute_max

      die beiden javascripten sind unter Objekte vorhanden oder fehlt mir was

      den rest vom daswetter sehen ich

      ich arbeite mich schritt für schritt vor

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

        @Sky66766 das Fritz-Gerät ist eine Außensteckdose von AVM auf meinem Balkon, welche ein integriertes Thermometer hat um die aktuelle Temperatur anzuzeigen.

        Die beiden DPs zeigen jeden Tag die von der Steckdose gemessenen min und Max Temperaturen an.

        dafür müsste es auch ein Skript geben

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

          @Kuddel

          Hi Kuddel

          Habe mir gerade auch ein DECT 200 bestellt da ich auch ein Cam auf dem Balkon habe
          sollte morgen kommen. Habe ja gerade sehr viel zeit darf ja nicht mehr aus dem haus

          😊

          Sky66766 1 Reply Last reply Reply Quote 0
          • Sky66766
            Sky66766 @Sky66766 last edited by Sky66766

            @Sky66766
            kannst du mir sagen warum der coronavirus-statistics.0 adapter
            auf offline steht
            der adapter ist installiert sehe auch kein fehler hmmm

            1 Reply Last reply Reply Quote 0
            • M
              mguenther last edited by

              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 Reply Last reply Reply Quote 0
              • A
                Aachen1305 last edited by

                @Kuddel

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

                Festgestellt bei Haushalt-Geschirrspüler.

                Gruß

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

                  @mguenther

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

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

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

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    mguenther @Kuddel last edited by mguenther

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

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

                      @mguenther die ID ist vom Ping Adapter.

                      Ein einfacher Ping auf einen der Google DNS Server: 8.8.8.8

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sarhidyon last edited by

                        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!

                        Sky66766 1 Reply Last reply Reply Quote 0
                        • Sky66766
                          Sky66766 @Sarhidyon last edited by

                          @Sarhidyon

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

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Sarhidyon @Sky66766 last edited by

                            @Sky66766 Nicht dein Ernst, omg ich bin so doof. 🤦 Und ich installier JS und alles neu und versuch da alles das zu bearbeiten.... 😵 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 Reply Last reply Reply Quote 0
                            • K
                              Kuddel @Sarhidyon last edited by

                              @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 Reply Last reply Reply Quote 0
                              • S
                                Sarhidyon @Kuddel last edited by

                                @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 Reply Last reply Reply Quote 0
                                • K
                                  Kuddel @Sarhidyon last edited by

                                  @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 Reply Last reply Reply Quote 0
                                  • S
                                    Sarhidyon @Kuddel last edited by

                                    @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 Reply Last reply Reply Quote 0
                                    • S
                                      Sarhidyon last edited by

                                      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 Reply Last reply Reply Quote 1
                                      • T
                                        ToniMahoni last edited by

                                        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 Reply Last reply Reply Quote 0
                                        • K
                                          Kuddel @ToniMahoni last edited by

                                          @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 Reply Last reply Reply Quote 0
                                          • T
                                            ToniMahoni @Kuddel last edited by

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            981
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            vis vis projekte
                                            83
                                            640
                                            140176
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo