NEWS
Probleme mit Script nach js-controller Update [gelöst]
-
Hallo,
nach dem Update von JS-Controller habe ich bei dem Script Adapter-infos folgedes Problem:
Im Log-File kommt 4 mal folgende Zeile:
javascript.0 2020-05-30 14:59:25.403 error (920) script.js.Allgemein.adapter_infos: setForeignState: undefined is not a valid state value javascript.0 2020-05-30 14:59:25.403 error (920) script.js.Allgemein.adapter_infos: setForeignState: undefined is not a valid state value javascript.0 2020-05-30 14:59:25.399 error (920) script.js.Allgemein.adapter_infos: setForeignState: undefined is not a valid state value javascript.0 2020-05-30 14:59:25.398 error (920) script.js.Allgemein.adapter_infos: setForeignState: undefined is not a valid state valueKann mir da jemand weiter helfen?
Hier das Script
// 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'); 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";} //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} //Pushover if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; 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} //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); } }); ```
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden