| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277 |
- function readconfig_Version(){
- return "1.0.0 - 20200910";
- }
- var config_gesamt;
- var config_split;
- var param;
- var category;
- var ref = new Array(2);
- function ParseConfig() {
- config_split = config_gesamt.split("\n");
- var aktline = 0;
- param = new Object();
- category = new Object();
- var catname = "MakeImage";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "LogImageLocation");
- ParamAddValue(param, catname, "WaitBeforeTakingPicture");
- ParamAddValue(param, catname, "LogfileRetentionInDays");
- ParamAddValue(param, catname, "Brightness");
- ParamAddValue(param, catname, "Contrast");
- ParamAddValue(param, catname, "Saturation");
- ParamAddValue(param, catname, "ImageQuality");
- ParamAddValue(param, catname, "ImageSize");
- ParamAddValue(param, catname, "FixedExposure");
- var catname = "Alignment";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "InitialRotate");
- ParamAddValue(param, catname, "InitialMirror");
- ParamAddValue(param, catname, "SearchFieldX");
- ParamAddValue(param, catname, "SearchFieldY");
- ParamAddValue(param, catname, "AlignmentAlgo");
- var catname = "Digits";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "Model");
- ParamAddValue(param, catname, "LogImageLocation");
- ParamAddValue(param, catname, "LogfileRetentionInDays");
- ParamAddValue(param, catname, "ModelInputSize", 2);
- var catname = "Analog";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "Model");
- ParamAddValue(param, catname, "LogImageLocation");
- ParamAddValue(param, catname, "LogfileRetentionInDays");
- ParamAddValue(param, catname, "ModelInputSize", 2);
- ParamAddValue(param, catname, "ExtendedResolution");
- var catname = "PostProcessing";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "DecimalShift");
- ParamAddValue(param, catname, "PreValueUse");
- ParamAddValue(param, catname, "PreValueAgeStartup");
- ParamAddValue(param, catname, "AllowNegativeRates");
- ParamAddValue(param, catname, "MaxRateValue");
- ParamAddValue(param, catname, "ErrorMessage");
- ParamAddValue(param, catname, "CheckDigitIncreaseConsistency");
- var catname = "MQTT";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "Uri");
- ParamAddValue(param, catname, "Topic");
- ParamAddValue(param, catname, "TopicError");
- ParamAddValue(param, catname, "ClientID");
- ParamAddValue(param, catname, "user");
- ParamAddValue(param, catname, "password");
- var catname = "AutoTimer";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "AutoStart");
- ParamAddValue(param, catname, "Intervall");
- var catname = "Debug";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "Logfile");
- ParamAddValue(param, catname, "LogfileRetentionInDays");
- var catname = "System";
- category[catname] = new Object();
- category[catname]["enabled"] = false;
- category[catname]["found"] = false;
- param[catname] = new Object();
- ParamAddValue(param, catname, "TimeZone");
- ParamAddValue(param, catname, "TimeServer");
- ParamAddValue(param, catname, "AutoAdjustSummertime");
- ParamAddValue(param, catname, "Hostname");
- ParamAddValue(param, catname, "SetupMode");
- while (aktline < config_split.length){
- for (var cat in category) {
- zw = cat.toUpperCase();
- zw1 = "[" + zw + "]";
- zw2 = ";[" + zw + "]";
- if ((config_split[aktline].trim().toUpperCase() == zw1) || (config_split[aktline].trim().toUpperCase() == zw2)) {
- if (config_split[aktline].trim().toUpperCase() == zw1) {
- category[cat]["enabled"] = true;
- }
- category[cat]["found"] = true;
- category[cat]["line"] = aktline;
- aktline = ParseConfigParamAll(aktline, cat);
- continue;
- }
- }
- aktline++;
- }
- }
- function ParamAddValue(param, _cat, _param, _anzParam = 1){
- param[_cat][_param] = new Object();
- param[_cat][_param]["found"] = false;
- param[_cat][_param]["enabled"] = false;
- param[_cat][_param]["line"] = -1;
- param[_cat][_param]["anzParam"] = _anzParam;
- };
- function ParseConfigParamAll(_aktline, _catname){
- ++_aktline;
- while ((_aktline < config_split.length)
- && !(config_split[_aktline][0] == "[")
- && !((config_split[_aktline][0] == ";") && (config_split[_aktline][1] == "["))) {
- var _input = config_split[_aktline];
- let [isCom, input] = isCommented(_input);
- var linesplit = ZerlegeZeile(input);
- ParamExtractValueAll(param, linesplit, _catname, _aktline, isCom);
- ++_aktline;
- }
- return _aktline;
- }
- function ParamExtractValue(_param, _linesplit, _catname, _paramname, _aktline, _iscom, _anzvalue = 1){
- if ((_linesplit[0].toUpperCase() == _paramname.toUpperCase()) && (_linesplit.length > _anzvalue))
- {
- _param[_catname][_paramname]["found"] = true;
- _param[_catname][_paramname]["enabled"] = !_iscom;
- _param[_catname][_paramname]["line"] = _aktline;
- _param[_catname][_paramname]["anzpara"] = _anzvalue;
- for (var j = 1; j <= _anzvalue; ++j) {
- _param[_catname][_paramname]["value"+j] = _linesplit[j];
- }
- }
- }
- function ParamExtractValueAll(_param, _linesplit, _catname, _aktline, _iscom){
- for (var paramname in _param[_catname]) {
- if ((_linesplit[0].toUpperCase() == paramname.toUpperCase()) && (_linesplit.length > _param[_catname][paramname]["anzParam"]))
- {
- _param[_catname][paramname]["found"] = true;
- _param[_catname][paramname]["enabled"] = !_iscom;
- _param[_catname][paramname]["line"] = _aktline;
- for (var j = 1; j <= _param[_catname][paramname]["anzParam"]; ++j) {
- _param[_catname][paramname]["value"+j] = _linesplit[j];
- }
- }
- }
- }
- function getConfigParameters() {
- return param;
- }
- function setConfigParameters(_param, _category = "") {
- for (var cat in _param) {
- for (var name in _param[cat]) {
- param[cat][name]["found"] = _param[cat][name]["found"];
- param[cat][name]["enabled"] = _param[cat][name]["enabled"];
- param[cat][name]["line"] = _param[cat][name]["line"];
- param[cat][name]["anzParam"] = _param[cat][name]["anzParam"];
- for (var j = 1; j <= _param[cat][name]["anzParam"]; ++j) {
- param[cat][name]["value"+j] = _param[cat][name]["value"+j];
- }
- if (param[cat][name]["found"]) {
- var text = name + " ="
-
- for (var j = 1; j <= _param[cat][name]["anzParam"]; ++j) {
- text = text + " " + param[cat][name]["value"+j];
- }
- if (!param[cat][name]["enabled"]) {
- text = ";" + text;
- }
- config_split[param[cat][name]["line"]] = text;
- }
- }
- }
- for (var cat in _category) {
- if (category[cat]["found"])
- {
- category[cat]["enabled"] = _category[cat]["enabled"];
- text = "[" + cat + "]";
- if (!category[cat]["enabled"]) {
- text = ";" + text;
- }
- config_split[category[cat]["line"]] = text;
- }
- }
-
- config_gesamt = config_split[0];
- for (var i = 1; i < config_split.length; ++i){
- config_gesamt = config_gesamt + "\n" + config_split[i];
- }
- return config_gesamt;
- }
- function isCommented(input)
- {
- let isComment = false;
- if (input.charAt(0) == ';') {
- isComment = true;
- input = input.substr(1, input.length-1);
- };
- return [isComment, input];
- }
- function SaveConfigToServer(_basepath){
- // leere Zeilen am Ende löschen
- var zw = config_split.length - 1;
- while (config_split[zw] == "") {
- config_split.pop();
- }
- var config_gesamt = "";
- for (var i = 0; i < config_split.length; ++i)
- {
- config_gesamt = config_gesamt + config_split[i] + "\n";
- }
- FileDeleteOnServer("/config/config.ini", _basepath);
- FileSendContent(config_gesamt, "/config/config.ini", _basepath);
- }
-
- function getConfig() {
- return config_gesamt;
- }
- function getConfigCategory() {
- return category;
- }
-
|