/// <summary>
        /// Convert PDU to XML.
        /// </summary>
        private void PduToXmlBtn_Click(object sender, EventArgs e)
        {
            string xml = null;

            try
            {
                if (tabControl1.SelectedIndex == 3)
                {
                    translator.DataToXml(DataPdu.Text, out xml);
                }
                else
                {
                    UpdateSecurity();
                    XmlTB.Text = translator.PduToXml(PduTB.Text);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message);
            }
            finally
            {
                DataXml.Text = xml;
            }
        }
Exemplo n.º 2
0
        private void Cl_OnPdu(object sender, byte[] data)
        {
            string str = GXCommon.ToHex(data);

            Console.WriteLine(str);
            _logger.LogInformation(str);
            GXDLMSTranslator t = new GXDLMSTranslator(TranslatorOutputType.SimpleXml);

            str = t.PduToXml(data);
            Console.WriteLine(str);
            _logger.LogInformation(str);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Convert PDU to XML.
 /// </summary>
 private void PduToXmlBtn_Click(object sender, EventArgs e)
 {
     UpdateSecuritySettings();
     try
     {
         XmlTB.Text = translator.PduToXml(RemoveComments(PduTB.Text));
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message);
     }
 }
Exemplo n.º 4
0
        /// <summary>
        /// Actual processor of the Hex Message from the smart meter
        /// </summary>
        /// <param name="DataRow">HEX message</param>
        /// <returns></returns>
        public virtual DataRow ProcessDataRow(string DataRow)
        {
            var aes = new AesGcmEncryption(this.DecryptionKey);
            GXDLMSTranslator translator = new GXDLMSTranslator(TranslatorOutputType.SimpleXml);

            translator.Comments        = true;
            translator.Hex             = false;
            translator.ShowStringAsHex = false;

            //We have to call encrypt and not decrypt - this is how the EVN integration works at least :/
            string hexStringDecrypted = aes.Encrypt(DataRow);
            string xml = translator.PduToXml(hexStringDecrypted);

            return(this.ParseXML(xml));
        }