/* @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)