Пример #1
0
        private void Parse()
        {
            //http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/emh-ehz-h1
            ParseFirstTransactionId();
            ParseSeverId();
            CheckFirstCRC();
            ParseSecondTransactionId();
            ParseSecondServerId();

            byte[] sekundenIndex = ActSensorTime.Parse(_smlMessage, ref _position);
            CompanyName = CompanyInfo.Parse(_smlMessage, ref _position);
            Device      = DeviceId.Parse(_smlMessage, ref _position);

            ConsumedEnergy1_Wh = ConsumedEnergy.Parse(_smlMessage, ref _position);
            ProducedEnergy1_Wh = ProducedEnergy.Parse(_smlMessage, ref _position);

            byte[] seqConsumedEnergy = { 0x77, 0x07, 0x01, 0x00, 0x01, 0x08, 0x01, 0xFF, 0x01, 0x01 };
            byte[] seqProducedEnergy = { 0x77, 0x07, 0x01, 0x00, 0x02, 0x08, 0x01, 0xFF, 0x01, 0x01 };

            ConsumedEnergy2_Wh = Energy.Parse(_smlMessage, ref _position, seqConsumedEnergy);
            ProducedEnergy2_Wh = Energy.Parse(_smlMessage, ref _position, seqProducedEnergy);

            byte[] sequence3 = { 0x77, 0x07, 0x01, 0x00, 0x01, 0x08, 0x02, 0xFF, 0x01, 0x01 };
            byte[] sequence4 = { 0x77, 0x07, 0x01, 0x00, 0x02, 0x08, 0x02, 0xFF, 0x01, 0x01 };
            //double test3 = Energy.Parse(_smlMessage, ref _position, sequence3);
            //double test4 = Energy.Parse(_smlMessage, ref _position, sequence4);
            _isValid = true;
        }