internal static BcInfo CreateFromMessage(MqttMessage msg) { // ["/info", {"id": "836d19830d33", "firmware": "bcf-gateway-usb-dongle", "version": "vdev"}] if (msg == null && string.IsNullOrEmpty(msg.Payload)) { throw new ArgumentNullException(nameof(msg), "Response message missing or empty message payload"); } JObject data = JsonConvert.DeserializeObject(msg.Payload) as JObject; if (!data.ContainsKey("id")) { throw new BcException("Info response message does not contain ID"); } BcInfo info = BcInfo.CreateFromID(data["id"].ToString()); info.SyncFromParsedMessage(data); return(info); }
internal static BcNode CreateFormID(string id) { return(new BcNode { Info = BcInfo.CreateFromID(id) }); }