All checks were successful
CI / changes (push) Successful in 19s
CI / test (push) Successful in 24s
CI / build-ai-gateway (push) Successful in 1m6s
CI / build-ha-gateway (push) Successful in 1m3s
CI / build-discord-bot (push) Successful in 1m4s
CI / build-alexa-bridge (push) Successful in 1m15s
CI / build-tts-gateway (push) Successful in 1m5s
CI / build-tts-sidecar (push) Has been skipped
CI / build-tts-model (push) Has been skipped
- 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.
51 lines
1.8 KiB
Protocol Buffer
51 lines
1.8 KiB
Protocol Buffer
syntax = "proto3";
|
|
package ha.v1;
|
|
option go_package = "gitea.nik4nao.com/nik/home-services/gen/ha/v1;hav1";
|
|
import "ha/v1/common.proto";
|
|
|
|
service ClimateService {
|
|
rpc TurnOn(ClimateRequest) returns (ClimateResponse);
|
|
rpc TurnOff(ClimateRequest) returns (ClimateResponse);
|
|
rpc IncreaseTemperature(ClimateRequest) returns (ClimateResponse);
|
|
rpc DecreaseTemperature(ClimateRequest) returns (ClimateResponse);
|
|
rpc SetTemperature(SetTemperatureRequest) returns (ClimateResponse);
|
|
rpc SetHVACMode(SetHVACModeRequest) returns (ClimateResponse);
|
|
rpc ListClimates(ListClimatesRequest) returns (ListClimatesResponse);
|
|
}
|
|
|
|
message ClimateRequest { string entity_id = 1; }
|
|
message ClimateResponse { EntityState state = 1; }
|
|
|
|
message SetHVACModeRequest {
|
|
string entity_id = 1;
|
|
string hvac_mode = 2;
|
|
}
|
|
|
|
// SetTemperature sets an absolute target temperature. Single-setpoint only —
|
|
// there is no target_temp_high/target_temp_low pair here, since no climate
|
|
// entity in this deployment uses range mode (see alexa-bridge/plan.md).
|
|
message SetTemperatureRequest {
|
|
string entity_id = 1;
|
|
double target_temperature = 2;
|
|
}
|
|
|
|
message ClimateEntity {
|
|
string entity_id = 1;
|
|
string friendly_name = 2;
|
|
string state = 3;
|
|
repeated string hvac_modes = 4;
|
|
string fan_mode = 5;
|
|
repeated string fan_modes = 6;
|
|
optional float current_temperature = 7;
|
|
optional float target_temperature = 8;
|
|
float target_temp_step = 9;
|
|
float min_temp = 10;
|
|
float max_temp = 11;
|
|
}
|
|
|
|
message ListClimatesRequest {}
|
|
|
|
message ListClimatesResponse {
|
|
repeated ClimateEntity climates = 1;
|
|
}
|