Exemplo n.º 1
0
        public override void OnStart()
        {
            PackageHost.WriteInfo("Initializing Vera");
            vera = new VeraController(new VeraConnectionInfo(PackageHost.GetSettingValue <string>("VeraHost")));
            vera.ErrorOccurred += (s, e) => PackageHost.WriteError("ErrorOccurred: {0}", e.Exception.ToString());
            vera.DeviceUpdated += (s, e) => this.PushDevice(e.Device);
            vera.SceneUpdated  += (s, e) =>
            {
                if (e.Scene != null && !string.IsNullOrEmpty(e.Scene.Name))
                {
                    PackageHost.WriteInfo("Updating scene '{0}' ({1})", e.Scene.Name, e.Scene.Id);
                    PackageHost.PushStateObject(e.Scene.Name, new Scene
                    {
                        Id         = e.Scene.Id,
                        IsActive   = e.Scene.IsActive,
                        LastUpdate = e.Scene.LastUpdate,
                        Name       = e.Scene.Name,
                        Room       = e.Scene.Room != null ? e.Scene.Room.Name : string.Empty,
                        State      = e.Scene.State
                    });
                }
            };
            vera.DataReceived += (s, e) =>
            {
                if (!string.IsNullOrEmpty(vera.SerialNumber))
                {
                    PackageHost.PushStateObject("Vera_" + vera.SerialNumber, new VeraDevice
                    {
                        DataVersion  = e.DataVersion,
                        LoadTime     = e.LoadTime,
                        State        = vera.CurrentState.ToString(),
                        Comment      = vera.CurrentComment,
                        Model        = vera.Model,
                        SerialNumber = vera.SerialNumber,
                        Version      = vera.Version
                    });
                }
            };

            PackageHost.WriteInfo("Perform a full request ...");
            vera.WaitForFullRequest();

            PackageHost.WriteInfo("Starting listener ...");
            vera.StartListener();

            PackageHost.WriteInfo("Vera lite ready !");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Called when the package is started.
        /// </summary>
        public override void OnStart()
        {
            PackageHost.WriteInfo("Initializing Vera");
            vera = new VeraController(new VeraConnectionInfo(PackageHost.GetSettingValue <string>("VeraHost")));
            vera.ErrorOccurred += (s, e) => PackageHost.WriteError("ErrorOccurred: {0}", e.Exception.ToString());
            vera.DeviceUpdated += (s, e) => this.PushDevice(e.Device);
            vera.SceneUpdated  += (s, e) =>
            {
                if (e.Scene != null && !string.IsNullOrEmpty(e.Scene.Name))
                {
                    PackageHost.WriteInfo("Updating scene '{0}' ({1})", e.Scene.Name, e.Scene.Id);
                    PackageHost.PushStateObject(e.Scene.Name, new Scene
                    {
                        Id         = e.Scene.Id,
                        IsActive   = e.Scene.IsActive,
                        LastUpdate = e.Scene.LastUpdate,
                        Name       = e.Scene.Name,
                        Room       = e.Scene.Room != null ? e.Scene.Room.Name : string.Empty,
                        State      = e.Scene.State
                    });
                }
            };
            vera.HouseModeChanged += (s, e) =>
            {
                PushVeraDevice();
                PackageHost.WriteInfo("The house mode has changed to '{0}' (from '{1}')", e.NewMode.ToString(), e.OldMode.ToString());
            };
            vera.DataReceived += (s, e) =>
            {
                if (!string.IsNullOrEmpty(vera.SerialNumber))
                {
                    PushVeraDevice();
                }
            };

            PackageHost.WriteInfo("Perform a full request ...");
            vera.WaitForFullRequest();

            PackageHost.WriteInfo("Starting listener ...");
            vera.StartListener();

            PackageHost.WriteInfo("Vera lite ready !");
        }