fix: #1071 - Emergency Contact Closure Null Ref

EssentialsRoomconfig.cs

added debug statements to GetEmergency method
changed 'return null' to return the object 'e'

EssentialsRoomEmergencyConfig.cs

added 'PortDeviceKey' to EssentialsRoomEmergencyTrigerConfig

EssentialsRoomEmergencyContactClosure.cs

added debug statements to constructor to help with debugging
This commit is contained in:
jdevito
2023-02-28 13:26:24 -06:00
parent 1411add591
commit b0c206eb61
3 changed files with 155 additions and 103 deletions

View File

@@ -55,22 +55,33 @@ namespace PepperDash.Essentials.Room.Config
}
}
}
/// <summary>
/// <summary>
/// Gets and operating, standalone emergegncy object that can be plugged into a room.
/// Returns null if there is no emergency defined
/// </summary>
public static EssentialsRoomEmergencyBase GetEmergency(EssentialsRoomPropertiesConfig props, IEssentialsRoom room)
public static EssentialsRoomEmergencyBase GetEmergency(EssentialsRoomPropertiesConfig props, IEssentialsRoom room)
{
// This emergency
// This emergency
var emergency = props.Emergency;
if (emergency != null)
{
//switch on emergency type here. Right now only contact and shutdown
var e = new EssentialsRoomEmergencyContactClosure(room.Key + "-emergency", props.Emergency, room);
DeviceManager.AddDevice(e);
}
return null;
if (emergency == null || room == null) return null;
Debug.Console(0, @"emergency config values:
behavior: {0}
portDeviceKey: {1}
type: {2}
number: {3}
triggerOnClose: {4}",
emergency.Behavior,
emergency.Trigger.PortDeviceKey,
emergency.Trigger.Type,
emergency.Trigger.Number,
emergency.Trigger.TriggerOnClose);
//switch on emergency type here. Right now only contact and shutdown
var e = new EssentialsRoomEmergencyContactClosure(room.Key + "-emergency", emergency, room);
DeviceManager.AddDevice(e);
return e;
}
/// <summary>