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 !"); }
/// <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 !"); }