using GoveeCSharpConnector.Objects; namespace GoveeCSharpConnector.Interfaces; public interface IGoveeService { /// /// Govee Api Key /// string GoveeApiKey { get; set; } /// /// Gets a List of Govee Devices /// /// If true returns that are available on Api and Lan /// List of Govee Devices Task> GetDevices(bool onlyLan = true); /// /// Gets the State of a GoveeDevice /// /// GoveeDevice /// Use Udp Connection instead of the Api /// Task GetDeviceState(GoveeDevice goveeDevice, bool useUdp = true); /// /// Sets the On/Off State of the GoveeDevice /// /// GoveeDevice /// /// Use Udp Connection instead of the Api /// Task ToggleState(GoveeDevice goveeDevice, bool on, bool useUdp = true); /// /// Sets the Brightness of the GoveeDevice /// /// GoveeDevice /// Brightness in Percent /// Use Udp Connection instead of the Api /// Task SetBrightness(GoveeDevice goveeDevice, int value, bool useUdp = true); /// /// Sets the Color of the GoveeDevice /// /// GoveeDevice /// RgBColor /// Use Udp Connection instead of the Api /// Task SetColor(GoveeDevice goveeDevice, RgbColor color, bool useUdp = true); /// /// Sets the Color Temperature in Kelvin for the GoveeDevice /// /// GoveeDevice /// Color Temp in Kelvin /// Use Udp Connection instead of the Api /// Task SetColorTemp(GoveeDevice goveeDevice, int value, bool useUdp = true); }