Skriptspeicher als Speicher für permanente Speicherung von Werten 'missbrauchen'.
Vorteil: Es steht ein großer Speicher für permanente Speicherung zur Verfügung.
Beispiel: Zufallswerte werden strukturiert in einem Skript namens values gespeichert.
Code
let s_name = "values";
let s_id;
function rand (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function start() {
val = JSON.stringify(rand(15,25));
ts = Shelly.getComponentStatus("sys").unixtime;
dat = {"time":ts,"temp":val}
Shelly.call("Script.PutCode", {"id":s_id,code:dat,append:true});
Shelly.call("Script.PutCode", {"id":s_id,code:"\n",append:true});
}
function get_script_id(){
Shelly.call("Script.List","",
function(result, error_code, error_message){
let a = result["scripts"];
for (let i=0; i<a.length; i++) {
if (a[i]["name"] === s_name) {
s_id = a[i]["id"];
//print(s_id);
Timer.set(1000,true,start);
break;
}
}
}
);
};
Shelly.call("Script.Create", {"name":s_name});
get_script_id();
Alles anzeigen