public void OnGet() { EMSfIIoTApiConnector.GetEvents(HttpContext, out _, out events); JsonSerializerOptions jsonSerializerOptions = new JsonSerializerOptions(); jsonSerializerOptions.Converters.Add(new JsonStringEnumConverter()); ViewData["events"] = JsonSerializer.Serialize(events.ToList(), jsonSerializerOptions).Replace("\"", "\\\""); List <string> devices = new List <string>(); List <string> gateways = new List <string>(); foreach (Gateway gateway in BoschIoTSuiteApiConnector.GetUserDevices(HttpContext)) { gateways.Add(gateway.thingId); foreach (Devices device in gateway.attributes.configuration.devices) { devices.Add(device.deviceId); } } ViewData["Variable"] = JsonSerializer .Serialize(devices) .Replace("\"", "\\\""); ViewData["Gateways"] = JsonSerializer .Serialize(gateways) .Replace("\"", "\\\""); List <string> notificationType = Enum.GetNames(typeof(NotificationType)).ToList(); notificationType.Remove(NotificationType.None.ToString()); ViewData["NotificationType"] = JsonSerializer .Serialize(notificationType, jsonSerializerOptions) .Replace("\"", "\\\""); ViewData["EventType"] = JsonSerializer .Serialize( Enum.GetNames(typeof(EventType)).ToList(), jsonSerializerOptions) .Replace("\"", "\\\""); ViewData["EventValueType"] = JsonSerializer .Serialize( Enum.GetNames(typeof(EventValueType)).ToList(), jsonSerializerOptions) .Replace("\"", "\\\""); List <string> eventFrequencyStringValues = typeof(EventFrequency).GetStringValues().ToList(); List <string> eventFrequencyEnumValues = typeof(EventFrequency).GetEnumNames().ToList(); //eventFrequencyEnumValues.Remove("Never"); Dictionary <string, string> eventFrequency = eventFrequencyEnumValues .Zip(eventFrequencyStringValues, (enumValue, stringValue) => new { enumValue, stringValue }) .ToDictionary(eventFrequency => eventFrequency.enumValue, eventFrequency => eventFrequency.stringValue); ViewData["EventFrequency"] = JsonSerializer .Serialize(eventFrequency, jsonSerializerOptions) .Replace("\"", "\\\""); }
public void OnPost() { var form = Request.Form; if (form.TryGetValue("gatewayId", out _) & form.TryGetValue("operation", out _)) { BoschIoTSuiteApiConnector.SendMessageToDevice(form["gatewayId"], form["operation"].ToString().ToLower()); } OnGet(); }
public void OnGet() { gateways = BoschIoTSuiteApiConnector.GetUserDevices(HttpContext); }
public void OnPost() { var form = Request.Form; if (form.TryGetValue("gatewayDeleteId", out var value)) { BoschIoTSuiteApiConnector.DeleteDevice(value); } else { string thingId = form["thingId"]; Gateway gateway = gateways.Where(gateway => gateway.thingId.Equals(thingId)).FirstOrDefault(); if (gateway == null) { gateway = new Gateway(); gateway.attributes = new GatewayAttributes(); gateway.attributes.configuration = new GatewayConfiguration(); gateway.features = new GatewayFeatures(); gateway.features.ESP32_CAM = new GatewayESP32_CAM(); gateway.features.ESP32_CAM.definition = new List <string>(); gateway.features.ESP32_CAM.definition.Add("EMSfIIoT:ESP32_CAM:1.0.0"); gateway.features.ESP32_CAM.properties = new ESP32_CAMProperties(); gateway.features.ESP32_CAM.properties.status = new Measure(); gateway.thingId = thingId; gateway.policyId = form["policyId"]; gateway.definition = form["definition"]; } gateway.attributes.thingName = form["thingName"]; gateway.attributes.manufacturer = form["manufacturer"]; gateway.attributes.model = form["model"]; gateway.attributes.serialNo = form["serialNo"]; gateway.attributes.location = form["location"]; gateway.attributes.configuration.devices = new List <Devices>(); gateway.attributes.configuration.users = new List <string>(); for (int i = 0; i < 255; i++) { if (Request.Form.TryGetValue("deviceId" + i.ToString(), out var deviceId) & Request.Form.TryGetValue("url" + i.ToString(), out var url) & Request.Form.TryGetValue("locationId" + i.ToString(), out var locationId) & deviceId != "" & url != "" & locationId != "") { gateway.attributes.configuration.devices.Add(new Devices { deviceId = deviceId, url = new Uri(url), locationId = Convert.ToInt64(locationId) }); } if (Request.Form.TryGetValue("userId" + i.ToString(), out var userId) & userId != "") { gateway.attributes.configuration.users.Add(userId); } } BoschIoTSuiteApiConnector.UpdateDevice(gateway); Thread.Sleep(1000); BoschIoTSuiteApiConnector.UpdateGatewaysList(); } OnGet(); }