/* @liv_in_sky 6.5.21 NEUE LAUTSPRECHER EINBINDEN: -im main-js-script - Zeile 5 -im Table script zeile 365 - Select angleichen - die widgets in de vis angleichen */ var parser = require('xml2json'); let ergebnisJson=[]; let shortcutData=[]; let myServData=["KÜCHE","BAD","WOHNZIMMER"] let first=` //192.168.101.20/music/Alben//192.168.101.20/music/Best of //192.168.101.20/music/Sampler//192.168.101.20/music/X-Mas ` //let test= parseString(body, { explicitArray: false, mergeAttrs: true }) function fuelleWerte(xml) { //var json = parser.toJson(body); ergebnisJson=[] let counter=0 //console.log("to json -> %s", json); //log(typeof json +" "+parser.toJson(body)); let myObject=(parser.toJson(xml)) //myObject=(parser.toJson(ordner)) // myObject=(parser.toJson(first)) //let myArr=parser.toJson(mixed).songs.song //log(JSON.stringify(myObject)) if(JSON.parse(myObject).folders.hasOwnProperty("songs")) {//log("-yes-mp3-") let myObj2=JSON.parse(myObject).folders.songs //log(JSON.stringify(myObj2)) //log(Array.isArray(myObj2).toString()) if(Array.isArray(myObj2.song)) { for(let i=0;i=1) { let werteliste="0;";let wertelisteName="return;"; let valueListObjDp=''; let valueListe={};valueListe[0]="return"; let jsonData=[] for(let a=0;a=0){ //wenn nicht return let val2= getObject("0_userdata.0.Rookie.holdData").common.states[getState("0_userdata.0.Rookie.holdData").val]; let lastKonvert=ergebnisJson[value1].value //log("KKKKKKKKKKKKKKKKKKKKKK " + lastKonvert ) lastKonvert=encodeURI(lastKonvert) lastKonvert=lastKonvert.replace(/\+/g,"%2B") lastKonvert=lastKonvert.replace(/ /g,"%20") lastKonvert=lastKonvert.replace(/\&/g,`%26`) lastKonvert=lastKonvert.replace(/\,/g,`%2C`) // lastKonvert=encodeURI(lastKonvert) lastPath.push(lastKonvert) // setState("0_userdata.0.Rookie.SHORTCUT.woSindWir",decodeURI(lastPath[lastPath.length-1])) // lastPath=lastPath+ergebnisJson[value1].value // log( getObject("0_userdata.0.Rookie.holdData").common.states[getState("0_userdata.0.Rookie.holdData").val]) //log("GGGGGGGG "+lastPath.toString()) //log(ergebnisJson[value1].value,"warn") // setState("0_userdata.0.Rookie.braucheNeueDatenNeu",ergebnisJson[value1].value) if(lastPath.length==1) setState("0_userdata.0.Rookie.braucheNeueDatenNeu",lastPath[0]) if(lastPath.length>1) { let lastPathHelper=lastPath[0] for (let i=1;i1) { let lastPathHelper=lastPath[0] for (let i=1;i { if(shorty.includes(".mp3")) {return "MP3"} else return "ORD" } if(shorty.includes(".mp3")) {myArt= "MP3"} else {myArt="FOLDER" } if(shorty.includes(".wav")) {myArt= "WAV"} if(shorty.includes(".FLAC")) {myArt= "FLAC"} myArt= myServData[getState("0_userdata.0.Rookie.dieIP").val] //getObject("0_userdata.0.Rookie.dieIP").common.states[getState("0_userdata.0.Rookie.dieIP").val]; log(myArt) shortcutData.push({ "nummer": shortcutData.length, "anzeige": shorty.replace(/_/g," "),// decodeURI(getState("0_userdata.0.Rookie.braucheNeueDatenNeu").val), "value" : getState("0_userdata.0.Rookie.LOG.URL").val, "art": myArt, "file" : "🤍"}) setState("0_userdata.0.Rookie.SHORTCUT.Data",JSON.stringify(shortcutData)) ; setTimeout(function () { setState("0_userdata.0.Rookie.SHORTCUT.now",false) ; setState("0_userdata.0.Rookie.refreshAnzeige",true) }, 1500); }); // script Start setTimeout(function () { //setState("0_userdata.0.Rookie.holdData",0); //lastPath=[] // fuelleWerte(getState("0_userdata.0.Rookie.startXML").val) setState("0_userdata.0.Rookie.refreshAnzeige",true) ; }, 1500); setState("0_userdata.0.Rookie.setData",false)