- Implemented SetTemperature in ClimateService for setting an absolute target temperature.
- Updated ClimateServiceClient and ClimateServiceServer interfaces to include SetTemperature.
- Added corresponding handler and tests for SetTemperature in ClimateGRPC.
- Modified ClimateApp to handle SetTemperature requests without clamping.
- Updated climate.proto to define SetTemperatureRequest message.
- Adjusted Dockerfiles to include alexa-bridge dependencies.
- Added ClimateApp to handle climate entity operations including turning on/off, adjusting temperature, and setting HVAC modes.
- Implemented caching mechanism for climate entities to optimize state retrieval.
- Created domain model for Climate with attributes such as current temperature, target temperature, and HVAC modes.
- Developed unit tests for ClimateApp to ensure functionality and correctness.
feat: add RemoteApp for SwitchBot commands
- Introduced RemoteApp to facilitate sending commands to SwitchBot devices.
- Implemented SendCommand method for executing device commands without state management.
chore: update configuration for SwitchBot integration
- Added SwitchBotToken and SwitchBotSecret to configuration for enabling SwitchBot Cloud commands.
feat: define gRPC services for Climate and Remote operations
- Created climate.proto and remote.proto files to define gRPC services for climate management and remote command execution.
- Implemented corresponding request and response message structures for gRPC interactions.
- Implemented TurnOn, TurnOff, and Toggle methods in the gRPC client for switch control.
- Added corresponding methods in the CommandApp to handle user commands for turning switches on, off, and toggling.
- Created unit tests for the new switch control methods in CommandApp and SwitchApp.
- Updated the HAGateway interface to include switch control methods.
- Enhanced the SwitchGRPC service to handle switch control requests and return appropriate responses.
- Added integration tests for the switch service to ensure correct behavior and error handling.
- Added command handler for processing Discord interactions related to lights and switches.
- Implemented command registration for light control commands: list, on, off, and toggle.
- Created a gRPC client for communicating with the home automation gateway.
- Developed application logic for handling light and switch commands, including listing, turning on/off, and toggling lights.
- Introduced telemetry setup for OpenTelemetry integration.
- Added configuration loading for Discord token, gateway address, and OpenTelemetry endpoint.
- Defined core driven ports for interacting with the home automation gateway.