/// <summary> /// M-BUS API: Adds data of a M-BUS Meter to the smart-me Cloud. /// Just send us the M-BUS Telegram (RSP_UD) and we will do the Rest. /// </summary> /// <param name="accessToken">The OAuth2 access token</param> /// <param name="mbusData">The M-BUS Telegram</param> /// <returns></returns> public static async Task <bool> SendTelegramAsync(string accessToken, MBusData mbusData) { using (var restApi = new SmartMeApiClient(accessToken)) { return(await restApi.PostAsync <MBusData>("MBus", mbusData)); } }
public IActionResult Parse([FromForm] MBusData data, string command) { data.OutputText = string.Empty; data.Error = string.Empty; if (ModelState.IsValid) { try { var buffer = Util.HexStringToByteArray(data.InputText); var frame = WMBusFrame.Parse(buffer, new Keys(data.SecretKey)); data.OutputText = frame.Print(data.IsExpert); if (command.Equals("pdf")) { var stream = new MemoryStream(); ReportMeterExpert.Create(frame, stream, false); stream.Position = 0; var productName = string.IsNullOrEmpty(frame.ProductName) ? string.Empty : "_" + MakeValidFileName(frame.ProductName); productName = productName.Replace(" ", "_"); var fileName = $"WMBUS_{frame.Header.ID_BCD.ToString("X8")}{productName}.pdf"; HttpContext.Response.Headers.Add("Content-Disposition", $"attachment;filename={fileName}"); return(new FileStreamResult(stream, "application/pdf")); } } catch (Exception exc) { data.Error = exc.Message; } } return(View("Index", data)); }
public IActionResult Index() { var example = new MBusData { InputText = "684D4D680801720100000096150100180000000C785600000001FD1B0002FC0348522574440D22FC0348522574F10C12FC034852257463110265B409226586091265B70901720072650000B2016500001FB316" }; return(View(example)); }
public IActionResult Index() { var example = new MBusData { InputText = "6644496A3100015514377203926314496A00075000500598A78E0D71AA6358EEBD0B20BFDF99EDA2D22FA25314F3F1B84470898E495303923770BA8DDA97C964F0EA6CE24F5650C0A6CDF3DE37DE33FBFBEBACE4009BB0D8EBA2CBE80433FF131328206020B1BF", SecretKey = "F8B24F12F9D113F680BEE765FDE67EC0" }; return(View(example)); }
/// <summary> /// M-BUS API: Adds data of a M-BUS Meter to the smart-me Cloud. /// Just send us the M-BUS Telegram (RSP_UD) and we will do the Rest. /// </summary> /// <param name="accessToken">The OAuth2 access token</param> /// <param name="mbusData">The M-BUS Telegram</param> /// <param name="resultHandler">The result handler</param> /// <returns></returns> public static async Task <IActionResult> SendTelegramAsync( string accessToken, MBusData mbusData, ResultHandler <MBusData> resultHandler) { using (var restApi = new SmartMeApiClient(accessToken)) { return(await restApi.PostAsync <MBusData>("MBus", mbusData, resultHandler)); } }
public IActionResult Parse([FromForm] MBusData data) { data.OutputText = string.Empty; data.Error = string.Empty; if (ModelState.IsValid) { try { var buffer = Util.HexStringToByteArray(data.InputText); var frame = RSP_UD.Parse(buffer); data.OutputText = frame.Print(data.IsExpert); } catch (Exception exc) { data.Error = exc.Message; } } return(View("Index", data)); }
/// <summary> /// M-BUS API: Adds data of a M-BUS Meter to the smart-me Cloud. /// Just send us the M-BUS Telegram (RSP_UD) and we will do the Rest. /// </summary> /// <param name="usernamePassword">The Username and Password for Basic Authentication</param> /// <param name="mbusData">The M-BUS Telegram</param> /// <returns></returns> public static async Task <bool> SendTelegramAsync(UserPassword usernamePassword, MBusData mbusData) { using (var restApi = new SmartMeApiClient(usernamePassword)) { return(await restApi.PostAsync <MBusData>("MBus", mbusData)); } }