示例#1
0
        public void SendCode(Lpd433MhzCode code)
        {
            // TODO: Add protocol to code class.
            var payload = Encoding.UTF8.GetBytes($"{code.Value},{code.Length},2,{code.Repeats}");

            _deviceMessageBroker.Publish($"HA4IoT/Device/{_deviceName}/Command/LPD/Send", payload, MqttQosLevel.AtMostOnce);
        }
示例#2
0
        private void OnCodeReceived(object sender, Ldp433MhzCodeReceivedEventArgs e)
        {
            _systemInformationService.Set($"{nameof(RemoteSocketService)}/LastReceivedCode", e.Code);

            lock (_syncRoot)
            {
                _lastReceivedLpd433MhzCode = e.Code;
            }
        }
示例#3
0
        public Ldp433MhzCodeReceivedEventArgs(Lpd433MhzCode code)
        {
            if (code == null)
            {
                throw new ArgumentNullException(nameof(code));
            }

            Code = code;
        }
        public void SendCode(Lpd433MhzCode code)
        {
            var topic = OutpostTopicBuilder.BuildCommandTopic(_deviceName, "LPD/Send");
            var json  = new JObject
            {
                ["value"]    = code.Value,
                ["length"]   = code.Length,
                ["protocol"] = code.Protocol,
                ["repeats"]  = code.Repeats
            };

            _deviceMessageBroker.Publish(topic, json, MqttQosLevel.AtMostOnce);
        }
示例#5
0
        public void SendCode(string adapterDeviceId, Lpd433MhzCode code)
        {
            if (adapterDeviceId == null)
            {
                throw new ArgumentNullException(nameof(adapterDeviceId));
            }
            if (code == null)
            {
                throw new ArgumentNullException(nameof(code));
            }

            var device = _deviceRegistryService.GetDevice <ILdp433MhzBridgeAdapter>(adapterDeviceId);

            device.SendCode(code);
        }
示例#6
0
#pragma warning restore 0067

        public void SendCode(Lpd433MhzCode code)
        {
            var command = new SendLDP433MhzSignalCommand().WithPin(_pin).WithCode(code.Value).WithLength(code.Length).WithRepeats(code.Repeats);

            _i2CHardwareBridge.ExecuteCommand(command);
        }