diff --git a/IOB-UT-NEXT/Config/Base/CmdUriDto.cs b/IOB-UT-NEXT/Config/Base/CmdUriDto.cs index 2184ca6b..86b18166 100644 --- a/IOB-UT-NEXT/Config/Base/CmdUriDto.cs +++ b/IOB-UT-NEXT/Config/Base/CmdUriDto.cs @@ -58,11 +58,11 @@ namespace IOB_UT_NEXT.Config.Base { CurrSetup = new Dictionary(); CurrSetup.Add("alive", "IOB"); - CurrSetup.Add("Base", "IOB/input/"); + //CurrSetup.Add("Base", "IOB/input/"); CurrSetup.Add("BaseJson", "IOB/evListJson/"); CurrSetup.Add("RawTransfJson", "IOB/rawTransfJson/"); - CurrSetup.Add("Enabled", "IOB/enabled/"); - CurrSetup.Add("Flog", "IOB/flog/"); + //CurrSetup.Add("Enabled", "IOB/enabled/"); + //CurrSetup.Add("Flog", "IOB/flog/"); CurrSetup.Add("FlogJson", "IOB/flogJson/"); //CurrSetup.Add("fixDailyDossier", "IOB/fixDailyDossier/"); //CurrSetup.Add("fixDailyOdl", "IOB/fixDailyOdl/"); @@ -70,8 +70,8 @@ namespace IOB_UT_NEXT.Config.Base //CurrSetup.Add("forceCreatePOdl", "IOB/forceCreatePOdl/"); //CurrSetup.Add("forceSplitOdlFull", "IOB/forceSplitOdlFull/"); //CurrSetup.Add("getPOdlAct", "IOB/getPOdlAct/"); - CurrSetup.Add("IdleTime", "IOB/getIdlePeriod/"); - CurrSetup.Add("OdlStarted", "IOB/getCurrOdlStart/"); + //CurrSetup.Add("IdleTime", "IOB/getIdlePeriod/"); + //CurrSetup.Add("OdlStarted", "IOB/getCurrOdlStart/"); CurrSetup.Add("Reboot", "IOB/sendReboot.aspx?idxMacchina="); //CurrSetup.Add("savePzCountInc", "IOB/savePzCountInc/"); //CurrSetup.Add("savePzCountIncAtDate", "IOB/savePzCountIncAtDate/"); diff --git a/IOB-UT-NEXT/Config/Base/ServerMapoDto.cs b/IOB-UT-NEXT/Config/Base/ServerMapoDto.cs index 5cbab5f6..76877061 100644 --- a/IOB-UT-NEXT/Config/Base/ServerMapoDto.cs +++ b/IOB-UT-NEXT/Config/Base/ServerMapoDto.cs @@ -32,7 +32,7 @@ namespace IOB_UT_NEXT.Config.Base public string ApiUrl(string CmdReq) { // default ad implicito con IOB... - string answ = $"{BaseAppUrl}/IOB/{CmdReq}"; + string answ = $"{BaseAppUrl}IOB/{CmdReq}/"; if (Commands.ContainsKey(CmdReq)) { answ = $"{BaseAppUrl}{Commands[CmdReq]}"; diff --git a/IOB-WIN-FORM/Iob/Generic.cs b/IOB-WIN-FORM/Iob/Generic.cs index e4d94330..13125968 100644 --- a/IOB-WIN-FORM/Iob/Generic.cs +++ b/IOB-WIN-FORM/Iob/Generic.cs @@ -1,6 +1,7 @@ using IOB_UT_NEXT; using IOB_UT_NEXT.Config; using MapoSDK; +using MathNet.Numerics; using MathNet.Numerics.Statistics; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -625,19 +626,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetCurrOdlRow { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getCurrOdlRow/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetCurrOdlRow"); - } - return answ; - } + get => $@"{urlCommandIob("getCurrOdlRow")}"; } /// @@ -646,19 +635,7 @@ namespace IOB_WIN_FORM.Iob [Obsolete("Metodo obsoleto (dubbia interpretazione): sostituire con urlGetNextPODL se si vogliono PROSSIMI POdl attivabili (significato originale) o con urlGetActPODL x il POdl attualmente in produzione (per casi come Rama OPC-UA Siemens)")] public string urlGetCurrPODL { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getCurrPODL/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetCurrPODL"); - } - return answ; - } + get => $@"{urlCommandIob("getCurrPODL")}"; } /// @@ -666,19 +643,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetListValFasiPodl { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getListValByTable/PODL"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetListValFasiPodl"); - } - return answ; - } + get => $@"{urlCommand("getListValByTable")}PODL"; } /// @@ -686,19 +651,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetNextPODL { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getPOdlNext/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetNextPODL"); - } - return answ; - } + get => $@"{urlCommandIob("getPOdlNext")}"; } /// @@ -706,19 +659,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetNumArt { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getArtNum/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetNumArt"); - } - return answ; - } + get => $@"{urlCommandIob("getArtNum")}"; } /// @@ -726,19 +667,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetNumComm { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getXdlNum/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetNumComm"); - } - return answ; - } + get => $@"{urlCommandIob("getXdlNum")}"; } /// @@ -746,19 +675,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetNumPzCurrODL { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getCurrOdlQtaReq/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetNumPzCurrODL"); - } - return answ; - } + get => $@"{urlCommandIob("getCurrOdlQtaReq")}"; } /// @@ -766,19 +683,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetParams2Write { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getObjItems2Write/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetParams2Write"); - } - return answ; - } + get => $@"{urlCommandIob("getObjItems2Write")}"; } /// @@ -786,19 +691,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetPzCount { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getCounter/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetPzCount"); - } - return answ; - } + get => $@"{urlCommandIob("getCounter")}"; } /// @@ -806,19 +699,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetPzCountRec { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getCounterTCRec/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetPzCountRec"); - } - return answ; - } + get => $@"{urlCommandIob("getCounterTCRec")}"; } /// @@ -826,19 +707,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetTask2Exe { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getTask2Exe/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlGetTask2Exe"); - } - return answ; - } + get => $@"{urlCommandIob("getTask2Exe")}"; } /// @@ -846,10 +715,13 @@ namespace IOB_WIN_FORM.Iob /// public string urlIdleTime { + get => $@"{urlCommandIob("getIdlePeriod")}"; +#if false get { return $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMD_IDLE_TIME}{IOBConfFull.GenConf.CodIOB}"; - } + } +#endif } /// @@ -857,10 +729,13 @@ namespace IOB_WIN_FORM.Iob /// public string urlInizioOdlIob { + get => $@"{urlCommandIob("getCurrOdlStart")}"; +#if false get { return $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMD_ODL_STARTED}{IOBConfFull.GenConf.CodIOB}"; - } + } +#endif } /// @@ -868,10 +743,13 @@ namespace IOB_WIN_FORM.Iob /// public string urlIobEnabled { + get => $@"{urlCommandIob("enabled")}"; +#if false get { return $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDENABLED}{IOBConfFull.GenConf.CodIOB}"; - } + } +#endif } /// @@ -879,19 +757,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlODLAskClose { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/askCloseODL/{IOBConfFull.GenConf.CodIOB}?idxOdl="; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlODLClose"); - } - return answ; - } + get => $@"{urlCommandIob("askCloseODL")}?idxOdl="; } /// @@ -899,19 +765,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlODLClose { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/closeODL/{IOBConfFull.GenConf.CodIOB}?idxOdl="; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlODLClose"); - } - return answ; - } + get => $@"{urlCommandIob("closeODL")}/?idxOdl="; } /// @@ -919,19 +773,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlOdlStartFromPOdl { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/forceStartPOdl/{IOBConfFull.GenConf.CodIOB}?idxPODL="; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlStartPODL"); - } - return answ; - } + get=> $@"{urlCommandIob("forceStartPOdl")}?idxPODL="; } /// @@ -939,19 +781,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlPODLClose { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/closePODL/{IOBConfFull.GenConf.CodIOB}?idxPOdl="; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlPODLClose"); - } - return answ; - } + get=> $@"{urlCommandIob("closePODL")}?idxPOdl="; } /// @@ -959,6 +789,8 @@ namespace IOB_WIN_FORM.Iob /// public string urlReboot { + get => $@"{urlCommandIob("sendReboot")}?mac={GetMACAddress()}"; +#if false get { string answ = ""; @@ -971,7 +803,8 @@ namespace IOB_WIN_FORM.Iob answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDREBO}{IOBConfFull.GenConf.CodIOB}"; } return answ; - } + } +#endif } /// @@ -979,19 +812,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlRemTask2Exe { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/remTask2Exe/{IOBConfFull.GenConf.CodIOB}?taskName="; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlRemTask2Exe"); - } - return answ; - } + get=> $@"{urlCommandIob("remTask2Exe")}?taskName="; } /// @@ -999,20 +820,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSaveAllParams { - get - { - string answ = ""; - try - { - string machineName = Environment.MachineName; - answ = $@"{urlCommand("alive")}/setObjItems/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlSaveMemConf"); - } - return answ; - } + get=> $@"{urlCommandIob("setObjItems")}"; } /// @@ -1020,19 +828,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSaveMachIobConf { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/saveMachineIobConf/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlSetHashDict"); - } - return answ; - } + get=> $@"{urlCommandIob("saveMachineIobConf")}"; } /// @@ -1040,20 +836,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSaveMemMap { - get - { - string answ = ""; - try - { - string machineName = Environment.MachineName; - answ = $@"{urlCommand("alive")}/saveConf/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlSaveMemConf"); - } - return answ; - } + get => $@"{urlCommandIob("saveConf")}"; } /// @@ -1061,19 +844,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSendAlarm { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/sendAlarmBankUpdate/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlAddPzCount"); - } - return answ; - } + get => $@"{urlCommandIob("sendAlarmBankUpdate")}"; } /// @@ -1081,19 +852,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSetHashDict { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/setRedisHashDict/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlSetHashDict"); - } - return answ; - } + get => $@"{urlCommandIob("setRedisHashDict")}"; } /// @@ -1101,6 +860,8 @@ namespace IOB_WIN_FORM.Iob /// public string urlSetM2IOB { + get => $@"{urlCommandIob("setM2IOB")}?IOB_name={Environment.MachineName}"; +#if false get { string answ = ""; @@ -1114,7 +875,8 @@ namespace IOB_WIN_FORM.Iob lgError(exc, "Errore in composizione urlSetM2IOB"); } return answ; - } + } +#endif } /// @@ -1122,19 +884,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSetOptVal { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/addOptPar/{IOBConfFull.GenConf.CodIOB}?"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlSetOptVal"); - } - return answ; - } + get => $@"{urlCommandIob("addOptPar")}"; } /// @@ -1142,19 +892,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlSetPzCount { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/setCounter/{IOBConfFull.GenConf.CodIOB}?counter="; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlSetPzCount"); - } - return answ; - } + get => $@"{urlCommandIob("setCounter")}?counter="; } /// @@ -1162,6 +900,8 @@ namespace IOB_WIN_FORM.Iob /// public string urlSetPzCountMAC { + get => $@"{urlCommand("setCounter")}MAC_{IOBConfFull.GenConf.CodIOB}?counter="; +#if false get { string answ = ""; @@ -1174,7 +914,8 @@ namespace IOB_WIN_FORM.Iob lgError(exc, "Errore in composizione urlSetPzCountMAC"); } return answ; - } + } +#endif } /// @@ -1182,19 +923,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlTakeSnapshot { - get - { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/takeFlogSnapshot/{IOBConfFull.GenConf.CodIOB}"; - } - catch (Exception exc) - { - lgError(exc, "Errore in composizione urlTakeSnapshot"); - } - return answ; - } + get => $@"{urlCommandIob("takeFlogSnapshot")}"; } /// @@ -1202,12 +931,13 @@ namespace IOB_WIN_FORM.Iob /// public string urlUpdateWriteParams { + get => $@"{urlCommandIob("upsertObjItems")}"; +#if false get { string answ = ""; try { - string machineName = Environment.MachineName; answ = $@"{urlCommand("alive")}/upsertObjItems/{IOBConfFull.GenConf.CodIOB}"; } catch (Exception exc) @@ -1215,7 +945,8 @@ namespace IOB_WIN_FORM.Iob lgError(exc, "Errore in composizione urlUpdateWriteParams"); } return answ; - } + } +#endif } /// @@ -4183,7 +3914,10 @@ namespace IOB_WIN_FORM.Iob break; } // URL base x input - string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{tipoComando}{IOBConfFull.GenConf.CodIOB}"; + string answ = $@"{urlCommandIob(tipoComando)}"; +#if false + string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{tipoComando}{IOBConfFull.GenConf.CodIOB}"; +#endif return answ; } @@ -4195,13 +3929,23 @@ namespace IOB_WIN_FORM.Iob public string urlFLog(string queueVal) { // URL base x input + string answ = $@"{urlCommandIob("flog")}"; +#if false string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDFLOG}"; - // decodifica valore! +#endif + // decodifica valore! string[] valori = qDecodeIN(queueVal); + // aggiungo flux e valore... + answ += $@"?flux={valori[1]}&&valore={valori[2]}"; +#if false // aggiungo macchina e valore... - answ += string.Format(@"{0}?flux={1}&&valore={2}", IOBConfFull.GenConf.CodIOB, valori[1], valori[2]); + answ += string.Format(@"{0}?flux={1}&&valore={2}", IOBConfFull.GenConf.CodIOB, valori[1], valori[2]); +#endif // aggiondo dataOra evento e corrente + contatore... - answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[3]); + answ += $@"&&dtEve={valori[0]}&&dtCurr={DateTime.Now:yyyyMMddHHmmssfff}&&cnt={valori[3]}"; +#if false + answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[3]); +#endif return answ; } @@ -4210,15 +3954,7 @@ namespace IOB_WIN_FORM.Iob /// public string urlGetOdlAtDate(DateTime dtRif) { - string answ = ""; - try - { - answ = $@"{urlCommand("alive")}/getOdlAtDate/{IOBConfFull.GenConf.CodIOB}?dateRif={dtRif:yyyyMMdd}"; - } - catch (Exception exc) - { - lgError(exc, $"Errore in composizione urlGetOdlAtDate per {dtRif}{Environment.NewLine}{exc}"); - } + string answ = $@"{urlCommandIob("getOdlAtDate")}?dateRif={dtRif:yyyyMMdd}"; return answ; } @@ -4230,13 +3966,22 @@ namespace IOB_WIN_FORM.Iob public string urlInput(string queueVal) { // URL base x input - string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDBASE}"; +#if false + string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDBASE}"; +#endif + string answ = $@"{urlCommandIob("input")}"; // decodifica valore! string[] valori = qDecodeIN(queueVal); // aggiungo macchina e valore... - answ += string.Format(@"{0}?valore={1}", IOBConfFull.GenConf.CodIOB, valori[1]); + answ += $@"?valore={valori[1]}"; +#if false + answ += string.Format(@"{0}?valore={1}", IOBConfFull.GenConf.CodIOB, valori[1]); +#endif // aggiondo dataOra evento e corrente + contatore... - answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[2]); + answ += $@"&&dtEve={valori[0]}&&dtCurr={DateTime.Now:yyyyMMddHHmmssfff}&&cnt={valori[2]}"; +#if false + answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[2]); +#endif return answ; } @@ -4248,13 +3993,22 @@ namespace IOB_WIN_FORM.Iob public string urlULog(string queueVal) { // URL base x input - string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDULOG}"; +#if false + string answ = $@"{urlMesServer}{IOBConfFull.MapoMesConf.BaseAppUrl}{cIobConf.serverData.CMDULOG}"; +#endif + string answ = $@"{urlCommandIob("ulog")}"; // decodifica valore! string[] valori = qDecodeIN(queueVal); // aggiungo macchina e valore... - answ += string.Format(@"{0}?flux={1}&&valore={2}", IOBConfFull.GenConf.CodIOB, valori[1], valori[2]); + answ += $@"?flux={valori[1]}&&valore={valori[2]}"; +#if false + answ += string.Format(@"{0}?flux={1}&&valore={2}", IOBConfFull.GenConf.CodIOB, valori[1], valori[2]); +#endif // aggiondo dataOra evento e corrente + contatore... - answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[3]); + answ += $@"&&dtEve={valori[0]}&&dtCurr={DateTime.Now:yyyyMMddHHmmssfff}&&cnt={valori[3]}"; +#if false + answ += string.Format(@"&&dtEve={0}&&dtCurr={1:yyyyMMddHHmmssfff}&&cnt={2}", valori[0], DateTime.Now, valori[3]); +#endif return answ; } diff --git a/IOB-WIN-SHELLY/DATA/CONF/SHELLY_01.json b/IOB-WIN-SHELLY/DATA/CONF/SHELLY_01.json index d60bfa47..f8d7c7e7 100644 --- a/IOB-WIN-SHELLY/DATA/CONF/SHELLY_01.json +++ b/IOB-WIN-SHELLY/DATA/CONF/SHELLY_01.json @@ -30,7 +30,7 @@ "optKVP": { "shelly_tout": 5, "fluxLogReduce": true, - "fluxLogRedDeadBand": 2.5, + "fluxLogRedDeadBand": 3.5, "fluxLogResendPeriod": 60 } } \ No newline at end of file