Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe - Adapter_Infos Script zeigt Fehler an

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe - Adapter_Infos Script zeigt Fehler an

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Shwowak last edited by Negalein

      adapter_infos Script zeigt fehler an.

      // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
      
      //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
      on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
          createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
          createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
          //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
          var counter =0;
      	var on = 0
      	var manuell=0	
      
          var cacheSelector = $('[id=system.adapter.*.alive]');    
          cacheSelector.each(function(id, i) {        
              var devicename = getObject(id).common.name; 
      		
      		//Instanzen ausklammern
      		instanz0 = devicename.indexOf('daswetter');
      		instanz1 = devicename.indexOf('dwd');
              instanz2 = devicename.indexOf('ical');
      		instanz3 = devicename.indexOf('feiertage');
      		instanz4 = devicename.indexOf('snmp.1');
              //instanz5 = devicename.indexOf('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);        
          }
      });   
      
      javascript.0	2020-09-20 16:48:00.329	warn	(1222) at processTimers (internal/timers.js:492:7)
      javascript.0	2020-09-20 16:48:00.329	warn	(1222) at listOnTimeout (internal/timers.js:549:17)
      javascript.0	2020-09-20 16:48:00.329	warn	(1222) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      javascript.0	2020-09-20 16:48:00.328	warn	(1222) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      javascript.0	2020-09-20 16:48:00.328	warn	(1222) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      javascript.0	2020-09-20 16:48:00.328	warn	(1222) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
      javascript.0	2020-09-20 16:48:00.328	warn	(1222) at Object.<anonymous> (script.js.java.abfragen.abfrage_ioBroker_verisonen:6:7)
      javascript.0	2020-09-20 16:48:00.326	warn	(1222) getState "system.host.ioBroker-MASTER.alive" not found (3)
      javascript.0	2020-09-20 16:48:00.153	warn	(1222) at processTimers (internal/timers.js:492:7)
      javascript.0	2020-09-20 16:48:00.153	warn	(1222) at listOnTimeout (internal/timers.js:549:17)
      javascript.0	2020-09-20 16:48:00.153	warn	(1222) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
      javascript.0	2020-09-20 16:48:00.152	warn	(1222) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
      javascript.0	2020-09-20 16:48:00.152	warn	(1222) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
      javascript.0	2020-09-20 16:48:00.152	warn	(1222) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
      javascript.0	2020-09-20 16:48:00.152	warn	(1222) at Object.adapterStatus (script.js.java.abfragen.adapter_widget:325:9)
      javascript.0	2020-09-20 16:48:00.152	warn	(1222) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1355:20)
      javascript.0	2020-09-20 16:48:00.150	warn	(1222) You are assigning a string to the state "0_userdata.0.vis.AdapterStatus.jsonList" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warnin
      javascript.0	2020-09-20 16:47:52.596	error	(1222) at processImmediate (internal/timers.js:456:21)
      javascript.0	2020-09-20 16:47:52.596	error	(1222) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
      javascript.0	2020-09-20 16:47:52.595	error	(1222) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
      javascript.0	2020-09-20 16:47:52.595	error	(1222) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
      javascript.0	2020-09-20 16:47:52.595	error	(1222) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
      javascript.0	2020-09-20 16:47:52.595	error	(1222) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
      javascript.0	2020-09-20 16:47:52.594	error	(1222) at script.js.java.abfragen.adapter_infos:24:89
      javascript.0	2020-09-20 16:47:52.594	error	(1222) Error in callback: ReferenceError: instanz5 is not defined
      javascript.0	2020-09-20 16:47:37.575	error	(1222) at processImmediate (internal/timers.js:456:21)
      javascript.0	2020-09-20 16:47:37.575	error	(1222) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37)
      javascript.0	2020-09-20 16:47:37.574	error	(1222) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:451:25)
      javascript.0	2020-09-20 16:47:37.574	error	(1222) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1052:38)
      javascript.0	2020-09-20 16:47:37.574	error	(1222) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
      javascript.0	2020-09-20 16:47:37.574	error	(1222) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
      javascript.0	2020-09-20 16:47:37.574	error	(1222) at script.js.java.abfragen.adapter_infos:24:89
      javascript.0	2020-09-20 16:47:37.573	error	(1222) Error in callback: ReferenceError: instanz5 is not defined
      

      Kann jemand helfen ?

      Mod-Edit: in aussagekräftigen Titel geändert

      Thomas Braun paul53 2 Replies Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @Shwowak last edited by

        @Shwowak nodejs sauber installiert?

        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Shwowak last edited by

          @Shwowak sagte:

          Error in callback: ReferenceError: instanz5 is not defined

          Zeile 22 ist auskommentiert.

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

          Support us

          ioBroker
          Community Adapters
          Donate

          994
          Online

          31.8k
          Users

          80.0k
          Topics

          1.3m
          Posts

          3
          3
          222
          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