// Boolean sensors like switch buttons, that have similar outputs concerning to similar inputs namespace DigitalTwins { public class BooleanThing // Class that represents the sensor { public string Thing; public string type; public string contact; public string signal; public string input; public bool status; public bool state; public BooleanThing(string sensorID) // Constructor that passes the sensor ID to the thing { Thing = sensorID; // Sets the sensor ID to the thing } public void BooleanLogic(string type, bool status) { contact = type; state = status; if (contact == "NC") { if (state) { signal = "OFF"; } else { signal = "ON"; } } else if (contact == "NO") { if (state) { signal = "ON"; } else { signal = "OFF"; } } Curl.put($"IoT:{Thing}/features/Logical/properties/Contacts/{contact}/Output", signal); } public void UpdateNC() { status = false; type = "NC"; input = Curl.get($"IoT:{Thing}/features/Logical/properties/Contacts/{type}/Input"); if (input == "ON") { status = true; } BooleanLogic(type, status); } public void UpdateNO() { status = false; type = "NO"; input = Curl.get($"IoT:{Thing}/features/Logical/properties/Contacts/{type}/Input"); if (input == "ON") { status = true; } BooleanLogic(type, status); } } }