private JsonObject GetControllerStatus() { var result = new JsonObject(); result.SetNamedValue("Type", "HA4IoT.Status".ToJsonValue()); result.SetNamedValue("Version", 1.ToJsonValue()); var actuators = new JsonObject(); foreach (var actuator in _controller.Actuators()) { actuators.SetNamedValue(actuator.Id.Value, actuator.ExportStatusToJsonObject()); } result.SetNamedValue("Actuators", actuators); var automations = new JsonObject(); foreach (var automation in _controller.Automations()) { automations.SetNamedValue(automation.Id.Value, automation.ExportStatusToJsonObject()); } result.SetNamedValue("Automations", automations); var weatherStation = _controller.Device <IWeatherStation>(); if (weatherStation != null) { result.SetNamedValue("WeatherStation", weatherStation.ExportStatusToJsonObject()); } return(result); }