Sorry dass ich hier nicht mehr weiter geantwortet habe, hatte das Thema nicht mehr richtig auf dem Schirm.
Ich poste mein Script mal, aber ich sage gleich mal dazu, ich bin nicht der große Scripter. Ist mehr so etwas zusammengewürfelt und rumprobiert.
Es zeigt das an was ich wollte und mehr habe ich da auch nicht mehr gemacht. Da ist definitv noch einiges mehr rauszuholen und bestimmt noch vieles zu verbessern. Vllt kann sogar jemand einen Adapter draus machen.
Es müssen 2 URL's im Parser Adapter eingetragen werden, für die Statelist und Printerlist mit eurem API-Key:
Das Script ist für meine 2 Drucker, einmal den AM8 und einmal den NoName.
Die ganzen Bezeichnungen sind auch noch nicht wirklich "sauber", wenn ich Zeit habe werde ich mich da nochmal ran setzen.
536_repetier_li.jpg
http://192.168.XXX.XXX:3344/printer/api … XXXXXXXXXX
http://192.168.XXX.XXX:3344/printer/api ... XXXXXXXXXX
var idJson = "parser.0.drucker";
var idJson2 = "parser.0.druckerlist";
var am8tempakt = "javascript.0.3dDrucker.AM8.Extruder.TempAkt"/*javascript.0.3dDrucker.AM8.Extruder.TempAkt*/;
var am8tempset = "javascript.0.3dDrucker.AM8.Extruder.TempSet";
var am8tempbettakt = "javascript.0.3dDrucker.AM8.Bett.TempAkt";
var am8tempbettset = "javascript.0.3dDrucker.AM8.Bett.TempSet";
var nntempakt = "javascript.0.3dDrucker.NoName.Extruder.TempAkt";
var nntempset = "javascript.0.3dDrucker.NoName.Extruder.TempSet";
var nntempbettakt = "javascript.0.3dDrucker.NoName.Bett.TempAkt";
var nntempbettset = "javascript.0.3dDrucker.NoName.Bett.TempSet";
var nnjob = "javascript.0.3dDrucker.NoName.Druckteil";
var nnprinttime = "javascript.0.3dDrucker.NoName.Druckzeit";
var nnprinttimecomp ="javascript.0.3dDrucker.NoName.Restzeit";
var nndone ="javascript.0.3dDrucker.NoName.Prozent";
var am8job = "javascript.0.3dDrucker.AM8.Druckteil";
var am8printtime = "javascript.0.3dDrucker.AM8.Druckzeit";
var am8printtimecomp ="javascript.0.3dDrucker.AM8.Restzeit";
var am8done ="javascript.0.3dDrucker.AM8.Prozent";
createState(am8tempakt, {name: "T1", unit: "°C"});
createState(am8tempset, {name: "T2", unit: "°C"});
createState(am8tempbettakt, {name: "T3", unit: "°C"});
createState(am8tempbettset, {name: "T4", unit: "°C"});
createState(nntempakt, {name: "T5", unit: "°C"});
createState(nntempset, {name: "T6", unit: "°C"});
createState(nntempbettakt, {name: "T7", unit: "°C"});
createState(nntempbettset, {name: "T8", unit: "°C"});
createState(nnjob, {name: "J"});
createState(nnprinttime, {name: "T9"});
createState(nnprinttimecomp, {name: "T10"});
createState(nndone,{name: "Done"});
createState(am8job, {name: "J1"});
createState(am8printtime, {name: "T11"});
createState(am8printtimecomp, {name: "T12"});
createState(am8done,{name: "Done1"});
function werteAuslesen(jsonStr) {
var myJson = JSON.parse(jsonStr);
var T1 = myJson.AM8.extruder[0].tempRead;
var T2 = myJson.AM8.extruder[0].tempSet;
var T3 = myJson.AM8.heatedBeds[0].tempRead;
var T4 = myJson.AM8.heatedBeds[0].tempSet;
var T5 = myJson.NoName.extruder[0].tempRead;
var T6 = myJson.NoName.extruder[0].tempSet;
var T7 = myJson.NoName.heatedBeds[0].tempRead;
var T8 = myJson.NoName.heatedBeds[0].tempSet;
setState(am8tempakt, T1.toFixed(2));
setState(am8tempset, T2.toFixed(2));
setState(am8tempbettakt, T3.toFixed(2));
setState(am8tempbettset, T4.toFixed(2));
setState(nntempakt, T5.toFixed(2));
setState(nntempset, T6.toFixed(2));
setState(nntempbettakt, T7.toFixed(2));
setState(nntempbettset, T8.toFixed(2));
}
function werteAuslesen2(jsonStr) {
var myJson2 = JSON.parse(jsonStr);
var J1 = myJson2[0].job;
var T11 = Math.round (1 * myJson2[0].printTime /60); // Gesamtzeit AM8
var T12 = Math.round (1 * myJson2[0].printedTimeComp /60) ; // Gedruckte Zeit AM8
var T13 = (T11-T12); // Restzeit AM8
var Done1 = myJson2[0].done;
var J = myJson2[1].job;
var T9 = Math.round (1 * myJson2[1].printTime /60) ; // Gesamtzeit NN
var T10 = Math.round (1 * myJson2[1].printedTimeComp /60) ; // Gedruckte Zeit NN
var T14 = (T9-T10); // Restzeit NN
var Done = myJson2[1].done;
setState(nnjob, J);
setState(nnprinttime, T9 + " min");
setState(nnprinttimecomp, T14 + " min");
if (getState("javascript.0.3dDrucker.NoName.Druckteil"/*J*/).val != "none"){
setState(nndone, Done.toFixed(2) + " %");
}
setState(am8job, J1);
setState(am8printtime, T11 + " min");
setState(am8printtimecomp, T13 + " min");
if (getState("javascript.0.3dDrucker.AM8.Druckteil"/*J1*/).val != "none"){
setState(am8done, Done1.toFixed(2) + " %");
}
}
on({id:idJson,change:'ne'}, function (obj) {
werteAuslesen(obj.state.val);
});
on({id:idJson2,change:'ne'}, function (obj) {
werteAuslesen2(obj.state.val);
});