Example #1
0
        public static async Task SendMBusDataAsync(UserPassword credentials)
        {
            // Send MBus Data
            {
                Helpers.WriteConsoleTitle("Send MBus Data");

                // Example 1: Heat Meter
                var telegram = new byte[] { 0x68, 0x7A, 0x7A, 0x68, 0x08, 0x00, 0x72, 0x71, 0x76, 0x22, 0x15, 0xEE, 0x4D, 0x19, 0x04, 0x15, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x84, 0x0A, 0x06, 0x00, 0x00, 0x00, 0x00, 0x04, 0x14, 0x0B, 0x00, 0x00, 0x00, 0x84, 0x0A, 0x14, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFD, 0x0F, 0x00, 0x03, 0x01, 0x0A, 0xFD, 0x0D, 0x00, 0x11, 0x05, 0xFF, 0x01, 0xF2, 0x4E, 0x2E, 0x3C, 0x05, 0xFF, 0x02, 0x85, 0xDA, 0x50, 0x3F, 0x0C, 0x78, 0x71, 0x76, 0x22, 0x15, 0x04, 0x6D, 0x2F, 0x0B, 0xDB, 0x18, 0x82, 0x0A, 0x6C, 0xE1, 0xF1, 0x05, 0x5B, 0x00, 0x9A, 0xB8, 0x41, 0x05, 0x5F, 0x80, 0x00, 0xB2, 0x41, 0x05, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x2B, 0x00, 0x03, 0x22, 0x29, 0x02, 0x00, 0x02, 0xFF, 0x2C, 0x00, 0x00, 0x1F, 0x59, 0x16 };

                await MBusApi.SendTelegramAsync(credentials, new MBusData
                {
                    Date     = DateTime.UtcNow,
                    Telegram = BitConverter.ToString(telegram).Replace("-", "")
                });

                // Example 2: Electricity Meter
                telegram = new byte[] { 0x68, 0xF4, 0xF4, 0x68, 0x08, 0x0F, 0x72, 0x33, 0x33, 0x33, 0x33, 0xB5, 0x15, 0x10, 0x02, 0xDB, 0x00, 0x00, 0x00, 0x0C, 0x78, 0x00, 0x00, 0x15, 0x20, 0x84, 0x10, 0x03, 0xEE, 0x24, 0x00, 0x00, 0x84, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x84, 0x90, 0x40, 0x03, 0xA1, 0x5F, 0x00, 0x00, 0x84, 0xA0, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0xAB, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x04, 0xAB, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04, 0xAB, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x2B, 0x01, 0x00, 0x00, 0x00, 0x84, 0x80, 0x40, 0xAB, 0xFF, 0x01, 0x0B, 0x00, 0x00, 0x00, 0x84, 0x80, 0x40, 0xAB, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x00, 0x84, 0x80, 0x40, 0xAB, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x84, 0x80, 0x40, 0x2B, 0x0B, 0x00, 0x00, 0x00, 0x02, 0xFD, 0xC8, 0xFF, 0x01, 0x8D, 0x09, 0x02, 0xFD, 0xC8, 0xFF, 0x02, 0x00, 0x00, 0x02, 0xFD, 0xC8, 0xFF, 0x03, 0x00, 0x00, 0x22, 0xFD, 0xC8, 0xFF, 0x01, 0xCA, 0x08, 0x22, 0xFD, 0xC8, 0xFF, 0x02, 0x00, 0x00, 0x22, 0xFD, 0xC8, 0xFF, 0x03, 0x00, 0x00, 0x12, 0xFD, 0xC8, 0xFF, 0x01, 0x0B, 0x0A, 0x12, 0xFD, 0xC8, 0xFF, 0x02, 0x0D, 0x0A, 0x12, 0xFD, 0xC8, 0xFF, 0x03, 0x0D, 0x0A, 0x03, 0xFD, 0xD9, 0xFF, 0x01, 0x2E, 0x00, 0x00, 0x03, 0xFD, 0xD9, 0xFF, 0x02, 0x00, 0x00, 0x00, 0x03, 0xFD, 0xD9, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x03, 0xFD, 0x59, 0x2E, 0x00, 0x00, 0x01, 0xFF, 0xE1, 0xFF, 0x01, 0x10, 0x01, 0xFF, 0xE1, 0xFF, 0x02, 0x00, 0x01, 0xFF, 0xE1, 0xFF, 0x03, 0x00, 0x02, 0xFF, 0x52, 0xF4, 0x01, 0x02, 0xFD, 0x60, 0x2C, 0x00, 0x01, 0xFD, 0x17, 0x00, 0x8D, 0x16 };

                await MBusApi.SendTelegramAsync(credentials, new MBusData
                {
                    Date     = DateTime.UtcNow,
                    Telegram = BitConverter.ToString(telegram).Replace("-", "")
                });
            }
        }
        public async Task <IActionResult> OnPostAsync()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(Redirect("/"));
            }

            var tokenData = await SmartMeOAuthConfiguration.GetAccessToken(HttpContext);

            var telegram = new byte[] { 0x68, 0x7A, 0x7A, 0x68, 0x08, 0x00, 0x72, 0x71, 0x76, 0x22, 0x15, 0xEE, 0x4D, 0x19, 0x04, 0x15, 0x00, 0x00, 0x00, 0x04, 0x06, 0x00, 0x00, 0x00, 0x00, 0x84, 0x0A, 0x06, 0x00, 0x00, 0x00, 0x00, 0x04, 0x14, 0x0B, 0x00, 0x00, 0x00, 0x84, 0x0A, 0x14, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xFD, 0x0F, 0x00, 0x03, 0x01, 0x0A, 0xFD, 0x0D, 0x00, 0x11, 0x05, 0xFF, 0x01, 0xF2, 0x4E, 0x2E, 0x3C, 0x05, 0xFF, 0x02, 0x85, 0xDA, 0x50, 0x3F, 0x0C, 0x78, 0x71, 0x76, 0x22, 0x15, 0x04, 0x6D, 0x2F, 0x0B, 0xDB, 0x18, 0x82, 0x0A, 0x6C, 0xE1, 0xF1, 0x05, 0x5B, 0x00, 0x9A, 0xB8, 0x41, 0x05, 0x5F, 0x80, 0x00, 0xB2, 0x41, 0x05, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x05, 0x2B, 0x00, 0x00, 0x00, 0x00, 0x01, 0xFF, 0x2B, 0x00, 0x03, 0x22, 0x29, 0x02, 0x00, 0x02, 0xFF, 0x2C, 0x00, 0x00, 0x1F, 0x59, 0x16 };

            return(await MBusApi.SendTelegramAsync(
                       tokenData.AccessToken,
                       new MBusData
            {
                Date = DateTime.UtcNow,
                Telegram = BitConverter.ToString(telegram).Replace("-", "")
            },
                       new ResultHandler <MBusData>
            {
                OnError = DefaultErrorHandler.Handle
            }
                       ));
        }