From cdf876cb5aad7030f394629696eff9c6ab5acfae Mon Sep 17 00:00:00 2001 From: Trevor Payne Date: Thu, 9 Jul 2020 22:50:59 -0500 Subject: [PATCH] Fixed issue where a remote would not run its preactivation activtion against an internal gateway Resolves #320 --- .../Remotes/Hrxx0WirelessRemoteController.cs | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Remotes/Hrxx0WirelessRemoteController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Remotes/Hrxx0WirelessRemoteController.cs index 311df7f1..e59bf7e2 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Remotes/Hrxx0WirelessRemoteController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Remotes/Hrxx0WirelessRemoteController.cs @@ -22,6 +22,7 @@ namespace PepperDash.Essentials.Core public class Hrxx0WirelessRemoteController : EssentialsBridgeableDevice, IHasFeedback { private CenRfgwController _gateway; + private GatewayBase _gatewayBase; private Hr1x0WirelessRemoteBase _remote; @@ -43,27 +44,31 @@ namespace PepperDash.Essentials.Core var rfId = (uint)props.Control.InfinetIdInt; _config = config; - GatewayBase gateway; - if (props.GatewayDeviceKey == "processor") { - gateway = Global.ControlSystem.ControllerRFGatewayDevice; + { + AddPreActivationAction(() => + { + _remote = preActivationFunc(config); + RegisterEvents(); + }); + + return; + } } - else + + var gatewayDev = DeviceManager.GetDeviceForKey(props.GatewayDeviceKey) as CenRfgwController; + if (gatewayDev == null) { - var gatewayDev = DeviceManager.GetDeviceForKey(props.GatewayDeviceKey) as CenRfgwController; - if (gatewayDev == null) - { - Debug.Console(0, "GetHr1x0WirelessRemote: Device '{0}' is not a valid device", props.GatewayDeviceKey); - } - if (gatewayDev != null) - { - Debug.Console(0, "GetHr1x0WirelessRemote: Device '{0}' is a valid device", props.GatewayDeviceKey); - gateway = gatewayDev.GateWay; - _gateway = gatewayDev; - } + Debug.Console(0, "GetHr1x0WirelessRemote: Device '{0}' is not a valid device", props.GatewayDeviceKey); } + if (gatewayDev != null) + { + Debug.Console(0, "GetHr1x0WirelessRemote: Device '{0}' is a valid device", props.GatewayDeviceKey); + _gateway = gatewayDev; + } + if (_gateway == null) return;