using GoveeCSharpConnector.Objects; using GoveeCSharpConnector.Objects.Misc; namespace GoveeCSharpConnector.Interfaces; public interface IGoveeHttpService { /// /// Sets the required Api Key for the Govee Api. /// Request Api Key in the Mobile Phone App. /// /// Api Key as String void SetApiKey(string apiKey); /// /// Returns current set Govee Api Key /// /// Govee Api Key as String string GetApiKey(); /// /// Removes the Set Api Key and resets the HTTP Header /// void RemoveApiKey(); /// /// Requests all Devices registered to Api Key Govee Account /// /// List of GoveeHttpDevices Task>> GetDevices(); /// /// Requests the State of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// GoveeHttpState Object Task> GetDeviceState(string deviceId, string deviceModel); /// /// Sets the On/Off state of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// /// Task> SetOnOff(string deviceId, string deviceModel, bool on); /// /// Sets a Rgb Color of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// Rgb Color /// Task> SetColor(string deviceId, string deviceModel, RgbColor color); /// /// Sets the Color Temperature of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// Color Temp in Kelvin as Int /// Task> SetColorTemp(string deviceId, string deviceModel, int value); /// /// Sets the Brightness of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// Value 1-100 /// Task> SetBrightness(string deviceId, string deviceModel, int value); /// /// Gets a List of all available Govee Scenes for the Device /// /// Device Id Guid as string /// Device Model Number as string /// Task>> GetScenes(string deviceId, string deviceModel); /// /// Sets the LightScene of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// Number of the Scene /// Task> SetLightScene(string deviceId, string deviceModel, int sceneValue); /// /// Sets the DiyScene of a single Govee Device /// /// Device Id Guid as string /// Device Model Number as string /// Number of the Scene /// Task> SetDiyScene(string deviceId, string deviceModel, int sceneValue); }