var tag, weckzeiten; // States für den Editor erstellen var pfad= "Garten.Rasenmäher.Editor."; var jpfad= "javascript.0."+ pfad; createState(pfad + "Cut2_Stunde"); createState(pfad + "Cut2_Minute"); createState(pfad + "Cut2_Aktiv"); createState(pfad + "Cut2_Dauer"); createState(pfad + "Cut1_Minute"); createState(pfad + "Cut1_Stunde"); createState(pfad + "Cut1_Aktiv"); createState(pfad + "Cut1_Dauer"); createState(pfad + "BorderCut"); createState(pfad + "Active"); on({id: jpfad + "Tag"/*Tag*/, change: "ne"}, function (obj) { // auf Pulldownmenü den jeweiligen Tag auslesen tag = getState(jpfad+ "Tag").val; maehzeiten = JSON.parse(getState(jpfad + "Maehzeiten").val); //einlesen der Weckzeiten aus State setState(jpfad + "Cut1_Stunde", maehzeiten[tag].Cut1.stunde); setState(jpfad + "Cut1_Minute", maehzeiten[tag].Cut1.minute); setState(jpfad + "Cut1_Aktiv", maehzeiten[tag].Cut1.wecken); setState(jpfad + "Cut1_Dauer", maehzeiten[tag].Cut1.dauer); setState(jpfad + "Cut2_Stunde", maehzeiten[tag].Cut2.stunde); setState(jpfad + "Cut2_Minute", maehzeiten[tag].Cut2.minute); setState(jpfad + "Cut2_Aktiv", maehzeiten[tag].Cut2.wecken); setState(jpfad + "Cut2_Dauer", maehzeiten[tag].Cut2.dauer); setState(jpfad + "Active", maehzeiten[tag].Optionen.Active); setState(jpfad + "BorderCut", maehzeiten[tag].Optionen.BorderCut); }); on(/^javascript.0.Garten.Rasenmäher.Editor.Cut2_Dauer|javascript.0.Garten.Rasenmäher.Editor.BorderCut|javascript.0.Garten.Rasenmäher.Editor.Cut1_Dauer|javascript.0.Garten.Rasenmäher.Editor.Active|javascript.0.Garten.Rasenmäher.Editor.Cut1_Stunde|javascript.0.Garten.Rasenmäher.Editor.Cut1_Minute|javascript.0.Garten.Rasenmäher.Editor.Cut1_Aktiv|javascript.0.Garten.Rasenmäher.Editor.Cut2_Stunde|javascript.0.Garten.Rasenmäher.Editor.Cut2_Minute|javascript.0.Garten.Rasenmäher.Editor.Cut2_Aktiv/, function (obj) { tag = getState(jpfad + "Tag").val; console.log(tag); maehzeiten = JSON.parse(getState(jpfad + "Maehzeiten").val); //einlesen der Weckzeiten aus State maehzeiten[tag].Cut1.stunde = getState(jpfad + "Cut1_Stunde").val; maehzeiten[tag].Cut1.minute = getState(jpfad + "Cut1_Minute").val; maehzeiten[tag].Cut1.wecken = getState(jpfad + "Cut1_Aktiv").val; maehzeiten[tag].Cut1.dauer = getState(jpfad + "Cut1_Dauer").val; maehzeiten[tag].Cut2.stunde = (getState(jpfad + "Cut2_Stunde").val); maehzeiten[tag].Cut2.minute = (getState(jpfad + "Cut2_Minute").val); maehzeiten[tag].Cut2.wecken = getState(jpfad + "Cut2_Aktiv").val; maehzeiten[tag].Cut2.dauer = getState(jpfad + "Cut2_Dauer").val; maehzeiten[tag].Optionen.BorderCut = getState(jpfad + "BorderCut").val; maehzeiten[tag].Optionen.Active = getState(jpfad + "Active").val; setState(jpfad + "Maehzeiten", JSON.stringify(maehzeiten)); // rückschreiben in State }); // +++++++++++++++++++++ initiales Schreiben des Objekts im State nur beim ersten Start ++++++++++++++++++ createState(pfad+ "Maehzeiten"); if (getState(pfad + "Maehzeiten").val === null ||getState(pfad + "Maehzeiten").val === "") { maehzeiten = { "0": /*Sonntag*/ {"Cut1": {"wecken":false, "nachricht":0, "dauer":120, "stunde":"9", "minute":"30"}, "Cut2": {"wecken":false, "nachricht":"", "dauer":120, "stunde":"9", "minute":"30"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}}, "1": {"Cut1": {"wecken":true, "nachricht":1, "dauer":120, "stunde":"6", "minute":"25"}, "Cut2": {"wecken":true, "nachricht":"", "dauer":120, "stunde":"6", "minute":"25"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}}, "2": {"Cut1": {"wecken":true, "dauer":120, "nachricht":1, "stunde":"6", "minute":"25"}, "Cut2": {"wecken":true, "nachricht":"", "dauer":120, "stunde":"6", "minute":"25"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}}, "3": {"Cut1": {"wecken":true, "nachricht":0, "dauer":120, "stunde":"6", "minute":"30"}, "Cut2": {"wecken":true, "nachricht":"", "dauer":120, "stunde":"6", "minute":"30"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}}, "4": {"Cut1": {"wecken":true, "nachricht":0, "dauer":120, "stunde":"6", "minute":"30"}, "Cut2": {"wecken":true, "nachricht":"", "dauer":120, "stunde":"6", "minute":"30"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}}, "5": {"Cut1": {"wecken":false, "nachricht":2, "dauer":120, "stunde":"9", "minute":"30"}, "Cut2": {"wecken":false, "nachricht":"", "dauer":120, "stunde":"9", "minute":"30"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}}, "6": /*Montag*/ {"Cut1": {"wecken":true, "nachricht":2, "dauer":120, "stunde":"6", "minute":"30"}, "Cut2": {"wecken":true, "nachricht":"", "dauer":120, "stunde":"6", "minute":"30"}, "Optionen": {"Active":true, "BorderCut":true, "Option1":"", "Option2":"", "Option3":""}} }; setState( jpfad + "Maehzeiten", JSON.stringify(maehzeiten)); //rückschreiben der Weckzeiten in State }