diff --git a/EgwProxy.Emmegi.sln b/EgwProxy.Emmegi.sln index 50cad8a..47b3064 100644 --- a/EgwProxy.Emmegi.sln +++ b/EgwProxy.Emmegi.sln @@ -3,10 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 VisualStudioVersion = 17.2.32630.192 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Gomba.Test", "EgwProxy.Gomba.Test\EgwProxy.Gomba.Test.csproj", "{2B7F1536-61D1-4F05-AF8D-62A52D114479}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Gomba", "EgwProxy.Gomba\EgwProxy.Gomba.csproj", "{CC377124-1B94-40C1-B552-D6D42EB2BF27}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Emmegi", "EgwProxy.Emmegi\EgwProxy.Emmegi.csproj", "{F3C0F746-B4FB-4CBB-92BD-9C9A686A21BB}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EgwProxy.Emmegi.Test", "EgwProxy.Emmegi.Test\EgwProxy.Emmegi.Test.csproj", "{A5DDEF7B-98C3-4391-B8BC-16CFC469B77E}" @@ -17,14 +13,6 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2B7F1536-61D1-4F05-AF8D-62A52D114479}.Release|Any CPU.Build.0 = Release|Any CPU - {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CC377124-1B94-40C1-B552-D6D42EB2BF27}.Release|Any CPU.Build.0 = Release|Any CPU {F3C0F746-B4FB-4CBB-92BD-9C9A686A21BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {F3C0F746-B4FB-4CBB-92BD-9C9A686A21BB}.Debug|Any CPU.Build.0 = Debug|Any CPU {F3C0F746-B4FB-4CBB-92BD-9C9A686A21BB}.Release|Any CPU.ActiveCfg = Release|Any CPU diff --git a/EgwProxy.Shelly.Test/EgwProxy.Shelly.Test.csproj b/EgwProxy.Shelly.Test/EgwProxy.Shelly.Test.csproj index dce3fb9..dd699b8 100644 --- a/EgwProxy.Shelly.Test/EgwProxy.Shelly.Test.csproj +++ b/EgwProxy.Shelly.Test/EgwProxy.Shelly.Test.csproj @@ -54,6 +54,15 @@ + + Always + + + Always + + + Always + Always diff --git a/EgwProxy.Shelly.Test/Program.cs b/EgwProxy.Shelly.Test/Program.cs index 68d4301..a179125 100644 --- a/EgwProxy.Shelly.Test/Program.cs +++ b/EgwProxy.Shelly.Test/Program.cs @@ -1,10 +1,7 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.Configuration; using System.IO; -using System.Linq; -using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; using EgwProxy.Shelly.Clients; @@ -44,10 +41,15 @@ namespace EgwProxy.Shelly.Test return answ; } + ////APC + //private string shellyAddr = "10.74.81.71"; //// caffè //private string shellyAddr = "10.74.81.72"; - //APC - private string shellyAddr = "10.74.81.71"; + //private string model = "Pm1"; + + ////3EM Trifase + //private string shellyAddr = "10.74.81.73"; + //private string model = "Pro3Em"; /// /// Programma principale @@ -60,7 +62,7 @@ namespace EgwProxy.Shelly.Test Console.WriteLine(separator); Console.WriteLine(); string exePath = System.Reflection.Assembly.GetExecutingAssembly().Location; - string BaseDirectory = System.IO.Path.GetDirectoryName(exePath); + string BaseDirectory = Path.GetDirectoryName(exePath); string testFile = Path.Combine(BaseDirectory, "conf", ReadSetting("testFile")); if (!string.IsNullOrEmpty(testFile)) { @@ -86,9 +88,25 @@ namespace EgwProxy.Shelly.Test DefaultTimeout = TimeSpan.FromSeconds(testConf.tOutSec), ServerUri = new Uri($"http://{testConf.devAddr}/rpc") }; - Shelly1PmClient shelly = new Shelly1PmClient(new HttpClient(), options); - // test chiamata completa - serverTest(shelly); + Shelly1PmClient shelly1PM = new Shelly1PmClient(new HttpClient(), options); + ShellyPro3EmClient shellyPro3 = new ShellyPro3EmClient(new HttpClient(), options); + switch (testConf.model) + { + case shellyModel.nd: + break; + case shellyModel.gen1: + // test chiamata completa + serverTest(shelly1PM); + break; + case shellyModel.gen2: + // test chiamata completa + serverTest(shellyPro3); + break; + default: + break; + } + + bool doRepeat = true; while (doRepeat) { @@ -106,25 +124,19 @@ namespace EgwProxy.Shelly.Test switch (item.action) { case stepType.getFullStatus: - var respFull = Task.Run(() => shelly.GetStatus(CancellationToken.None)).Result; + var respFull = Task.Run(() => shelly1PM.GetStatus(CancellationToken.None)).Result; if (respFull.IsSuccess) { - esitoStep = JsonConvert.SerializeObject(respFull.Value, Formatting.Indented); - } - else - { - esitoStep = "Errore in GetStatus"; + string serValFull = JsonConvert.SerializeObject(respFull.Value, Formatting.Indented); + esitoStep = respFull.IsSuccess ? serValFull : "Errore in GetStatus"; } break; case stepType.getSwitchStatus: - var respSwitch = Task.Run(() => shelly.GetSwitchStatus(CancellationToken.None, 0)).Result; + var respSwitch = Task.Run(() => shellyPro3.GetEmStatus(CancellationToken.None)).Result; if (respSwitch.IsSuccess) { - esitoStep = JsonConvert.SerializeObject(respSwitch.Value, Formatting.Indented); - } - else - { - esitoStep = "Errore in GetSwitchStatus"; + string serValSwitch = JsonConvert.SerializeObject(respSwitch.Value, Formatting.Indented); + esitoStep = respSwitch.IsSuccess ? serValSwitch : "Errore in GetEmStatus"; } break; default: @@ -157,17 +169,40 @@ namespace EgwProxy.Shelly.Test // registro ed eseguo chiamata in modalità sincrona sw.Restart(); var response = Task.Run(() => shellyClient.GetStatus(CancellationToken.None)).Result; - sw.Stop(); - Console.WriteLine($"CallSuccess: {response.IsSuccess}"); - if (response.Value != null) + if (response.IsSuccess) + { + string serVal = JsonConvert.SerializeObject(response.Value, Formatting.Indented); + sw.Stop(); + writeResult(response.IsSuccess, serVal); + } + } + + private static void writeResult(bool isSuccess, string serVal) + { + Console.WriteLine($"CallSuccess: {isSuccess}"); + if (!string.IsNullOrEmpty(serVal)) { Console.WriteLine(separator); - Console.WriteLine(JsonConvert.SerializeObject(response.Value, Formatting.Indented)); + Console.WriteLine(serVal); Console.WriteLine(separator); Console.WriteLine($"Elapsed: {sw.Elapsed.TotalMilliseconds:N3}ms"); Console.WriteLine(separator); Console.WriteLine(); } } + + private static void serverTest(ShellyPro3EmClient shellyClient) + { + Console.WriteLine(separator); + // registro ed eseguo chiamata in modalità sincrona + sw.Restart(); + var response = Task.Run(() => shellyClient.GetStatus(CancellationToken.None)).Result; + if (response.IsSuccess) + { + string serVal = JsonConvert.SerializeObject(response.Value, Formatting.Indented); + sw.Stop(); + writeResult(response.IsSuccess, serVal); + } + } } } diff --git a/EgwProxy.Shelly.Test/TestSetup.cs b/EgwProxy.Shelly.Test/TestSetup.cs index b617b7c..1acf9c2 100644 --- a/EgwProxy.Shelly.Test/TestSetup.cs +++ b/EgwProxy.Shelly.Test/TestSetup.cs @@ -9,6 +9,7 @@ namespace EgwProxy.Shelly.Test public class TestSetup { public string devAddr { get; set; } = ""; + public shellyModel model { get; set; } = shellyModel.nd; public int tOutSec{ get; set; } = 5; public List steps { get; set; } } @@ -33,4 +34,11 @@ namespace EgwProxy.Shelly.Test getSwitchStatus } + public enum shellyModel + { + nd, + gen1, + gen2 + } + } diff --git a/EgwProxy.Shelly.Test/conf/testSetup.json b/EgwProxy.Shelly.Test/conf/testSetup.json index f8be26c..7c468c9 100644 --- a/EgwProxy.Shelly.Test/conf/testSetup.json +++ b/EgwProxy.Shelly.Test/conf/testSetup.json @@ -1,5 +1,6 @@ { - "devAddr": "10.74.81.71", + "devAddr": "10.74.81.73", + "model": "gen2", "steps": [ { "id": "01", diff --git a/EgwProxy.Shelly.Test/conf/testSetup_71.json b/EgwProxy.Shelly.Test/conf/testSetup_71.json new file mode 100644 index 0000000..d82a893 --- /dev/null +++ b/EgwProxy.Shelly.Test/conf/testSetup_71.json @@ -0,0 +1,14 @@ +{ + "devAddr": "10.74.81.71", + "model": "gen1", + "steps": [ + { + "id": "01", + "description": "Test SwitchStatus", + "action": "getSwitchStatus", + "numRep": 5, + "waitTime": 500, + "paramList": [] + } + ] +} \ No newline at end of file diff --git a/EgwProxy.Shelly.Test/conf/testSetup_72.json b/EgwProxy.Shelly.Test/conf/testSetup_72.json new file mode 100644 index 0000000..47a9949 --- /dev/null +++ b/EgwProxy.Shelly.Test/conf/testSetup_72.json @@ -0,0 +1,14 @@ +{ + "devAddr": "10.74.81.72", + "model": "gen1", + "steps": [ + { + "id": "01", + "description": "Test SwitchStatus", + "action": "getSwitchStatus", + "numRep": 5, + "waitTime": 500, + "paramList": [] + } + ] +} \ No newline at end of file diff --git a/EgwProxy.Shelly.Test/conf/testSetup_73.json b/EgwProxy.Shelly.Test/conf/testSetup_73.json new file mode 100644 index 0000000..7c468c9 --- /dev/null +++ b/EgwProxy.Shelly.Test/conf/testSetup_73.json @@ -0,0 +1,14 @@ +{ + "devAddr": "10.74.81.73", + "model": "gen2", + "steps": [ + { + "id": "01", + "description": "Test SwitchStatus", + "action": "getSwitchStatus", + "numRep": 5, + "waitTime": 500, + "paramList": [] + } + ] +} \ No newline at end of file diff --git a/RestTest/Insomnia_Shelly.json b/RestTest/Insomnia_Shelly.json new file mode 100644 index 0000000..e2249e0 --- /dev/null +++ b/RestTest/Insomnia_Shelly.json @@ -0,0 +1 @@ +{"_type":"export","__export_format":4,"__export_date":"2025-08-06T14:41:40.468Z","__export_source":"insomnia.desktop.app:v2023.5.8","resources":[{"_id":"req_d558fe6ade76441a805ec4029cc6ca54","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1738860548174,"created":1738860519995,"url":"http://{{ _.ip }}/shelly","name":"Discover","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1738860519995,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","parentId":null,"modified":1738860378710,"created":1738860378710,"name":"Shelly","description":"","scope":"collection","_type":"workspace"},{"_id":"req_258a48137a0e40ebb9a9cd8b391fdea5","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1742227619223,"created":1742227611532,"url":"http://{{ _.ip }}/settings","name":"Settings","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1738754100849.8633,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_fa72373550eb4c51a29f4da61cc23510","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1742227681964,"created":1742227628642,"url":"http://{{ _.ip }}/status","name":"Status","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1738749666718.816,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_c16a79129d2a40c4bdd78d52b57312b9","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1742227662370,"created":1742227647801,"url":"http://{{ _.ip }}/emeter/0","name":"Meter_1","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1738745232587.7686,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_20b5bc5d42754c019c957920c6beffe0","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1742227675480,"created":1742227666617,"url":"http://{{ _.ip }}/emeter/1","name":"Meter_2","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1738740798456.7212,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_89ad3aa6565a46d2a779bd2b4d1d4592","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1742227672480,"created":1742227670003,"url":"http://{{ _.ip }}/emeter/2","name":"Meter_3","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1738738581391.1975,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_99becca20929475db7e9b300861c2c04","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227576190,"created":1738863418177,"url":"http://{{ _.ip }}/rpc/Shelly.GetConfig","name":"Shelly.GetConfig","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227576141,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_72e8b7c02bef4d52a0640e059f5b8642","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1742227558969,"created":1742227556373,"name":"Gen2Dev","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1738718627801.4844,"_type":"request_group"},{"_id":"req_4a4eba7b3a6e4471bad467e571300b38","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227578117,"created":1738863484124,"url":"http://{{ _.ip }}/rpc/Shelly.GetDeviceInfo","name":"Shelly.GetDeviceInfo","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227576041,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_ca119c3914f44799af461bf5b8d5a37e","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227579406,"created":1738863705771,"url":"http://{{ _.ip }}/rpc/Shelly.GetComponents","name":"Shelly.GetComponents","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575941,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_aad7d6f232e746faa24bb732513ca36d","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227589850,"created":1738863228414,"url":"http://{{ _.ip }}/rpc/Shelly.GetStatus","name":"Shelly.GetStatus","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575916,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_c3f4698b0bb84f9297bed3ff3239052d","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227597923,"created":1738863463611,"url":"http://{{ _.ip }}/rpc/Shelly.ListMethods","name":"Shelly.ListMethods","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575909.75,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_73377f27000a40969f6a186696d51147","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742813449412,"created":1742813373216,"url":"http://{{ _.ip }}/rpc/EM.GetStatus?id=0","name":"EM.GetStatus","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575906.625,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_0875d47c7cf541d78a309ffdb9bef06e","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742813486472,"created":1742813408589,"url":"http://{{ _.ip }}/rpc/EM.GetData?id=0","name":"EM.GetData","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575905.0625,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_2331c370884e4815aea40ca3be6756d9","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227593222,"created":1738863010150,"url":"http://{{ _.ip }}/rpc/Cloud.GetStatus","name":"CloudStatus","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575903.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_5a0d55bda23f4503b423ea5c1026995b","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1742227595032,"created":1738863039171,"url":"http://{{ _.ip }}/rpc/Sys.Getconfig","name":"Sys.GetConfig","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575897.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_1f1c323b0d8a47d08f404bc93819d21a","parentId":"fld_72e8b7c02bef4d52a0640e059f5b8642","modified":1754491176060,"created":1738861000145,"url":"http://{{ _.ip }}/rpc/Switch.GetStatus?id=0","name":"SwitchStatus","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{},"metaSortKey":-1742227575894.125,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"env_9fda45d7153c687a604bd19a4dc9f895676ed27d","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1738860461436,"created":1738860378717,"name":"Base Environment","data":{"name":"APC","ip":"10.74.81.71"},"dataPropertyOrder":{"&":["name","ip"]},"color":null,"isPrivate":false,"metaSortKey":1738860378717,"_type":"environment"},{"_id":"jar_9fda45d7153c687a604bd19a4dc9f895676ed27d","parentId":"wrk_aae73b07b2dd47d6ae6ba7cc5ae7ec94","modified":1738860378725,"created":1738860378725,"name":"Default Jar","cookies":[],"_type":"cookie_jar"},{"_id":"env_be93b3e44dd04841a6d91c99e4a60395","parentId":"env_9fda45d7153c687a604bd19a4dc9f895676ed27d","modified":1739353414033,"created":1738860462672,"name":"APC","data":{"name":"APC","ip":"10.74.81.71"},"dataPropertyOrder":{"&":["name","ip"]},"color":null,"isPrivate":false,"metaSortKey":1738860462672,"_type":"environment"},{"_id":"env_8d7d55603ad144108dc672c858acc6f4","parentId":"env_9fda45d7153c687a604bd19a4dc9f895676ed27d","modified":1740048653565,"created":1738860494455,"name":"Caffe","data":{"name":"Caffe","ip":"10.74.81.72"},"dataPropertyOrder":{"&":["name","ip"]},"color":null,"isPrivate":false,"metaSortKey":1738860494455,"_type":"environment"},{"_id":"env_ac861bc289374c0aae8252fff4bcad47","parentId":"env_9fda45d7153c687a604bd19a4dc9f895676ed27d","modified":1740048899056,"created":1740048638005,"name":"3EM 3 fasi","data":{"name":"3EM Ufficio","ip":"10.74.81.73"},"dataPropertyOrder":{"&":["name","ip"]},"color":null,"isPrivate":false,"metaSortKey":1740048638006,"_type":"environment"}]} \ No newline at end of file