Esempio n. 1
0
        protected async void OnDeviceCommand(DeviceCommandEventArgs e)
        {
            try
            {
                if (e.DeviceCommand == DeviceCommand.UpdateTemperature)
                {
                    // ***
                    // *** Log this event
                    // ***
                    this.EventAggregator.GetEvent <Events.DebugEvent>().Publish(new DebugEventArgs(
                                                                                    DebugEventType.Information,
                                                                                    nameof(Mcp9808TemperatureRepository),
                                                                                    "An Update Temperature command was received."));

                    // ***
                    // *** Send out a sensor reading to all devices
                    // ***
                    await this.SendSensorReading(true);
                }
                else if (e.DeviceCommand == DeviceCommand.ResetAlert)
                {
                    // ***
                    // *** Log this event
                    // ***
                    this.EventAggregator.GetEvent <Events.DebugEvent>().Publish(new DebugEventArgs(
                                                                                    DebugEventType.Information,
                                                                                    nameof(Mcp9808TemperatureRepository),
                                                                                    "A Reset Alert command was received."));

                    // ***
                    // *** Check if we have a device
                    // ***
                    if (this.Device != null)
                    {
                        // ***
                        // *** Reset the interrupt
                        // ***
                        this.Device.ClearInterrupt();
                    }
                }
            }
            catch (Exception ex)
            {
                this.EventAggregator.GetEvent <Events.DebugEvent>().Publish(new DebugEventArgs(ex));
            }
        }
Esempio n. 2
0
 /// <summary>
 /// Sends a device command to all connected clients.
 /// </summary>
 /// <param name="e">The device command event arguments.</param>
 public void SendDeviceCommandEvent(DeviceCommandEventArgs e)
 {
     this.Clients.All.OnDeviceCommandEvent(e);
 }